chore(deps): update dependency anyio to v4.13.0 #35

Merged
renovate-bot merged 1 commit from renovate/anyio-4.x into main 2026-05-07 14:49:31 +02:00
Collaborator

This PR contains the following updates:

Package Change Age Confidence
anyio (changelog) ==4.10.0==4.13.0 age confidence

Release Notes

agronholm/anyio (anyio)

v4.13.0

Compare Source

  • Dropped support for Python 3.9
  • Added a ttl parameter to the anyio.functools.lru_cache wrapper (#​1073; PR by @​Graeme22)
  • Widened the type annotations of file I/O streams to accept IO[bytes] instead of just BinaryIO (#​1078)
  • Fixed anyio.Path not being compatible with Python 3.15 due to the removal of pathlib.Path.is_reserved() and the addition of pathlib.Path.__vfspath__() (#​1061; PR by @​veeceey)
  • Fixed the BrokenResourceError raised by the asyncio SocketStream not having the original exception as its cause (#​1055; PR by @​veeceey)
  • Fixed the TypeError raised when using "func" as a parameter name in pytest.mark.parametrize when using the pytest plugin (#​1068; PR by @​JohnnyDeuss)
  • Fixed the pytest plugin not running tests that had the anyio marker added programmatically via pytest_collection_modifyitems (#​422; PR by @​chbndrhnns)
  • Fixed cancellation exceptions leaking from a CancelScope on asyncio when they are contained in an exception group alongside non-cancellation exceptions (#​1091; PR by @​gschaffner)
  • Fixed Condition.wait() not passing on a notification when the task is cancelled but already received a notification
  • Fixed inverted condition in the process pool shutdown phase which would cause still-running pooled processes not to be terminated (#​1074; PR by @​bysiber)

v4.12.1

Compare Source

  • Changed all functions currently raising the private NoCurrentAsyncBackend exception (since v4.12.0) to instead raise the public NoEventLoopError exception (#​1048)
  • Fixed anyio.functools.lru_cache not working with instance methods (#​1042)

v4.12.0

Compare Source

  • Added support for asyncio's task call graphs on Python 3.14 and later when using AnyIO's task groups (#​1025)
  • Added an asynchronous implementation of the functools module (#​1001)
  • Added support for uvloop=True on Windows via the winloop implementation (#​960; PR by @​Vizonex)
  • Added support for use as a context manager to anyio.lowlevel.RunVar (#​1003)
  • Added __all__ declarations to public submodules (anyio.lowlevel etc.) (#​1009)
  • Added the ability to set the token count of a CapacityLimiter to zero (#​1019; requires Python 3.10 or later when using Trio)
  • Added parameters case_sensitive and recurse_symlinks along with support for path-like objects to anyio.Path.glob() and anyio.Path.rglob() (#​1033; PR by @​northisup)
  • Dropped sniffio as a direct dependency and added the get_available_backends() function (#​1021)
  • Fixed Process.stdin.send() not raising ClosedResourceError and BrokenResourceError on asyncio. Previously, a non-AnyIO exception was raised in such cases (#​671; PR by @​gschaffner)
  • Fixed Process.stdin.send() not checkpointing before writing data on asyncio (#​1002; PR by @​gschaffner)
  • Fixed a race condition where cancelling a Future from BlockingPortal.start_task_soon() would sometimes not cancel the async function (#​1011; PR by @​gschaffner)
  • Fixed the presence of the pytest plugin causing breakage with older versions of pytest (<= 6.1.2) (#​1028; PR by @​saper)
  • Fixed a rarely occurring RuntimeError: Set changed size during iteration while shutting down the process pool when using the asyncio backend (#​985)

v4.11.0

Compare Source

  • Added support for cancellation reasons (the reason parameter to CancelScope.cancel()) (#​975)
  • Bumped the minimum version of Trio to v0.31.0
  • Added the ability to enter the event loop from foreign (non-worker) threads by passing the return value of anyio.lowlevel.current_token() to anyio.from_thread.run() and anyio.from_thread.run_sync() as the token keyword argument (#​256)
  • Added pytest option (anyio_mode = "auto") to make the pytest plugin automatically handle all async tests (#​971)
  • Added the anyio.Condition.wait_for() method for feature parity with asyncio (#​974)
  • Changed the default type argument of anyio.abc.TaskStatus from Any to None (#​964)
  • Fixed TCP listener behavior to guarantee the same ephemeral port is used for all socket listeners when local_port=0 (#​857; PR by @​11kkw and @​agronholm)
  • Fixed inconsistency between Trio and asyncio where a TCP stream that previously raised a BrokenResourceError on send() would still raise BrokenResourceError after the stream was closed on asyncio, but ClosedResourceError on Trio. They now both raise a ClosedResourceError in this scenario. (#​671)

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate.

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [anyio](https://github.com/agronholm/anyio) ([changelog](https://anyio.readthedocs.io/en/stable/versionhistory.html)) | `==4.10.0` → `==4.13.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/anyio/4.13.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/anyio/4.10.0/4.13.0?slim=true) | --- ### Release Notes <details> <summary>agronholm/anyio (anyio)</summary> ### [`v4.13.0`](https://github.com/agronholm/anyio/releases/tag/4.13.0) [Compare Source](https://github.com/agronholm/anyio/compare/4.12.1...4.13.0) - Dropped support for Python 3.9 - Added a `ttl` parameter to the `anyio.functools.lru_cache` wrapper ([#&#8203;1073](https://github.com/agronholm/anyio/pull/1073); PR by [@&#8203;Graeme22](https://github.com/Graeme22)) - Widened the type annotations of file I/O streams to accept `IO[bytes]` instead of just `BinaryIO` ([#&#8203;1078](https://github.com/agronholm/anyio/issues/1078)) - Fixed `anyio.Path` not being compatible with Python 3.15 due to the removal of `pathlib.Path.is_reserved()` and the addition of `pathlib.Path.__vfspath__()` ([#&#8203;1061](https://github.com/agronholm/anyio/issues/1061); PR by [@&#8203;veeceey](https://github.com/veeceey)) - Fixed the `BrokenResourceError` raised by the asyncio `SocketStream` not having the original exception as its cause ([#&#8203;1055](https://github.com/agronholm/anyio/issues/1055); PR by [@&#8203;veeceey](https://github.com/veeceey)) - Fixed the `TypeError` raised when using "func" as a parameter name in `pytest.mark.parametrize` when using the pytest plugin ([#&#8203;1068](https://github.com/agronholm/anyio/pull/1068); PR by [@&#8203;JohnnyDeuss](https://github.com/JohnnyDeuss)) - Fixed the pytest plugin not running tests that had the `anyio` marker added programmatically via `pytest_collection_modifyitems` ([#&#8203;422](https://github.com/agronholm/anyio/issues/422); PR by [@&#8203;chbndrhnns](https://github.com/chbndrhnns)) - Fixed cancellation exceptions leaking from a `CancelScope` on asyncio when they are contained in an exception group alongside non-cancellation exceptions ([#&#8203;1091](https://github.com/agronholm/anyio/issues/1091); PR by [@&#8203;gschaffner](https://github.com/gschaffner)) - Fixed `Condition.wait()` not passing on a notification when the task is cancelled but already received a notification - Fixed inverted condition in the process pool shutdown phase which would cause still-running pooled processes not to be terminated ([#&#8203;1074](https://github.com/agronholm/anyio/pull/1074); PR by [@&#8203;bysiber](https://github.com/bysiber)) ### [`v4.12.1`](https://github.com/agronholm/anyio/releases/tag/4.12.1) [Compare Source](https://github.com/agronholm/anyio/compare/4.12.0...4.12.1) - Changed all functions currently raising the private `NoCurrentAsyncBackend` exception (since v4.12.0) to instead raise the public `NoEventLoopError` exception ([#&#8203;1048](https://github.com/agronholm/anyio/issues/1048)) - Fixed `anyio.functools.lru_cache` not working with instance methods ([#&#8203;1042](https://github.com/agronholm/anyio/issues/1042)) ### [`v4.12.0`](https://github.com/agronholm/anyio/releases/tag/4.12.0) [Compare Source](https://github.com/agronholm/anyio/compare/4.11.0...4.12.0) - Added support for asyncio's [task call graphs](https://docs.python.org/3/library/asyncio-graph.html) on Python 3.14 and later when using AnyIO's task groups ([#&#8203;1025](https://github.com/agronholm/anyio/pull/1025)) - Added an asynchronous implementation of the `functools` module ([#&#8203;1001](https://github.com/agronholm/anyio/pull/1001)) - Added support for `uvloop=True` on Windows via the [winloop](https://github.com/Vizonex/Winloop) implementation ([#&#8203;960](https://github.com/agronholm/anyio/pull/960); PR by [@&#8203;Vizonex](https://github.com/Vizonex)) - Added support for use as a context manager to `anyio.lowlevel.RunVar` ([#&#8203;1003](https://github.com/agronholm/anyio/pull/1003)) - Added `__all__` declarations to public submodules (`anyio.lowlevel` etc.) ([#&#8203;1009](https://github.com/agronholm/anyio/pull/1009)) - Added the ability to set the token count of a `CapacityLimiter` to zero ([#&#8203;1019](https://github.com/agronholm/anyio/pull/1019); requires Python 3.10 or later when using Trio) - Added parameters `case_sensitive` and `recurse_symlinks` along with support for path-like objects to `anyio.Path.glob()` and `anyio.Path.rglob()` ([#&#8203;1033](https://github.com/agronholm/anyio/pull/1033); PR by [@&#8203;northisup](https://github.com/northisup)) - Dropped `sniffio` as a direct dependency and added the `get_available_backends()` function ([#&#8203;1021](https://github.com/agronholm/anyio/pull/1021)) - Fixed `Process.stdin.send()` not raising `ClosedResourceError` and `BrokenResourceError` on asyncio. Previously, a non-AnyIO exception was raised in such cases ([#&#8203;671](https://github.com/agronholm/anyio/issues/671); PR by [@&#8203;gschaffner](https://github.com/gschaffner)) - Fixed `Process.stdin.send()` not checkpointing before writing data on asyncio ([#&#8203;1002](https://github.com/agronholm/anyio/issues/1002); PR by [@&#8203;gschaffner](https://github.com/gschaffner)) - Fixed a race condition where cancelling a `Future` from `BlockingPortal.start_task_soon()` would sometimes not cancel the async function ([#&#8203;1011](https://github.com/agronholm/anyio/issues/1011); PR by [@&#8203;gschaffner](https://github.com/gschaffner)) - Fixed the presence of the pytest plugin causing breakage with older versions of pytest (<= 6.1.2) ([#&#8203;1028](https://github.com/agronholm/anyio/issues/1028); PR by [@&#8203;saper](https://github.com/saper)) - Fixed a rarely occurring `RuntimeError: Set changed size during iteration` while shutting down the process pool when using the asyncio backend ([#&#8203;985](https://github.com/agronholm/anyio/issues/985)) ### [`v4.11.0`](https://github.com/agronholm/anyio/releases/tag/4.11.0) [Compare Source](https://github.com/agronholm/anyio/compare/4.10.0...4.11.0) - Added support for cancellation reasons (the `reason` parameter to `CancelScope.cancel()`) ([#&#8203;975](https://github.com/agronholm/anyio/pull/975)) - Bumped the minimum version of Trio to v0.31.0 - Added the ability to enter the event loop from foreign (non-worker) threads by passing the return value of `anyio.lowlevel.current_token()` to `anyio.from_thread.run()` and `anyio.from_thread.run_sync()` as the `token` keyword argument ([#&#8203;256](https://github.com/agronholm/anyio/issues/256)) - Added pytest option (`anyio_mode = "auto"`) to make the pytest plugin automatically handle all async tests ([#&#8203;971](https://github.com/agronholm/anyio/pull/971)) - Added the `anyio.Condition.wait_for()` method for feature parity with asyncio ([#&#8203;974](https://github.com/agronholm/anyio/pull/974)) - Changed the default type argument of `anyio.abc.TaskStatus` from `Any` to `None` ([#&#8203;964](https://github.com/agronholm/anyio/pull/964)) - Fixed TCP listener behavior to guarantee the same ephemeral port is used for all socket listeners when `local_port=0` ([#&#8203;857](https://github.com/agronholm/anyio/issues/857); PR by [@&#8203;11kkw](https://github.com/11kkw) and [@&#8203;agronholm](https://github.com/agronholm)) - Fixed inconsistency between Trio and asyncio where a TCP stream that previously raised a `BrokenResourceError` on `send()` would still raise `BrokenResourceError` after the stream was closed on asyncio, but `ClosedResourceError` on Trio. They now both raise a `ClosedResourceError` in this scenario. ([#&#8203;671](https://github.com/agronholm/anyio/issues/671)) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNjguNSIsInVwZGF0ZWRJblZlciI6IjQzLjE2OC41IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
renovate-bot added 1 commit 2026-05-07 13:00:20 +02:00
renovate-bot scheduled this pull request to auto merge when all checks succeed 2026-05-07 13:00:23 +02:00
renovate-bot merged commit bbe1a6f91f into main 2026-05-07 14:49:31 +02:00
renovate-bot deleted branch renovate/anyio-4.x 2026-05-07 14:49:33 +02:00
Sign in to join this conversation.
No description provided.