build(deps): update dependency anyio to v4.11.0 (main)
Metadata
Current evaluation
Closed unmerged; Renovate's AnyIO 4.11.0 update was ignored after closure, with no resolving merge or commit.
Resolution: closed stale
Reason: No resolving PR or commit was merged. The only closing comment was Renovate's notice that the closed update would be ignored until a newer AnyIO release was available, despite approval and 12 failing Java slow-test jobs.
Evaluated by: mr-cal-bot
No scores available.
Issue body
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| [anyio](https://redirect.github.com/agronholm/anyio) ([changelog](https://anyio.readthedocs.io/en/stable/versionhistory.html)) | `==4.8.0` -> `==4.11.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
---
### Release Notes
<details>
<summary>agronholm/anyio (anyio)</summary>
### [`v4.11.0`](https://redirect.github.com/agronholm/anyio/releases/tag/4.11.0)
[Compare Source](https://redirect.github.com/agronholm/anyio/compare/4.10.0...4.11.0)
- Added support for cancellation reasons (the `reason` parameter to `CancelScope.cancel()`) ([#​975](https://redirect.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 ([#​256](https://redirect.github.com/agronholm/anyio/issues/256))
- Added pytest option (`anyio_mode = "auto"`) to make the pytest plugin automatically handle all async tests ([#​971](https://redirect.github.com/agronholm/anyio/pull/971))
- Added the `anyio.Condition.wait_for()` method for feature parity with asyncio ([#​974](https://redirect.github.com/agronholm/anyio/pull/974))
- Changed the default type argument of `anyio.abc.TaskStatus` from `Any` to `None` ([#​964](https://redirect.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` ([#​857](https://redirect.github.com/agronholm/anyio/issues/857); PR by [@​11kkw](https://redirect.github.com/11kkw) and [@​agronholm](https://redirect.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. ([#​671](https://redirect.github.com/agronholm/anyio/issues/671))
### [`v4.10.0`](https://redirect.github.com/agronholm/anyio/releases/tag/4.10.0)
[Compare Source](https://redirect.github.com/agronholm/anyio/compare/4.9.0...4.10.0)
- Added the `feed_data()` method to the `BufferedByteReceiveStream` class, allowing users to inject data directly into the buffer
- Added various class methods to wrap existing sockets as listeners or socket streams:
- `SocketListener.from_socket()`
- `SocketStream.from_socket()`
- `UNIXSocketStream.from_socket()`
- `UDPSocket.from_socket()`
- `ConnectedUDPSocket.from_socket()`
- `UNIXDatagramSocket.from_socket()`
- `ConnectedUNIXDatagramSocket.from_socket()`
- Added a hierarchy of connectable stream classes for transparently connecting to various remote or local endpoints for exchanging bytes or objects
- Added context manager mix-in classes (`anyio.ContextManagerMixin` and `anyio.AsyncContextManagerMixin`) to help write classes that embed other context managers, particularly cancel scopes or task groups ([#​905](https://redirect.github.com/agronholm/anyio/pull/905); PR by [@​agronholm](https://redirect.github.com/agronholm) and [@​tapetersen](https://redirect.github.com/tapetersen))
- Added the ability to specify the thread name in `start_blocking_portal()` ([#​818](https://redirect.github.com/agronholm/anyio/issues/818); PR by [@​davidbrochart](https://redirect.github.com/davidbrochart))
- Added `anyio.notify_closing` to allow waking `anyio.wait_readable` and `anyio.wait_writable` before closing a socket. Among other things, this prevents an OSError on the `ProactorEventLoop`. ([#​896](https://redirect.github.com/agronholm/anyio/pull/896); PR by [@​graingert](https://redirect.github.com/graingert))
- Incorporated several documentation improvements from the EuroPython 2025 sprint (special thanks to the sprinters: Emmanuel Okedele, Jan Murre, Euxenia Miruna Goia and Christoffer Fjord)
- Added a documentation page explaining why one might want to use AnyIO's APIs instead of asyncio's
- Updated the `to_interpreters` module to use the public `concurrent.interpreters` API on Python 3.14 or later
- Fixed `anyio.Path.copy()` and `anyio.Path.copy_into()` failing on Python 3.14.0a7
- Fixed return annotation of `__aexit__` on async context managers. CMs which can suppress exceptions should return `bool`, or `None` otherwise. ([#​913](https://redirect.github.com/agronholm/anyio/pull/913); PR by [@​Enegg](https://redirect.github.com/Enegg))
- Fixed rollover boundary check in `SpooledTemporaryFile` so that rollover only occurs when the buffer size exceeds `max_size` ([#​915](https://redirect.github.com/agronholm/anyio/pull/915); PR by [@​11kkw](https://redirect.github.com/11kkw))
- Migrated testing and documentation dependencies from extras to dependency groups
- Fixed compatibility of `anyio.to_interpreter` with Python 3.14.0b2 ([#​926](https://redirect.github.com/agronholm/anyio/issues/926); PR by [@​hroncok](https://redirect.github.com/hroncok))
- Fixed `SyntaxWarning` on Python 3.14 about `return` in `finally` ([#​816](https://redirect.github.com/agronholm/anyio/issues/816))
- Fixed RunVar name conflicts. RunVar instances with the same name should not share storage ([#​880](https://redirect.github.com/agronholm/anyio/issues/880); PR by [@​vimfu](https://redirect.github.com/vimfu))
- Renamed the `BrokenWorkerIntepreter` exception to `BrokenWorkerInterpreter`. The old name is available as a deprecated alias. ([#​938](https://redirect.github.com/agronholm/anyio/pull/938); PR by [@​ayussh-verma](https://redirect.github.com/ayussh-verma))
- Fixed an edge case in `CapacityLimiter` on asyncio where a task, waiting to acquire a limiter gets cancelled and is subsequently granted a token from the limiter, but before the cancellation is delivered, and then fails to notify the next waiting task ([#​947](https://redirect.github.com/agronholm/anyio/issues/947))
### [`v4.9.0`](https://redirect.github.com/agronholm/anyio/releases/tag/4.9.0)
[Compare Source](https://redirect.github.com/agronholm/anyio/compare/4.8.0...4.9.0)
- Added async support for temporary file handling ([#​344](https://redirect.github.com/agronholm/anyio/issues/344); PR by [@​11kkw](https://redirect.github.com/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](https://redirect.github.com/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://redirect.github.com/agronholm/anyio/issues/863); PR by [@​tapetersen](https://redirect.github.com/tapetersen))
- Fixed `anyio.Path.iterdir()` making a blocking call in Python 3.13 ([#​873](https://redirect.github.com/agronholm/anyio/issues/873); PR by [@​cbornet](https://redirect.github.com/cbornet) and [@​agronholm](https://redirect.github.com/agronholm))
- Fixed `connect_tcp()` producing cyclic references in tracebacks when raising exceptions ([#​809](https://redirect.github.com/agronholm/anyio/pull/809); PR by [@​graingert](https://redirect.github.com/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](https://redirect.github.com/Wankupi))
</details>
---
### Configuration
π
**Schedule**: Branch creation - "every weekend" in timezone Etc/UTC, Automerge - At any time (no schedule defined).
π¦ **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
β» **Rebasing**: Whenever PR becomes conflicted, 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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/canonical/craft-parts).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzEuOSIsInVwZGF0ZWRJblZlciI6IjQxLjEzMS45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJQUjogRGVwZW5kZW5jaWVzIl19-->
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | β | closed stale | Closed unmerged; Renovate's AnyIO 4.11.0 update was ignored after closure, with no resolving merge or commit. | |
| stealth/space-bunny-alpha | β | closed stale | Renovateβs AnyIO 4.8.0β4.11.0 update was closed without merging; its closing comment marked 4.11.0 ignored until a newer version is released. | |
| stealth/space-bunny-alpha | β | closed stale | PR #1352 was approved but closed unmerged; anyio 4.11.0 was not adopted. Renovate said it would ignore that version until a newer release. | |
| qwen/qwen3.6-35b-a3b | β | β | Updating the anyio dependency to v4.11.0 was closed without merging. The update was abandoned, and Renovate will ignore this version until a newer release is available. | |
| qwen3.6-35b-a3b-mtp-q6 | β | β | Dependency update for anyio to v4.11.0 was closed without merging. Renovate will ignore this update and propose newer versions when available. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1226 build(deps): update dependency anyio to v4.13.0 (hotfix/1.5) | rockcraft | closed | Anyio 4.13.0 update for hotfix/1.5 was closed unmerged after 121 days with multiple CI failures, no reviewer activity, and no resolving commit. | |
| #273 build(deps): update bugfixes (main) | craft-store | closed | Renovate's bugfix dependency batch was closed unmerged after prolonged inactivity; no approval, CI result, merge commit, or maintainer explanation was recorded. |