Anyio

Latest version: v4.7.0

Safety actively analyzes 688087 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

4.7.0

- Updated `TaskGroup` to work with asyncio's eager task factories ([\764](https://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 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](https://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 ([\815](https://github.com/agronholm/anyio/issues/815); PR by graingert)
- Fixed the return type annotations of `readinto()` and `readinto1()` methods in the `anyio.AsyncFile` class ([\825](https://github.com/agronholm/anyio/issues/825))
- Fixed `TaskInfo.has_pending_cancellation()` on asyncio returning false positives in cleanup code on Python \>= 3.11 ([\832](https://github.com/agronholm/anyio/issues/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](https://github.com/agronholm/anyio/pull/790); PR by gschaffner)

4.6.2

- Fixed regression caused by ([\807](https://github.com/agronholm/anyio/pull/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](https://github.com/agronholm/anyio/pull/806)) (PR by graingert)

4.6.0

- Dropped support for Python 3.8 (as [\698](https://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 ([\695](https://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 ([\698](https://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

4.5.2

- Fixed regression caused by ([\807](https://github.com/agronholm/anyio/pull/807)) that prevented the use of parametrized async fixtures.

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` ([\798](https://github.com/agronholm/anyio/issues/798))
- Fixed an async fixture's `self` being different than the test's `self` in class-based tests ([\633](https://github.com/agronholm/anyio/issues/633)) (PR by agronholm and graingert)
- Fixed `TypeError` with `TLSStream` on Windows when a certificate verification error occurs when using a [truststore](https://github.com/sethmlarson/truststore) SSL certificate ([\#795](https://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 ([\794](https://github.com/agronholm/anyio/issues/794))

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.