← Back to issue list

build(deps): update dependency anyio to v4.13.0 (hotfix/1.5)

View original Github issue

Metadata

Project
rockcraft
Number
#1226
Type
pull request
State
closed
Author
renovate[bot]
Labels
PR: Dependencies
Created
Updated
Closed

Current evaluation

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.

Resolution: closed stale

Reason: PR #1226 remained review-pending with zero reviewers or comments while tests and linters failed, then was closed unmerged after 121 days. No resolving PR, commit, or maintainer explanation was recorded.

Evaluated by: mr-cal-bot

No scores available.

Issue body

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [anyio](https://redirect.github.com/agronholm/anyio) ([changelog](https://anyio.readthedocs.io/en/stable/versionhistory.html)) | `==4.3.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.3.0/4.13.0?slim=true) | --- ### Release Notes <details> <summary>agronholm/anyio (anyio)</summary> ### [`v4.13.0`](https://redirect.github.com/agronholm/anyio/releases/tag/4.13.0) [Compare Source](https://redirect.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://redirect.github.com/agronholm/anyio/pull/1073); PR by [@&#8203;Graeme22](https://redirect.github.com/Graeme22)) - Widened the type annotations of file I/O streams to accept `IO[bytes]` instead of just `BinaryIO` ([#&#8203;1078](https://redirect.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://redirect.github.com/agronholm/anyio/issues/1061); PR by [@&#8203;veeceey](https://redirect.github.com/veeceey)) - Fixed the `BrokenResourceError` raised by the asyncio `SocketStream` not having the original exception as its cause ([#&#8203;1055](https://redirect.github.com/agronholm/anyio/issues/1055); PR by [@&#8203;veeceey](https://redirect.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://redirect.github.com/agronholm/anyio/pull/1068); PR by [@&#8203;JohnnyDeuss](https://redirect.github.com/JohnnyDeuss)) - Fixed the pytest plugin not running tests that had the `anyio` marker added programmatically via `pytest_collection_modifyitems` ([#&#8203;422](https://redirect.github.com/agronholm/anyio/issues/422); PR by [@&#8203;chbndrhnns](https://redirect.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://redirect.github.com/agronholm/anyio/issues/1091); PR by [@&#8203;gschaffner](https://redirect.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://redirect.github.com/agronholm/anyio/pull/1074); PR by [@&#8203;bysiber](https://redirect.github.com/bysiber)) ### [`v4.12.1`](https://redirect.github.com/agronholm/anyio/releases/tag/4.12.1) [Compare Source](https://redirect.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://redirect.github.com/agronholm/anyio/issues/1048)) - Fixed `anyio.functools.lru_cache` not working with instance methods ([#&#8203;1042](https://redirect.github.com/agronholm/anyio/issues/1042)) ### [`v4.12.0`](https://redirect.github.com/agronholm/anyio/releases/tag/4.12.0) [Compare Source](https://redirect.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://redirect.github.com/agronholm/anyio/pull/1025)) - Added an asynchronous implementation of the `functools` module ([#&#8203;1001](https://redirect.github.com/agronholm/anyio/pull/1001)) - Added support for `uvloop=True` on Windows via the [winloop](https://redirect.github.com/Vizonex/Winloop) implementation ([#&#8203;960](https://redirect.github.com/agronholm/anyio/pull/960); PR by [@&#8203;Vizonex](https://redirect.github.com/Vizonex)) - Added support for use as a context manager to `anyio.lowlevel.RunVar` ([#&#8203;1003](https://redirect.github.com/agronholm/anyio/pull/1003)) - Added `__all__` declarations to public submodules (`anyio.lowlevel` etc.) ([#&#8203;1009](https://redirect.github.com/agronholm/anyio/pull/1009)) - Added the ability to set the token count of a `CapacityLimiter` to zero ([#&#8203;1019](https://redirect.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://redirect.github.com/agronholm/anyio/pull/1033); PR by [@&#8203;northisup](https://redirect.github.com/northisup)) - Dropped `sniffio` as a direct dependency and added the `get_available_backends()` function ([#&#8203;1021](https://redirect.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://redirect.github.com/agronholm/anyio/issues/671); PR by [@&#8203;gschaffner](https://redirect.github.com/gschaffner)) - Fixed `Process.stdin.send()` not checkpointing before writing data on asyncio ([#&#8203;1002](https://redirect.github.com/agronholm/anyio/issues/1002); PR by [@&#8203;gschaffner](https://redirect.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://redirect.github.com/agronholm/anyio/issues/1011); PR by [@&#8203;gschaffner](https://redirect.github.com/gschaffner)) - Fixed the presence of the pytest plugin causing breakage with older versions of pytest (<= 6.1.2) ([#&#8203;1028](https://redirect.github.com/agronholm/anyio/issues/1028); PR by [@&#8203;saper](https://redirect.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://redirect.github.com/agronholm/anyio/issues/985)) ### [`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()`) ([#&#8203;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 ([#&#8203;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 ([#&#8203;971](https://redirect.github.com/agronholm/anyio/pull/971)) - Added the `anyio.Condition.wait_for()` method for feature parity with asyncio ([#&#8203;974](https://redirect.github.com/agronholm/anyio/pull/974)) - Changed the default type argument of `anyio.abc.TaskStatus` from `Any` to `None` ([#&#8203;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` ([#&#8203;857](https://redirect.github.com/agronholm/anyio/issues/857); PR by [@&#8203;11kkw](https://redirect.github.com/11kkw) and [@&#8203;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. ([#&#8203;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 ([#&#8203;905](https://redirect.github.com/agronholm/anyio/pull/905); PR by [@&#8203;agronholm](https://redirect.github.com/agronholm) and [@&#8203;tapetersen](https://redirect.github.com/tapetersen)) - Added the ability to specify the thread name in `start_blocking_portal()` ([#&#8203;818](https://redirect.github.com/agronholm/anyio/issues/818); PR by [@&#8203;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`. ([#&#8203;896](https://redirect.github.com/agronholm/anyio/pull/896); PR by [@&#8203;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. ([#&#8203;913](https://redirect.github.com/agronholm/anyio/pull/913); PR by [@&#8203;Enegg](https://redirect.github.com/Enegg)) - Fixed rollover boundary check in `SpooledTemporaryFile` so that rollover only occurs when the buffer size exceeds `max_size` ([#&#8203;915](https://redirect.github.com/agronholm/anyio/pull/915); PR by [@&#8203;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 ([#&#8203;926](https://redirect.github.com/agronholm/anyio/issues/926); PR by [@&#8203;hroncok](https://redirect.github.com/hroncok)) - Fixed `SyntaxWarning` on Python 3.14 about `return` in `finally` ([#&#8203;816](https://redirect.github.com/agronholm/anyio/issues/816)) - Fixed RunVar name conflicts. RunVar instances with the same name should not share storage ([#&#8203;880](https://redirect.github.com/agronholm/anyio/issues/880); PR by [@&#8203;vimfu](https://redirect.github.com/vimfu)) - Renamed the `BrokenWorkerIntepreter` exception to `BrokenWorkerInterpreter`. The old name is available as a deprecated alias. ([#&#8203;938](https://redirect.github.com/agronholm/anyio/pull/938); PR by [@&#8203;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 ([#&#8203;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 ([#&#8203;344](https://redirect.github.com/agronholm/anyio/issues/344); PR by [@&#8203;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 [@&#8203;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__` ([#&#8203;863](https://redirect.github.com/agronholm/anyio/issues/863); PR by [@&#8203;tapetersen](https://redirect.github.com/tapetersen)) - Fixed `anyio.Path.iterdir()` making a blocking call in Python 3.13 ([#&#8203;873](https://redirect.github.com/agronholm/anyio/issues/873); PR by [@&#8203;cbornet](https://redirect.github.com/cbornet) and [@&#8203;agronholm](https://redirect.github.com/agronholm)) - Fixed `connect_tcp()` producing cyclic references in tracebacks when raising exceptions ([#&#8203;809](https://redirect.github.com/agronholm/anyio/pull/809); PR by [@&#8203;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 [@&#8203;Wankupi](https://redirect.github.com/Wankupi)) ### [`v4.8.0`](https://redirect.github.com/agronholm/anyio/releases/tag/4.8.0) [Compare Source](https://redirect.github.com/agronholm/anyio/compare/4.7.0...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 [@&#8203;agronholm](https://redirect.github.com/agronholm) and [@&#8203;graingert](https://redirect.github.com/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`) ([#&#8203;836](https://redirect.github.com/agronholm/anyio/pull/836); PR by [@&#8203;graingert](https://redirect.github.com/graingert)) - Fixed `AssertionError` when using `nest-asyncio` ([#&#8203;840](https://redirect.github.com/agronholm/anyio/issues/840)) - Fixed return type annotation of various context managers' `__exit__` method ([#&#8203;847](https://redirect.github.com/agronholm/anyio/issues/847); PR by [@&#8203;Enegg](https://redirect.github.com/Enegg)) ### [`v4.7.0`](https://redirect.github.com/agronholm/anyio/releases/tag/4.7.0) [Compare Source](https://redirect.github.com/agronholm/anyio/compare/4.6.2.post1...4.7.0) - Updated `TaskGroup` to work with asyncio's eager task factories ([#&#8203;764](https://redirect.github.com/agronholm/anyio/issues/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 [@&#8203;davidbrochart](https://redirect.github.com/davidbrochart)) - Changed `EventAdapter` (an `Event` with no bound async backend) to allow `set()` to work even before an async backend is bound to it ([#&#8203;819](https://redirect.github.com/agronholm/anyio/issues/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 ([#&#8203;815](https://redirect.github.com/agronholm/anyio/issues/815); PR by [@&#8203;graingert](https://redirect.github.com/graingert)) - Fixed the return type annotations of `readinto()` and `readinto1()` methods in the `anyio.AsyncFile` class ([#&#8203;825](https://redirect.github.com/agronholm/anyio/issues/825)) - Fixed `TaskInfo.has_pending_cancellation()` on asyncio returning false positives in cleanup code on Python >= 3.11 ([#&#8203;832](https://redirect.github.com/agronholm/anyio/issues/832); PR by [@&#8203;gschaffner](https://redirect.github.com/gschaffner)) - Fixed cancelled cancel scopes on asyncio calling `asyncio.Task.uncancel` when propagating a `CancelledError` on exit to a cancelled parent scope ([#&#8203;790](https://redirect.github.com/agronholm/anyio/pull/790); PR by [@&#8203;gschaffner](https://redirect.github.com/gschaffner)) ### [`v4.6.2.post1`](https://redirect.github.com/agronholm/anyio/compare/4.6.2...4.6.2.post1) [Compare Source](https://redirect.github.com/agronholm/anyio/compare/4.6.2...4.6.2.post1) ### [`v4.6.2`](https://redirect.github.com/agronholm/anyio/releases/tag/4.6.2) [Compare Source](https://redirect.github.com/agronholm/anyio/compare/4.6.1...4.6.2) - Fixed regression caused by ([#&#8203;807](https://redirect.github.com/agronholm/anyio/pull/807)) that prevented the use of parametrized async fixtures ### [`v4.6.1`](https://redirect.github.com/agronholm/anyio/releases/tag/4.6.1) [Compare Source](https://redirect.github.com/agronholm/anyio/compare/4.6.0...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 ([#&#8203;806](https://redirect.github.com/agronholm/anyio/pull/806)) (PR by [@&#8203;graingert](https://redirect.github.com/graingert)) ### [`v4.6.0`](https://redirect.github.com/agronholm/anyio/releases/tag/4.6.0) [Compare Source](https://redirect.github.com/agronholm/anyio/compare/4.5.2...4.6.0) - Dropped support for Python 3.8 (as [#&#8203;698](https://redirect.github.com/agronholm/anyio/issues/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 ([#&#8203;695](https://redirect.github.com/agronholm/anyio/issues/695)) - Fixed cancel scopes on asyncio not propagating `CancelledError` on exit when the enclosing cancel scope has been effectively cancelled ([#&#8203;698](https://redirect.github.com/agronholm/anyio/issues/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 ### [`v4.5.2`](https://redirect.github.com/agronholm/anyio/releases/tag/4.5.2) [Compare Source](https://redirect.github.com/agronholm/anyio/compare/4.5.1...4.5.2) - Fixed regression caused by ([#&#8203;807](https://redirect.github.com/agronholm/anyio/pull/807)) that prevented the use of parametrized async fixtures. ### [`v4.5.1`](https://redirect.github.com/agronholm/anyio/releases/tag/4.5.1) [Compare Source](https://redirect.github.com/agronholm/anyio/compare/4.5.0...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` ([#&#8203;798](https://redirect.github.com/agronholm/anyio/issues/798)) - Fixed an async fixture's `self` being different than the test's `self` in class-based tests ([#&#8203;633](https://redirect.github.com/agronholm/anyio/issues/633)) (PR by [@&#8203;agronholm](https://redirect.github.com/agronholm) and [@&#8203;graingert](https://redirect.github.com/graingert)) - Fixed `TypeError` with `TLSStream` on Windows when a certificate verification error occurs when using a [truststore](https://redirect.github.com/sethmlarson/truststore) SSL certificate ([#&#8203;795](https://redirect.github.com/agronholm/anyio/issues/795)) - Corrected documentation on `anyio.Path` regarding the limitations imposed by the current Python version on several of its methods, and made the `is_junction` method unavailable on Python versions earlier than 3.12 ([#&#8203;794](https://redirect.github.com/agronholm/anyio/issues/794)) ### [`v4.5.0`](https://redirect.github.com/agronholm/anyio/releases/tag/4.5.0) [Compare Source](https://redirect.github.com/agronholm/anyio/compare/4.4.0...4.5.0) - Improved the performance of `anyio.Lock` and `anyio.Semaphore` on asyncio (even up to 50 %) - Added the `fast_acquire` parameter to `anyio.Lock` and `anyio.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 in `anyio.Path`, newly added in Python 3.13 ([#&#8203;737](https://redirect.github.com/agronholm/anyio/issues/737)) - Added support for more keyword arguments for `run_process()` and `open_process()`: `startupinfo`, `creationflags`, `pass_fds`, `user`, `group`, `extra_groups` and `umask` ([#&#8203;742](https://redirect.github.com/agronholm/anyio/issues/742)) - Improved the type annotations and support for `PathLike` in `run_process()` and `open_process()` to allow for path-like arguments, just like `subprocess.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__()` of `MemoryObjectItemReceiver`, when `item` is not defined ([#&#8203;767](https://redirect.github.com/agronholm/anyio/pull/767); PR by [@&#8203;Danipulok](https://redirect.github.com/Danipulok)) - Fixed `to_process.run_sync()` failing to initialize if `__main__.__file__` pointed to a file in a nonexistent directory ([#&#8203;696](https://redirect.github.com/agronholm/anyio/issues/696)) - Fixed `AssertionError: feed_data after feed_eof` on asyncio when a subprocess is closed early, before its output has been read ([#&#8203;490](https://redirect.github.com/agronholm/anyio/issues/490)) - Fixed `TaskInfo.has_pending_cancellation()` on asyncio not respecting shielded scopes ([#&#8203;771](https://redirect.github.com/agronholm/anyio/issues/771); PR by [@&#8203;gschaffner](https://redirect.github.com/gschaffner)) - Fixed `SocketStream.receive()` returning `bytearray` instead of `bytes` when using asyncio with `ProactorEventLoop` (Windows) ([#&#8203;776](https://redirect.github.com/agronholm/anyio/issues/776)) - Fixed quitting the debugger in a pytest test session while in an active task group failing the test instead of exiting the test session (because the exit exception arrives in an exception group) - Fixed support for Linux abstract namespaces in UNIX sockets that was broken in v4.2 ([#&#8203;781](https://redirect.github.com/agronholm/anyio/issues/781); PR by [@&#8203;tapetersen](https://redirect.github.com/tapetersen)) - Fixed `KeyboardInterrupt` (ctrl+c) hanging the asyncio pytest runner ### [`v4.4.0`](https://redirect.github.com/agronholm/anyio/releases/tag/4.4.0) [Compare Source](https://redirect.github.com/agronholm/anyio/compare/4.3.0...4.4.0) - Added the `BlockingPortalProvider` class to aid with constructing synchronous counterparts to asynchronous interfaces that would otherwise require multiple blocking portals - Added `__slots__` to `AsyncResource` so that child classes can use `__slots__` ([#&#8203;733](https://redirect.github.com/agronholm/anyio/pull/733); PR by Justin Su) - Added the `TaskInfo.has_pending_cancellation()` method - Fixed erroneous `RuntimeError: called 'started' twice on the same task status` when cancelling a task in a TaskGroup created with the `start()` method before the first checkpoint is reached after calling `task_status.started()` ([#&#8203;706](https://redirect.github.com/agronholm/anyio/issues/706); PR by Dominik Schwabe) - Fixed two bugs with `TaskGroup.start()` on asyncio: - Fixed erroneous `RuntimeError: called 'started' twice on the same task status` when cancelling a task in a TaskGroup created with the `start()` method before the first checkpoint is reached after calling `task_status.started()` ([#&#8203;706](https://redirect.github.com/agronholm/anyio/issues/706); PR by Dominik Schwabe) - Fixed the entire task group being cancelled if a `TaskGroup.start()` call gets cancelled ([#&#8203;685](https://redirect.github.com/agronholm/anyio/issues/685), [#&#8203;710](https://redirect.github.com/agronholm/anyio/issues/710)) - Fixed a race condition that caused crashes when multiple event loops of the same backend were running in separate threads and simultaneously attempted to use AnyIO for their first time ([#&#8203;425](https://redirect.github.com/agronholm/anyio/issues/425); PR by David Jiricek and Ganden Schaffner) - Fixed cancellation delivery on asyncio incrementing the wrong cancel scope's cancellation counter when cascading a cancel operation to a child scope, thus failing to uncancel the host task ([#&#8203;716](https://redirect.github.com/agronholm/anyio/issues/716)) - Fixed erroneous `TypedAttributeLookupError` if a typed attribute getter raises `KeyError` - Fixed the asyncio backend not respecting the `PYTHONASYNCIODEBUG` environment variable when setting the `debug` flag in `anyio.run()` - Fixed `SocketStream.receive()` not detecting EOF on asyncio if there is also data in the read buffer ([#&#8203;701](https://redirect.github.com/agronholm/anyio/issues/701)) - Fixed `MemoryObjectStream` dropping an item if the item is delivered to a recipient that is waiting to receive an item but has a cancellation pending ([#&#8203;728](https://redirect.github.com/agronholm/anyio/issues/728)) - Emit a `ResourceWarning` for `MemoryObjectReceiveStream` and `MemoryObjectSendStream` that were garbage collected without being closed (PR by Andrey Kazantcev) - Fixed `MemoryObjectSendStream.send()` not raising `BrokenResourceError` when the last corresponding `MemoryObjectReceiveStream` is closed while waiting to send a falsey item ([#&#8203;731](https://redirect.github.com/agronholm/anyio/issues/731); PR by Ganden Schaffner) </details> --- ### Configuration πŸ“… **Schedule**: (in timezone Etc/UTC) - Branch creation - "every weekend" - 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/rockcraft). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDkuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIwOS4wIiwidGFyZ2V0QnJhbmNoIjoiaG90Zml4LzEuNSIsImxhYmVscyI6WyJQUjogRGVwZW5kZW5jaWVzIl19-->

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha β€” closed stale 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.
stealth/space-bunny-alpha β€” closed stale Renovate’s anyio 4.3.0β†’4.13.0 update for hotfix/1.5 was closed unmerged after multiple CI failures and no reviewer activity.
qwen/qwen3.6-35b-a3b β€” β€” Closed without merging. Failing CI checks and lack of reviewer activity resulted in the anyio v4.13.0 dependency update being abandoned.
qwen3.6-35b-a3b-mtp-q6 β€” β€” Automated dependency update bumping anyio to v4.13.0 on the hotfix/1.5 branch was closed.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#1352 build(deps): update dependency anyio to v4.11.0 (main) craft-parts closed Closed unmerged; Renovate's AnyIO 4.11.0 update was ignored after closure, with no resolving merge or commit.
86%