Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Mar 18, 2025

Bumps anyio from 4.3.0 to 4.9.0.

Release notes

Sourced from anyio's releases.

4.9.0

  • Added async support for temporary file handling (#344; PR by @​11kkw)
  • Added 4 new fixtures for the AnyIO pytest plugin:
    • free_tcp_port_factory: session scoped fixture returning a callable that generates unused TCP port numbers
    • free_udp_port_factory: session scoped fixture returning a callable that generates unused UDP port numbers
    • free_tcp_port: function scoped fixture that invokes the free_tcp_port_factory fixture to generate a free TCP port number
    • free_udp_port: function scoped fixture that invokes the free_udp_port_factory fixture to generate a free UDP port number
  • Added stdin argument to anyio.run_process() akin to what anyio.open_process(), asyncio.create_subprocess(), trio.run_process(), and subprocess.run() already accept (PR by @​jmehnle)
  • Added the info property to anyio.Path on Python 3.14
  • Changed anyio.getaddrinfo() to ignore (invalid) IPv6 name resolution results when IPv6 support is disabled in Python
  • Changed EndOfStream raised from MemoryObjectReceiveStream.receive() to leave out the AttributeError from the exception chain which was merely an implementation detail and caused some confusion
  • Fixed traceback formatting growing quadratically with level of TaskGroup nesting on asyncio due to exception chaining when raising ExceptionGroups in TaskGroup.__aexit__ (#863; PR by @​tapetersen)
  • Fixed anyio.Path.iterdir() making a blocking call in Python 3.13 (#873; PR by @​cbornet and @​agronholm)
  • Fixed connect_tcp() producing cyclic references in tracebacks when raising exceptions (#809; PR by @​graingert)
  • Fixed anyio.to_thread.run_sync() needlessly holding on to references of the context, function, arguments and others until the next work item on asyncio (PR by @​Wankupi)

4.8.0

  • Added experimental support for running functions in subinterpreters on Python 3.13 and later
  • Added support for the copy(), copy_into(), move() and move_into() methods in anyio.Path, available in Python 3.14
  • Changed TaskGroup on asyncio to always spawn tasks non-eagerly, even if using a task factory created via asyncio.create_eager_task_factory(), to preserve expected Trio-like task scheduling semantics (PR by @​agronholm and @​graingert)
  • Configure SO_RCVBUF, SO_SNDBUF and TCP_NODELAY on the selector thread waker socket pair (this should improve the performance of wait_readable() and wait_writable() when using the ProactorEventLoop) (#836; PR by @​graingert)
  • Fixed AssertionError when using nest-asyncio (#840)
  • Fixed return type annotation of various context managers' __exit__ method (#847; PR by @​Enegg)

4.7.0

  • Updated TaskGroup to work with asyncio's eager task factories (#764)
  • Added the wait_readable() and wait_writable() functions which will accept an object with a .fileno() method or an integer handle, and deprecated their now obsolete versions (wait_socket_readable() and wait_socket_writable()) (PR by @​davidbrochart)
  • Changed EventAdapter (an Event with no bound async backend) to allow set() to work even before an async backend is bound to it (#819)
  • Added support for wait_readable() and wait_writable() on ProactorEventLoop (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() and readinto1() methods in the anyio.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 a CancelledError 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

... (truncated)

Changelog

Sourced from anyio's changelog.

Version history

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

4.9.0

  • Added async support for temporary file handling ([#344](https://github.com/agronholm/anyio/issues/344) <https://github.com/agronholm/anyio/issues/873>_; PR by @​11kkw)

  • Added 4 new fixtures for the AnyIO pytest plugin:

    • free_tcp_port_factory: session scoped fixture returning a callable that generates unused TCP port numbers
    • free_udp_port_factory: session scoped fixture returning a callable that generates unused UDP port numbers
    • free_tcp_port: function scoped fixture that invokes the free_tcp_port_factory fixture to generate a free TCP port number
    • free_udp_port: function scoped fixture that invokes the free_udp_port_factory fixture to generate a free UDP port number
  • Added stdin argument to anyio.run_process() akin to what anyio.open_process(), asyncio.create_subprocess_…(), trio.run_process(), and subprocess.run() already accept (PR by @​jmehnle)

  • Added the info property to anyio.Path on Python 3.14

  • Changed anyio.getaddrinfo() to ignore (invalid) IPv6 name resolution results when IPv6 support is disabled in Python

  • Changed EndOfStream raised from MemoryObjectReceiveStream.receive() to leave out the AttributeError from the exception chain which was merely an implementation detail and caused some confusion

  • Fixed traceback formatting growing quadratically with level of TaskGroup nesting on asyncio due to exception chaining when raising ExceptionGroups in TaskGroup.__aexit__ ([#863](https://github.com/agronholm/anyio/issues/863) <https://github.com/agronholm/anyio/issues/863>_; PR by @​tapetersen)

  • Fixed anyio.Path.iterdir() making a blocking call in Python 3.13 ([#873](https://github.com/agronholm/anyio/issues/873) <https://github.com/agronholm/anyio/issues/873>_; PR by @​cbornet and @​agronholm)

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

  • Fixed anyio.to_thread.run_sync() needlessly holding on to references of the context, function, arguments and others until the next work item on asyncio (PR by @​Wankupi)

4.8.0

  • Added experimental support for running functions in subinterpreters on Python 3.13 and later
  • Added support for the copy(), copy_into(), move() and move_into() methods in anyio.Path, available in Python 3.14
  • Changed TaskGroup on asyncio to always spawn tasks non-eagerly, even if using a task factory created via asyncio.create_eager_task_factory(), to preserve expected Trio-like task scheduling semantics (PR by @​agronholm and @​graingert)

... (truncated)

Commits
  • a6e9ebb Bumped up the version
  • 9b9520d Fixed cyclic references in to_thread.run_sync() on asyncio (#887)
  • 1f04d6b Added a note about asyncio cancellation semantics
  • e14b172 Upgraded to a newer Sphinx version
  • 7e13c49 Avoid refcycles in tracebacks from happy eyeballs exceptions (#809)
  • d134da7 Raise EndOfStream from None in MemoryObjectReceiveStream.receive() (#889)
  • 2840e06 Added cheaper implementation for no_other_refs() on Python 3.14 (#886)
  • 31ce0a5 Added fixtures for generating bindable TCP/UDP ports (#856)
  • cd85e47 Test on PyPy 3.11 on CI (#876)
  • d228020 Detect blocking calls in coroutines using BlockBuster (#875)
  • Additional commits viewable in compare view

Dependabot compatibility score

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)

Bumps [anyio](https://github.com/agronholm/anyio) from 4.3.0 to 4.9.0.
- [Release notes](https://github.com/agronholm/anyio/releases)
- [Changelog](https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst)
- [Commits](agronholm/anyio@4.3.0...4.9.0)

---
updated-dependencies:
- dependency-name: anyio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Mar 18, 2025
@hf-kklein hf-kklein merged commit cc0758b into main Mar 18, 2025
18 of 25 checks passed
@hf-kklein hf-kklein deleted the dependabot/pip/anyio-4.9.0 branch March 18, 2025 08:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants