Bump anyio from 4.4.0 to 4.6.2
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'sself
in class-based tests (#633) (PR by@agronholm
and@graingert
)- Fixed
TypeError
withTLSStream
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 theis_junction
method unavailable on Python versions earlier than 3.12 (#794)4.5.0
- Improved the performance of
anyio.Lock
andanyio.Semaphore
on asyncio (even up to 50 %)- Added the
fast_acquire
parameter toanyio.Lock
andanyio.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 inanyio.Path
, newly added in Python 3.13 (#737)- Added support for more keyword arguments for
run_process()
andopen_process()
:startupinfo
,creationflags
,pass_fds
,user
,group
,extra_groups
andumask
(#742)- Improved the type annotations and support for
PathLike
inrun_process()
andopen_process()
to allow for path-like arguments, just likesubprocess.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__()
ofMemoryObjectItemReceiver
, whenitem
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()
returningbytearray
instead ofbytes
when using asyncio withProactorEventLoop
(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 fixtures4.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'sself
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
withTLSStream
on Windows when a certificate verification error occurs when using atruststore <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