chore(deps): update dependency anyio to v4.14.0 #117

Merged
alpha-nerd merged 1 commit from renovate/anyio-4.x into main 2026-06-16 11:32:48 +02:00
Collaborator

This PR contains the following updates:

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

Release Notes

agronholm/anyio (anyio)

v4.14.0

Compare Source

  • Added support for Python 3.15

  • Added an asynchronous implementation of the itertools module (#​998; PR by @​11kkw)

  • Added the local_port parameter to connect_tcp() to allow binding to a specific local port before connecting (#​1067; PR by @​nullwiz)

  • Added support for custom capacity limiters in async path and file I/O functions and classes

  • Added the create_task() task group method for easier asyncio migration (returns a TaskHandle) (#​1098)

  • Changed TaskGroup.start_soon() to return a TaskHandle

  • Added an option for TaskGroup.start() to return a TaskHandle (which then contains the start value in the start_value property)

  • Added the cancel() convenience method to TaskGroup as a shortcut for cancelling the task group's cancel scope

  • Improved the error message when a known backend is not installed to suggest the install command (#​1115; PR by @​EmmanuelNiyonshuti)

  • Improved anyio.Path to preserve subclass types by returning Self in methods that return path objects (#​1130; PR by @​EmmanuelNiyonshuti)

  • Changed the parameter type annotation in anyio.Path.write_bytes() to accept any ReadableBuffer, thus allowing it to accept bytearray and memoryview to match pathlib.Path.write_bytes() (#​1135; PR by @​SAY-5)

  • Changed several type annotations to only accept callables returning coroutine-like objects instead of arbitrary awaitables:

    • TaskGroup.start_soon()
    • TaskGroup.start()
    • anyio.from_thread.run()

    This reverts an earlier change from v3.7.0 which was made in error. (#​1153)

  • Changed anyio.run to support callables returning arbitrary awaitables at runtime on all backends. Previously, this only worked on asyncio (#​1171; PR by @​gschaffner)

  • Changed several classes (and their subclasses) to have __slots__ (with __weakref__):

    • anyio.CancelScope
    • anyio.CapacityLimiter
    • anyio.Condition
    • anyio.Event
    • anyio.Lock
    • anyio.ResourceGuard
    • anyio.Semaphore
  • Fixed cancellation exception escaping a cancel scope when triggered via check_cancelled() in a worker thread (#​1113)

  • Fixed TaskGroup raising AttributeError instead of a clear error when entered more than once (#​1109; PR by @​bahtya)

  • Fixed lost type information when passing arguments to lru_cache (#​1104; PR by @​Graeme22)

  • Fixed test resumption after KeyboardInterrupt in async generator fixtures on the asyncio backend (#​1060; PR by @​EmmanuelNiyonshuti)

  • Fixed import of __main__ in to_process workers when entrypoint script doesn't end in .py, such as when using console_script entrypoints. (#​1027; PR by @​tapetersen)

  • Fixed SocketListener.from_socket() returning a TCP listener for AF_UNIX listening sockets, causing accept() to fail with ENOTSUP (#​1132; PR by @​kudato)

  • Fixed UDPSocket.aclose() and ConnectedUDPSocket.aclose() on asyncio returning before the underlying socket FD was actually released (#​1147; PR by @​matias-arrelid)

  • Fixed trio backend test runner hanging indefinitely instead of raising an error when dynamically accessing an async fixture via request.getfixturevalue (#​1148; PR by @​EmmanuelNiyonshuti)

  • Fixed cancelling tasks started through a BlockingPortal after the portal has been stopped (#​1013; PR by @​puneetdixit200)

  • Fixed backend_options being ignored when running the Trio backend via anyio.run(); the options are now passed as keyword arguments to trio.run() again, as documented (a regression from AnyIO 3) (#​1161; PR by @​Zac-HD)

  • Fixed asyncio Lock and Semaphore deadlocks caused by cancelled waiters left queued during release (#​1145; PR by @​rasmusfaber, @​x42005e1f and @​agronholm)


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.13.0` → `==4.14.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/anyio/4.14.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/anyio/4.13.0/4.14.0?slim=true) | --- ### Release Notes <details> <summary>agronholm/anyio (anyio)</summary> ### [`v4.14.0`](https://github.com/agronholm/anyio/releases/tag/4.14.0) [Compare Source](https://github.com/agronholm/anyio/compare/4.13.0...4.14.0) - Added support for Python 3.15 - Added an asynchronous implementation of the `itertools` module ([#&#8203;998](https://github.com/agronholm/anyio/issues/998); PR by [@&#8203;11kkw](https://github.com/11kkw)) - Added the `local_port` parameter to `connect_tcp()` to allow binding to a specific local port before connecting ([#&#8203;1067](https://github.com/agronholm/anyio/issues/1067); PR by [@&#8203;nullwiz](https://github.com/nullwiz)) - Added support for custom capacity limiters in async path and file I/O functions and classes - Added the `create_task()` task group method for easier asyncio migration (returns a `TaskHandle`) ([#&#8203;1098](https://github.com/agronholm/anyio/pull/1098)) - Changed `TaskGroup.start_soon()` to return a `TaskHandle` - Added an option for `TaskGroup.start()` to return a `TaskHandle` (which then contains the start value in the `start_value` property) - Added the `cancel()` convenience method to `TaskGroup` as a shortcut for cancelling the task group's cancel scope - Improved the error message when a known backend is not installed to suggest the install command ([#&#8203;1115](https://github.com/agronholm/anyio/pull/1115); PR by [@&#8203;EmmanuelNiyonshuti](https://github.com/EmmanuelNiyonshuti)) - Improved `anyio.Path` to preserve subclass types by returning `Self` in methods that return path objects ([#&#8203;1130](https://github.com/agronholm/anyio/issues/1130); PR by [@&#8203;EmmanuelNiyonshuti](https://github.com/EmmanuelNiyonshuti)) - Changed the parameter type annotation in `anyio.Path.write_bytes()` to accept any `ReadableBuffer`, thus allowing it to accept `bytearray` and `memoryview` to match `pathlib.Path.write_bytes()` ([#&#8203;1135](https://github.com/agronholm/anyio/issues/1135); PR by [@&#8203;SAY-5](https://github.com/SAY-5)) - Changed several type annotations to only accept callables returning coroutine-like objects instead of arbitrary awaitables: - `TaskGroup.start_soon()` - `TaskGroup.start()` - `anyio.from_thread.run()` This reverts an earlier change from v3.7.0 which was made in error. ([#&#8203;1153](https://github.com/agronholm/anyio/pull/1153)) - Changed `anyio.run` to support callables returning arbitrary awaitables at runtime on all backends. Previously, this only worked on asyncio ([#&#8203;1171](https://github.com/agronholm/anyio/pull/1171); PR by [@&#8203;gschaffner](https://github.com/gschaffner)) - Changed several classes (and their subclasses) to have `__slots__` (with `__weakref__`): - `anyio.CancelScope` - `anyio.CapacityLimiter` - `anyio.Condition` - `anyio.Event` - `anyio.Lock` - `anyio.ResourceGuard` - `anyio.Semaphore` - Fixed cancellation exception escaping a cancel scope when triggered via `check_cancelled()` in a worker thread ([#&#8203;1113](https://github.com/agronholm/anyio/issues/1113)) - Fixed `TaskGroup` raising `AttributeError` instead of a clear error when entered more than once ([#&#8203;1109](https://github.com/agronholm/anyio/issues/1109); PR by [@&#8203;bahtya](https://github.com/bahtya)) - Fixed lost type information when passing arguments to `lru_cache` ([#&#8203;1104](https://github.com/agronholm/anyio/pull/1104); PR by [@&#8203;Graeme22](https://github.com/Graeme22)) - Fixed test resumption after `KeyboardInterrupt` in async generator fixtures on the asyncio backend ([#&#8203;1060](https://github.com/agronholm/anyio/issues/1060); PR by [@&#8203;EmmanuelNiyonshuti](https://github.com/EmmanuelNiyonshuti)) - Fixed import of `__main__` in `to_process` workers when entrypoint script doesn't end in `.py`, such as when using `console_script` entrypoints. ([#&#8203;1027](https://github.com/agronholm/anyio/issues/1027); PR by [@&#8203;tapetersen](https://github.com/tapetersen)) - Fixed `SocketListener.from_socket()` returning a TCP listener for `AF_UNIX` listening sockets, causing `accept()` to fail with `ENOTSUP` ([#&#8203;1132](https://github.com/agronholm/anyio/issues/1132); PR by [@&#8203;kudato](https://github.com/kudato)) - Fixed `UDPSocket.aclose()` and `ConnectedUDPSocket.aclose()` on asyncio returning before the underlying socket FD was actually released ([#&#8203;1147](https://github.com/agronholm/anyio/pull/1147); PR by [@&#8203;matias-arrelid](https://github.com/matias-arrelid)) - Fixed trio backend test runner hanging indefinitely instead of raising an error when dynamically accessing an async fixture via `request.getfixturevalue` ([#&#8203;1148](https://github.com/agronholm/anyio/issues/1148); PR by [@&#8203;EmmanuelNiyonshuti](https://github.com/EmmanuelNiyonshuti)) - Fixed cancelling tasks started through a `BlockingPortal` after the portal has been stopped ([#&#8203;1013](https://github.com/agronholm/anyio/issues/1013); PR by [@&#8203;puneetdixit200](https://github.com/puneetdixit200)) - Fixed `backend_options` being ignored when running the Trio backend via `anyio.run()`; the options are now passed as keyword arguments to `trio.run()` again, as documented (a regression from AnyIO 3) ([#&#8203;1161](https://github.com/agronholm/anyio/pull/1161); PR by [@&#8203;Zac-HD](https://github.com/Zac-HD)) - Fixed asyncio `Lock` and `Semaphore` deadlocks caused by cancelled waiters left queued during release ([#&#8203;1145](https://github.com/agronholm/anyio/pull/1145); PR by [@&#8203;rasmusfaber](https://github.com/rasmusfaber), [@&#8203;x42005e1f](https://github.com/x42005e1f) and [@&#8203;agronholm](https://github.com/agronholm)) </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 the
dependencies
label 2026-06-16 00:30:21 +02:00
renovate-bot added 1 commit 2026-06-16 00:30:22 +02:00
chore(deps): update dependency anyio to v4.14.0
All checks were successful
PR Tests / test (pull_request) Successful in 1m16s
NYX Security Scan / nyx-scan (pull_request) Successful in 5m41s
3fdd3b594d
renovate-bot scheduled this pull request to auto merge when all checks succeed 2026-06-16 00:30:27 +02:00
alpha-nerd merged commit 8462b22b4c into main 2026-06-16 11:32:48 +02:00
Sign in to join this conversation.
No description provided.