Bumpsanyio from 4.4.0 to 4.7.0.
Release notes
Sourced fromanyio's releases.
4.7.0
- Updated
TaskGroup
to work with asyncio's eager task factories (#764) - Added the
wait_readable()
andwait_writable()
functions which will accept an object with a.fileno()
method or an integer handle, and deprecated their now obsolete versions (wait_socket_readable()
andwait_socket_writable()
) (PR by@davidbrochart
) - Changed
EventAdapter
(anEvent
with no bound async backend) to allowset()
to work even before an async backend is bound to it (#819) - Added support for
wait_readable()
andwait_writable()
onProactorEventLoop
(used on asyncio + Windows by default) - Fixed a misleading
ValueError
in the context of DNS failures (#815; PR by@graingert
) - Fixed the return type annotations of
readinto()
andreadinto1()
methods in theanyio.AsyncFile
class (#825) - Fixed
TaskInfo.has_pending_cancellation()
on asyncio returning false positives in cleanup code on Python >= 3.11 (#832; PR by@gschaffner
) - Fixed cancelled cancel scopes on asyncio calling
asyncio.Task.uncancel
when propagating aCancelledError
on exit to a cancelled parent scope (#790; PR by@gschaffner
)
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 atruststore 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)
... (truncated)
Changelog
Sourced fromanyio's changelog.
Version history
This library adheres toSemantic Versioning 2.0 <http://semver.org/>
_.
4.7.0
- Updated
TaskGroup
to work with asyncio's eager task factories([#764](https://github.com/agronholm/anyio/issues/764) <https://github.com/agronholm/anyio/issues/764>
_) - Added the
wait_readable()
andwait_writable()
functions which will acceptan object with a.fileno()
method or an integer handle, and deprecatedtheir now obsolete versions (wait_socket_readable()
andwait_socket_writable()
) (PR by@davidbrochart
) - Changed
EventAdapter
(anEvent
with no bound async backend) to allowset()
to work even before an async backend is bound to it([#819](https://github.com/agronholm/anyio/issues/819) <https://github.com/agronholm/anyio/issues/819>
_) - Added support for
wait_readable()
andwait_writable()
onProactorEventLoop
(used on asyncio + Windows by default) - Fixed a misleading
ValueError
in the context of DNS failures([#815](https://github.com/agronholm/anyio/issues/815) <https://github.com/agronholm/anyio/issues/815>
_; PR by@graingert
) - Fixed the return type annotations of
readinto()
andreadinto1()
methods in theanyio.AsyncFile
class([#825](https://github.com/agronholm/anyio/issues/825) <https://github.com/agronholm/anyio/issues/825>
_) - Fixed
TaskInfo.has_pending_cancellation()
on asyncio returning false positives incleanup code on Python >= 3.11([#832](https://github.com/agronholm/anyio/issues/832) <https://github.com/agronholm/anyio/issues/832>
_; PR by@gschaffner
) - Fixed cancelled cancel scopes on asyncio calling
asyncio.Task.uncancel
whenpropagating aCancelledError
on exit to a cancelled parent scope([#790](https://github.com/agronholm/anyio/issues/790) <https://github.com/agronholm/anyio/pull/790>
_; PR by@gschaffner
)
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 tracebackswhen 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 notcontain 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
... (truncated)
Commits
c967f5c
Bumped up the versionf47ac5e
Rearranged changelog entriesf316ce5
Allowed Event to be set before it's bound to an async backend (#835)93a5746
Fixedasyncio.Task.cancelling
issues (#790)39cf394
Avoid exposing extra variables key and value in anyio.abc (#833)a2150f5
Fixed design issues in PR template (#834)0f80611
Added support for wait_readable() and wait_writable() on ProactorEventLoop (#...97d5fe6
Made asyncio TaskGroup work with eager task factories (#822)44405f4
Updated downstream test workflows and their target Python versions93c0cd6
Replaced mentions to run_sync_in_process with to_process.run_sync (#829)- Additional commits viewable incompare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting@dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumpsanyio from 4.4.0 to 4.7.0.
Release notes
Sourced fromanyio's releases.
... (truncated)
Changelog
Sourced fromanyio's changelog.
... (truncated)
Commits
c967f5c
Bumped up the versionf47ac5e
Rearranged changelog entriesf316ce5
Allowed Event to be set before it's bound to an async backend (#835)93a5746
Fixedasyncio.Task.cancelling
issues (#790)39cf394
Avoid exposing extra variables key and value in anyio.abc (#833)a2150f5
Fixed design issues in PR template (#834)0f80611
Added support for wait_readable() and wait_writable() on ProactorEventLoop (#...97d5fe6
Made asyncio TaskGroup work with eager task factories (#822)44405f4
Updated downstream test workflows and their target Python versions93c0cd6
Replaced mentions to run_sync_in_process with to_process.run_sync (#829)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)