From 940480842baa3fb2dd6833cd879d5798be7750d2 Mon Sep 17 00:00:00 2001
From: "J. Nick Koston"
Date: Tue, 10 Jun 2025 00:27:00 -0500
Subject: [PATCH 01/18] Increment version to 3.12.13.dev0 (#11184)
---
aiohttp/__init__.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/aiohttp/__init__.py b/aiohttp/__init__.py
index cf39af0d8eb..76d46504b81 100644
--- a/aiohttp/__init__.py
+++ b/aiohttp/__init__.py
@@ -1,4 +1,4 @@
-__version__ = "3.12.12"
+__version__ = "3.12.13.dev0"
from typing import TYPE_CHECKING, Tuple
From 3881f6f9ddc46ed269c613f0a08ef352a5adb7b1 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 12 Jun 2025 10:54:41 +0000
Subject: [PATCH 02/18] Bump coverage from 7.8.2 to 7.9.0 (#11186)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.8.2 to
7.9.0.
Changelog
Sourced from coverage's
changelog.
Version 7.9.0 โ 2025-06-11
-
Added a [run] core configuration setting to specify the
measurement core,
which was previously only available through the COVERAGE_CORE
environment
variable. Finishes issue 1746_.
-
Fixed incorrect rendering of f-strings with doubled braces, closing
issue 1980_.
-
If the C tracer core can't be imported, a warning
("no-ctracer") is issued
with the reason.
-
The C tracer core extension module now conforms to PEP
489, closing issue 1977. Thanks, Adam
Turner <pull 1978_>_.
-
Fixed a "ValueError: min() arg is an empty sequence" error
caused by strange
empty modules, found by oss-fuzz_.
.. _issue 1746: nedbat/coveragepy#1746
.. _issue 1977: nedbat/coveragepy#1977
.. _pull 1978: nedbat/coveragepy#1978
.. _issue 1980: nedbat/coveragepy#1980
.. _PEP 489: https://peps.python.org/pep-0489
.. _oss-fuzz: https://google.github.io/oss-fuzz/
.. _changes_7-8-2:
Commits
452d86f
docs: sample HTML for 7.9.0
a670927
docs: prep for 7.9.0
3b0cb87
build: windows 3.14 is fixed
bc8602d
fix: issue a warning if the C tracer can't be imported
d81a5f8
fix: prevent ValueError for bizarre empty modules
9f94c87
fix: properly render double braces in f-strings. #1980
1958c3f
refactor: no need for a version check since we run mypy on late python
now
8891312
docs: updated cog checksums
3ae5add
chore: make upgrade (cog 3.5.0)
52407da
refactor: mypy==1.16.0 had some complaints
- Additional commits viewable in compare
view
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
requirements/constraints.txt | 2 +-
requirements/dev.txt | 2 +-
requirements/test.txt | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/requirements/constraints.txt b/requirements/constraints.txt
index f50a18b2d27..0af26689c7c 100644
--- a/requirements/constraints.txt
+++ b/requirements/constraints.txt
@@ -54,7 +54,7 @@ click==8.1.8
# slotscheck
# towncrier
# wait-for-it
-coverage==7.8.2
+coverage==7.9.0
# via
# -r requirements/test.in
# pytest-cov
diff --git a/requirements/dev.txt b/requirements/dev.txt
index 86f549d4633..da7006aed3d 100644
--- a/requirements/dev.txt
+++ b/requirements/dev.txt
@@ -54,7 +54,7 @@ click==8.1.8
# slotscheck
# towncrier
# wait-for-it
-coverage==7.8.2
+coverage==7.9.0
# via
# -r requirements/test.in
# pytest-cov
diff --git a/requirements/test.txt b/requirements/test.txt
index 8ea5ece9c8b..25c2b066211 100644
--- a/requirements/test.txt
+++ b/requirements/test.txt
@@ -27,7 +27,7 @@ cffi==1.17.1
# pytest-codspeed
click==8.1.8
# via wait-for-it
-coverage==7.8.2
+coverage==7.9.0
# via
# -r requirements/test.in
# pytest-cov
From 269f6e21bf1ded51ecfe9822b227a7a399a31d4f Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 12 Jun 2025 11:30:18 +0000
Subject: [PATCH 03/18] Bump pypa/cibuildwheel from 2.23.3 to 3.0.0 (#11191)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from
2.23.3 to 3.0.0.
Release notes
Sourced from pypa/cibuildwheel's
releases.
v3.0.0
See @โhenryiii's release post
for more info on new features!
-
๐ Adds the ability to build
wheels for iOS! Set the platform
option to ios on a Mac with the iOS toolchain to try it
out! (#2286,
#2363,
#2432)
-
๐ Adds support for the GraalPy interpreter! Enable for your project
using the enable
option. (#1538,
#2411,
#2414)
-
โจ Adds CPython 3.14 support, under the enable
option cpython-prerelease. This version of cibuildwheel
uses 3.14.0b2. (#2390)
While CPython is in beta, the ABI can change, so your wheels
might not be compatible with the final release. For this reason, we
don't recommend distributing wheels until RC1, at which point 3.14 will
be available in cibuildwheel without the flag. (#2390)
-
โจ Adds the test-sources
option, and changes the working directory for tests. (#2062,
#2284,
#2437)
- If this option is set, cibuildwheel will copy the files and folders
specified in
test-sources into the temporary directory we
run from. This is required for iOS builds, but also useful for other
platforms, as it allows you to avoid placeholders.
- If this option is not set, behaviour matches v2.x - cibuildwheel
will run the tests from a temporary directory, and you can use the
{project} placeholder in the test-command to
refer to the project directory. (#2420)
-
โจ Adds dependency-versions
inline syntax (#2122)
-
โจ Improves support for Pyodide builds and adds the experimental pyodide-version
option, which allows you to specify the version of Pyodide to use for
builds. (#2002)
-
โจ Add pyodide-prerelease enable
option, with an early build of 0.28 (Python 3.13). (#2431)
-
โจ Adds the test-environment
option, which allows you to set environment variables for the test
command. (#2388)
-
โจ Adds the xbuild-tools
option, which allows you to specify tools safe for cross-compilation.
Currently only used on iOS; will be useful for Android in the future.
(#2317)
-
๐ The default manylinux
image has changed from manylinux2014 to
manylinux_2_28. (#2330)
-
๐ EOL images manylinux1, manylinux2010,
manylinux_2_24 and musllinux_1_1 can no longer
be specified by their shortname. The full OCI name can still be used for
these images, if you wish. (#2316)
-
๐ Invokes build rather than pip wheel to
build wheels by default. You can control this via the build-frontend
option. You might notice that you can see your build log output now! (#2321)
-
๐ Build verbosity settings have been reworked to have consistent
meanings between build backends when non-zero. (#2339)
-
๐ Removed the CIBW_PRERELEASE_PYTHONS and
CIBW_FREE_THREADED_SUPPORT options - these have been folded
into the enable
option instead. (#2095)
-
๐ Build environments no longer have setuptools and wheel
preinstalled. (#2329)
-
๐ Use the standard Schema line for the integrated JSONSchema. (#2433)
-
โ ๏ธ Dropped support for building Python 3.6 and 3.7 wheels. If you
need to build wheels for these versions, use cibuildwheel v2.23.3 or
earlier. (#2282)
-
โ ๏ธ The minimum Python version required to run cibuildwheel is now
Python 3.11. You can still build wheels for Python 3.8 and newer. (#1912)
-
โ ๏ธ 32-bit Linux wheels no longer built by default - the arch
was removed from "auto". It now requires explicit
"auto32". Note that modern manylinux images (like
the new default, manylinux_2_28) do not have 32-bit
versions. (#2458)
-
โ ๏ธ PyPy wheels no longer built by default, due to a change to our
options system. To continue building PyPy wheels, you'll now need to set
the enable
option to pypy or pypy-eol. (#2095)
-
โ ๏ธ Dropped official support for Appveyor. If it was working for you
before, it will probably continue to do so, but we can't be sure,
because our CI doesn't run there anymore. (#2386)
-
๐ A reorganisation of the docs, and numerous updates. (#2280)
-
๐ Use Python 3.14 color output in docs CLI output. (#2407)
-
๐ Docs now primarily use the pyproject.toml name of options, rather
than the environment variable name. (#2389)
-
๐ README table now matches docs and auto-updates. (#2427,
#2428)
v3.0.0rc3
Not yet released, but available for testing.
Note - when using a beta version, be sure to check the latest docs, rather
than the stable version, which is still on v2.X.
If you've used previous versions of the beta:
- โ ๏ธ Previous betas of v3.0 changed the working directory for tests.
This has been rolled back to the v2.x behaviour, so you might need to
change configs if you adapted to the beta 1 or 2 behaviour. See [issue
#2406](pypa/cibuildwheel#2406)
for more information.
- โ ๏ธ GraalPy shipped with the identifier
gp242-* in
previous betas, this has been changed to gp311_242-* to be
consistent with other interpreters, and to fix a bug with GraalPy and
project requires-python detection. If you were using GraalPy, you might
need to update your config to use the new identifier.
- โ ๏ธ
test-sources now uses project directory
instead of the package directory (matching the docs).
- โ ๏ธ 32-bit linux builds were removed from
"auto" (the default), now require
"auto32" or explicit archs, as modern manylinux
images (including our new default) do not support them.
... (truncated)
Changelog
Sourced from pypa/cibuildwheel's
changelog.
v3.0.0
11 June 2025
See @โhenryiii's release post
for more info on new features!
-
๐ Adds the ability to build
wheels for iOS! Set the platform
option to ios on a Mac with the iOS toolchain to try it
out! (#2286,
#2363,
#2432)
-
๐ Adds support for the GraalPy interpreter! Enable for your project
using the enable
option. (#1538,
#2411,
#2414)
-
โจ Adds CPython 3.14 support, under the enable
option cpython-prerelease. This version of cibuildwheel
uses 3.14.0b2. (#2390)
While CPython is in beta, the ABI can change, so your wheels
might not be compatible with the final release. For this reason, we
don't recommend distributing wheels until RC1, at which point 3.14 will
be available in cibuildwheel without the flag. (#2390)
-
โจ Adds the test-sources
option, and changes the working directory for tests. (#2062,
#2284,
#2437)
- If this option is set, cibuildwheel will copy the files and folders
specified in
test-sources into the temporary directory we
run from. This is required for iOS builds, but also useful for other
platforms, as it allows you to avoid placeholders.
- If this option is not set, behaviour matches v2.x - cibuildwheel
will run the tests from a temporary directory, and you can use the
{project} placeholder in the test-command to
refer to the project directory. (#2420)
-
โจ Adds dependency-versions
inline syntax (#2122)
-
โจ Improves support for Pyodide builds and adds the experimental pyodide-version
option, which allows you to specify the version of Pyodide to use for
builds. (#2002)
-
โจ Add pyodide-prerelease enable
option, with an early build of 0.28 (Python 3.13). (#2431)
-
โจ Adds the test-environment
option, which allows you to set environment variables for the test
command. (#2388)
-
โจ Adds the xbuild-tools
option, which allows you to specify tools safe for cross-compilation.
Currently only used on iOS; will be useful for Android in the future.
(#2317)
-
๐ The default manylinux
image has changed from manylinux2014 to
manylinux_2_28. (#2330)
-
๐ EOL images manylinux1, manylinux2010,
manylinux_2_24 and musllinux_1_1 can no longer
be specified by their shortname. The full OCI name can still be used for
these images, if you wish. (#2316)
-
๐ Invokes build rather than pip wheel to
build wheels by default. You can control this via the build-frontend
option. You might notice that you can see your build log output now! (#2321)
-
๐ Build verbosity settings have been reworked to have consistent
meanings between build backends when non-zero. (#2339)
-
๐ Removed the CIBW_PRERELEASE_PYTHONS and
CIBW_FREE_THREADED_SUPPORT options - these have been folded
into the enable
option instead. (#2095)
-
๐ Build environments no longer have setuptools and wheel
preinstalled. (#2329)
-
๐ Use the standard Schema line for the integrated JSONSchema. (#2433)
-
โ ๏ธ Dropped support for building Python 3.6 and 3.7 wheels. If you
need to build wheels for these versions, use cibuildwheel v2.23.3 or
earlier. (#2282)
-
โ ๏ธ The minimum Python version required to run cibuildwheel is now
Python 3.11. You can still build wheels for Python 3.8 and newer. (#1912)
-
โ ๏ธ 32-bit Linux wheels no longer built by default - the arch
was removed from "auto". It now requires explicit
"auto32". Note that modern manylinux images (like
the new default, manylinux_2_28) do not have 32-bit
versions. (#2458)
-
โ ๏ธ PyPy wheels no longer built by default, due to a change to our
options system. To continue building PyPy wheels, you'll now need to set
the enable
option to pypy or pypy-eol. (#2095)
-
โ ๏ธ Dropped official support for Appveyor. If it was working for you
before, it will probably continue to do so, but we can't be sure,
because our CI doesn't run there anymore. (#2386)
-
๐ A reorganisation of the docs, and numerous updates. (#2280)
-
๐ Use Python 3.14 color output in docs CLI output. (#2407)
-
๐ Docs now primarily use the pyproject.toml name of options, rather
than the environment variable name. (#2389)
-
๐ README table now matches docs and auto-updates. (#2427,
#2428)
Commits
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/ci-cd.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml
index 1cae0bd57fe..c71f9caed3b 100644
--- a/.github/workflows/ci-cd.yml
+++ b/.github/workflows/ci-cd.yml
@@ -414,7 +414,7 @@ jobs:
run: |
make cythonize
- name: Build wheels
- uses: pypa/cibuildwheel@v2.23.3
+ uses: pypa/cibuildwheel@v3.0.0
env:
CIBW_SKIP: pp* ${{ matrix.musl == 'musllinux' && '*manylinux*' || '*musllinux*' }}
CIBW_ARCHS_MACOS: x86_64 arm64 universal2
From e8a7d4d33e31f5a93c7c601e15908776420f3a78 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 12 Jun 2025 11:30:30 +0000
Subject: [PATCH 04/18] Bump pytest-cov from 6.1.1 to 6.2.0 (#11188)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bumps [pytest-cov](https://github.com/pytest-dev/pytest-cov) from 6.1.1
to 6.2.0.
Changelog
Sourced from pytest-cov's
changelog.
6.2.0 (2025-06-11)
-
The plugin now adds 3 rules in the filter warnings configuration to
prevent common coverage warnings being raised as obscure errors::
default:unclosed database in <sqlite3.Connection object
at:ResourceWarning
once::PytestCovWarning
once::CoverageWarning
This fixes most of the bad interactions that are occurring on pytest
8.4 with filterwarnings=error.
The plugin will check if there already matching rules for the 3
categories
(ResourceWarning, PytestCovWarning,
CoverageWarning) and message (unclosed database in
<sqlite3.Connection object at) before adding the filters.
This means you can have this in your pytest configuration for
complete oblivion (not recommended, if that is not clear)::
filterwarnings = [
"error",
"ignore:unclosed database in <sqlite3.Connection object
at:ResourceWarning",
"ignore::PytestCovWarning",
"ignore::CoverageWarning",
]
Commits
dca5723
Bump version: 6.1.1 โ 6.2.0
f69166a
Also trigger the sqlite warning.
9dabad3
Do not mess with the warnings if the plugin is disabled. Also, upgrade
to new...
222e991
Do some checks before adding the filters to allow users to silence these
warn...
ddc162b
Update changelog.
22cc4e7
Bump.
5f6d020
Add some basic warnings configuration overrides for the common
offenders. Sho...
d2a2557
Add latest xdist.
cc06ea3
Make this pass for now.
b221fb1
Add reproducer for #693.
- Additional commits viewable in compare
view
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
requirements/constraints.txt | 6 ++++--
requirements/dev.txt | 6 ++++--
requirements/test.txt | 6 ++++--
3 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/requirements/constraints.txt b/requirements/constraints.txt
index 0af26689c7c..dcaa8004863 100644
--- a/requirements/constraints.txt
+++ b/requirements/constraints.txt
@@ -143,7 +143,9 @@ pkgconfig==1.5.5
platformdirs==4.3.8
# via virtualenv
pluggy==1.6.0
- # via pytest
+ # via
+ # pytest
+ # pytest-cov
pre-commit==4.2.0
# via -r requirements/lint.in
propcache==0.3.2
@@ -186,7 +188,7 @@ pytest-codspeed==3.2.0
# via
# -r requirements/lint.in
# -r requirements/test.in
-pytest-cov==6.1.1
+pytest-cov==6.2.1
# via -r requirements/test.in
pytest-mock==3.14.1
# via
diff --git a/requirements/dev.txt b/requirements/dev.txt
index da7006aed3d..1e4f9376998 100644
--- a/requirements/dev.txt
+++ b/requirements/dev.txt
@@ -140,7 +140,9 @@ pkgconfig==1.5.5
platformdirs==4.3.8
# via virtualenv
pluggy==1.6.0
- # via pytest
+ # via
+ # pytest
+ # pytest-cov
pre-commit==4.2.0
# via -r requirements/lint.in
propcache==0.3.2
@@ -181,7 +183,7 @@ pytest-codspeed==3.2.0
# via
# -r requirements/lint.in
# -r requirements/test.in
-pytest-cov==6.1.1
+pytest-cov==6.2.1
# via -r requirements/test.in
pytest-mock==3.14.1
# via
diff --git a/requirements/test.txt b/requirements/test.txt
index 25c2b066211..fb240aa581c 100644
--- a/requirements/test.txt
+++ b/requirements/test.txt
@@ -76,7 +76,9 @@ pathspec==0.12.1
pkgconfig==1.5.5
# via -r requirements/test.in
pluggy==1.6.0
- # via pytest
+ # via
+ # pytest
+ # pytest-cov
propcache==0.3.2
# via
# -r requirements/runtime-deps.in
@@ -102,7 +104,7 @@ pytest==8.3.5
# pytest-xdist
pytest-codspeed==3.2.0
# via -r requirements/test.in
-pytest-cov==6.1.1
+pytest-cov==6.2.1
# via -r requirements/test.in
pytest-mock==3.14.1
# via -r requirements/test.in
From 739808857d47ec897b568845768d13a9922c2cac Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 12 Jun 2025 11:45:22 +0000
Subject: [PATCH 05/18] Bump pytest from 8.3.5 to 8.4.0 (#11124)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.3.5 to
8.4.0.
Release notes
Sourced from pytest's
releases.
8.4.0
pytest 8.4.0 (2025-06-02)
Removals and backward incompatible breaking changes
-
#11372:
Async tests will now fail, instead of warning+skipping, if you don't
have any suitable plugin installed.
-
#12346:
Tests will now fail, instead of raising a warning, if they return any
value other than None.
-
#12874:
We dropped support for Python 3.8 following its end of life
(2024-10-07).
-
#12960:
Test functions containing a yield now cause an explicit error. They have
not been run since pytest 4.0, and were previously marked as an expected
failure and deprecation warning.
See the docs <yield tests
deprecated>{.interpreted-text role="ref"} for more
information.
Deprecations (removal in next major release)
- #10839:
Requesting an asynchronous fixture without a
[pytest_fixture_setup]{.title-ref} hook that resolves it will now give a
DeprecationWarning. This most commonly happens if a sync test requests
an async fixture. This should have no effect on a majority of users with
async tests or fixtures using async pytest plugins, but may affect
non-standard hook setups or
autouse=True. For guidance on
how to work around this warning see
sync-test-async-fixture{.interpreted-text
role="ref"}.
New features
-
#11538:
Added pytest.RaisesGroup{.interpreted-text
role="class"} as an equivalent to
pytest.raises{.interpreted-text role="func"} for
expecting ExceptionGroup{.interpreted-text
role="exc"}. Also adds
pytest.RaisesExc{.interpreted-text role="class"}
which is now the logic behind
pytest.raises{.interpreted-text role="func"} and
used as parameter to pytest.RaisesGroup{.interpreted-text
role="class"}. RaisesGroup includes the ability
to specify multiple different expected exceptions, the structure of
nested exception groups, and flags for emulating except*
<except_star>{.interpreted-text role="ref"}. See
assert-matching-exception-groups{.interpreted-text
role="ref"} and docstrings for more information.
-
#12081:
Added capteesys{.interpreted-text role="fixture"}
to capture AND pass output to next handler set by
--capture=.
-
#12504:
pytest.mark.xfail{.interpreted-text role="func"}
now accepts pytest.RaisesGroup{.interpreted-text
role="class"} for the raises parameter when you
expect an exception group. You can also pass a
pytest.RaisesExc{.interpreted-text role="class"}
if you e.g. want to make use of the check parameter.
-
#12713:
New [--force-short-summary]{.title-ref} option to force condensed
summary output regardless of verbosity level.
This lets users still see condensed summary output of failures for
quick reference in log files from job outputs, being especially useful
if non-condensed output is very verbose.
-
#12749:
pytest traditionally collects classes/functions in the test module
namespace even if they are imported from another file.
For example:
# contents of src/domain.py
class Testament: ...
contents of tests/test_testament.py
from domain import Testament
def test_testament(): ...
In this scenario with the default options, pytest will collect the
class [Testament]{.title-ref} from [tests/test_testament.py]{.title-ref}
because it starts with [Test]{.title-ref}, even though in this case it
is a production class being imported in the test module namespace.
This behavior can now be prevented by setting the new
collect_imported_tests{.interpreted-text
role="confval"} configuration option to false,
which will make pytest collect classes/functions from test files
only if they are defined in that file.
... (truncated)
Commits
315b3ae
Prepare release version 8.4.0
1498ba3
Merge pull request #13467
from pytest-dev/towncrier-create
e4389ac
Remove resultlog from the docs (#13465)
64b2301
scripts/release: add missing build to
towncrier call
4c205cf
testing/plugins_integration: update Django (#13463)
4dcbcc9
Merge pull request #13458
from pytest-dev/dup-param-error
5293016
Merge pull request #13459
from pytest-dev/pyright-minor-fixes
7a48181
Add pyright configuration
9fc6db9
pytester: avoid confusing x self parameter
9aa198b
mark/expression: fix self -> cls
- Additional commits viewable in compare
view
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
requirements/constraints.txt | 3 ++-
requirements/dev.txt | 3 ++-
requirements/lint.txt | 6 ++++--
requirements/test.txt | 6 ++++--
4 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/requirements/constraints.txt b/requirements/constraints.txt
index dcaa8004863..477208716d4 100644
--- a/requirements/constraints.txt
+++ b/requirements/constraints.txt
@@ -166,6 +166,7 @@ pyenchant==3.2.2
# via sphinxcontrib-spelling
pygments==2.19.1
# via
+ # pytest
# rich
# sphinx
pyjwt==2.9.0
@@ -176,7 +177,7 @@ pyproject-hooks==1.2.0
# via
# build
# pip-tools
-pytest==8.3.5
+pytest==8.4.0
# via
# -r requirements/lint.in
# -r requirements/test.in
diff --git a/requirements/dev.txt b/requirements/dev.txt
index 1e4f9376998..d3373a9f65f 100644
--- a/requirements/dev.txt
+++ b/requirements/dev.txt
@@ -161,6 +161,7 @@ pydantic-core==2.33.2
# via pydantic
pygments==2.19.1
# via
+ # pytest
# rich
# sphinx
pyjwt==2.8.0
@@ -171,7 +172,7 @@ pyproject-hooks==1.2.0
# via
# build
# pip-tools
-pytest==8.3.5
+pytest==8.4.0
# via
# -r requirements/lint.in
# -r requirements/test.in
diff --git a/requirements/lint.txt b/requirements/lint.txt
index 870a1b2a1e4..dcb9c3b9dbe 100644
--- a/requirements/lint.txt
+++ b/requirements/lint.txt
@@ -70,8 +70,10 @@ pydantic==2.11.5
pydantic-core==2.33.2
# via pydantic
pygments==2.19.1
- # via rich
-pytest==8.3.5
+ # via
+ # pytest
+ # rich
+pytest==8.4.0
# via
# -r requirements/lint.in
# pytest-codspeed
diff --git a/requirements/test.txt b/requirements/test.txt
index fb240aa581c..ccf0dc33b43 100644
--- a/requirements/test.txt
+++ b/requirements/test.txt
@@ -94,8 +94,10 @@ pydantic==2.11.5
pydantic-core==2.33.2
# via pydantic
pygments==2.19.1
- # via rich
-pytest==8.3.5
+ # via
+ # pytest
+ # rich
+pytest==8.4.0
# via
# -r requirements/test.in
# pytest-codspeed
From 137b863c67bf8de27dafcfba3d8f4157e26df514 Mon Sep 17 00:00:00 2001
From: "patchback[bot]" <45432694+patchback[bot]@users.noreply.github.com>
Date: Thu, 12 Jun 2025 20:35:09 +0000
Subject: [PATCH 06/18] [PR #11193/43ea3b1d backport][3.13] Pin CI Python
version to 3.13.3 (#11195)
Co-authored-by: J. Nick Koston
---
.github/workflows/ci-cd.yml | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml
index c71f9caed3b..c76fbf3df7a 100644
--- a/.github/workflows/ci-cd.yml
+++ b/.github/workflows/ci-cd.yml
@@ -122,7 +122,11 @@ jobs:
needs: gen_llhttp
strategy:
matrix:
- pyver: [3.9, '3.10', '3.11', '3.12', '3.13']
+ # Note that 3.13.4 is broken on Windows which
+ # is why 3.13.5 was rushed out. When 3.13.5 is fully
+ # available, we can remove 3.13.4 from the matrix
+ # and switch it back to 3.13
+ pyver: [3.9, '3.10', '3.11', '3.12', '3.13.3']
no-extensions: ['', 'Y']
os: [ubuntu, macos, windows]
experimental: [false]
From e7dafa1e31e1c0d8ab672f2ce5278de17dfe4713 Mon Sep 17 00:00:00 2001
From: "patchback[bot]" <45432694+patchback[bot]@users.noreply.github.com>
Date: Thu, 12 Jun 2025 16:07:46 -0500
Subject: [PATCH 07/18] [PR #11192/b888dc5c backport][3.13] Add warning to
release notes about the quote_cookie fix (#11197)
Co-authored-by: J. Nick Koston
---
CHANGES.rst | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/CHANGES.rst b/CHANGES.rst
index c554d11ecab..713ded10177 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -153,6 +153,14 @@ Features
3.12.7 (2025-06-02)
===================
+.. warning::
+
+ This release fixes an issue where the ``quote_cookie`` parameter was not being properly
+ respected for shared cookies (domain="", path=""). If your server does not handle quoted
+ cookies correctly, you may need to disable cookie quoting by setting ``quote_cookie=False``
+ when creating your :class:`~aiohttp.ClientSession` or :class:`~aiohttp.CookieJar`.
+ See :ref:`aiohttp-client-cookie-quoting-routine` for details.
+
Bug fixes
---------
From bd374b177ba0d13734ab240ba4fd5d229ea8ba05 Mon Sep 17 00:00:00 2001
From: "patchback[bot]" <45432694+patchback[bot]@users.noreply.github.com>
Date: Thu, 12 Jun 2025 21:19:31 +0000
Subject: [PATCH 08/18] [PR #11193/43ea3b1d backport][3.12] Pin CI Python
version to 3.13.3 (#11194)
Co-authored-by: J. Nick Koston
---
.github/workflows/ci-cd.yml | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml
index 1cae0bd57fe..2f0957306cd 100644
--- a/.github/workflows/ci-cd.yml
+++ b/.github/workflows/ci-cd.yml
@@ -122,7 +122,11 @@ jobs:
needs: gen_llhttp
strategy:
matrix:
- pyver: [3.9, '3.10', '3.11', '3.12', '3.13']
+ # Note that 3.13.4 is broken on Windows which
+ # is why 3.13.5 was rushed out. When 3.13.5 is fully
+ # available, we can remove 3.13.4 from the matrix
+ # and switch it back to 3.13
+ pyver: [3.9, '3.10', '3.11', '3.12', '3.13.3']
no-extensions: ['', 'Y']
os: [ubuntu, macos, windows]
experimental: [false]
From b151d3fce4d96aba7209bcaba0ec0690c793920e Mon Sep 17 00:00:00 2001
From: "J. Nick Koston"
Date: Thu, 12 Jun 2025 16:20:56 -0500
Subject: [PATCH 09/18] [3.13] Fix auto-created TCPConnector not using
session's event loop (#11198)
Fixes #11147
---
CHANGES/11147.bugfix.rst | 1 +
aiohttp/client.py | 4 +++-
tests/test_client_session.py | 20 ++++++++++++++++++++
3 files changed, 24 insertions(+), 1 deletion(-)
create mode 100644 CHANGES/11147.bugfix.rst
diff --git a/CHANGES/11147.bugfix.rst b/CHANGES/11147.bugfix.rst
new file mode 100644
index 00000000000..ab88541fcac
--- /dev/null
+++ b/CHANGES/11147.bugfix.rst
@@ -0,0 +1 @@
+Fixed auto-created :py:class:`~aiohttp.TCPConnector` not using the session's event loop when :py:class:`~aiohttp.ClientSession` is created without an explicit connector -- by :user:`bdraco`.
diff --git a/aiohttp/client.py b/aiohttp/client.py
index ce95e5cb39e..26492cd15fe 100644
--- a/aiohttp/client.py
+++ b/aiohttp/client.py
@@ -369,7 +369,9 @@ def __init__(
)
if connector is None:
- connector = TCPConnector(ssl_shutdown_timeout=ssl_shutdown_timeout)
+ connector = TCPConnector(
+ loop=loop, ssl_shutdown_timeout=ssl_shutdown_timeout
+ )
if connector._loop is not loop:
raise RuntimeError("Session and connector has to use same event loop")
diff --git a/tests/test_client_session.py b/tests/test_client_session.py
index 754cac1b47e..c296c9670b0 100644
--- a/tests/test_client_session.py
+++ b/tests/test_client_session.py
@@ -422,6 +422,26 @@ async def make_sess():
another_loop.run_until_complete(connector.close())
+def test_auto_created_connector_uses_session_loop(
+ loop: asyncio.AbstractEventLoop,
+) -> None:
+ """Test that auto-created TCPConnector uses the session's loop."""
+ # Create a ClientSession without providing a connector
+ # The session should auto-create a TCPConnector with the provided loop
+ session = ClientSession(loop=loop)
+
+ # Verify the connector was created
+ assert session.connector is not None
+ assert isinstance(session.connector, TCPConnector)
+
+ # Verify the connector uses the same loop as the session
+ assert session.connector._loop is loop
+ assert session.connector._loop is session._loop
+
+ # Clean up
+ loop.run_until_complete(session.close())
+
+
def test_detach(loop, session) -> None:
conn = session.connector
try:
From 2d4a28b344d58f1087da9dbcd7260b0bf401a9c6 Mon Sep 17 00:00:00 2001
From: "patchback[bot]" <45432694+patchback[bot]@users.noreply.github.com>
Date: Thu, 12 Jun 2025 21:44:26 +0000
Subject: [PATCH 10/18] [PR #11192/b888dc5c backport][3.12] Add warning to
release notes about the quote_cookie fix (#11196)
Co-authored-by: J. Nick Koston
---
CHANGES.rst | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/CHANGES.rst b/CHANGES.rst
index c554d11ecab..713ded10177 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -153,6 +153,14 @@ Features
3.12.7 (2025-06-02)
===================
+.. warning::
+
+ This release fixes an issue where the ``quote_cookie`` parameter was not being properly
+ respected for shared cookies (domain="", path=""). If your server does not handle quoted
+ cookies correctly, you may need to disable cookie quoting by setting ``quote_cookie=False``
+ when creating your :class:`~aiohttp.ClientSession` or :class:`~aiohttp.CookieJar`.
+ See :ref:`aiohttp-client-cookie-quoting-routine` for details.
+
Bug fixes
---------
From fc9b7208836db502afa6d3d7ba99cb31ae972166 Mon Sep 17 00:00:00 2001
From: "patchback[bot]" <45432694+patchback[bot]@users.noreply.github.com>
Date: Thu, 12 Jun 2025 21:47:54 +0000
Subject: [PATCH 11/18] [PR #11198/b151d3fc backport][3.12] Fix auto-created
TCPConnector not using session's event loop (#11199)
Co-authored-by: J. Nick Koston
Fixes #11147
---
CHANGES/11147.bugfix.rst | 1 +
aiohttp/client.py | 4 +++-
tests/test_client_session.py | 20 ++++++++++++++++++++
3 files changed, 24 insertions(+), 1 deletion(-)
create mode 100644 CHANGES/11147.bugfix.rst
diff --git a/CHANGES/11147.bugfix.rst b/CHANGES/11147.bugfix.rst
new file mode 100644
index 00000000000..ab88541fcac
--- /dev/null
+++ b/CHANGES/11147.bugfix.rst
@@ -0,0 +1 @@
+Fixed auto-created :py:class:`~aiohttp.TCPConnector` not using the session's event loop when :py:class:`~aiohttp.ClientSession` is created without an explicit connector -- by :user:`bdraco`.
diff --git a/aiohttp/client.py b/aiohttp/client.py
index ce95e5cb39e..26492cd15fe 100644
--- a/aiohttp/client.py
+++ b/aiohttp/client.py
@@ -369,7 +369,9 @@ def __init__(
)
if connector is None:
- connector = TCPConnector(ssl_shutdown_timeout=ssl_shutdown_timeout)
+ connector = TCPConnector(
+ loop=loop, ssl_shutdown_timeout=ssl_shutdown_timeout
+ )
if connector._loop is not loop:
raise RuntimeError("Session and connector has to use same event loop")
diff --git a/tests/test_client_session.py b/tests/test_client_session.py
index 754cac1b47e..c296c9670b0 100644
--- a/tests/test_client_session.py
+++ b/tests/test_client_session.py
@@ -422,6 +422,26 @@ async def make_sess():
another_loop.run_until_complete(connector.close())
+def test_auto_created_connector_uses_session_loop(
+ loop: asyncio.AbstractEventLoop,
+) -> None:
+ """Test that auto-created TCPConnector uses the session's loop."""
+ # Create a ClientSession without providing a connector
+ # The session should auto-create a TCPConnector with the provided loop
+ session = ClientSession(loop=loop)
+
+ # Verify the connector was created
+ assert session.connector is not None
+ assert isinstance(session.connector, TCPConnector)
+
+ # Verify the connector uses the same loop as the session
+ assert session.connector._loop is loop
+ assert session.connector._loop is session._loop
+
+ # Clean up
+ loop.run_until_complete(session.close())
+
+
def test_detach(loop, session) -> None:
conn = session.connector
try:
From befed1b9eea0d3aac24b346efceda10951bb9503 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 13 Jun 2025 11:05:05 +0000
Subject: [PATCH 12/18] Bump pycares from 4.8.0 to 4.9.0 (#11206)
Bumps [pycares](https://github.com/saghul/pycares) from 4.8.0 to 4.9.0.
Commits
4c761b4
Set version to 4.9.0
c4131d5
Add support for windows arm64 (#233)
ebfd7d7
Fix shutdown race
ca0a4c9
Pin Python version to 3.13.3 to avoid Windows build error
b572e28
build(deps): bump pypa/cibuildwheel from 2.22.0 to 2.23.3 (#227)
1e2aae0
Create dependabot configuration (#226)
1e4bd77
Update README.rst
58c5165
USe Python 3.11 to build the docs
031e6ad
Fix building docs
186e278
Rename .readthedocs.yml to .readthedocs.yaml
- Additional commits viewable in compare
view
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
requirements/base.txt | 2 +-
requirements/constraints.txt | 2 +-
requirements/dev.txt | 2 +-
requirements/lint.txt | 2 +-
requirements/runtime-deps.txt | 2 +-
requirements/test.txt | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/requirements/base.txt b/requirements/base.txt
index 7ccd91191e0..a1ad15f3505 100644
--- a/requirements/base.txt
+++ b/requirements/base.txt
@@ -36,7 +36,7 @@ propcache==0.3.2
# via
# -r requirements/runtime-deps.in
# yarl
-pycares==4.8.0
+pycares==4.9.0
# via aiodns
pycparser==2.22
# via cffi
diff --git a/requirements/constraints.txt b/requirements/constraints.txt
index 477208716d4..658d9094dce 100644
--- a/requirements/constraints.txt
+++ b/requirements/constraints.txt
@@ -154,7 +154,7 @@ propcache==0.3.2
# yarl
proxy-py==2.4.10
# via -r requirements/test.in
-pycares==4.8.0
+pycares==4.9.0
# via aiodns
pycparser==2.22
# via cffi
diff --git a/requirements/dev.txt b/requirements/dev.txt
index d3373a9f65f..8588b227e3f 100644
--- a/requirements/dev.txt
+++ b/requirements/dev.txt
@@ -151,7 +151,7 @@ propcache==0.3.2
# yarl
proxy-py==2.4.10
# via -r requirements/test.in
-pycares==4.8.0
+pycares==4.9.0
# via aiodns
pycparser==2.22
# via cffi
diff --git a/requirements/lint.txt b/requirements/lint.txt
index dcb9c3b9dbe..e7049f3429b 100644
--- a/requirements/lint.txt
+++ b/requirements/lint.txt
@@ -61,7 +61,7 @@ pluggy==1.6.0
# via pytest
pre-commit==4.2.0
# via -r requirements/lint.in
-pycares==4.8.0
+pycares==4.9.0
# via aiodns
pycparser==2.22
# via cffi
diff --git a/requirements/runtime-deps.txt b/requirements/runtime-deps.txt
index d854246ae9d..e7558add271 100644
--- a/requirements/runtime-deps.txt
+++ b/requirements/runtime-deps.txt
@@ -32,7 +32,7 @@ propcache==0.3.2
# via
# -r requirements/runtime-deps.in
# yarl
-pycares==4.8.0
+pycares==4.9.0
# via aiodns
pycparser==2.22
# via cffi
diff --git a/requirements/test.txt b/requirements/test.txt
index ccf0dc33b43..a48518068d6 100644
--- a/requirements/test.txt
+++ b/requirements/test.txt
@@ -85,7 +85,7 @@ propcache==0.3.2
# yarl
proxy-py==2.4.10
# via -r requirements/test.in
-pycares==4.8.0
+pycares==4.9.0
# via aiodns
pycparser==2.22
# via cffi
From bff7613f94f4f04e74d76a001cf3830b62eb715d Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 13 Jun 2025 11:15:01 +0000
Subject: [PATCH 13/18] Bump pydantic from 2.11.5 to 2.11.6 (#11207)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.11.5 to
2.11.6.
Release notes
Sourced from pydantic's
releases.
v2.11.6 2025-06-13
v2.11.6 (2025-06-13)
What's Changed
Fixes
Full Changelog: https://github.com/pydantic/pydantic/compare/v2.11.5...v2.11.6
Changelog
Sourced from pydantic's
changelog.
v2.11.6 (2025-06-13)
GitHub
release
What's Changed
Fixes
Commits
3987b23
Prepare release v2.11.6
dc7a9d2
Always store the original field assignment on
FieldInfo
c284c27
Rebuild dataclass fields before schema generation
- See full diff in compare
view
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
requirements/constraints.txt | 2 +-
requirements/dev.txt | 2 +-
requirements/lint.txt | 2 +-
requirements/test.txt | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/requirements/constraints.txt b/requirements/constraints.txt
index 658d9094dce..4edb17defa4 100644
--- a/requirements/constraints.txt
+++ b/requirements/constraints.txt
@@ -158,7 +158,7 @@ pycares==4.9.0
# via aiodns
pycparser==2.22
# via cffi
-pydantic==2.11.5
+pydantic==2.11.6
# via python-on-whales
pydantic-core==2.33.2
# via pydantic
diff --git a/requirements/dev.txt b/requirements/dev.txt
index 8588b227e3f..3f8d6adafbd 100644
--- a/requirements/dev.txt
+++ b/requirements/dev.txt
@@ -155,7 +155,7 @@ pycares==4.9.0
# via aiodns
pycparser==2.22
# via cffi
-pydantic==2.11.5
+pydantic==2.11.6
# via python-on-whales
pydantic-core==2.33.2
# via pydantic
diff --git a/requirements/lint.txt b/requirements/lint.txt
index e7049f3429b..66cff3385d8 100644
--- a/requirements/lint.txt
+++ b/requirements/lint.txt
@@ -65,7 +65,7 @@ pycares==4.9.0
# via aiodns
pycparser==2.22
# via cffi
-pydantic==2.11.5
+pydantic==2.11.6
# via python-on-whales
pydantic-core==2.33.2
# via pydantic
diff --git a/requirements/test.txt b/requirements/test.txt
index a48518068d6..04b16dee286 100644
--- a/requirements/test.txt
+++ b/requirements/test.txt
@@ -89,7 +89,7 @@ pycares==4.9.0
# via aiodns
pycparser==2.22
# via cffi
-pydantic==2.11.5
+pydantic==2.11.6
# via python-on-whales
pydantic-core==2.33.2
# via pydantic
From e052a17de9a8a22993943cc0a0555cffc8517a59 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 13 Jun 2025 11:19:49 +0000
Subject: [PATCH 14/18] Bump towncrier from 23.11.0 to 24.8.0 (#11208)
Bumps [towncrier](https://github.com/twisted/towncrier) from 23.11.0 to
24.8.0.
Release notes
Sourced from towncrier's
releases.
Towncrier 24.8.0 (2024-08-23)
Features
- Add
.gitkeep as an ignored filename.
(#643)
- Config ignore
option now supports
wildcard matching via
fnmatch.
(#644)
- Add a config for enforcing issue names using regex.
(#649)
Bugfixes
- The template file is now ignored based only on the file name.
(#638)
- Control of the header formatting is once again completely up to the
user when they are writing markdown files (fixes a regression
introduced in
[#610](twisted/towncrier#610)).
(#651)
- Fixed an issue where issue_template
failed recognizing the issue name of files with a non-category
suffix (.md)
(#654)
- Fixed a bug where orphan news fragments (e.g. +abc1234.feature)
would fail when an issue_pattern is
configured. Orphan news fragments are now excempt from issue_pattern checks.
(#655)
Deprecations and Removals
-
Moved towncrier version definition from src/towncrier/_version.py
to pyproject.toml
towncrier.__version__ was removed, after being deprecated in
23.6.0. (#640)
Misc
Towncrier 24.8.0rc1 (2024-08-19)
Features
- Add
.gitkeep as an ignored filename.
... (truncated)
Changelog
Sourced from towncrier's
changelog.
Towncrier 24.8.0 (2024-08-23)
No changes since the previous release candidate.
Features
- Add
.gitkeep as an ignored filename.
([#643](https://github.com/twisted/towncrier/issues/643)
<https://github.com/twisted/towncrier/issues/643>_)
- Config
ignore option now supports wildcard matching via
fnmatch
<https://docs.python.org/3/library/fnmatch.html#fnmatch.fnmatch>.
([#644](https://github.com/twisted/towncrier/issues/644)
<https://github.com/twisted/towncrier/issues/644>)
- Add a config for enforcing issue names using regex.
(
[#649](https://github.com/twisted/towncrier/issues/649)
<https://github.com/twisted/towncrier/issues/649>_)
Bugfixes
- The template file is now ignored based only on the file name.
(
[#638](https://github.com/twisted/towncrier/issues/638)
<https://github.com/twisted/towncrier/issues/638>_)
- Control of the header formatting is once again completely up to the
user when they are writing markdown files (fixes a regression introduced
in #610).
(
[#651](https://github.com/twisted/towncrier/issues/651)
<https://github.com/twisted/towncrier/issues/651>_)
- Fixed an issue where
issue_template failed recognizing
the issue name of files with a non-category suffix (.md)
([#654](https://github.com/twisted/towncrier/issues/654)
<https://github.com/twisted/towncrier/issues/654>_)
- Fixed a bug where orphan news fragments (e.g. +abc1234.feature)
would fail when an
issue_pattern is configured. Orphan news
fragments are now excempt from issue_pattern checks.
([#655](https://github.com/twisted/towncrier/issues/655)
<https://github.com/twisted/towncrier/issues/655>_)
Deprecations and Removals
-
Moved towncrier version definition from src/towncrier/_version.py to
pyproject.toml
towncrier.version was removed, after being
deprecated in 23.6.0.
([#640](https://github.com/twisted/towncrier/issues/640)
<https://github.com/twisted/towncrier/issues/640>_)
Misc
[#640](https://github.com/twisted/towncrier/issues/640)
<https://github.com/twisted/towncrier/issues/640>,
[#657](https://github.com/twisted/towncrier/issues/657)
<https://github.com/twisted/towncrier/issues/657>
Towncrier 24.7.1 (2024-07-31)
No significant changes since the previous release candidate.
Bugfixes
- When the template file is stored in the same directory with the news
fragments, it is automatically ignored when checking for valid fragment
file names.
(
[#632](https://github.com/twisted/towncrier/issues/632)
<https://github.com/twisted/towncrier/issues/632>_)
Misc
... (truncated)
Commits
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
requirements/constraints.txt | 9 ++-------
requirements/dev.txt | 9 ++-------
requirements/doc-spelling.txt | 9 +--------
requirements/doc.txt | 9 +--------
4 files changed, 6 insertions(+), 30 deletions(-)
diff --git a/requirements/constraints.txt b/requirements/constraints.txt
index 4edb17defa4..d4663c3beaf 100644
--- a/requirements/constraints.txt
+++ b/requirements/constraints.txt
@@ -97,8 +97,6 @@ idna==3.3
# yarl
imagesize==1.4.1
# via sphinx
-incremental==24.7.2
- # via towncrier
iniconfig==2.1.0
# via pytest
isal==1.7.2
@@ -254,14 +252,13 @@ tomli==2.2.1
# build
# cherry-picker
# coverage
- # incremental
# mypy
# pip-tools
# pytest
# slotscheck
# sphinx
# towncrier
-towncrier==23.11.0
+towncrier==24.8.0
# via
# -r requirements/doc.in
# sphinxcontrib-towncrier
@@ -308,6 +305,4 @@ zlib-ng==0.5.1
pip==25.1.1
# via pip-tools
setuptools==80.9.0
- # via
- # incremental
- # pip-tools
+ # via pip-tools
diff --git a/requirements/dev.txt b/requirements/dev.txt
index 3f8d6adafbd..1dc834bf709 100644
--- a/requirements/dev.txt
+++ b/requirements/dev.txt
@@ -95,8 +95,6 @@ idna==3.4
# yarl
imagesize==1.4.1
# via sphinx
-incremental==24.7.2
- # via towncrier
iniconfig==2.1.0
# via pytest
isal==1.7.2
@@ -245,14 +243,13 @@ tomli==2.2.1
# build
# cherry-picker
# coverage
- # incremental
# mypy
# pip-tools
# pytest
# slotscheck
# sphinx
# towncrier
-towncrier==23.11.0
+towncrier==24.8.0
# via
# -r requirements/doc.in
# sphinxcontrib-towncrier
@@ -299,6 +296,4 @@ zlib-ng==0.5.1
pip==25.1.1
# via pip-tools
setuptools==80.9.0
- # via
- # incremental
- # pip-tools
+ # via pip-tools
diff --git a/requirements/doc-spelling.txt b/requirements/doc-spelling.txt
index 71a80fcaed2..d0e3a3c867e 100644
--- a/requirements/doc-spelling.txt
+++ b/requirements/doc-spelling.txt
@@ -22,8 +22,6 @@ idna==3.4
# via requests
imagesize==1.4.1
# via sphinx
-incremental==24.7.2
- # via towncrier
jinja2==3.1.6
# via
# sphinx
@@ -65,16 +63,11 @@ sphinxcontrib-towncrier==0.5.0a0
# via -r requirements/doc.in
tomli==2.2.1
# via
- # incremental
# sphinx
# towncrier
-towncrier==23.11.0
+towncrier==24.8.0
# via
# -r requirements/doc.in
# sphinxcontrib-towncrier
urllib3==2.4.0
# via requests
-
-# The following packages are considered to be unsafe in a requirements file:
-setuptools==80.9.0
- # via incremental
diff --git a/requirements/doc.txt b/requirements/doc.txt
index 983dfefdb94..d355dd714b6 100644
--- a/requirements/doc.txt
+++ b/requirements/doc.txt
@@ -22,8 +22,6 @@ idna==3.4
# via requests
imagesize==1.4.1
# via sphinx
-incremental==24.7.2
- # via towncrier
jinja2==3.1.6
# via
# sphinx
@@ -58,16 +56,11 @@ sphinxcontrib-towncrier==0.5.0a0
# via -r requirements/doc.in
tomli==2.2.1
# via
- # incremental
# sphinx
# towncrier
-towncrier==23.11.0
+towncrier==24.8.0
# via
# -r requirements/doc.in
# sphinxcontrib-towncrier
urllib3==2.4.0
# via requests
-
-# The following packages are considered to be unsafe in a requirements file:
-setuptools==80.9.0
- # via incremental
From 9bf5a4f3b5ed7fd931e5777fe0576d4fde6c7751 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 13 Jun 2025 11:23:19 +0000
Subject: [PATCH 15/18] Bump typing-extensions from 4.13.2 to 4.14.0 (#11209)
Bumps [typing-extensions](https://github.com/python/typing_extensions)
from 4.13.2 to 4.14.0.
Release notes
Sourced from typing-extensions's
releases.
4.14.0
This release adds several new features, including experimental
support for inline typed dictionaries (PEP 764) and sentinels (PEP 661), and support for
changes in Python 3.14. In addition, Python 3.8 is no longer
supported.
Changes since 4.14.0rc1:
- Remove
__or__ and __ror__ methods from
typing_extensions.Sentinel
on Python versions <3.10. PEP 604 was introduced in Python 3.10, and
typing_extensions does not generally attempt to backport
PEP-604 methods
to prior versions.
- Further update
typing_extensions.evaluate_forward_ref
with changes in Python 3.14.
Changes included in 4.14.0rc1:
- Drop support for Python 3.8 (including PyPy-3.8). Patch by Victorien Plot.
- Do not attempt to re-export names that have been removed from
typing,
anticipating the removal of typing.no_type_check_decorator
in Python 3.15.
Patch by Jelle Zijlstra.
- Update
typing_extensions.Format,
typing_extensions.evaluate_forward_ref, and
typing_extensions.TypedDict to align
with changes in Python 3.14. Patches by Jelle Zijlstra.
- Fix tests for Python 3.14 and 3.15. Patches by Jelle Zijlstra.
New features:
- Add support for inline typed dictionaries (PEP 764).
Patch by Victorien Plot.
- Add
typing_extensions.Reader and
typing_extensions.Writer. Patch by
Sebastian Rittau.
- Add support for sentinels (PEP 661). Patch by
Victorien Plot.
4.14.0rc1
Major changes:
- Drop support for Python 3.8 (including PyPy-3.8). Patch by Victorien Plot.
- Do not attempt to re-export names that have been removed from
typing,
anticipating the removal of typing.no_type_check_decorator
in Python 3.15.
Patch by Jelle Zijlstra.
- Update
typing_extensions.Format,
typing_extensions.evaluate_forward_ref, and
typing_extensions.TypedDict to align
with changes in Python 3.14. Patches by Jelle Zijlstra.
- Fix tests for Python 3.14 and 3.15. Patches by Jelle Zijlstra.
New features:
- Add support for inline typed dictionaries (PEP 764).
Patch by Victorien Plot.
- Add
typing_extensions.Reader and
typing_extensions.Writer. Patch by
Sebastian Rittau.
- Add support for sentinels (PEP 661). Patch by
... (truncated)
Changelog
Sourced from typing-extensions's
changelog.
Release 4.14.0 (June 2, 2025)
Changes since 4.14.0rc1:
- Remove
__or__ and __ror__ methods from
typing_extensions.Sentinel
on Python versions <3.10. PEP 604 was introduced in Python 3.10, and
typing_extensions does not generally attempt to backport
PEP-604 methods
to prior versions.
- Further update
typing_extensions.evaluate_forward_ref
with changes in Python 3.14.
Release 4.14.0rc1 (May 24, 2025)
- Drop support for Python 3.8 (including PyPy-3.8). Patch by Victorien Plot.
- Do not attempt to re-export names that have been removed from
typing,
anticipating the removal of typing.no_type_check_decorator
in Python 3.15.
Patch by Jelle Zijlstra.
- Update
typing_extensions.Format,
typing_extensions.evaluate_forward_ref, and
typing_extensions.TypedDict to align
with changes in Python 3.14. Patches by Jelle Zijlstra.
- Fix tests for Python 3.14 and 3.15. Patches by Jelle Zijlstra.
New features:
- Add support for inline typed dictionaries (PEP 764).
Patch by Victorien Plot.
- Add
typing_extensions.Reader and
typing_extensions.Writer. Patch by
Sebastian Rittau.
- Add support for sentinels (PEP 661). Patch by
Victorien Plot.
Commits
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
requirements/base.txt | 2 +-
requirements/constraints.txt | 2 +-
requirements/cython.txt | 2 +-
requirements/dev.txt | 2 +-
requirements/lint.txt | 2 +-
requirements/multidict.txt | 2 +-
requirements/runtime-deps.txt | 2 +-
requirements/test.txt | 2 +-
8 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/requirements/base.txt b/requirements/base.txt
index a1ad15f3505..699175ddccb 100644
--- a/requirements/base.txt
+++ b/requirements/base.txt
@@ -40,7 +40,7 @@ pycares==4.9.0
# via aiodns
pycparser==2.22
# via cffi
-typing-extensions==4.13.2
+typing-extensions==4.14.0
# via multidict
uvloop==0.21.0 ; platform_system != "Windows" and implementation_name == "cpython"
# via -r requirements/base.in
diff --git a/requirements/constraints.txt b/requirements/constraints.txt
index d4663c3beaf..3888c2b3042 100644
--- a/requirements/constraints.txt
+++ b/requirements/constraints.txt
@@ -266,7 +266,7 @@ trustme==1.2.1 ; platform_machine != "i686"
# via
# -r requirements/lint.in
# -r requirements/test.in
-typing-extensions==4.13.2
+typing-extensions==4.14.0
# via
# exceptiongroup
# multidict
diff --git a/requirements/cython.txt b/requirements/cython.txt
index 64c21e38a33..e84c784cd77 100644
--- a/requirements/cython.txt
+++ b/requirements/cython.txt
@@ -8,5 +8,5 @@ cython==3.1.2
# via -r requirements/cython.in
multidict==6.4.4
# via -r requirements/multidict.in
-typing-extensions==4.13.2
+typing-extensions==4.14.0
# via multidict
diff --git a/requirements/dev.txt b/requirements/dev.txt
index 1dc834bf709..11144865eb4 100644
--- a/requirements/dev.txt
+++ b/requirements/dev.txt
@@ -257,7 +257,7 @@ trustme==1.2.1 ; platform_machine != "i686"
# via
# -r requirements/lint.in
# -r requirements/test.in
-typing-extensions==4.13.2
+typing-extensions==4.14.0
# via
# exceptiongroup
# multidict
diff --git a/requirements/lint.txt b/requirements/lint.txt
index 66cff3385d8..f9767b32870 100644
--- a/requirements/lint.txt
+++ b/requirements/lint.txt
@@ -101,7 +101,7 @@ tomli==2.2.1
# slotscheck
trustme==1.2.1
# via -r requirements/lint.in
-typing-extensions==4.13.2
+typing-extensions==4.14.0
# via
# exceptiongroup
# mypy
diff --git a/requirements/multidict.txt b/requirements/multidict.txt
index abd2e2cc9eb..eed6e123d73 100644
--- a/requirements/multidict.txt
+++ b/requirements/multidict.txt
@@ -6,5 +6,5 @@
#
multidict==6.4.4
# via -r requirements/multidict.in
-typing-extensions==4.13.2
+typing-extensions==4.14.0
# via multidict
diff --git a/requirements/runtime-deps.txt b/requirements/runtime-deps.txt
index e7558add271..d78f3c10ac0 100644
--- a/requirements/runtime-deps.txt
+++ b/requirements/runtime-deps.txt
@@ -36,7 +36,7 @@ pycares==4.9.0
# via aiodns
pycparser==2.22
# via cffi
-typing-extensions==4.13.2
+typing-extensions==4.14.0
# via multidict
yarl==1.20.1
# via -r requirements/runtime-deps.in
diff --git a/requirements/test.txt b/requirements/test.txt
index 04b16dee286..6198d52a111 100644
--- a/requirements/test.txt
+++ b/requirements/test.txt
@@ -133,7 +133,7 @@ tomli==2.2.1
# pytest
trustme==1.2.1 ; platform_machine != "i686"
# via -r requirements/test.in
-typing-extensions==4.13.2
+typing-extensions==4.14.0
# via
# exceptiongroup
# multidict
From b1509f68b1489c1ece4ca475a4cff7532b0a7077 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 13 Jun 2025 16:49:21 +0000
Subject: [PATCH 16/18] Bump aiodns from 3.4.0 to 3.5.0 (#11211)
Bumps [aiodns](https://github.com/saghul/aiodns) from 3.4.0 to 3.5.0.
Changelog
Sourced from aiodns's
changelog.
3.5.0
- Added explicit close method (#166)
- Allows proper cleanup of resources on demand
- Fixed return type signature for CNAME and SOA records (#162)
- Corrected type annotations for better type checking
- Improved Windows event loop documentation (#163)
- Provided more accurate information on supported event loops on
Windows
- Added pre-commit configuration with ruff (#152)
- Improved code quality and consistency
- Reformatted code and normalized end-of-line characters (#155)
- Updated dependencies
- Bumped pycares from 4.8.0 to 4.9.0 (#168)
- Bumped pytest-asyncio from 0.26.0 to 1.0.0 (#167)
- Bumped pytest-cov from 6.1.1 to 6.2.1 (#164)
- Bumped pytest from 8.3.5 to 8.4.0 (#160)
- Bumped mypy from 1.15.0 to 1.16.0 (#158)
- Bumped dependabot/fetch-metadata from 2.3.0 to 2.4.0 (#159)
Commits
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
requirements/base.txt | 2 +-
requirements/constraints.txt | 2 +-
requirements/dev.txt | 2 +-
requirements/lint.txt | 2 +-
requirements/runtime-deps.txt | 2 +-
requirements/test.txt | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/requirements/base.txt b/requirements/base.txt
index 699175ddccb..46fa8b9fc8d 100644
--- a/requirements/base.txt
+++ b/requirements/base.txt
@@ -4,7 +4,7 @@
#
# pip-compile --allow-unsafe --output-file=requirements/base.txt --strip-extras requirements/base.in
#
-aiodns==3.4.0
+aiodns==3.5.0
# via -r requirements/runtime-deps.in
aiohappyeyeballs==2.6.1
# via -r requirements/runtime-deps.in
diff --git a/requirements/constraints.txt b/requirements/constraints.txt
index 3888c2b3042..f85fc78a9fe 100644
--- a/requirements/constraints.txt
+++ b/requirements/constraints.txt
@@ -4,7 +4,7 @@
#
# pip-compile --allow-unsafe --output-file=requirements/constraints.txt --resolver=backtracking --strip-extras requirements/constraints.in
#
-aiodns==3.4.0
+aiodns==3.5.0
# via
# -r requirements/lint.in
# -r requirements/runtime-deps.in
diff --git a/requirements/dev.txt b/requirements/dev.txt
index 11144865eb4..ca905f5666c 100644
--- a/requirements/dev.txt
+++ b/requirements/dev.txt
@@ -4,7 +4,7 @@
#
# pip-compile --allow-unsafe --output-file=requirements/dev.txt --resolver=backtracking --strip-extras requirements/dev.in
#
-aiodns==3.4.0
+aiodns==3.5.0
# via
# -r requirements/lint.in
# -r requirements/runtime-deps.in
diff --git a/requirements/lint.txt b/requirements/lint.txt
index f9767b32870..6031ddeb3f9 100644
--- a/requirements/lint.txt
+++ b/requirements/lint.txt
@@ -4,7 +4,7 @@
#
# pip-compile --allow-unsafe --output-file=requirements/lint.txt --resolver=backtracking --strip-extras requirements/lint.in
#
-aiodns==3.4.0
+aiodns==3.5.0
# via -r requirements/lint.in
annotated-types==0.7.0
# via pydantic
diff --git a/requirements/runtime-deps.txt b/requirements/runtime-deps.txt
index d78f3c10ac0..d90bf87245c 100644
--- a/requirements/runtime-deps.txt
+++ b/requirements/runtime-deps.txt
@@ -4,7 +4,7 @@
#
# pip-compile --allow-unsafe --output-file=requirements/runtime-deps.txt --strip-extras requirements/runtime-deps.in
#
-aiodns==3.4.0
+aiodns==3.5.0
# via -r requirements/runtime-deps.in
aiohappyeyeballs==2.6.1
# via -r requirements/runtime-deps.in
diff --git a/requirements/test.txt b/requirements/test.txt
index 6198d52a111..5d26dc692e0 100644
--- a/requirements/test.txt
+++ b/requirements/test.txt
@@ -4,7 +4,7 @@
#
# pip-compile --allow-unsafe --output-file=requirements/test.txt --resolver=backtracking --strip-extras requirements/test.in
#
-aiodns==3.4.0
+aiodns==3.5.0
# via -r requirements/runtime-deps.in
aiohappyeyeballs==2.6.1
# via -r requirements/runtime-deps.in
From 82e1020989b90fa29ce4877645eeaf9cbc12397e Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 13 Jun 2025 16:57:09 +0000
Subject: [PATCH 17/18] Bump coverage from 7.9.0 to 7.9.1 (#11213)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.9.0 to
7.9.1.
Changelog
Sourced from coverage's
changelog.
Version 7.9.1 โ 2025-06-13
-
The "no-ctracer" warning is not issued for Python
pre-release versions.
Coverage doesn't ship compiled wheels for those versions, so this was
far too
noisy.
-
On Python 3.14+, the "sysmon" core is now the default if
it's supported for
your configuration. Plugins and dynamic contexts are still not supported
with it.
.. _changes_7-9-0:
Commits
4fa1b71
docs: sample HTML for 7.9.1
5cf757b
docs: prep for 7.9.1
bea6204
fix: better defaulting of core
7795441
fix: fewer warnings, default to sys.monitoring on 3.14+
18aa074
fix: some custom builds don't have file
8c5bf65
chore: make upgrade
128c4f4
build: bump version to 7.9.1
- See full diff in compare
view
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
requirements/constraints.txt | 2 +-
requirements/dev.txt | 2 +-
requirements/test.txt | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/requirements/constraints.txt b/requirements/constraints.txt
index f85fc78a9fe..a731b7c5975 100644
--- a/requirements/constraints.txt
+++ b/requirements/constraints.txt
@@ -54,7 +54,7 @@ click==8.1.8
# slotscheck
# towncrier
# wait-for-it
-coverage==7.9.0
+coverage==7.9.1
# via
# -r requirements/test.in
# pytest-cov
diff --git a/requirements/dev.txt b/requirements/dev.txt
index ca905f5666c..782e58604d0 100644
--- a/requirements/dev.txt
+++ b/requirements/dev.txt
@@ -54,7 +54,7 @@ click==8.1.8
# slotscheck
# towncrier
# wait-for-it
-coverage==7.9.0
+coverage==7.9.1
# via
# -r requirements/test.in
# pytest-cov
diff --git a/requirements/test.txt b/requirements/test.txt
index 5d26dc692e0..c49dadb2d2d 100644
--- a/requirements/test.txt
+++ b/requirements/test.txt
@@ -27,7 +27,7 @@ cffi==1.17.1
# pytest-codspeed
click==8.1.8
# via wait-for-it
-coverage==7.9.0
+coverage==7.9.1
# via
# -r requirements/test.in
# pytest-cov
From 2ff9b615c8bf0758b496b830438d8e0f11f4f515 Mon Sep 17 00:00:00 2001
From: "J. Nick Koston"
Date: Sat, 14 Jun 2025 08:41:27 -0500
Subject: [PATCH 18/18] Release 3.12.13 (#11214)
---
CHANGES.rst | 18 ++++++++++++++++++
CHANGES/11147.bugfix.rst | 1 -
aiohttp/__init__.py | 2 +-
3 files changed, 19 insertions(+), 2 deletions(-)
delete mode 100644 CHANGES/11147.bugfix.rst
diff --git a/CHANGES.rst b/CHANGES.rst
index 713ded10177..d991d99cf5d 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -10,6 +10,24 @@
.. towncrier release notes start
+3.12.13 (2025-06-14)
+====================
+
+Bug fixes
+---------
+
+- Fixed auto-created :py:class:`~aiohttp.TCPConnector` not using the session's event loop when :py:class:`~aiohttp.ClientSession` is created without an explicit connector -- by :user:`bdraco`.
+
+
+ *Related issues and pull requests on GitHub:*
+ :issue:`11147`.
+
+
+
+
+----
+
+
3.12.12 (2025-06-09)
====================
diff --git a/CHANGES/11147.bugfix.rst b/CHANGES/11147.bugfix.rst
deleted file mode 100644
index ab88541fcac..00000000000
--- a/CHANGES/11147.bugfix.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fixed auto-created :py:class:`~aiohttp.TCPConnector` not using the session's event loop when :py:class:`~aiohttp.ClientSession` is created without an explicit connector -- by :user:`bdraco`.
diff --git a/aiohttp/__init__.py b/aiohttp/__init__.py
index 76d46504b81..58ef7a9a565 100644
--- a/aiohttp/__init__.py
+++ b/aiohttp/__init__.py
@@ -1,4 +1,4 @@
-__version__ = "3.12.13.dev0"
+__version__ = "3.12.13"
from typing import TYPE_CHECKING, Tuple