Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scheduled weekly dependency update for week 37 #160

Merged
merged 347 commits into from
Sep 17, 2023

Conversation

pyup-bot
Copy link
Collaborator

Update aioredis from 1.3.1 to 2.0.1.

Changelog

2.0.1

Features

- Added Python 3.10 to CI & Updated the Docs
(see 1160)
- Enable mypy in CI (see 1101)
- Synchronized reading the responses from a connection
(see 1106)

Fixes

- Remove __del__ from Redis (Fixes 1115)
(see 1227)
- fix socket.error raises (see 1129)
- Fix buffer is closed error when using PythonParser class
(see 1213)

2.0.0

Features

- Port redis-py's client implementation to aioredis.  
(see 891)

- Make hiredis an optional dependency.  
(see 917)
Links

Update alabaster from 0.7.13 to 0.7.13.

Changelog

0.7.9

- :feature:`6` (and :issue:`70`, both via :issue:`84`) Make all remaining
hardcoded style colors configurable, plus related cleanup (such as improving
differentiation of some admonition blocks such as ``warn`` and ``note``,
ensuring generic admonitions are left untouched, etc). Credit:
``ShadowKyogre``.
- :feature:`83` Expose Sphinx's toctree ``collapse`` option as the new
``sidebar_collapse`` config option. Credit: Eric Holscher.
- :feature:`80` Add support for ``<link rel="canonical">`` (i.e. canonical
URLs). Thanks to Ben Gamari for the patch.
- :support:`7` Generate real documentation site, both because the README is
just too big now, and so we can `eat our own dog food
<https://en.wikipedia.org/wiki/Eating_your_own_dog_food>`_.

0.7.8

- 51 (via 67): Hide Github button if ``github_user`` and ``github_repo``
aren't set. This is necessary since ``github_button`` defaults to True.
Thanks to Sam Whited for the report & Dmitry Shachnev for the patch.
- 75: Use SVG version of the Travis-CI button. Thanks to Sebastian Wiesner for
the patch.
- 41: Update the Github buttons to use a newer linked image & change the link
to their docs. Thanks to Tomi Hukkalainen.
- 45 (via 46) Tweak styling of nested bullet lists to prevent an issue where
they all collapse to the same indent level when viewed on smaller display
sizes. Thanks to Bram Geron for catch & patch, and to Jochen Kupperschmidt
for review/discussion.
- 44 (partial; via 57) Add an opt-in fixed sidebar behavior for users who
prefer a sidebar that never scrolls out of view. Credit: Joe Cross.
- 61: Set a small-but-nonzero footnote width to work around a common browser
display bug. Thanks to Konstantin Molchanov for catch & patch.
- 64: Add config options for font size and caption font size/family. Credit:
Marçal Solà.
- 78: Add custom stylesheet support. (This release will thus be the last to
merge simplistic style tweaks as feature toggles - only thorny CSS issues or
actual template-related changes will be merged afterwards.)
- 65: Wrap the sidebar's "Navigation" header in Sphinx's translation helper so
it gets translated if possible. Thanks to ``uralbash``.
- 77: Fix image link styling to remove a bottom border which appears in some
situations. Thanks to Eric Holscher for the patch & ``barbara-sfx`` for the
report.

0.7.7

- Add some ``margin-bottom`` to ``table.field-list p`` so field lists (e.g.
Python function parameter lists in docstrings) written as multiple
paragraphs, look like actual paragraphs instead of all globbing together.
- Fix incorrect notes in README re: renamed ``github_button_*`` options - the
``button_`` was dropped but docs did not reflect this. Thanks to Nik Nyby.
- Fix ``sidebar_hr`` setting - stylesheet wasn't correctly referencing the
right variable name. Thanks to Jannis Leidel.
- Allow configuring body text-align via ``body_text_align``. Credit to Marçal
Solà.
- Fix a handful of mismatched/unclosed HTML tags in the templates. Thanks to
Marvin Pinto for catch & patch.
- Add `Codecov <https://codecov.io>`_ badge support to sidebar.

0.7.6

- Update how ``setup.py`` handles the ``README.rst`` file - load it explicitly
as UTF-8 so the changelog containing non-ASCII characters doesn't generate
``UnicodeDecodeError`` in terminal environments whose default encoding is not
UTF-8 or other Unicode-compatible encodings. Thanks to Arun Persaud for the
report and Max Tepkeev for the suggested fix.
- Fix left-margin & padding styling for code blocks within list-item elements,
making them consistent with earlier changes applied to top-level code blocks.
- Expose page & sidebar widths as theme options ``page_width`` and
``sidebar_width``. Their defaults are the same as the previously static
values.

0.7.5

- Honor Sphinx's core ``html_show_copyright`` option when rendering page
footer. Thanks to Marcin Wojdyr for the report.
- Pre-history versions of Alabaster attempted to remove the "related"
sub-navigation (typically found as next/previous links in other themes) but
this didn't work right for mobile-oriented styling.

This has been fixed by (re-)adding an improved sidebar nav element for these
links and making its display controllable via the new ``show_related`` theme
option (which defaults to ``false`` for backwards compatibility).

.. note::
 To enable the related-links nav, you'll need to set ``show_related`` to
 ``true`` **and** add ``relations.html`` to your ``html_sidebars`` (we've
 updated the example config in this README to indicate this for new
 installs).

Thanks to Tomi Pieviläinen for the bug report.
- Update the "Fork me on Github" banner image to use an ``https://`` URI so
sites hosted over HTTPS don't encounter mixed-content errors. Thanks to
``nikolas`` for the patch.
- Remove an orphaned ``</li>`` from the footer 'show source' section. Credit to
Marcin Wojdyr.

0.7.4

- Add ``code_highlight`` option (which includes general fixes to styling of
code blocks containing highlighted lines). Thanks to Steven Loria.

0.7.3

- Hide ``shadow`` related styles on bibliography elements, in addition to the
earlier change re: ``border``. Thanks again to Philippe Dessus.

0.7.2

- Updated CSS stylesheets to apply monospace styling to both ``tt`` and
``code`` elements, instead of just to ``tt``. This addresses a change in HTML
generation in Sphinx 1.3 while retaining support for Sphinx 1.2. Thanks to
Eric Holscher for the heads up.

0.7.1

- Finally add a changelog. To the README, for now, because a full doc site
isn't worthwhile just yet.
- Allow configuring a custom Github banner image (instead of simply toggling a
default on or off). Thanks to Nicola Iarocci for the original patch.
- Explicitly note Python version support in the README and ``setup.py``.
- Update Github button image link to use the newly-available HTTPS version of
the URL; this helps prevent errors on doc pages served via HTTPS. Thanks to
Gustavo Narea for the report.
- Add control over the font size & family of code blocks. Credit to Steven
Loria.
- Allow control over font family of body text and headings. Thanks to Georg
Brandl.
- Stylize ``.. seealso::`` blocks same as ``.. note::`` blocks for
consistency's sake (previously, ``.. seealso::`` used the Sphinx default
styling, which clashed). We may update these again later but for now, this is
an improvement! Thanks again to Steven Loria.
- Allow control over CSS ``font-style`` for the site description/tagline
element. Credit: Steven Loria.
- Add styling to disable default cell borders on ``.. bibliography::``
directives' output. Thanks to Philippe Dessus for the report.

0.6.2

- Make ``.. warn::`` blocks have a pink background (instead of having no
background, which was apparently an oversight of the themes Alabaster is
based on) and also make that color configurable.

0.6.1

- Update Gittip support to acknowledge the service's rename to Gratipay.

0.6.0

- Allow hiding the 'powered by' section of the footer.
- Fix outdated name in ``setup.py`` URL field.

0.5.1

- Fix a bug in the new Travis support, re: its default value.

0.5.0

- Add support for sidebar Travis status buttons.

0.4.1

- Fix an inaccuracy in the description of ``logo_text_align``.
- Update logo & text styling to be more sensible.

0.4.0

- Add an option to allow un-hiding one's toctree.

0.3.1

- Improved Python 3 compatibility.
- Update styling of changelog pages generated by `bitprophet/releases
<https://github.com/bitprophet/releases>`_.

0.3.0

- Display Alabaster version in footers alongside Sphinx version (necessitating
use of a mini Sphinx extension) plus other footer tweaks.

0.2.0

- Allow control of logo replacement text's alignment.
- Add customized navigation sidebar element.
- Tweak page margins a bit.
- Add a 3rd level of medium-gray to the stylesheet & apply in a few places.

0.1.0

- First tagged/PyPI'd version.
Links

Update amqp from 5.1.0 to 5.1.1.

Changelog

5.1.1

=====
:release-date: 2022-03-06 12:45 P.M. UTC+6:00
:release-by: Asif Saif Uddin

- Use AF_UNSPEC for name resolution (389).


.. _version-5.1.0:
Links

Update anaconda-client from 1.2.2 to 1.2.2.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update anaconda-project from 0.8.2 to 0.8.2.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update anyascii from 0.3.0 to 0.3.2.

Changelog

0.3.2

- Data additions and improvements
- Python - Add type comments
- Python - Fix Python 3.11 deprecation warning for `importlib.resources.read_binary()`
- Python - Use PEP 621 metadata instead of PEP 518 `[tool.flit.metadata]`
- Java - Flatten release `pom.xml`

0.3.1

- Data additions and improvements
- Elixir - Initial release (2022-04-28)
- Java - Release on Maven Central
- Rust - Increase minimum requirement from Rust 1.36 to 1.42
Links

Update anyio from 4.0.0 to 4.0.0.

Changelog

4.0.0

-   **BACKWARDS INCOMPATIBLE** Replaced AnyIO\'s own `ExceptionGroup`  class with the PEP 654 `BaseExceptionGroup` and `ExceptionGroup`
-   **BACKWARDS INCOMPATIBLE** Changes to cancellation semantics:
 -   Any exceptions raising out of a task groups are now nested inside an `ExceptionGroup` (or `BaseExceptionGroup` if one or more `BaseException` were included)
 -   Fixed task group not raising a cancellation exception on asyncio at exit if no child tasks were spawned and an outer cancellation scope had been cancelled before
 -   Ensured that exiting a `TaskGroup` always hits a yield point, regardless of whether there are running child tasks to be waited on
 -   On asyncio, cancel scopes will defer cancelling tasks that are scheduled to resume with a finished future
 -   On asyncio and Python 3.9/3.10, cancel scopes now only suppress cancellation exceptions if the cancel message matches the scope
 -   Task groups on all backends now raise a single cancellation exception when an outer cancel scope is cancelled, and no exceptions other than cancellation exceptions are raised in the group
-   **BACKWARDS INCOMPATIBLE** Changes the pytest plugin to run all tests and fixtures in the same task, allowing fixtures to set context variables for tests and other fixtures
-   **BACKWARDS INCOMPATIBLE** Changed `anyio.Path.relative_to()` and `anyio.Path.is_relative_to()` to only accept one argument, as passing multiple arguments is deprecated as of Python 3.12
-   **BACKWARDS INCOMPATIBLE** Dropped support for spawning tasks from old-style coroutine functions (`asyncio.coroutine`)
-   **BACKWARDS INCOMPATIBLE** The `policy` option on the `asyncio` backend was changed to `loop_factory` to accommodate `asyncio.Runner`
-   Changed `anyio.run()` to use `asyncio.Runner` (or a back-ported version of it on Pythons older than 3.11) on the `asyncio` backend
-   Dropped support for Python 3.7
-   Added support for Python 3.12
-   Bumped minimum version of trio to v0.22
-   Added the `anyio.Path.is_junction()` and `anyio.Path.walk()` methods
-   Added `create_unix_datagram_socket` and `create_connected_unix_datagram_socket` to create UNIX datagram sockets (PR by Jean Hominal)
-   Fixed `from_thread.run` and `from_thread.run_sync` not setting sniffio on asyncio. As a result:
 -   Fixed `from_thread.run_sync` failing when used to call sniffio-dependent functions on asyncio
 -   Fixed `from_thread.run` failing when used to call sniffio-dependent functions on asyncio from a thread running trio or curio
 -   Fixed deadlock when using `from_thread.start_blocking_portal(backend="asyncio")` in a thread running trio or curio (PR by Ganden Schaffner)
-   Improved type annotations:
 -   The `item_type` argument of `create_memory_object_stream` was deprecated. To indicate the item type handled by the stream, use `create_memory_object_stream[T_Item]()` instead. Type checking should no longer fail when annotating memory object streams with uninstantiable item types (PR by Ganden Schaffner)
-   Added the `CancelScope.cancelled_caught` property which tells users if the cancel scope suppressed a cancellation exception
-   Fixed `fail_after()` raising an unwarranted `TimeoutError` when the cancel scope was cancelled before reaching its deadline
-   Fixed `MemoryObjectReceiveStream.receive()` causing the receiving task on asyncio to remain in a cancelled state if the operation was cancelled after an item was queued to be received by the task (but before the task could actually receive the item)
-   Fixed `TaskGroup.start()` on asyncio not responding to cancellation from the outside
-   Fixed tasks started from `BlockingPortal` not notifying synchronous listeners (`concurrent.futures.wait()`) when they\'re cancelled
-   Removed unnecessary extra waiting cycle in `Event.wait()` on asyncio in the case where the event was not yet set
-   Fixed processes spawned by `anyio.to_process()` being "lost" as unusable to the process pool when processes that have idled over 5 minutes are pruned at part of the `to_process.run_sync()` call, leading to increased memory consumption (PR by Anael Gorfinkel)

4.0.0rc1

-   Fixed the type annotation of `TaskGroup.start_soon()` to accept any awaitables (already in v3.7.0 but was missing from 4.0.0rc1)
-   Changed `CancelScope` to also consider the cancellation count (in addition to the cancel message) on asyncio to determine if a cancellation exception should be swallowed on scope exit, to combat issues where third party libraries catch the `CancelledError` and raise another, thus erasing the original cancel message
-   Worked around a [CPython bug](https://github.com/python/cpython/issues/108668) that caused `TLSListener.handle_handshake_error()` on asyncio to log `"NoneType: None"` instead of the error (PR by Ganden Schaffner)
-   Re-added the `item_type` argument to `create_memory_object_stream()` (but using it raises a deprecation warning and does nothing with regards to the static types of the returned streams)
-   Fixed processes spawned by `anyio.to_process()` being "lost" as unusable to the process pool when processes that have idled over 5 minutes are pruned at part of the `to_process.run_sync()` call, leading to increased memory consumption (PR by Anael Gorfinkel)
Links

Update argh from 0.26.2 to 0.29.3.

Changelog

0.29.3

------------------------------

Technical releases for packaging purposes.  No changes in functionality.

0.29.0

--------------

Backwards incompatible changes:

- Wrapped exceptions now cause ``dispatching.dispatch()`` to raise ``SystemExit(1)``
instead of returning without error. For most users, this means failed commands
will now exit with a failure status instead of a success. (161)

Deprecated:

- Renamed arguments in `add_commands()` (165):

- `namespace` → `group_name`
- `namespace_kwargs` → `group_kwargs`

The old names are deprecated and will be removed in v.0.30.

Enhancements:

- Can control exit status (see Backwards Incompatible Changes above) when raising
``CommandError`` using the ``code`` keyword arg.

Bugs fixed:

-  Positional arguments should not lead to removal of short form of keyword
arguments. (115)

Other changes:

- Avoid depending on iocapture by using pytest's built-in feature (177)

0.28.1

--------------

- Fixed bugs in tests (171, 172)

0.28.0

--------------

A major cleanup.

Backward incompatible changes:

- Dropped support for Python 2.7 and 3.7.

Deprecated features, to be removed in v.0.30:

- `argh.assembling.SUPPORTS_ALIASES`.

- Always `True` for recent versions of Python.

- `argh.io.safe_input()` AKA `argh.interaction.safe_input()`.

- Not relevant anymore.  Please use the built-in `input()` instead.

- argument `pre_call` in `dispatch()`.

Even though this hack seems to have been used in some projects, it was never
part of the official API and never recommended.

Describing your use case in the `discussion about shared arguments`_ can
help improve the library to accomodate it in a proper way.

.. _discussion about shared arguments: https://github.com/neithere/argh/issues/63

- Argument help as annotations.

- Annotations will only be used for types after v.0.30.
- Please replace any instance of::

   def func(foo: "Foobar"):

 with the following::

   arg('-f', '--foo', help="Foobar")
   def func(foo):

 It will be decided later how to keep this functionality "DRY" (don't repeat
 yourself) without conflicts with modern conventions and tools.

- Added deprecation warnings for some arguments deprecated back in v.0.26.

0.27.2

--------------

Minor packaging fix:

* chore: include file required by tox.ini in the sdist (155)

0.27.1

--------------

Minor building and packaging fixes:

* docs: add Read the Docs config (160)
* chore: include tox.ini in the sdist (155)

0.27.0

--------------

This is the last version to support Python 2.7.

Backward incompatible changes:

- Dropped support for Python 2.6.

Enhancements:

- Added support for Python 3.7 through 3.11.
- Support introspection of function signature behind the `wraps` decorator
(issue 111).

Fixed bugs:

- When command function signature contained ``**kwargs`` *and* positionals
without defaults and with underscores in their names, a weird behaviour could
be observed (issue 104).
- Fixed introspection through decorators (issue 111).
- Switched to Python's built-in `unittest.mock` (PR 154).
- Fixed bug with `skip_unknown_args=True` (PR 134).
- Fixed tests for Python 3.9.7+ (issue 148).

Other changes:

- Included the license files in manifest (PR 112).
- Extended the list of similar projects (PR 87).
- Fixed typos and links in documentation (PR 110, 116, 156).
- Switched CI to Github Actions (PR 153).
Links

Update argon2-cffi from 23.1.0 to 23.1.0.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update arrow from 1.2.3 to 1.2.3.

Changelog

1.2.3

------------------

- [NEW] Added Amharic, Armenian, Georgian, Laotian and Uzbek locales.
- [FIX] Updated Danish locale and associated tests.
- [INTERNAl] Small fixes to CI.

1.2.2

------------------

- [NEW] Added Kazakh locale.
- [FIX] The Belarusian, Bulgarian, Czech, Macedonian, Polish, Russian, Slovak and Ukrainian locales now support ``dehumanize``.
- [FIX] Minor bug fixes and improvements to ChineseCN, Indonesian, Norwegian, and Russian locales.
- [FIX] Expanded testing for multiple locales.
- [INTERNAL] Started using ``xelatex`` for pdf generation in documentation.
- [INTERNAL] Split requirements file into ``requirements.txt``, ``requirements-docs.txt`` and ``requirements-tests.txt``.
- [INTERNAL] Added ``flake8-annotations`` package for type linting in ``pre-commit``.

1.2.1

------------------

- [NEW] Added quarter granularity to humanize, for example:

.. code-block:: python

 >>> import arrow
 >>> now = arrow.now()
 >>> four_month_shift = now.shift(months=4)
 >>> now.humanize(four_month_shift, granularity="quarter")
 'a quarter ago'
 >>> four_month_shift.humanize(now, granularity="quarter")
 'in a quarter'
 >>> thirteen_month_shift = now.shift(months=13)
 >>> thirteen_month_shift.humanize(now, granularity="quarter")
 'in 4 quarters'
 >>> now.humanize(thirteen_month_shift, granularity="quarter")
 '4 quarters ago'

- [NEW] Added Sinhala and Urdu locales.
- [NEW] Added official support for Python 3.10.
- [CHANGED] Updated Azerbaijani, Hebrew, and Serbian locales and added tests.
- [CHANGED] Passing an empty granularity list to ``humanize`` now raises a ``ValueError``.

1.2.0

------------------

- [NEW] Added Albanian, Tamil and Zulu locales.
- [NEW] Added support for ``Decimal`` as input to ``arrow.get()``.
- [FIX] The Estonian, Finnish, Nepali and Zulu locales now support ``dehumanize``.
- [FIX] Improved validation checks when using parser tokens ``A`` and ``hh``.
- [FIX] Minor bug fixes to Catalan, Cantonese, Greek and Nepali locales.

1.1.1

------------------

- [NEW] Added Odia, Maltese, Serbian, Sami, and Luxembourgish locales.
- [FIXED] All calls to ``arrow.get()`` should now properly pass the ``tzinfo`` argument to the Arrow constructor. See PR `968 <https://github.com/arrow-py/arrow/pull/968/>`_ for more info.
- [FIXED] Humanize output is now properly truncated when a locale class overrides ``_format_timeframe()``.
- [CHANGED] Renamed ``requirements.txt`` to ``requirements-dev.txt`` to prevent confusion with the dependencies in ``setup.py``.
- [CHANGED] Updated Turkish locale and added tests.

1.1.0

------------------

- [NEW] Implemented the ``dehumanize`` method for ``Arrow`` objects. This takes human readable input and uses it to perform relative time shifts, for example:

.. code-block:: python

 >>> arw
 <Arrow [2021-04-26T21:06:14.256803+00:00]>
 >>> arw.dehumanize("8 hours ago")
 <Arrow [2021-04-26T13:06:14.256803+00:00]>
 >>> arw.dehumanize("in 4 days")
 <Arrow [2021-04-30T21:06:14.256803+00:00]>
 >>> arw.dehumanize("in an hour 34 minutes 10 seconds")
 <Arrow [2021-04-26T22:40:24.256803+00:00]>
 >>> arw.dehumanize("hace 2 años", locale="es")
 <Arrow [2019-04-26T21:06:14.256803+00:00]>

- [NEW] Made the start of the week adjustable when using ``span("week")``, for example:

.. code-block:: python

 >>> arw
 <Arrow [2021-04-26T21:06:14.256803+00:00]>
 >>> arw.isoweekday()
 1  Monday
 >>> arw.span("week")
 (<Arrow [2021-04-26T00:00:00+00:00]>, <Arrow [2021-05-02T23:59:59.999999+00:00]>)
 >>> arw.span("week", week_start=4)
 (<Arrow [2021-04-22T00:00:00+00:00]>, <Arrow [2021-04-28T23:59:59.999999+00:00]>)

- [NEW] Added Croatian, Latin, Latvian, Lithuanian and Malay locales.
- [FIX] Internally standardize locales and improve locale validation. Locales should now use the ISO notation of a dash (``"en-gb"``) rather than an underscore (``"en_gb"``) however this change is backward compatible.
- [FIX] Correct type checking for internal locale mapping by using ``_init_subclass``. This now allows subclassing of locales, for example:

.. code-block:: python

 >>> from arrow.locales import EnglishLocale
 >>> class Klingon(EnglishLocale):
 ...     names = ["tlh"]
 ...
 >>> from arrow import locales
 >>> locales.get_locale("tlh")
 <__main__.Klingon object at 0x7f7cd1effd30>

- [FIX] Correct type checking for ``arrow.get(2021, 3, 9)`` construction.
- [FIX] Audited all docstrings for style, typos and outdated info.

1.0.3

------------------

- [FIX] Updated internals to avoid issues when running ``mypy --strict``.
- [FIX] Corrections to Swedish locale.
- [INTERNAL] Lowered required coverage limit until ``humanize`` month tests are fixed.

1.0.2

------------------

- [FIXED] Fixed an ``OverflowError`` that could occur when running Arrow on a 32-bit OS.

1.0.1

------------------

- [FIXED] A ``py.typed`` file is now bundled with the Arrow package to conform to PEP 561.

1.0.0

------------------

After 8 years we're pleased to announce Arrow v1.0. Thanks to the entire Python community for helping make Arrow the amazing package it is today!

- [CHANGE] Arrow has **dropped support** for Python 2.7 and 3.5.
- [CHANGE] There are multiple **breaking changes** with this release, please see the `migration guide <https://github.com/arrow-py/arrow/issues/832>`_ for a complete overview.
- [CHANGE] Arrow is now following `semantic versioning <https://semver.org/>`_.
- [CHANGE] Made ``humanize`` granularity="auto" limits more accurate to reduce strange results.
- [NEW] Added support for Python 3.9.
- [NEW] Added a new keyword argument "exact" to ``span``, ``span_range`` and ``interval`` methods. This makes timespans begin at the start time given and not extend beyond the end time given, for example:

.. code-block:: python

 >>> start = Arrow(2021, 2, 5, 12, 30)
 >>> end = Arrow(2021, 2, 5, 17, 15)
 >>> for r in arrow.Arrow.span_range('hour', start, end, exact=True):
 ...     print(r)
 ...
 (<Arrow [2021-02-05T12:30:00+00:00]>, <Arrow [2021-02-05T13:29:59.999999+00:00]>)
 (<Arrow [2021-02-05T13:30:00+00:00]>, <Arrow [2021-02-05T14:29:59.999999+00:00]>)
 (<Arrow [2021-02-05T14:30:00+00:00]>, <Arrow [2021-02-05T15:29:59.999999+00:00]>)
 (<Arrow [2021-02-05T15:30:00+00:00]>, <Arrow [2021-02-05T16:29:59.999999+00:00]>)
 (<Arrow [2021-02-05T16:30:00+00:00]>, <Arrow [2021-02-05T17:14:59.999999+00:00]>)

- [NEW] Arrow now natively supports PEP 484-style type annotations.
- [FIX] Fixed handling of maximum permitted timestamp on Windows systems.
- [FIX] Corrections to French, German, Japanese and Norwegian locales.
- [INTERNAL] Raise more appropriate errors when string parsing fails to match.

0.17.0

-------------------

- [WARN] Arrow will **drop support** for Python 2.7 and 3.5 in the upcoming 1.0.0 release. This is the last major release to support Python 2.7 and Python 3.5.
- [NEW] Arrow now properly handles imaginary datetimes during DST shifts. For example:

.. code-block:: python

 >>> just_before = arrow.get(2013, 3, 31, 1, 55, tzinfo="Europe/Paris")
 >>> just_before.shift(minutes=+10)
 <Arrow [2013-03-31T03:05:00+02:00]>

.. code-block:: python

 >>> before = arrow.get("2018-03-10 23:00:00", "YYYY-MM-DD HH:mm:ss", tzinfo="US/Pacific")
 >>> after = arrow.get("2018-03-11 04:00:00", "YYYY-MM-DD HH:mm:ss", tzinfo="US/Pacific")
 >>> result=[(t, t.to("utc")) for t in arrow.Arrow.range("hour", before, after)]
 >>> for r in result:
 ...     print(r)
 ...
 (<Arrow [2018-03-10T23:00:00-08:00]>, <Arrow [2018-03-11T07:00:00+00:00]>)
 (<Arrow [2018-03-11T00:00:00-08:00]>, <Arrow [2018-03-11T08:00:00+00:00]>)
 (<Arrow [2018-03-11T01:00:00-08:00]>, <Arrow [2018-03-11T09:00:00+00:00]>)
 (<Arrow [2018-03-11T03:00:00-07:00]>, <Arrow [2018-03-11T10:00:00+00:00]>)
 (<Arrow [2018-03-11T04:00:00-07:00]>, <Arrow [2018-03-11T11:00:00+00:00]>)

- [NEW] Added ``humanize`` week granularity translation for Tagalog.
- [CHANGE] Calls to the ``timestamp`` property now emit a ``DeprecationWarning``. In a future release, ``timestamp`` will be changed to a method to align with Python's datetime module. If you would like to continue using the property, please change your code to use the ``int_timestamp`` or ``float_timestamp`` properties instead.
- [CHANGE] Expanded and improved Catalan locale.
- [FIX] Fixed a bug that caused ``Arrow.range()`` to incorrectly cut off ranges in certain scenarios when using month, quarter, or year endings.
- [FIX] Fixed a bug that caused day of week token parsing to be case sensitive.
- [INTERNAL] A number of functions were reordered in arrow.py for better organization and grouping of related methods. This change will have no impact on usage.
- [INTERNAL] A minimum tox version is now enforced for compatibility reasons. Contributors must use tox >3.18.0 going forward.

0.16.0

-------------------

- [WARN] Arrow will **drop support** for Python 2.7 and 3.5 in the upcoming 1.0.0 release. The 0.16.x and 0.17.x releases are the last to support Python 2.7 and 3.5.
- [NEW] Implemented `PEP 495 <https://www.python.org/dev/peps/pep-0495/>`_ to handle ambiguous datetimes. This is achieved by the addition of the ``fold`` attribute for Arrow objects. For example:

.. code-block:: python

 >>> before = Arrow(2017, 10, 29, 2, 0, tzinfo='Europe/Stockholm')
 <Arrow [2017-10-29T02:00:00+02:00]>
 >>> before.fold
 0
 >>> before.ambiguous
 True
 >>> after = Arrow(2017, 10, 29, 2, 0, tzinfo='Europe/Stockholm', fold=1)
 <Arrow [2017-10-29T02:00:00+01:00]>
 >>> after = before.replace(fold=1)
 <Arrow [2017-10-29T02:00:00+01:00]>

- [NEW] Added ``normalize_whitespace`` flag to ``arrow.get``. This is useful for parsing log files and/or any files that may contain inconsistent spacing. For example:

.. code-block:: python

 >>> arrow.get("Jun 1 2005     1:33PM", "MMM D YYYY H:mmA", normalize_whitespace=True)
 <Arrow [2005-06-01T13:33:00+00:00]>
 >>> arrow.get("2013-036 \t  04:05:06Z", normalize_whitespace=True)
 <Arrow [2013-02-05T04:05:06+00:00]>

0.15.8

-------------------

- [WARN] Arrow will **drop support** for Python 2.7 and 3.5 in the upcoming 1.0.0 release. The 0.15.x, 0.16.x, and 0.17.x releases are the last to support Python 2.7 and 3.5.
- [NEW] Added ``humanize`` week granularity translation for Czech.
- [FIX] ``arrow.get`` will now pick sane defaults when weekdays are passed with particular token combinations, see `446 <https://github.com/arrow-py/arrow/issues/446>`_.
- [INTERNAL] Moved arrow to an organization. The repo can now be found `here <https://github.com/arrow-py/arrow>`_.
- [INTERNAL] Started issuing deprecation warnings for Python 2.7 and 3.5.
- [INTERNAL] Added Python 3.9 to CI pipeline.

0.15.7

-------------------

- [NEW] Added a number of built-in format strings. See the `docs <https://arrow.readthedocs.io/#built-in-formats>`_ for a complete list of supported formats. For example:

.. code-block:: python

 >>> arw = arrow.utcnow()
 >>> arw.format(arrow.FORMAT_COOKIE)
 'Wednesday, 27-May-2020 10:30:35 UTC'

- [NEW] Arrow is now fully compatible with Python 3.9 and PyPy3.
- [NEW] Added Makefile, tox.ini, and requirements.txt files to the distribution bundle.
- [NEW] Added French Canadian and Swahili locales.
- [NEW] Added ``humanize`` week granularity translation for Hebrew, Greek, Macedonian, Swedish, Slovak.
- [FIX] ms and μs timestamps are now normalized in ``arrow.get()``, ``arrow.fromtimestamp()``, and ``arrow.utcfromtimestamp()``. For example:

.. code-block:: python

 >>> ts = 1591161115194556
 >>> arw = arrow.get(ts)
 <Arrow [2020-06-03T05:11:55.194556+00:00]>
 >>> arw.timestamp
 1591161115

- [FIX] Refactored and updated Macedonian, Hebrew, Korean, and Portuguese locales.

0.15.6

-------------------

- [NEW] Added support for parsing and formatting `ISO 8601 week dates <https://en.wikipedia.org/wiki/ISO_week_date>`_ via a new token ``W``, for example:

.. code-block:: python

 >>> arrow.get("2013-W29-6", "W")
 <Arrow [2013-07-20T00:00:00+00:00]>
 >>> utc=arrow.utcnow()
 >>> utc
 <Arrow [2020-01-23T18:37:55.417624+00:00]>
 >>> utc.format("W")
 '2020-W04-4'

- [NEW] Formatting with ``x`` token (microseconds) is now possible, for example:

.. code-block:: python

 >>> dt = arrow.utcnow()
 >>> dt.format("x")
 '1585669870688329'
 >>> dt.format("X")
 '1585669870'

- [NEW] Added ``humanize`` week granularity translation for German, Italian, Polish & Taiwanese locales.
- [FIX] Consolidated and simplified German locales.
- [INTERNAL] Moved testing suite from nosetest/Chai to pytest/pytest-mock.
- [INTERNAL] Converted xunit-style setup and teardown functions in tests to pytest fixtures.
- [INTERNAL] Setup Github Actions for CI alongside Travis.
- [INTERNAL] Help support Arrow's future development by donating to the project on `Open Collective <https://opencollective.com/arrow>`_.

0.15.5

-------------------

- [WARN] Python 2 reached EOL on 2020-01-01. arrow will **drop support** for Python 2 in a future release to be decided (see `739 <https://github.com/arrow-py/arrow/issues/739>`_).
- [NEW] Added bounds parameter to ``span_range``, ``interval`` and ``span`` methods. This allows you to include or exclude the start and end values.
- [NEW] ``arrow.get()`` can now create arrow objects from a timestamp with a timezone, for example:

.. code-block:: python

 >>> arrow.get(1367900664, tzinfo=tz.gettz('US/Pacific'))
 <Arrow [2013-05-06T21:24:24-07:00]>

- [NEW] ``humanize`` can now combine multiple levels of granularity, for example:

.. code-block:: python

 >>> later140 = arrow.utcnow().shift(seconds=+8400)
 >>> later140.humanize(granularity="minute")
 'in 139 minutes'
 >>> later140.humanize(granularity=["hour", "minute"])
 'in 2 hours and 19 minutes'

- [NEW] Added Hong Kong locale (``zh_hk``).
- [NEW] Added ``humanize`` week granularity translation for Dutch.
- [NEW] Numbers are now displayed when using the seconds granularity in ``humanize``.
- [CHANGE] ``range`` now supports both the singular and plural forms of the ``frames`` argument (e.g. day and days).
- [FIX] Improved parsing of strings that contain punctuation.
- [FIX] Improved behaviour of ``humanize`` when singular seconds are involved.

0.15.4

-------------------

- [FIX] Fixed an issue that caused package installs to fail on Conda Forge.

0.15.3

-------------------

- [NEW] ``factory.get()`` can now create arrow objects from a ISO calendar tuple, for example:

.. code-block:: python

 >>> arrow.get((2013, 18, 7))
 <Arrow [2013-05-05T00:00:00+00:00]>

- [NEW] Added a new token ``x`` to allow parsing of integer timestamps with milliseconds and microseconds.
- [NEW] Formatting now supports escaping of characters using the same syntax as parsing, for example:

.. code-block:: python

 >>> arw = arrow.now()
 >>> fmt = "YYYY-MM-DD h [h] m"
 >>> arw.format(fmt)
 '2019-11-02 3 h 32'

- [NEW] Added ``humanize`` week granularity translations for Chinese, Spanish and Vietnamese.
- [CHANGE] Added ``ParserError`` to module exports.
- [FIX] Added support for midnight at end of day. See `703 <https://github.com/arrow-py/arrow/issues/703>`_ for details.
- [INTERNAL] Created Travis build for macOS.
- [INTERNAL] Test parsing and formatting against full timezone database.

0.15.2

-------------------

- [NEW] Added ``humanize`` week granularity translations for Portuguese and Brazilian Portuguese.
- [NEW] Embedded changelog within docs and added release dates to versions.
- [FIX] Fixed a bug that caused test failures on Windows only, see `668 <https://github.com/arrow-py/arrow/issues/668>`_ for details.

0.15.1

-------------------

- [NEW] Added ``humanize`` week granularity translations for Japanese.
- [FIX] Fixed a bug that caused Arrow to fail when passed a negative timestamp string.
- [FIX] Fixed a bug that caused Arrow to fail when passed a datetime object with ``tzinfo`` of type ``StaticTzInfo``.

0.15.0

.. code-block:: python

 >>> arrow.get("1565358758", "X")
 >>> arrow.get("1565358758.123413", "X")
 >>> arrow.get(1565358758)
 >>> arrow.get(1565358758.123413)

- [CHANGE] When a meridian token (a|A) is passed and no meridians are available for the specified locale (e.g. unsupported or untranslated) a ``ParserError`` is raised.
- [CHANGE] The timestamp token (``X``) will now match float timestamps of type ``str``: ``arrow.get(“1565358758.123415”, “X”)``.
- [CHANGE] Strings with leading and/or trailing whitespace will no longer be parsed without a format string. Please see `the docs <https://arrow.readthedocs.io/#regular-expressions>`_ for ways to handle this.
- [FIX] The timestamp token (``X``) will now only match on strings that **strictly contain integers and floats**, preventing incorrect matches.
- [FIX] Most instances of ``arrow.get()`` returning an incorrect ``Arrow`` object from a partial parsing match have been eliminated. The following issue have been addressed: `91 <https://github.com/arrow-py/arrow/issues/91>`_, `#196 <https://github.com/arrow-py/arrow/issues/196>`_, `#396 <https://github.com/arrow-py/arrow/issues/396>`_, `#434 <https://github.com/arrow-py/arrow/issues/434>`_, `#447 <https://github.com/arrow-py/arrow/issues/447>`_, `#456 <https://github.com/arrow-py/arrow/issues/456>`_, `#519 <https://github.com/arrow-py/arrow/issues/519>`_, `#538 <https://github.com/arrow-py/arrow/issues/538>`_, `#560 <https://github.com/arrow-py/arrow/issues/560>`_.

0.14.7

-------------------

- [CHANGE] ``ArrowParseWarning`` will no longer be printed on every call to ``arrow.get()`` with a datetime string. The purpose of the warning was to start a conversation about the upcoming 0.15.0 changes and we appreciate all the feedback that the community has given us!

0.14.6

-------------------

- [NEW] Added support for ``week`` granularity in ``Arrow.humanize()``. For example, ``arrow.utcnow().shift(weeks=-1).humanize(granularity="week")`` outputs "a week ago". This change introduced two new untranslated words, ``week`` and ``weeks``, to all locale dictionaries, so locale contributions are welcome!
- [NEW] Fully translated the Brazilian Portuguese locale.
- [CHANGE] Updated the Macedonian locale to inherit from a Slavic base.
- [FIX] Fixed a bug that caused ``arrow.get()`` to ignore tzinfo arguments of type string (e.g. ``arrow.get(tzinfo="Europe/Paris")``).
- [FIX] Fixed a bug that occurred when ``arrow.Arrow()`` was instantiated with a ``pytz`` tzinfo object.
- [FIX] Fixed a bug that caused Arrow to fail when passed a sub-second token, that when rounded, had a value greater than 999999 (e.g. ``arrow.get("2015-01-12T01:13:15.9999995")``). Arrow should now accurately propagate the rounding for large sub-second tokens.

0.14.5

-------------------

- [NEW] Added Afrikaans locale.
- [CHANGE] Removed deprecated ``replace`` shift functionality. Users looking to pass plural properties to the ``replace`` function to shift values should use ``shift`` instead.
- [FIX] Fixed bug that occurred when ``factory.get()`` was passed a locale kwarg.

0.14.4

-------------------

- [FIX] Fixed a regression in 0.14.3 that prevented a tzinfo argument of type string to be passed to the ``get()`` function. Functionality such as ``arrow.get("2019072807", "YYYYMMDDHH", tzinfo="UTC")`` should work as normal again.
- [CHANGE] Moved ``backports.functools_lru_cache`` dependency from ``extra_requires`` to ``install_requires`` for ``Python 2.7`` installs to fix `495 <https://github.com/arrow-py/arrow/issues/495>`_.

0.14.3

-------------------

- [NEW] Added full support for Python 3.8.
- [CHANGE] Added warnings for upcoming factory.get() parsing changes in 0.15.0. Please see `612 <https://github.com/arrow-py/arrow/issues/612>`_ for full details.
- [FIX] Extensive refactor and update of documentation.
- [FIX] factory.get() can now construct from kwargs.
- [FIX] Added meridians to Spanish Locale.

0.14.2

-------------------

- [CHANGE] Travis CI builds now use tox to lint and run tests.
- [FIX] Fixed UnicodeDecodeError on certain locales (600).

0.14.1

-------------------

- [FIX] Fixed ``ImportError: No module named 'dateutil'`` (598).

0.14.0

-------------------

- [NEW] Added provisional support for Python 3.8.
- [CHANGE] Removed support for EOL Python 3.4.
- [FIX] Updated setup.py with modern Python standards.
- [FIX] Upgraded dependencies to latest versions.
- [FIX] Enabled flake8 and black on travis builds.
- [FIX] Formatted code using black and isort.

0.13.2

-------------------

- [NEW] Add is_between method.
- [FIX] Improved humanize behaviour for near zero durations (416).
- [FIX] Correct humanize behaviour with future days (541).
- [FIX] Documentation updates.
- [FIX] Improvements to German Locale.

0.13.1

-------------------

- [NEW] Add support for Python 3.7.
- [CHANGE] Remove deprecation decorators for Arrow.range(), Arrow.span_range() and Arrow.interval(), all now return generators, wrap with list() to get old behavior.
- [FIX] Documentation and docstring updates.

0.13.0

-------------------

- [NEW] Added support for Python 3.6.
- [CHANGE] Drop support for Python 2.6/3.3.
- [CHANGE] Return generator instead of list for Arrow.range(), Arrow.span_range() and Arrow.interval().
- [FIX] Make arrow.get() work with str & tzinfo combo.
- [FIX] Make sure special RegEx characters are escaped in format string.
- [NEW] Added support for ZZZ when formatting.
- [FIX] Stop using datetime.utcnow() in internals, use datetime.now(UTC) instead.
- [FIX] Return NotImplemented instead of TypeError in arrow math internals.
- [NEW] Added Estonian Locale.
- [FIX] Small fixes to Greek locale.
- [FIX] TagalogLocale improvements.
- [FIX] Added test requirements to setup.
- [FIX] Improve docs for get, now and utcnow methods.
- [FIX] Correct typo in depreciation warning.

0.12.1

------

- [FIX] Allow universal wheels to be generated and reliably installed.
- [FIX] Make humanize respect only_distance when granularity argument is also given.

0.12.0

------

- [FIX] Compatibility fix for Python 2.x

0.11.0

------

- [FIX] Fix grammar of ArabicLocale
- [NEW] Add Nepali Locale
- [FIX] Fix month name + rename AustriaLocale -> AustrianLocale
- [FIX] Fix typo in Basque Locale
- [FIX] Fix grammar in PortugueseBrazilian locale
- [FIX] Remove pip --user-mirrors flag
- [NEW] Add Indonesian Locale

0.10.0

------

- [FIX] Fix getattr off by one for quarter
- [FIX] Fix negative offset for UTC
- [FIX] Update arrow.py

0.9.0

-----

- [NEW] Remove duplicate code
- [NEW] Support gnu date iso 8601
- [NEW] Add support for universal wheels
- [NEW] Slovenian locale
- [NEW] Slovak locale
- [NEW] Romanian locale
- [FIX] respect limit even if end is defined range
- [FIX] Separate replace & shift functions
- [NEW] Added tox
- [FIX] Fix supported Python versions in documentation
- [NEW] Azerbaijani locale added, locale issue fixed in Turkish.
- [FIX] Format ParserError's raise message

0.8.0

-----

- []

0.7.1

-----

- [NEW] Esperanto locale (batisteo)

0.7.0

-----

- [FIX] Parse localized strings 228 (swistakm)
- [FIX] Modify tzinfo parameter in ``get`` api 221 (bottleimp)
- [FIX] Fix Czech locale (PrehistoricTeam)
- [FIX] Raise TypeError when adding/subtracting non-dates (itsmeolivia)
- [FIX] Fix pytz conversion error (Kudo)
- [FIX] Fix overzealous time truncation in span_range (kdeldycke)
- [NEW] Humanize for time duration 232 (ybrs)
- [NEW] Add Thai locale (sipp11)
- [NEW] Adding Belarusian (be) locale (oire)
- [NEW] Search date in strings (beenje)
- [NEW] Note that arrow's tokens differ from strptime's. (offby1)

0.6.0

-----

- [FIX] Added support for Python 3
- [FIX] Avoid truncating oversized epoch timestamps. Fixes 216.
- [FIX] Fixed month abbreviations for Ukrainian
- [FIX] Fix typo timezone
- [FIX] A couple of dialect fixes and two new languages
- [FIX] Spanish locale: ``Miercoles`` should have acute accent
- [Fix] Fix Finnish grammar
- [FIX] Fix typo in 'Arrow.floor' docstring
- [FIX] Use read() utility to open README
- [FIX] span_range for week frame
- [NEW] Add minimal support for fractional seconds longer than six digits.
- [NEW] Adding locale support for Marathi (mr)
- [NEW] Add count argument to span method
- [NEW] Improved docs

0.5.1

-------------

- [FIX] test the behavior of simplejson instead of calling for_json directly (tonyseek)
- [FIX] Add Hebrew Locale (doodyparizada)
- [FIX] Update documentation location (andrewelkins)
- [FIX] Update setup.py Development Status level (andrewelkins)
- [FIX] Case insensitive month match (cshowe)

0.5.0

-----

- [NEW] struct_time addition. (mhworth)
- [NEW] Version grep (eirnym)
- [NEW] Default to ISO 8601 format (emonty)
- [NEW] Raise TypeError on comparison (sniekamp)
- [NEW] Adding Macedonian(mk) locale (krisfremen)
- [FIX] Fix for ISO seconds and fractional seconds (sdispater) (andrewelkins)
- [FIX] Use correct Dutch wording for "hours" (wbolster)
- [FIX] Complete the list of english locales (indorilftw)
- [FIX] Change README to reStructuredText (nyuszika7h)
- [FIX] Parse lower-cased 'h' (tamentis)
- [FIX] Slight modifications to Dutch locale (nvie)

0.4.4

-----

- [NEW] Include the docs in the released tarball
- [NEW] Czech localization Czech localization for Arrow
- [NEW] Add fa_ir to locales
- [FIX] Fixes parsing of time strings with a final Z
- [FIX] Fixes ISO parsing and formatting for fractional seconds
- [FIX] test_fromtimestamp sp
- [FIX] some typos fixed
- [FIX] removed an unused import statement
- [FIX] docs table fix
- [FIX] Issue with specify 'X' template and no template at all to arrow.get
- [FIX] Fix "import" typo in docs/index.rst
- [FIX] Fix unit tests for zero passed
- [FIX] Update layout.html
- [FIX] In Norwegian and new Norwegian months and weekdays should not be capitalized
- [FIX] Fixed discrepancy between specifying 'X' to arrow.get and specifying no template

0.4.3

-----

- [NEW] Turkish locale (Emre)
- [NEW] Arabic locale (Mosab Ahmad)
- [NEW] Danish locale (Holmars)
- [NEW] Icelandic locale (Holmars)
- [NEW] Hindi locale (Atmb4u)
- [NEW] Malayalam locale (Atmb4u)
- [NEW] Finnish locale (Stormpat)
- [NEW] Portuguese locale (Danielcorreia)
- [NEW] ``h`` and ``hh`` strings are now supported (Averyonghub)
- [FIX] An incorrect inflection in the Polish locale has been fixed (Avalanchy)
- [FIX] ``arrow.get`` now properly handles ``Date`` (Jaapz)
- [FIX] Tests are now declared in ``setup.py`` and the manifest (Pypingou)
- [FIX] ``__version__`` has been added to ``__init__.py`` (Sametmax)
- [FIX] ISO 8601 strings can be parsed without a separator (Ivandiguisto / Root)
- [FIX] Documentation is now more clear regarding some inputs on ``arrow.get`` (Eriktaubeneck)
- [FIX] Some documentation links have been fixed (Vrutsky)
- [FIX] Error messages for parse errors are now more descriptive (Maciej Albin)
- [FIX] The parser now correctly checks for separators in strings (Mschwager)

0.4.2

-----

- [NEW] Factory ``get`` method now accepts a single ``Arrow`` argument.
- [NEW] Tokens SSSS, SSSSS and SSSSSS are supported in parsing.
- [NEW] ``Arrow`` objects have a ``float_timestamp`` property.
- [NEW] Vietnamese locale (Iu1nguoi)
- [NEW] Factory ``get`` method now accepts a list of format strings (Dgilland)
- [NEW] A MANIFEST.in file has been added (Pypingou)
- [NEW] Tests can be run directly from ``setup.py`` (Pypingou)
- [FIX] Arrow docs now list 'day of week' format tokens correctly (Rudolphfroger)
- [FIX] Several issues with the Korean locale have been resolved (Yoloseem)
- [FIX] ``humanize`` now correctly returns unicode (Shvechikov)
- [FIX] ``Arrow`` objects now pickle / unpickle correctly (Yoloseem)

0.4.1

-----

- [NEW] Table / explanation of formatting & parsing tokens in docs
- [NEW] Brazilian locale (Augusto2112)
- [NEW] Dutch locale (OrangeTux)
- [NEW] Italian locale (Pertux)
- [NEW] Austrain locale (LeChewbacca)
- [NEW] Tagalog locale (Marksteve)
- [FIX] Corrected spelling and day numbers in German locale (LeChewbacca)
- [FIX] Factory ``get`` method should now handle unicode strings correctly (Bwells)
- [FIX] Midnight and noon should now parse and format correctly (Bwells)

0.4.0

-----

- [NEW] Format-free ISO 8601 parsing in factory ``get`` method
- [NEW] Support for 'week' / 'weeks' in ``span``, ``range``, ``span_range``, ``floor`` and ``ceil``
- [NEW] Support for 'weeks' in ``replace``
- [NEW] Norwegian locale (Martinp)
- [NEW] Japanese locale (CortYuming)
- [FIX] Timezones no longer show the wrong sign when formatted (Bean)
- [FIX] Microseconds are parsed correctly from strings (Bsidhom)
- [FIX] Locale day-of-week is no longer off by one (Cynddl)
- [FIX] Corrected plurals of Ukrainian and Russian nouns (Catchagain)
- [CHANGE] Old 0.1 ``arrow`` module method removed
- [CHANGE] Dropped timestamp support in ``range`` and ``span_range`` (never worked correctly)
- [CHANGE] Dropped parsing of single string as tz string in factory ``get`` method (replaced by ISO 8601)

0.3.5

-----

- [NEW] French locale (Cynddl)
- [NEW] Spanish locale (Slapresta)
- [FIX] Ranges handle multiple timezones correctly (Ftobia)

0.3.4

-----

- [FIX] Humanize no longer sometimes returns the wrong month delta
- [FIX] ``__format__`` works correctly with no format string

0.3.3

-----

- [NEW] Python 2.6 support
- [NEW] Initial support for locale-based parsing and formatting
- [NEW] ArrowFactory class, now proxied as the module API
- [NEW] ``factory`` api method to obtain a factory for a custom type
- [FIX] Python 3 support and tests completely ironed out

0.3.2

-----

- [NEW] Python 3+ support

0.3.1

-----

- [FIX] The old ``arrow`` module function handles timestamps correctly as it used to

0.3.0

-----

- [NEW] ``Arrow.replace`` method
- [NEW] Accept timestamps, datetimes and Arrows for datetime inputs, where reasonable
- [FIX] ``range`` and ``span_range`` respect end and limit parameters correctly
- [CHANGE] Arrow objects are no longer mutable
- [CHANGE] Plural attribute name semantics altered: single -> absolute, plural -> relative
- [CHANGE] Plural names no longer supported as properties (e.g. ``arrow.utcnow().years``)

0.2.1

-----

- [NEW] Support for localized humanization
- [NEW] English, Russian, Greek, Korean, Chinese locales

0.2.0

-----

- **REWRITE**
- [NEW] Date parsing
- [NEW] Date formatting
- [NEW] ``floor``, ``ceil`` and ``span`` methods
- [NEW] ``datetime`` interface implementation
- [NEW] ``clone`` method
- [NEW] ``get``, ``now`` and ``utcnow`` API methods

0.1.6

-----

- [NEW] Humanized time deltas
- [NEW] ``__eq__`` implemented
- [FIX] Issues with conversions related to daylight savings time resolved
- [CHANGE] ``__str__`` uses ISO formatting

0.1.5

-----

- **Started tracking changes**
- [NEW] Parsing of ISO-formatted time zone offsets (e.g. '+02:30', '-05:00')
- [NEW] Resolved some issues with timestamps and delta / Olson time zones
Links

Update asgiref from 3.5.0 to 3.7.2.

Changelog

3.7.2

------------------

* The type annotations for SyncToAsync and AsyncToSync have been changed to
more accurately reflect the kind of callables they return.

3.7.1

------------------

* On Python 3.10 and below, the version of the "typing_extensions" package
is now constrained to be at least version 4 (as we depend on functionality
in that version and above)

3.7.0

------------------

* Contextvars are now required for the implementation of Local as Python 3.6
is now no longer a supported version.

* sync_to_async and async_to_sync now pass-through

* Debug and Lifespan State extensions have resulted in a typing change for some
request and response types. This change should be backwards-compatible.

* ``asgiref`` frames will now be hidden in Django tracebacks by default.

* Raw performance and garbage collection improvements in Local, SyncToAsync,
and AsyncToSync.

3.6.0

------------------

* Two new functions are added to the ``asgiref.sync`` module: ``iscoroutinefunction()``
and ``markcoroutinefunction()``.

Python 3.12 deprecates ``asyncio.iscoroutinefunction()`` as an alias for
``inspect.iscoroutinefunction()``, whilst also removing the ``_is_coroutine`` marker.
The latter is replaced with the ``inspect.markcoroutinefunction`` decorator.

The new ``asgiref.sync`` functions are compatibility shims for these
functions that can be used until Python 3.12 is the minimum supported
version.

**Note** that these functions are considered **beta**, and as such, whilst
not likely, are subject to change in a point release, until the final release
of Python 3.12. They are included in ``asgiref`` now so that they can be
adopted by Django 4.2, in preparation for support of Python 3.12.

* The ``loop`` argument to ``asgiref.timeout.timeout`` is deprecated. As per other
``asyncio`` based APIs, the running event loop is used by default. Note that
``asyncio`` provides timeout utilities from Python 3.11, and these should be
preferred where available.

* Support for the ``ASGI_THREADS`` environment variable, used by
``SyncToAsync``, is removed. In general, a running event-loop is not
available to `asgiref` at import time, and so the default thread pool
executor cannot be configured. Protocol servers, or applications, should set
the default executor as required when configuring the event loop at
application startup.

3.5.2

------------------

* Allow async-callables class instances to be passed to AsyncToSync
without warning

* Prevent giving async-callable class instances to SyncToAsync

3.5.1

------------------

* sync_to_async in thread-sensitive mode now works corectly when the
outermost thread is synchronous (214)
Links

Update asn1crypto from 1.5.1 to 1.5.1.

Changelog

1.5.1

- Handle RSASSA-PSS in `keys.PrivateKeyInfo.bit_size` and
`keys.PublicKeyInfo.bit_size`
- Handle RSASSA-PSS in `keys.PrivateKeyInfo.wrap` and
`keys.PublicKeyInfo.wrap`
- Updated docs for `keys.PrivateKeyInfo.algorithm` and
`keys.PublicKeyInfo.algorithm` to reflect that they can return
`"rsassa_pss"`

1.5.0

- Fix `tsp.TimeStampAndCRL` to be a `core.Sequence` instead of a
`core.SequenceOf` *via joernheissler*
- Added OIDs for Edwards curves from RFC 8410 - via MatthiasValvekens
- Fixed convenience attributes on `algos.EncryptionAlgorithm` when the
algorithm is RC2 *via joernheissler*
- Added Microsoft OIDs `microsoft_enrollment_csp_provider`
(`1.3.6.1.4.1.311.13.2.2`), `microsoft_os_version`
(`1.3.6.1.4.1.311.13.2.3`) and `microsoft_request_client_info`
(`1.3.6.1.4.1.311.21.20`)
to `csr.CSRAttributeType` along with supporting extension structures
*via qha*
- Added Microsoft OID `microsoft_enroll_certtype` (`1.3.6.1.4.1.311.20.2`)
to `x509.ExtensionId` *via qha*
- Fixed a few bugs with parsing indefinite-length encodings *via davidben*
- Added various bounds checks to parsing engine *via davidben*
- Fixed a bug with tags not always being minimally encoded *via davidben*
- Fixed `cms.RoleSyntax`, `cms.SecurityCategory` and `cms.AttCertIssuer` to
have explicit instead of implicit tagging *via MatthiasValvekens*
- Fixed tagging of, and default value for fields in `cms.Clearance` *via
MatthiasValvekens*
- Fixed calling `.dump(force=True)` when the value has undefined/unknown
`core.Sequence` fields. Previously the value would be truncated, now
the existing encoding is preserved.
- Added sMIME capabilities (`1.2.840.113549.1.9.15`) support from RFC 2633
to `cms.CMSAttribute` *via Hellzed*

1.4.0

- `core.ObjectIdentifier` and all derived classes now obey X.660 §7.6 and
thus restrict the first arc to 0 to 2, and the second arc to less than
40 if the first arc is 0 or 1. This also fixes parsing of OIDs where the
first arc is 2 and the second arc is greater than 39.
- Fixed `keys.PublicKeyInfo.bit_size` to return an int rather than a float
on Python 3 when working with elliptic curve keys
- Fixed the `asn1crypto-tests` sdist on PyPi to work properly to generate a
.whl

1.3.0

- Added `encrypt_key_pref` (`1.2.840.113549.1.9.16.2.11`) to
`cms.CMSAttributeType()`, along with related structures
- Added Brainpool curves from RFC 5639 to `keys.NamedCurve()`
- Fixed `x509.Certificate().subject_directory_attributes_value`
- Fixed some incorrectly computed minimum elliptic curve primary key
encoding sizes in `keys.NamedCurve()`
- Fixed a `TypeError` when trying to call `.untag()` or `.copy()` on a
`core.UTCTime()` or `core.GeneralizedTime()`, or a value containing one,
when using Python 2

1.2.0

- Added `asn1crypto.load_order()`, which returns a `list` of unicode strings
of the names of the fully-qualified module names for all of submodules of
the package. The module names are listed in their dependency load order.
This is primarily intended for the sake of implementing hot reloading.

1.1.0

- Added User ID (`0.9.2342.19200300.100.1.1`) to `x509.NameType()`
- Added various EC named curves to `keys.NamedCurve()`

1.0.1

- Fix an absolute import in `keys` to a relative import

1.0.0

- Backwards Compatibility Breaks
 - `cms.KeyEncryptionAlgorithmId().native` now returns the value
   `"rsaes_pkcs1v15"` for OID `1.2.840.113549.1.1.1` instead of `"rsa"` 
 - Removed functionality to calculate public key values from private key
   values. Alternatives have been added to oscrypto.
    - `keys.PrivateKeyInfo().unwrap()` is now
      `oscrypto.asymmetric.PrivateKey().unwrap()`
    - `keys.PrivateKeyInfo().public_key` is now
      `oscrypto.asymmetric.PrivateKey().public_key.unwrap()`
    - `keys.PrivateKeyInfo().public_key_info` is now
      `oscrypto.asymmetric.PrivateKey().public_key.asn1`
    - `keys.PrivateKeyInfo().fingerprint` is now
      `oscrypto.asymmetric.PrivateKey().fingerprint`
    - `keys.PublicKeyInfo().unwrap()` is now
      `oscrypto.asymmetric.PublicKey().unwrap()`
    - `keys.PublicKeyInfo().fingerprint` is now
      `oscrypto.asymmetric.PublicKey().fingerprint`
- Enhancements
 - Significantly improved parsing of `core.UTCTime()` and
   `core.GeneralizedTime()` values that include timezones and fractional
   seconds
 - `util.timezone` has a more complete implementation
 - `core.Choice()` may now be constructed by

@thomas545 thomas545 merged commit 6cc6d90 into master Sep 17, 2023
1 of 3 checks passed
@thomas545 thomas545 deleted the pyup-scheduled-update-2023-09-11 branch October 4, 2023 12:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants