Skip to content

Bump anyio from 4.4.0 to 4.6.2

HIFIS Bot requested to merge dependabot-pip-anyio-4.6.2 into master

Bumps anyio from 4.4.0 to 4.6.2.

Release notes

Sourced from anyio's releases.

4.6.2

  • Fixed regression caused by (#807) that prevented the use of parametrized async fixtures

4.6.1

This release contains all the changes from both v4.5.1 and v4.6.0, plus:

  • Fixed TaskGroup and CancelScope producing cyclic references in tracebacks when raising exceptions (#806) (PR by @​graingert)

4.6.0

  • Dropped support for Python 3.8 (as #698 cannot be resolved without cancel message support)
  • Fixed 100% CPU use on asyncio while waiting for an exiting task group to finish while said task group is within a cancelled cancel scope (#695)
  • Fixed cancel scopes on asyncio not propagating CancelledError on exit when the enclosing cancel scope has been effectively cancelled (#698)
  • Fixed asyncio task groups not yielding control to the event loop at exit if there were no child tasks to wait on
  • Fixed inconsistent task uncancellation with asyncio cancel scopes belonging to a task group when said task group has child tasks running

4.5.2

  • Fixed regression caused by (#807) that prevented the use of parametrized async fixtures.

4.5.1

As Python 3.8 support was dropped in v4.6.0, this interim release was created to bring a regression fix to Python 3.8, and adds a few other fixes also present in v4.6.1.

  • Fixed acquring a lock twice in the same task on asyncio hanging instead of raising a RuntimeError (#798)
  • Fixed an async fixture's self being different than the test's self in class-based tests (#633) (PR by @​agronholm and @​graingert)
  • Fixed TypeError with TLSStream on Windows when a certificate verification error occurs when using a truststore SSL certificate (#795)
  • Corrected documentation on anyio.Path regarding the limitations imposed by the current Python version on several of its methods, and made the is_junction method unavailable on Python versions earlier than 3.12 (#794)

4.5.0

  • Improved the performance of anyio.Lock and anyio.Semaphore on asyncio (even up to 50 %)
  • Added the fast_acquire parameter to anyio.Lock and anyio.Semaphore to further boost performance at the expense of safety (acquire() will not yield control back if there is no contention)
  • Added support for the from_uri(), full_match(), parser methods/properties in anyio.Path, newly added in Python 3.13 (#737)
  • Added support for more keyword arguments for run_process() and open_process(): startupinfo, creationflags, pass_fds, user, group, extra_groups and umask (#742)
  • Improved the type annotations and support for PathLike in run_process() and open_process() to allow for path-like arguments, just like subprocess.Popen
  • Changed the ResourceWarning from an unclosed memory object stream to include its address for easier identification
  • Changed start_blocking_portal() to always use daemonic threads, to accommodate the "loitering event loop" use case
  • Bumped the minimum version of Trio to v0.26.1
  • Fixed __repr__() of MemoryObjectItemReceiver, when item is not defined (#767; PR by @​Danipulok)
  • Fixed to_process.run_sync() failing to initialize if __main__.__file__ pointed to a file in a nonexistent directory (#696)
  • Fixed AssertionError: feed_data after feed_eof on asyncio when a subprocess is closed early, before its output has been read (#490)
  • Fixed TaskInfo.has_pending_cancellation() on asyncio not respecting shielded scopes (#771; PR by @​gschaffner)
  • Fixed SocketStream.receive() returning bytearray instead of bytes when using asyncio with ProactorEventLoop (Windows) (#776)
  • Fixed quitting the debugger in a pytest test session while in an active task group failing the test instead of exiting the test session (because the exit exception arrives in an exception group)
  • Fixed support for Linux abstract namespaces in UNIX sockets that was broken in v4.2 (#781; PR by @​tapetersen)
  • Fixed KeyboardInterrupt (ctrl+c) hanging the asyncio pytest runner
Changelog

Sourced from anyio's changelog.

Version history

This library adheres to Semantic Versioning 2.0 <http://semver.org/>_.

4.6.2

  • Fixed regression caused by ([#807](https://github.com/agronholm/anyio/issues/807) <https://github.com/agronholm/anyio/pull/807>_) that prevented the use of parametrized async fixtures

4.6.1

This release contains all the changes from both v4.5.1 and v4.6.0, plus:

  • Fixed TaskGroup and CancelScope producing cyclic references in tracebacks when raising exceptions ([#806](https://github.com/agronholm/anyio/issues/806) <https://github.com/agronholm/anyio/pull/806>_) (PR by @​graingert)

4.6.0

This release is the successor to v4.5.0 with Python 3.8 support dropped, and does not contain the changes from v4.5.1.

  • Dropped support for Python 3.8 (as [#698](https://github.com/agronholm/anyio/issues/698) <https://github.com/agronholm/anyio/issues/698>_ cannot be resolved without cancel message support)
  • Fixed 100% CPU use on asyncio while waiting for an exiting task group to finish while said task group is within a cancelled cancel scope ([#695](https://github.com/agronholm/anyio/issues/695) <https://github.com/agronholm/anyio/issues/695>_)
  • Fixed cancel scopes on asyncio not propagating CancelledError on exit when the enclosing cancel scope has been effectively cancelled ([#698](https://github.com/agronholm/anyio/issues/698) <https://github.com/agronholm/anyio/issues/698>_)
  • Fixed asyncio task groups not yielding control to the event loop at exit if there were no child tasks to wait on
  • Fixed inconsistent task uncancellation with asyncio cancel scopes belonging to a task group when said task group has child tasks running

4.5.1

As Python 3.8 support was dropped in v4.6.0, this interim release was created to bring a regression fix to Python 3.8, and adds a few other fixes also present in v4.6.1.

  • Fixed acquring a lock twice in the same task on asyncio hanging instead of raising a RuntimeError ([#798](https://github.com/agronholm/anyio/issues/798) <https://github.com/agronholm/anyio/issues/798>_)
  • Fixed an async fixture's self being different than the test's self in class-based tests ([#633](https://github.com/agronholm/anyio/issues/633) <https://github.com/agronholm/anyio/issues/633>_) (PR by @​agronholm and @​graingert)
  • Fixed TypeError with TLSStream on Windows when a certificate verification error occurs when using a truststore <https://github.com/sethmlarson/truststore>_ SSL certificate ([#795](https://github.com/agronholm/anyio/issues/795) <https://github.com/agronholm/anyio/issues/795>_)

... (truncated)

Commits
  • 5861355 Bumped up the version
  • f6ddfc8 Fixed a regression in the pytest plugin that broke parametrized async fixtures
  • 4ecc963 Bumped up the version
  • 5489fbd Fixed tox configuration
  • 77b94df Updated Path documentation and made is_junction() conditional (#800)
  • bf130dc Fixed TypeError when TLS handshake fails with truststore SSLContext (#801)
  • 4cb89a5 Migrated to native TOML configuration for Tox
  • 6bebf18 Made test_start_task_soon_cancel_immediately() less flaky
  • e8546bd Rebind instance method fixtures to the same instance as the test (#807)
  • 57bcbc9 Updated macOS and Windows to test on Python 3.13 by default
  • Additional commits viewable in compare view

Merge request reports

Loading