Skip to content

Commit 01a37c6

Browse files
agronholmpre-commit-ci[bot]gschaffner
authored
Fixed TaskGroup and CancelScope exit issues on asyncio (#774)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Ganden Schaffner <[email protected]>
1 parent 7f35ce7 commit 01a37c6

22 files changed

+427
-209
lines changed

.github/workflows/test.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -61,14 +61,14 @@ jobs:
6161
fail-fast: false
6262
matrix:
6363
os: [ubuntu-latest]
64-
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", pypy-3.10]
64+
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", pypy-3.10]
6565
include:
6666
- os: macos-latest
67-
python-version: "3.8"
67+
python-version: "3.9"
6868
- os: macos-latest
6969
python-version: "3.12"
7070
- os: windows-latest
71-
python-version: "3.8"
71+
python-version: "3.9"
7272
- os: windows-latest
7373
python-version: "3.12"
7474
runs-on: ${{ matrix.os }}

docs/versionhistory.rst

+16
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,22 @@ Version history
33

44
This library adheres to `Semantic Versioning 2.0 <http://semver.org/>`_.
55

6+
**UNRELEASED**
7+
8+
- Dropped support for Python 3.8
9+
(as `#698 <https://github.com/agronholm/anyio/issues/698>`_ cannot be resolved
10+
without cancel message support)
11+
- Fixed 100% CPU use on asyncio while waiting for an exiting task group to finish while
12+
said task group is within a cancelled cancel scope
13+
(`#695 <https://github.com/agronholm/anyio/issues/695>`_)
14+
- Fixed cancel scopes on asyncio not reraising ``CancelledError`` on exit while the
15+
enclosing cancel scope has been effectively cancelled
16+
(`#698 <https://github.com/agronholm/anyio/issues/698>`_)
17+
- Fixed asyncio task groups not yielding control to the event loop at exit if there were
18+
no child tasks to wait on
19+
- Fixed inconsistent task uncancellation with asyncio cancel scopes belonging to a
20+
task group when said task group has child tasks running
21+
622
**4.5.0**
723

824
- Improved the performance of ``anyio.Lock`` and ``anyio.Semaphore`` on asyncio (even up

pyproject.toml

+2-3
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,13 @@ classifiers = [
1919
"Typing :: Typed",
2020
"Programming Language :: Python",
2121
"Programming Language :: Python :: 3",
22-
"Programming Language :: Python :: 3.8",
2322
"Programming Language :: Python :: 3.9",
2423
"Programming Language :: Python :: 3.10",
2524
"Programming Language :: Python :: 3.11",
2625
"Programming Language :: Python :: 3.12",
2726
"Programming Language :: Python :: 3.13",
2827
]
29-
requires-python = ">= 3.8"
28+
requires-python = ">= 3.9"
3029
dependencies = [
3130
"exceptiongroup >= 1.0.2; python_version < '3.11'",
3231
"idna >= 2.8",
@@ -128,7 +127,7 @@ show_missing = true
128127
[tool.tox]
129128
legacy_tox_ini = """
130129
[tox]
131-
envlist = pre-commit, py38, py39, py310, py311, py312, py313, pypy3
130+
envlist = pre-commit, py39, py310, py311, py312, py313, pypy3
132131
skip_missing_interpreters = true
133132
minversion = 4.0.0
134133

0 commit comments

Comments
 (0)