Bump anyio from 4.4.0 to 4.6.2.post1
Bumps anyio from 4.4.0 to 4.6.2.post1.
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
Commits
-
c484425
Bumped up the version -
fb81dfe
Fixed a regression in the pytest plugin that broke parametrized async fixtures -
445e59e
Bumped up the version -
64f570e
Fixed tox configuration -
5abc9ec
Updated Path documentation and made is_junction() conditional (#800) -
ede2029
Fixed TypeError when TLS handshake fails with truststore SSLContext (#801) -
163f10c
Fixed cyclic garbage that keeps traceback frames alive in task group exceptio... -
0614b4f
Migrated to native TOML configuration for Tox -
012a60c
Made test_start_task_soon_cancel_immediately() less flaky -
65ef48a
Rebind instance method fixtures to the same instance as the test (#807) - Additional commits viewable in compare view