Skip to content

[pull] master from aio-libs:master#278

Merged
pull[bot] merged 20 commits intotj-python:masterfrom
aio-libs:master
Jun 14, 2025
Merged

[pull] master from aio-libs:master#278
pull[bot] merged 20 commits intotj-python:masterfrom
aio-libs:master

Conversation

@pull
Copy link

@pull pull bot commented Jun 14, 2025

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.1)

Can you help keep this open source service alive? 💖 Please sponsor : )

bdraco and others added 20 commits June 10, 2025 05:27
Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.8.2 to
7.9.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst">coverage's
changelog</a>.</em></p>
<blockquote>
<h2>Version 7.9.0 — 2025-06-11</h2>
<ul>
<li>
<p>Added a <code>[run] core</code> configuration setting to specify the
measurement core,
which was previously only available through the COVERAGE_CORE
environment
variable. Finishes <code>issue 1746</code>_.</p>
</li>
<li>
<p>Fixed incorrect rendering of f-strings with doubled braces, closing
<code>issue 1980</code>_.</p>
</li>
<li>
<p>If the C tracer core can't be imported, a warning
(&quot;no-ctracer&quot;) is issued
with the reason.</p>
</li>
<li>
<p>The C tracer core extension module now conforms to <code>PEP
489</code><em>, closing <code>issue 1977</code></em>. Thanks, <code>Adam
Turner &lt;pull 1978_&gt;</code>_.</p>
</li>
<li>
<p>Fixed a &quot;ValueError: min() arg is an empty sequence&quot; error
caused by strange
empty modules, found by <code>oss-fuzz</code>_.</p>
</li>
</ul>
<p>.. _issue 1746: <a
href="https://redirect.github.com/nedbat/coveragepy/issues/1746">nedbat/coveragepy#1746</a>
.. _issue 1977: <a
href="https://redirect.github.com/nedbat/coveragepy/issues/1977">nedbat/coveragepy#1977</a>
.. _pull 1978: <a
href="https://redirect.github.com/nedbat/coveragepy/pull/1978">nedbat/coveragepy#1978</a>
.. _issue 1980: <a
href="https://redirect.github.com/nedbat/coveragepy/issues/1980">nedbat/coveragepy#1980</a>
.. _PEP 489: <a
href="https://peps.python.org/pep-0489">https://peps.python.org/pep-0489</a>
.. _oss-fuzz: <a
href="https://google.github.io/oss-fuzz/">https://google.github.io/oss-fuzz/</a></p>
<p>.. _changes_7-8-2:</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/nedbat/coveragepy/commit/452d86ffa16cd0c1b729c7d206f59bc1010aee94"><code>452d86f</code></a>
docs: sample HTML for 7.9.0</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/a670927ae6d248f369d54fbe22d9546b6a25c25e"><code>a670927</code></a>
docs: prep for 7.9.0</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/3b0cb870f6abac8e4a7607094c467a7d766a44f4"><code>3b0cb87</code></a>
build: windows 3.14 is fixed</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/bc8602d3d05ac460795a3dc368a8d4bf83f53629"><code>bc8602d</code></a>
fix: issue a warning if the C tracer can't be imported</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/d81a5f8341816f548d21cb6a9a9a0e5cab1e2bcc"><code>d81a5f8</code></a>
fix: prevent ValueError for bizarre empty modules</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/9f94c87677fd86c7ced9ea2f3cddfcc0b4d5bc2d"><code>9f94c87</code></a>
fix: properly render double braces in f-strings. <a
href="https://redirect.github.com/nedbat/coveragepy/issues/1980">#1980</a></li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/1958c3f60acd3f485c6597820f2c9f44711a4025"><code>1958c3f</code></a>
refactor: no need for a version check since we run mypy on late python
now</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/8891312e5d95b6054a95c0ea162f0bf9454686f0"><code>8891312</code></a>
docs: updated cog checksums</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/3ae5add1ab94ff68eb0935b153c162d228cb0c98"><code>3ae5add</code></a>
chore: make upgrade (cog 3.5.0)</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/52407da7b9ed99c8bd1d2536df82ba8749664f50"><code>52407da</code></a>
refactor: mypy==1.16.0 had some complaints</li>
<li>Additional commits viewable in <a
href="https://github.com/nedbat/coveragepy/compare/7.8.2...7.9.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=coverage&package-manager=pip&previous-version=7.8.2&new-version=7.9.0)](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)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> 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)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from
2.23.3 to 3.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/cibuildwheel/releases">pypa/cibuildwheel's
releases</a>.</em></p>
<blockquote>
<h2>v3.0.0</h2>
<p>See <a
href="https://github.com/henryiii"><code>@​henryiii</code></a>'s <a
href="https://iscinumpy.dev/post/cibuildwheel-3-0-0/">release post</a>
for more info on new features!</p>
<ul>
<li>
<p>🌟 Adds the ability to <a
href="https://cibuildwheel.pypa.io/en/stable/platforms/#ios">build
wheels for iOS</a>! Set the <a
href="https://cibuildwheel.pypa.io/en/stable/options/#platform"><code>platform</code>
option</a> to <code>ios</code> on a Mac with the iOS toolchain to try it
out! (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2286">#2286</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2363">#2363</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2432">#2432</a>)</p>
</li>
<li>
<p>🌟 Adds support for the GraalPy interpreter! Enable for your project
using the <a
href="https://cibuildwheel.pypa.io/en/stable/options/#enable"><code>enable</code>
option</a>. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/1538">#1538</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2411">#2411</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2414">#2414</a>)</p>
</li>
<li>
<p>✨ Adds CPython 3.14 support, under the <a
href="https://cibuildwheel.pypa.io/en/stable/options/#enable"><code>enable</code>
option</a> <code>cpython-prerelease</code>. This version of cibuildwheel
uses 3.14.0b2. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2390">#2390</a>)</p>
<p><em>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.</em> (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2390">#2390</a>)</p>
</li>
<li>
<p>✨ Adds the <a
href="https://cibuildwheel.pypa.io/en/stable/options/#test-sources">test-sources
option</a>, and changes the working directory for tests. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2062">#2062</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2284">#2284</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2437">#2437</a>)</p>
<ul>
<li>If this option is set, cibuildwheel will copy the files and folders
specified in <code>test-sources</code> 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.</li>
<li>If this option is not set, behaviour matches v2.x - cibuildwheel
will run the tests from a temporary directory, and you can use the
<code>{project}</code> placeholder in the <code>test-command</code> to
refer to the project directory. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2420">#2420</a>)</li>
</ul>
</li>
<li>
<p>✨ Adds <a
href="https://cibuildwheel.pypa.io/en/stable/options/#dependency-versions"><code>dependency-versions</code></a>
inline syntax (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2122">#2122</a>)</p>
</li>
<li>
<p>✨ Improves support for Pyodide builds and adds the experimental <a
href="https://cibuildwheel.pypa.io/en/stable/options/#pyodide-version"><code>pyodide-version</code></a>
option, which allows you to specify the version of Pyodide to use for
builds. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2002">#2002</a>)</p>
</li>
<li>
<p>✨ Add <code>pyodide-prerelease</code> <a
href="https://cibuildwheel.pypa.io/en/stable/options/#enable">enable</a>
option, with an early build of 0.28 (Python 3.13). (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2431">#2431</a>)</p>
</li>
<li>
<p>✨ Adds the <a
href="https://cibuildwheel.pypa.io/en/stable/options/#test-environment"><code>test-environment</code></a>
option, which allows you to set environment variables for the test
command. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2388">#2388</a>)</p>
</li>
<li>
<p>✨ Adds the <a
href="https://cibuildwheel.pypa.io/en/stable/options/#xbuild-tools"><code>xbuild-tools</code></a>
option, which allows you to specify tools safe for cross-compilation.
Currently only used on iOS; will be useful for Android in the future.
(<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2317">#2317</a>)</p>
</li>
<li>
<p>🛠 The default <a
href="https://cibuildwheel.pypa.io/en/stable/options/#linux-image">manylinux
image</a> has changed from <code>manylinux2014</code> to
<code>manylinux_2_28</code>. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2330">#2330</a>)</p>
</li>
<li>
<p>🛠 EOL images <code>manylinux1</code>, <code>manylinux2010</code>,
<code>manylinux_2_24</code> and <code>musllinux_1_1</code> can no longer
be specified by their shortname. The full OCI name can still be used for
these images, if you wish. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2316">#2316</a>)</p>
</li>
<li>
<p>🛠 Invokes <code>build</code> rather than <code>pip wheel</code> to
build wheels by default. You can control this via the <a
href="https://cibuildwheel.pypa.io/en/stable/options/#build-frontend"><code>build-frontend</code></a>
option. You might notice that you can see your build log output now! (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2321">#2321</a>)</p>
</li>
<li>
<p>🛠 Build verbosity settings have been reworked to have consistent
meanings between build backends when non-zero. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2339">#2339</a>)</p>
</li>
<li>
<p>🛠 Removed the <code>CIBW_PRERELEASE_PYTHONS</code> and
<code>CIBW_FREE_THREADED_SUPPORT</code> options - these have been folded
into the <a
href="https://cibuildwheel.pypa.io/en/stable/options/#enable"><code>enable</code></a>
option instead. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2095">#2095</a>)</p>
</li>
<li>
<p>🛠 Build environments no longer have setuptools and wheel
preinstalled. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2329">#2329</a>)</p>
</li>
<li>
<p>🛠 Use the standard Schema line for the integrated JSONSchema. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2433">#2433</a>)</p>
</li>
<li>
<p>⚠️ 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. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2282">#2282</a>)</p>
</li>
<li>
<p>⚠️ The minimum Python version required to run cibuildwheel is now
Python 3.11. You can still build wheels for Python 3.8 and newer. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/1912">#1912</a>)</p>
</li>
<li>
<p>⚠️ 32-bit Linux wheels no longer built by default - the <a
href="https://cibuildwheel.pypa.io/en/stable/options/#archs">arch</a>
was removed from <code>&quot;auto&quot;</code>. It now requires explicit
<code>&quot;auto32&quot;</code>. Note that modern manylinux images (like
the new default, <code>manylinux_2_28</code>) do not have 32-bit
versions. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2458">#2458</a>)</p>
</li>
<li>
<p>⚠️ 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 <a
href="https://cibuildwheel.pypa.io/en/stable/options/#enable"><code>enable</code>
option</a> to <code>pypy</code> or <code>pypy-eol</code>. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2095">#2095</a>)</p>
</li>
<li>
<p>⚠️ 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. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2386">#2386</a>)</p>
</li>
<li>
<p>📚 A reorganisation of the docs, and numerous updates. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2280">#2280</a>)</p>
</li>
<li>
<p>📚 Use Python 3.14 color output in docs CLI output. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2407">#2407</a>)</p>
</li>
<li>
<p>📚 Docs now primarily use the pyproject.toml name of options, rather
than the environment variable name. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2389">#2389</a>)</p>
</li>
<li>
<p>📚 README table now matches docs and auto-updates. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2427">#2427</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2428">#2428</a>)</p>
</li>
</ul>
<h2>v3.0.0rc3</h2>
<p>Not yet released, but available for testing.</p>
<p>Note - when using a beta version, be sure to check the <a
href="https://cibuildwheel.pypa.io/en/latest/">latest docs</a>, rather
than the stable version, which is still on v2.X.</p>
<!-- raw HTML omitted -->
<p>If you've used previous versions of the beta:</p>
<ul>
<li>⚠️ 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
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2406">#2406</a>](<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2406">pypa/cibuildwheel#2406</a>)
for more information.</li>
<li>⚠️ GraalPy shipped with the identifier <code>gp242-*</code> in
previous betas, this has been changed to <code>gp311_242-*</code> 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.</li>
<li>⚠️ <code>test-sources</code> now uses <code>project</code> directory
instead of the <code>package</code> directory (matching the docs).</li>
<li>⚠️ 32-bit linux builds were removed from
<code>&quot;auto&quot;</code> (the default), now require
<code>&quot;auto32&quot;</code> or explicit archs, as modern manylinux
images (including our new default) do not support them.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md">pypa/cibuildwheel's
changelog</a>.</em></p>
<blockquote>
<h3>v3.0.0</h3>
<p><em>11 June 2025</em></p>
<p>See <a
href="https://github.com/henryiii"><code>@​henryiii</code></a>'s <a
href="https://iscinumpy.dev/post/cibuildwheel-3-0-0/">release post</a>
for more info on new features!</p>
<ul>
<li>
<p>🌟 Adds the ability to <a
href="https://cibuildwheel.pypa.io/en/stable/platforms/#ios">build
wheels for iOS</a>! Set the <a
href="https://cibuildwheel.pypa.io/en/stable/options/#platform"><code>platform</code>
option</a> to <code>ios</code> on a Mac with the iOS toolchain to try it
out! (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2286">#2286</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2363">#2363</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2432">#2432</a>)</p>
</li>
<li>
<p>🌟 Adds support for the GraalPy interpreter! Enable for your project
using the <a
href="https://cibuildwheel.pypa.io/en/stable/options/#enable"><code>enable</code>
option</a>. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/1538">#1538</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2411">#2411</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2414">#2414</a>)</p>
</li>
<li>
<p>✨ Adds CPython 3.14 support, under the <a
href="https://cibuildwheel.pypa.io/en/stable/options/#enable"><code>enable</code>
option</a> <code>cpython-prerelease</code>. This version of cibuildwheel
uses 3.14.0b2. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2390">#2390</a>)</p>
<p><em>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.</em> (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2390">#2390</a>)</p>
</li>
<li>
<p>✨ Adds the <a
href="https://cibuildwheel.pypa.io/en/stable/options/#test-sources">test-sources
option</a>, and changes the working directory for tests. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2062">#2062</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2284">#2284</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2437">#2437</a>)</p>
<ul>
<li>If this option is set, cibuildwheel will copy the files and folders
specified in <code>test-sources</code> 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.</li>
<li>If this option is not set, behaviour matches v2.x - cibuildwheel
will run the tests from a temporary directory, and you can use the
<code>{project}</code> placeholder in the <code>test-command</code> to
refer to the project directory. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2420">#2420</a>)</li>
</ul>
</li>
<li>
<p>✨ Adds <a
href="https://cibuildwheel.pypa.io/en/stable/options/#dependency-versions"><code>dependency-versions</code></a>
inline syntax (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2122">#2122</a>)</p>
</li>
<li>
<p>✨ Improves support for Pyodide builds and adds the experimental <a
href="https://cibuildwheel.pypa.io/en/stable/options/#pyodide-version"><code>pyodide-version</code></a>
option, which allows you to specify the version of Pyodide to use for
builds. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2002">#2002</a>)</p>
</li>
<li>
<p>✨ Add <code>pyodide-prerelease</code> <a
href="https://cibuildwheel.pypa.io/en/stable/options/#enable">enable</a>
option, with an early build of 0.28 (Python 3.13). (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2431">#2431</a>)</p>
</li>
<li>
<p>✨ Adds the <a
href="https://cibuildwheel.pypa.io/en/stable/options/#test-environment"><code>test-environment</code></a>
option, which allows you to set environment variables for the test
command. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2388">#2388</a>)</p>
</li>
<li>
<p>✨ Adds the <a
href="https://cibuildwheel.pypa.io/en/stable/options/#xbuild-tools"><code>xbuild-tools</code></a>
option, which allows you to specify tools safe for cross-compilation.
Currently only used on iOS; will be useful for Android in the future.
(<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2317">#2317</a>)</p>
</li>
<li>
<p>🛠 The default <a
href="https://cibuildwheel.pypa.io/en/stable/options/#linux-image">manylinux
image</a> has changed from <code>manylinux2014</code> to
<code>manylinux_2_28</code>. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2330">#2330</a>)</p>
</li>
<li>
<p>🛠 EOL images <code>manylinux1</code>, <code>manylinux2010</code>,
<code>manylinux_2_24</code> and <code>musllinux_1_1</code> can no longer
be specified by their shortname. The full OCI name can still be used for
these images, if you wish. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2316">#2316</a>)</p>
</li>
<li>
<p>🛠 Invokes <code>build</code> rather than <code>pip wheel</code> to
build wheels by default. You can control this via the <a
href="https://cibuildwheel.pypa.io/en/stable/options/#build-frontend"><code>build-frontend</code></a>
option. You might notice that you can see your build log output now! (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2321">#2321</a>)</p>
</li>
<li>
<p>🛠 Build verbosity settings have been reworked to have consistent
meanings between build backends when non-zero. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2339">#2339</a>)</p>
</li>
<li>
<p>🛠 Removed the <code>CIBW_PRERELEASE_PYTHONS</code> and
<code>CIBW_FREE_THREADED_SUPPORT</code> options - these have been folded
into the <a
href="https://cibuildwheel.pypa.io/en/stable/options/#enable"><code>enable</code></a>
option instead. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2095">#2095</a>)</p>
</li>
<li>
<p>🛠 Build environments no longer have setuptools and wheel
preinstalled. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2329">#2329</a>)</p>
</li>
<li>
<p>🛠 Use the standard Schema line for the integrated JSONSchema. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2433">#2433</a>)</p>
</li>
<li>
<p>⚠️ 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. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2282">#2282</a>)</p>
</li>
<li>
<p>⚠️ The minimum Python version required to run cibuildwheel is now
Python 3.11. You can still build wheels for Python 3.8 and newer. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/1912">#1912</a>)</p>
</li>
<li>
<p>⚠️ 32-bit Linux wheels no longer built by default - the <a
href="https://cibuildwheel.pypa.io/en/stable/options/#archs">arch</a>
was removed from <code>&quot;auto&quot;</code>. It now requires explicit
<code>&quot;auto32&quot;</code>. Note that modern manylinux images (like
the new default, <code>manylinux_2_28</code>) do not have 32-bit
versions. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2458">#2458</a>)</p>
</li>
<li>
<p>⚠️ 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 <a
href="https://cibuildwheel.pypa.io/en/stable/options/#enable"><code>enable</code>
option</a> to <code>pypy</code> or <code>pypy-eol</code>. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2095">#2095</a>)</p>
</li>
<li>
<p>⚠️ 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. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2386">#2386</a>)</p>
</li>
<li>
<p>📚 A reorganisation of the docs, and numerous updates. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2280">#2280</a>)</p>
</li>
<li>
<p>📚 Use Python 3.14 color output in docs CLI output. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2407">#2407</a>)</p>
</li>
<li>
<p>📚 Docs now primarily use the pyproject.toml name of options, rather
than the environment variable name. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2389">#2389</a>)</p>
</li>
<li>
<p>📚 README table now matches docs and auto-updates. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2427">#2427</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2428">#2428</a>)</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/5f22145df44122af0f5a201f93cf0207171beca7"><code>5f22145</code></a>
Bump version: v3.0.0</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/a73177515a438c947d6e6e7a7356dfe67991d740"><code>a731775</code></a>
Docs: mobile layout fix (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2466">#2466</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/ff86a6457781e53a6edbb60d3c2677c64be4f282"><code>ff86a64</code></a>
docs: add tips for numpy (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2465">#2465</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/6f5e480fec0d367f9230ee0be4bcb56136eeec43"><code>6f5e480</code></a>
chore: use pip's groups in CI (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2463">#2463</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/3c5ff0988806752c5a6502c845f9edc2d98095d6"><code>3c5ff09</code></a>
Bump version: v3.0.0rc3</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/1b9a56e01487f7fd9146e622505ea22d4d35e954"><code>1b9a56e</code></a>
[Bot] Update dependencies (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2455">#2455</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/aa9fe2a24edd67db40cbd394e4621a479e9e69f1"><code>aa9fe2a</code></a>
ci: use uv python for docs (binary b1) (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2462">#2462</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/e188d9e26007031c475bb5293b90c5f386ecb439"><code>e188d9e</code></a>
feat: remove 32-bit linux from auto arch, fix auto32 on linux aarch64
(<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2458">#2458</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/3fa7bd1e72c565f4efc61363db6b2f14dbdbb198"><code>3fa7bd1</code></a>
ci: fix cirrus and reduce rebuilds (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2460">#2460</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/c6368be701a99f8315656f925236dbcec5b9b9c2"><code>c6368be</code></a>
Move to the <code>OS-latest</code> image tags on Azure Pipelines (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2461">#2461</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/cibuildwheel/compare/v2.23.3...v3.0.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pypa/cibuildwheel&package-manager=github_actions&previous-version=2.23.3&new-version=3.0.0)](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)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> 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)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [pytest-cov](https://github.com/pytest-dev/pytest-cov) from 6.1.1
to 6.2.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst">pytest-cov's
changelog</a>.</em></p>
<blockquote>
<h2>6.2.0 (2025-06-11)</h2>
<ul>
<li>
<p>The plugin now adds 3 rules in the filter warnings configuration to
prevent common coverage warnings being raised as obscure errors::</p>
<p>default:unclosed database in &lt;sqlite3.Connection object
at:ResourceWarning
once::PytestCovWarning
once::CoverageWarning</p>
<p>This fixes most of the bad interactions that are occurring on pytest
8.4 with <code>filterwarnings=error</code>.</p>
<p>The plugin will check if there already matching rules for the 3
categories
(<code>ResourceWarning</code>, <code>PytestCovWarning</code>,
<code>CoverageWarning</code>) and message (<code>unclosed database in
&lt;sqlite3.Connection object at</code>) before adding the filters.</p>
<p>This means you can have this in your pytest configuration for
complete oblivion (not recommended, if that is not clear)::</p>
<p>filterwarnings = [
&quot;error&quot;,
&quot;ignore:unclosed database in &lt;sqlite3.Connection object
at:ResourceWarning&quot;,
&quot;ignore::PytestCovWarning&quot;,
&quot;ignore::CoverageWarning&quot;,
]</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pytest-dev/pytest-cov/commit/dca5723086a00e8c145a84761b0ce810a8079892"><code>dca5723</code></a>
Bump version: 6.1.1 → 6.2.0</li>
<li><a
href="https://github.com/pytest-dev/pytest-cov/commit/f69166a08444db4736c611cdc7746eeac9a2f158"><code>f69166a</code></a>
Also trigger the sqlite warning.</li>
<li><a
href="https://github.com/pytest-dev/pytest-cov/commit/9dabad3f6baa8e3b66bb20e26ec65eabfbbbd604"><code>9dabad3</code></a>
Do not mess with the warnings if the plugin is disabled. Also, upgrade
to new...</li>
<li><a
href="https://github.com/pytest-dev/pytest-cov/commit/222e991a8d6e39c4440ab85a1a8b621a6a03e608"><code>222e991</code></a>
Do some checks before adding the filters to allow users to silence these
warn...</li>
<li><a
href="https://github.com/pytest-dev/pytest-cov/commit/ddc162b2bb175df13ba71184b6329dc8a6a0b1da"><code>ddc162b</code></a>
Update changelog.</li>
<li><a
href="https://github.com/pytest-dev/pytest-cov/commit/22cc4e79190bc6cda738397a225b4a723934b5f7"><code>22cc4e7</code></a>
Bump.</li>
<li><a
href="https://github.com/pytest-dev/pytest-cov/commit/5f6d020049045d42583b90cd6882713cc597b89b"><code>5f6d020</code></a>
Add some basic warnings configuration overrides for the common
offenders. Sho...</li>
<li><a
href="https://github.com/pytest-dev/pytest-cov/commit/d2a2557d96b8526be2fd17eccd6bed352e2dbe65"><code>d2a2557</code></a>
Add latest xdist.</li>
<li><a
href="https://github.com/pytest-dev/pytest-cov/commit/cc06ea33c6130d0c128128efe238530003a7425b"><code>cc06ea3</code></a>
Make this pass for now.</li>
<li><a
href="https://github.com/pytest-dev/pytest-cov/commit/b221fb1bfa5c90622881789a106a91ed9750a4f3"><code>b221fb1</code></a>
Add reproducer for <a
href="https://redirect.github.com/pytest-dev/pytest-cov/issues/693">#693</a>.</li>
<li>Additional commits viewable in <a
href="https://github.com/pytest-dev/pytest-cov/compare/v6.1.1...v6.2.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pytest-cov&package-manager=pip&previous-version=6.1.1&new-version=6.2.0)](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)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> 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)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.3.5 to
8.4.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pytest-dev/pytest/releases">pytest's
releases</a>.</em></p>
<blockquote>
<h2>8.4.0</h2>
<h1>pytest 8.4.0 (2025-06-02)</h1>
<h2>Removals and backward incompatible breaking changes</h2>
<ul>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/11372">#11372</a>:
Async tests will now fail, instead of warning+skipping, if you don't
have any suitable plugin installed.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/12346">#12346</a>:
Tests will now fail, instead of raising a warning, if they return any
value other than None.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/12874">#12874</a>:
We dropped support for Python 3.8 following its end of life
(2024-10-07).</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/12960">#12960</a>:
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.</p>
<p>See <code>the docs &lt;yield tests
deprecated&gt;</code>{.interpreted-text role=&quot;ref&quot;} for more
information.</p>
</li>
</ul>
<h2>Deprecations (removal in next major release)</h2>
<ul>
<li><a
href="https://redirect.github.com/pytest-dev/pytest/issues/10839">#10839</a>:
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 <code>autouse=True</code>. For guidance on
how to work around this warning see
<code>sync-test-async-fixture</code>{.interpreted-text
role=&quot;ref&quot;}.</li>
</ul>
<h2>New features</h2>
<ul>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/11538">#11538</a>:
Added <code>pytest.RaisesGroup</code>{.interpreted-text
role=&quot;class&quot;} as an equivalent to
<code>pytest.raises</code>{.interpreted-text role=&quot;func&quot;} for
expecting <code>ExceptionGroup</code>{.interpreted-text
role=&quot;exc&quot;}. Also adds
<code>pytest.RaisesExc</code>{.interpreted-text role=&quot;class&quot;}
which is now the logic behind
<code>pytest.raises</code>{.interpreted-text role=&quot;func&quot;} and
used as parameter to <code>pytest.RaisesGroup</code>{.interpreted-text
role=&quot;class&quot;}. <code>RaisesGroup</code> includes the ability
to specify multiple different expected exceptions, the structure of
nested exception groups, and flags for emulating <code>except*
&lt;except_star&gt;</code>{.interpreted-text role=&quot;ref&quot;}. See
<code>assert-matching-exception-groups</code>{.interpreted-text
role=&quot;ref&quot;} and docstrings for more information.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/12081">#12081</a>:
Added <code>capteesys</code>{.interpreted-text role=&quot;fixture&quot;}
to capture AND pass output to next handler set by
<code>--capture=</code>.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/12504">#12504</a>:
<code>pytest.mark.xfail</code>{.interpreted-text role=&quot;func&quot;}
now accepts <code>pytest.RaisesGroup</code>{.interpreted-text
role=&quot;class&quot;} for the <code>raises</code> parameter when you
expect an exception group. You can also pass a
<code>pytest.RaisesExc</code>{.interpreted-text role=&quot;class&quot;}
if you e.g. want to make use of the <code>check</code> parameter.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/12713">#12713</a>:
New [--force-short-summary]{.title-ref} option to force condensed
summary output regardless of verbosity level.</p>
<p>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.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/12749">#12749</a>:
pytest traditionally collects classes/functions in the test module
namespace even if they are imported from another file.</p>
<p>For example:</p>
<pre lang="python"><code># contents of src/domain.py
class Testament: ...
<h1>contents of tests/test_testament.py</h1>
<p>from domain import Testament</p>
<p>def test_testament(): ...
</code></pre></p>
<p>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.</p>
<p>This behavior can now be prevented by setting the new
<code>collect_imported_tests</code>{.interpreted-text
role=&quot;confval&quot;} configuration option to <code>false</code>,
which will make pytest collect classes/functions from test files
<strong>only</strong> if they are defined in that file.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pytest-dev/pytest/commit/315b3ae798fe38264b3ab2312dced212c46f1e21"><code>315b3ae</code></a>
Prepare release version 8.4.0</li>
<li><a
href="https://github.com/pytest-dev/pytest/commit/1498ba3aa57be19d649e64ee2db0d90ee315abad"><code>1498ba3</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/13467">#13467</a>
from pytest-dev/towncrier-create</li>
<li><a
href="https://github.com/pytest-dev/pytest/commit/e4389acb4d650f349a728cc42067d8c1a246bdcb"><code>e4389ac</code></a>
Remove resultlog from the docs (<a
href="https://redirect.github.com/pytest-dev/pytest/issues/13465">#13465</a>)</li>
<li><a
href="https://github.com/pytest-dev/pytest/commit/64b230119cb7c260e1e6ec6887ebc5b3851d39fc"><code>64b2301</code></a>
scripts/release: add missing <code>build</code> to
<code>towncrier</code> call</li>
<li><a
href="https://github.com/pytest-dev/pytest/commit/4c205cfcb08083a2893e07b6d994bd38d183b64a"><code>4c205cf</code></a>
testing/plugins_integration: update Django (<a
href="https://redirect.github.com/pytest-dev/pytest/issues/13463">#13463</a>)</li>
<li><a
href="https://github.com/pytest-dev/pytest/commit/4dcbcc91ff229d69f535aeac75a4d273ce38ca3b"><code>4dcbcc9</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/13458">#13458</a>
from pytest-dev/dup-param-error</li>
<li><a
href="https://github.com/pytest-dev/pytest/commit/529301611db71cc5edc40464f3cfa1e95885a1e6"><code>5293016</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/13459">#13459</a>
from pytest-dev/pyright-minor-fixes</li>
<li><a
href="https://github.com/pytest-dev/pytest/commit/7a481812a28b141171141abf39cc9bf351e0cbe1"><code>7a48181</code></a>
Add pyright configuration</li>
<li><a
href="https://github.com/pytest-dev/pytest/commit/9fc6db9a550544ce4fb1f889dde3cf1165e7e337"><code>9fc6db9</code></a>
pytester: avoid confusing <code>x</code> self parameter</li>
<li><a
href="https://github.com/pytest-dev/pytest/commit/9aa198bdef285d007305fb14c25d81e9996be518"><code>9aa198b</code></a>
mark/expression: fix self -&gt; cls</li>
<li>Additional commits viewable in <a
href="https://github.com/pytest-dev/pytest/compare/8.3.5...8.4.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pytest&package-manager=pip&previous-version=8.3.5&new-version=8.4.0)](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)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> 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)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…t the quote_cookie fix (#11197)

Co-authored-by: J. Nick Koston <nick@koston.org>
…t the quote_cookie fix (#11196)

Co-authored-by: J. Nick Koston <nick@koston.org>
… using session's event loop (#11199)

Co-authored-by: J. Nick Koston <nick@koston.org>
Fixes #11147
Bumps [pycares](https://github.com/saghul/pycares) from 4.8.0 to 4.9.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/saghul/pycares/commit/4c761b47fd5116d5bb5cf46c509e07d8a9d0f99a"><code>4c761b4</code></a>
Set version to 4.9.0</li>
<li><a
href="https://github.com/saghul/pycares/commit/c4131d5792c48fb334fe5cacac2eb6dd7d5b5083"><code>c4131d5</code></a>
Add support for windows arm64 (<a
href="https://redirect.github.com/saghul/pycares/issues/233">#233</a>)</li>
<li><a
href="https://github.com/saghul/pycares/commit/ebfd7d71eb8e74bc1057a361ea79a5906db510d4"><code>ebfd7d7</code></a>
Fix shutdown race</li>
<li><a
href="https://github.com/saghul/pycares/commit/ca0a4c9c59ec193630a5cac6f3f753d10dcbb8b5"><code>ca0a4c9</code></a>
Pin Python version to 3.13.3 to avoid Windows build error</li>
<li><a
href="https://github.com/saghul/pycares/commit/b572e287bcf411eac173df2ae6ffba34a53deca9"><code>b572e28</code></a>
build(deps): bump pypa/cibuildwheel from 2.22.0 to 2.23.3 (<a
href="https://redirect.github.com/saghul/pycares/issues/227">#227</a>)</li>
<li><a
href="https://github.com/saghul/pycares/commit/1e2aae00791332f5fe4be538af3b10e3881155d9"><code>1e2aae0</code></a>
Create dependabot configuration (<a
href="https://redirect.github.com/saghul/pycares/issues/226">#226</a>)</li>
<li><a
href="https://github.com/saghul/pycares/commit/1e4bd7748c8eee733b7c7f26bb2e48bc188002dd"><code>1e4bd77</code></a>
Update README.rst</li>
<li><a
href="https://github.com/saghul/pycares/commit/58c5165d53fa562e36ca117051ef5eb46f05dc59"><code>58c5165</code></a>
USe Python 3.11 to build the docs</li>
<li><a
href="https://github.com/saghul/pycares/commit/031e6ad05b1d360fde2a36b9d2f7ca0e8193e062"><code>031e6ad</code></a>
Fix building docs</li>
<li><a
href="https://github.com/saghul/pycares/commit/186e2786ad9e59cb1cace9a2d2fdae3e83b4b77a"><code>186e278</code></a>
Rename .readthedocs.yml to .readthedocs.yaml</li>
<li>Additional commits viewable in <a
href="https://github.com/saghul/pycares/compare/v4.8.0...v4.9.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pycares&package-manager=pip&previous-version=4.8.0&new-version=4.9.0)](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)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> 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)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.11.5 to
2.11.6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pydantic/pydantic/releases">pydantic's
releases</a>.</em></p>
<blockquote>
<h2>v2.11.6 2025-06-13</h2>
<h2>v2.11.6 (2025-06-13)</h2>
<h3>What's Changed</h3>
<h4>Fixes</h4>
<ul>
<li>Rebuild dataclass fields before schema generation by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11949">#11949</a></li>
<li>Always store the original field assignment on <code>FieldInfo</code>
by <a href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11946">#11946</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/pydantic/pydantic/compare/v2.11.5...v2.11.6">https://github.com/pydantic/pydantic/compare/v2.11.5...v2.11.6</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pydantic/pydantic/blob/main/HISTORY.md">pydantic's
changelog</a>.</em></p>
<blockquote>
<h2>v2.11.6 (2025-06-13)</h2>
<p><a
href="https://github.com/pydantic/pydantic/releases/tag/v2.11.6">GitHub
release</a></p>
<h3>What's Changed</h3>
<h4>Fixes</h4>
<ul>
<li>Rebuild dataclass fields before schema generation by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11949">#11949</a></li>
<li>Always store the original field assignment on <code>FieldInfo</code>
by <a href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11946">#11946</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pydantic/pydantic/commit/3987b23db4b31ff35e9fa15c21c0c1d1c9808838"><code>3987b23</code></a>
Prepare release v2.11.6</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/dc7a9d20bee55a3a6e7397ee46abfcd9057b627b"><code>dc7a9d2</code></a>
Always store the original field assignment on
<code>FieldInfo</code></li>
<li><a
href="https://github.com/pydantic/pydantic/commit/c284c279a5b8c95d32ab5ec31d2511b3b27bfa87"><code>c284c27</code></a>
Rebuild dataclass fields before schema generation</li>
<li>See full diff in <a
href="https://github.com/pydantic/pydantic/compare/v2.11.5...v2.11.6">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pydantic&package-manager=pip&previous-version=2.11.5&new-version=2.11.6)](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)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> 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)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [towncrier](https://github.com/twisted/towncrier) from 23.11.0 to
24.8.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/twisted/towncrier/releases">towncrier's
releases</a>.</em></p>
<blockquote>
<h2>Towncrier 24.8.0 (2024-08-23)</h2>
<h3>Features</h3>
<ul>
<li>Add <code>.gitkeep</code> as an ignored filename.
(<a
href="https://redirect.github.com/twisted/towncrier/issues/643">#643</a>)</li>
<li>Config <!-- raw HTML omitted -->ignore<!-- raw HTML omitted -->
option now supports
wildcard matching via
<a
href="https://docs.python.org/3/library/fnmatch.html#fnmatch.fnmatch">fnmatch</a>.
(<a
href="https://redirect.github.com/twisted/towncrier/issues/644">#644</a>)</li>
<li>Add a config for enforcing issue names using regex.
(<a
href="https://redirect.github.com/twisted/towncrier/issues/649">#649</a>)</li>
</ul>
<h3>Bugfixes</h3>
<ul>
<li>The template file is now ignored based only on the file name.
(<a
href="https://redirect.github.com/twisted/towncrier/issues/638">#638</a>)</li>
<li>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](<a
href="https://redirect.github.com/twisted/towncrier/pull/610">twisted/towncrier#610</a>)).
(<a
href="https://redirect.github.com/twisted/towncrier/issues/651">#651</a>)</li>
<li>Fixed an issue where <!-- raw HTML omitted -->issue_template<!-- raw
HTML omitted -->
failed recognizing the issue name of files with a non-category
suffix (<!-- raw HTML omitted -->.md<!-- raw HTML omitted -->)
(<a
href="https://redirect.github.com/twisted/towncrier/issues/654">#654</a>)</li>
<li>Fixed a bug where orphan news fragments (e.g. +abc1234.feature)
would fail when an <!-- raw HTML omitted -->issue_pattern<!-- raw HTML
omitted --> is
configured. Orphan news fragments are now excempt from <!-- raw HTML
omitted -->issue_pattern<!-- raw HTML omitted --> checks.
(<a
href="https://redirect.github.com/twisted/towncrier/issues/655">#655</a>)</li>
</ul>
<h3>Deprecations and Removals</h3>
<ul>
<li>
<p>Moved towncrier version definition from src/towncrier/_version.py
to pyproject.toml</p>
<p>towncrier.__version__ was removed, after being deprecated in
23.6.0. (<a
href="https://redirect.github.com/twisted/towncrier/issues/640">#640</a>)</p>
</li>
</ul>
<h3>Misc</h3>
<ul>
<li><a
href="https://redirect.github.com/twisted/towncrier/issues/640">#640</a>,
<a
href="https://redirect.github.com/twisted/towncrier/issues/657">#657</a></li>
</ul>
<h2>Towncrier 24.8.0rc1 (2024-08-19)</h2>
<h3>Features</h3>
<ul>
<li>Add <code>.gitkeep</code> as an ignored filename.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/twisted/towncrier/blob/trunk/NEWS.rst">towncrier's
changelog</a>.</em></p>
<blockquote>
<h1>Towncrier 24.8.0 (2024-08-23)</h1>
<p>No changes since the previous release candidate.</p>
<h2>Features</h2>
<ul>
<li>Add <code>.gitkeep</code> as an ignored filename.
(<code>[#643](twisted/towncrier#643)
&lt;https://github.com/twisted/towncrier/issues/643&gt;</code>_)</li>
<li>Config <code>ignore</code> option now supports wildcard matching via
<code>fnmatch
&lt;https://docs.python.org/3/library/fnmatch.html#fnmatch.fnmatch&gt;</code><em>.
(<code>[#644](twisted/towncrier#644)
&lt;https://github.com/twisted/towncrier/issues/644&gt;</code></em>)</li>
<li>Add a config for enforcing issue names using regex.
(<code>[#649](twisted/towncrier#649)
&lt;https://github.com/twisted/towncrier/issues/649&gt;</code>_)</li>
</ul>
<h2>Bugfixes</h2>
<ul>
<li>The template file is now ignored based only on the file name.
(<code>[#638](twisted/towncrier#638)
&lt;https://github.com/twisted/towncrier/issues/638&gt;</code>_)</li>
<li>Control of the header formatting is once again completely up to the
user when they are writing markdown files (fixes a regression introduced
in <a
href="https://redirect.github.com/twisted/towncrier/pull/610">#610</a>).
(<code>[#651](twisted/towncrier#651)
&lt;https://github.com/twisted/towncrier/issues/651&gt;</code>_)</li>
<li>Fixed an issue where <code>issue_template</code> failed recognizing
the issue name of files with a non-category suffix (<code>.md</code>)
(<code>[#654](twisted/towncrier#654)
&lt;https://github.com/twisted/towncrier/issues/654&gt;</code>_)</li>
<li>Fixed a bug where orphan news fragments (e.g. +abc1234.feature)
would fail when an <code>issue_pattern</code> is configured. Orphan news
fragments are now excempt from <code>issue_pattern</code> checks.
(<code>[#655](twisted/towncrier#655)
&lt;https://github.com/twisted/towncrier/issues/655&gt;</code>_)</li>
</ul>
<h2>Deprecations and Removals</h2>
<ul>
<li>
<p>Moved towncrier version definition from src/towncrier/_version.py to
pyproject.toml</p>
<p>towncrier.<strong>version</strong> was removed, after being
deprecated in 23.6.0.
(<code>[#640](twisted/towncrier#640)
&lt;https://github.com/twisted/towncrier/issues/640&gt;</code>_)</p>
</li>
</ul>
<h2>Misc</h2>
<ul>
<li><code>[#640](twisted/towncrier#640)
&lt;https://github.com/twisted/towncrier/issues/640&gt;</code><em>,
<code>[#657](twisted/towncrier#657)
&lt;https://github.com/twisted/towncrier/issues/657&gt;</code></em></li>
</ul>
<h1>Towncrier 24.7.1 (2024-07-31)</h1>
<p>No significant changes since the previous release candidate.</p>
<h2>Bugfixes</h2>
<ul>
<li>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.
(<code>[#632](twisted/towncrier#632)
&lt;https://github.com/twisted/towncrier/issues/632&gt;</code>_)</li>
</ul>
<p>Misc</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/twisted/towncrier/commit/833647e31cde8fd68f0e53063b10e8f3ae4214c3"><code>833647e</code></a>
Update final release.</li>
<li><a
href="https://github.com/twisted/towncrier/commit/f944515bd9b2c46d2cc2fc75bae35f88e4890e0d"><code>f944515</code></a>
Update release docs.</li>
<li><a
href="https://github.com/twisted/towncrier/commit/261c8a23ec5b6a72f39230baf56698fba57bcbc9"><code>261c8a2</code></a>
venv/bin/towncrier build --yes</li>
<li><a
href="https://github.com/twisted/towncrier/commit/89ff29cd85ed7a01868df46746fcb287d9ba5140"><code>89ff29c</code></a>
Update version.</li>
<li><a
href="https://github.com/twisted/towncrier/commit/cb09ddf049e696c25796f8466081a66933577903"><code>cb09ddf</code></a>
Remove a stray &quot;c&quot; in the docs (<a
href="https://redirect.github.com/twisted/towncrier/issues/657">#657</a>)</li>
<li><a
href="https://github.com/twisted/towncrier/commit/4aa8174dc7e843e7b71fc3092216dc2915065135"><code>4aa8174</code></a>
handle empty issue names (<a
href="https://redirect.github.com/twisted/towncrier/issues/656">#656</a>)</li>
<li><a
href="https://github.com/twisted/towncrier/commit/c24e5a1bdcb7b524181d4a84cfa991b8e498e8e4"><code>c24e5a1</code></a>
Update src/towncrier/test/test_check.py</li>
<li><a
href="https://github.com/twisted/towncrier/commit/4d1cd360bc5bfd6722ee5ef079cfbd7f7aa9e512"><code>4d1cd36</code></a>
Merge branch 'trunk' of <a
href="https://github.com/dorschw/towncrier">https://github.com/dorschw/towncrier</a>
into trunk</li>
<li><a
href="https://github.com/twisted/towncrier/commit/51129c7042f0a7783cf3a6d9630bbde2fd50216c"><code>51129c7</code></a>
fix comment</li>
<li><a
href="https://github.com/twisted/towncrier/commit/4a94d4a99f9560ee02f027f33ec41325b5bd51ab"><code>4a94d4a</code></a>
Use terminology from tutorial</li>
<li>Additional commits viewable in <a
href="https://github.com/twisted/towncrier/compare/23.11.0...24.8.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=towncrier&package-manager=pip&previous-version=23.11.0&new-version=24.8.0)](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)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> 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)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [typing-extensions](https://github.com/python/typing_extensions)
from 4.13.2 to 4.14.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/python/typing_extensions/releases">typing-extensions's
releases</a>.</em></p>
<blockquote>
<h2>4.14.0</h2>
<p>This release adds several new features, including experimental
support for inline typed dictionaries (<a
href="https://peps.python.org/pep-0764/">PEP 764</a>) and sentinels (<a
href="https://peps.python.org/pep-0661/">PEP 661</a>), and support for
changes in Python 3.14. In addition, Python 3.8 is no longer
supported.</p>
<p>Changes since 4.14.0rc1:</p>
<ul>
<li>Remove <code>__or__</code> and <code>__ror__</code> methods from
<code>typing_extensions.Sentinel</code>
on Python versions &lt;3.10. PEP 604 was introduced in Python 3.10, and
<code>typing_extensions</code> does not generally attempt to backport
PEP-604 methods
to prior versions.</li>
<li>Further update <code>typing_extensions.evaluate_forward_ref</code>
with changes in Python 3.14.</li>
</ul>
<p>Changes included in 4.14.0rc1:</p>
<ul>
<li>Drop support for Python 3.8 (including PyPy-3.8). Patch by <a
href="https://github.com/Viicos">Victorien Plot</a>.</li>
<li>Do not attempt to re-export names that have been removed from
<code>typing</code>,
anticipating the removal of <code>typing.no_type_check_decorator</code>
in Python 3.15.
Patch by Jelle Zijlstra.</li>
<li>Update <code>typing_extensions.Format</code>,
<code>typing_extensions.evaluate_forward_ref</code>, and
<code>typing_extensions.TypedDict</code> to align
with changes in Python 3.14. Patches by Jelle Zijlstra.</li>
<li>Fix tests for Python 3.14 and 3.15. Patches by Jelle Zijlstra.</li>
</ul>
<p>New features:</p>
<ul>
<li>Add support for inline typed dictionaries (<a
href="https://peps.python.org/pep-0764/">PEP 764</a>).
Patch by <a href="https://github.com/Viicos">Victorien Plot</a>.</li>
<li>Add <code>typing_extensions.Reader</code> and
<code>typing_extensions.Writer</code>. Patch by
Sebastian Rittau.</li>
<li>Add support for sentinels (<a
href="https://peps.python.org/pep-0661/">PEP 661</a>). Patch by
<a href="https://github.com/Viicos">Victorien Plot</a>.</li>
</ul>
<h2>4.14.0rc1</h2>
<p>Major changes:</p>
<ul>
<li>Drop support for Python 3.8 (including PyPy-3.8). Patch by <a
href="https://github.com/Viicos">Victorien Plot</a>.</li>
<li>Do not attempt to re-export names that have been removed from
<code>typing</code>,
anticipating the removal of <code>typing.no_type_check_decorator</code>
in Python 3.15.
Patch by Jelle Zijlstra.</li>
<li>Update <code>typing_extensions.Format</code>,
<code>typing_extensions.evaluate_forward_ref</code>, and
<code>typing_extensions.TypedDict</code> to align
with changes in Python 3.14. Patches by Jelle Zijlstra.</li>
<li>Fix tests for Python 3.14 and 3.15. Patches by Jelle Zijlstra.</li>
</ul>
<p>New features:</p>
<ul>
<li>Add support for inline typed dictionaries (<a
href="https://peps.python.org/pep-0764/">PEP 764</a>).
Patch by <a href="https://github.com/Viicos">Victorien Plot</a>.</li>
<li>Add <code>typing_extensions.Reader</code> and
<code>typing_extensions.Writer</code>. Patch by
Sebastian Rittau.</li>
<li>Add support for sentinels (<a
href="https://peps.python.org/pep-0661/">PEP 661</a>). Patch by</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/python/typing_extensions/blob/main/CHANGELOG.md">typing-extensions's
changelog</a>.</em></p>
<blockquote>
<h1>Release 4.14.0 (June 2, 2025)</h1>
<p>Changes since 4.14.0rc1:</p>
<ul>
<li>Remove <code>__or__</code> and <code>__ror__</code> methods from
<code>typing_extensions.Sentinel</code>
on Python versions &lt;3.10. PEP 604 was introduced in Python 3.10, and
<code>typing_extensions</code> does not generally attempt to backport
PEP-604 methods
to prior versions.</li>
<li>Further update <code>typing_extensions.evaluate_forward_ref</code>
with changes in Python 3.14.</li>
</ul>
<h1>Release 4.14.0rc1 (May 24, 2025)</h1>
<ul>
<li>Drop support for Python 3.8 (including PyPy-3.8). Patch by <a
href="https://github.com/Viicos">Victorien Plot</a>.</li>
<li>Do not attempt to re-export names that have been removed from
<code>typing</code>,
anticipating the removal of <code>typing.no_type_check_decorator</code>
in Python 3.15.
Patch by Jelle Zijlstra.</li>
<li>Update <code>typing_extensions.Format</code>,
<code>typing_extensions.evaluate_forward_ref</code>, and
<code>typing_extensions.TypedDict</code> to align
with changes in Python 3.14. Patches by Jelle Zijlstra.</li>
<li>Fix tests for Python 3.14 and 3.15. Patches by Jelle Zijlstra.</li>
</ul>
<p>New features:</p>
<ul>
<li>Add support for inline typed dictionaries (<a
href="https://peps.python.org/pep-0764/">PEP 764</a>).
Patch by <a href="https://github.com/Viicos">Victorien Plot</a>.</li>
<li>Add <code>typing_extensions.Reader</code> and
<code>typing_extensions.Writer</code>. Patch by
Sebastian Rittau.</li>
<li>Add support for sentinels (<a
href="https://peps.python.org/pep-0661/">PEP 661</a>). Patch by
<a href="https://github.com/Viicos">Victorien Plot</a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/python/typing_extensions/commit/b07d24525615ba9377e47aaf5a26650a2517b2c4"><code>b07d245</code></a>
Prepare release 4.14.0 (<a
href="https://redirect.github.com/python/typing_extensions/issues/612">#612</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/fcf5265b3040337db1cfd6b786648a8ed0aeb0bf"><code>fcf5265</code></a>
Backport evaluate_forward_ref() changes (<a
href="https://redirect.github.com/python/typing_extensions/issues/611">#611</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/fadc1edbcfd942074007875007870c1df6acd4d0"><code>fadc1ed</code></a>
Remove PEP-604 methods from <code>Sentinel</code> on Python &lt;3.10 (<a
href="https://redirect.github.com/python/typing_extensions/issues/605">#605</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/44de568f73a93f29e52c2fc2d5f149305a4a3bae"><code>44de568</code></a>
Add 3.14 to project classifiers and tox.ini (<a
href="https://redirect.github.com/python/typing_extensions/issues/604">#604</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/36cc47605804318bf40ee26d765de2070741c25c"><code>36cc476</code></a>
Prepare release 4.14.0rc1 (<a
href="https://redirect.github.com/python/typing_extensions/issues/603">#603</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/ec1876c65000ac86faade29552245178918a7a69"><code>ec1876c</code></a>
More fixes for 3.14 and 3.15 (<a
href="https://redirect.github.com/python/typing_extensions/issues/602">#602</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/e89d789104978ba0f3abdb52b1592aa28fedd00f"><code>e89d789</code></a>
Update <code>_caller()</code> implementation (<a
href="https://redirect.github.com/python/typing_extensions/issues/598">#598</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/34bfd8423a22797619b14aa622ac0be82f6bf50d"><code>34bfd84</code></a>
third party: fix typeguard (<a
href="https://redirect.github.com/python/typing_extensions/issues/600">#600</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/479dae13d084c070301aa91265d1af278b181457"><code>479dae1</code></a>
Add support for sentinels (PEP 661) (<a
href="https://redirect.github.com/python/typing_extensions/issues/594">#594</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/f74a56a725e8d60727fccbeebe0dd71037bdf4bb"><code>f74a56a</code></a>
Update PEP 649/749 implementation (<a
href="https://redirect.github.com/python/typing_extensions/issues/596">#596</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/python/typing_extensions/compare/4.13.2...4.14.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=typing-extensions&package-manager=pip&previous-version=4.13.2&new-version=4.14.0)](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)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> 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)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [aiodns](https://github.com/saghul/aiodns) from 3.4.0 to 3.5.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/aio-libs/aiodns/blob/master/ChangeLog">aiodns's
changelog</a>.</em></p>
<blockquote>
<h1>3.5.0</h1>
<ul>
<li>Added explicit close method (<a
href="https://redirect.github.com/saghul/aiodns/issues/166">#166</a>)
<ul>
<li>Allows proper cleanup of resources on demand</li>
</ul>
</li>
<li>Fixed return type signature for CNAME and SOA records (<a
href="https://redirect.github.com/saghul/aiodns/issues/162">#162</a>)
<ul>
<li>Corrected type annotations for better type checking</li>
</ul>
</li>
<li>Improved Windows event loop documentation (<a
href="https://redirect.github.com/saghul/aiodns/issues/163">#163</a>)
<ul>
<li>Provided more accurate information on supported event loops on
Windows</li>
</ul>
</li>
<li>Added pre-commit configuration with ruff (<a
href="https://redirect.github.com/saghul/aiodns/issues/152">#152</a>)
<ul>
<li>Improved code quality and consistency</li>
<li>Reformatted code and normalized end-of-line characters (<a
href="https://redirect.github.com/saghul/aiodns/issues/155">#155</a>)</li>
</ul>
</li>
<li>Updated dependencies
<ul>
<li>Bumped pycares from 4.8.0 to 4.9.0 (<a
href="https://redirect.github.com/saghul/aiodns/issues/168">#168</a>)</li>
<li>Bumped pytest-asyncio from 0.26.0 to 1.0.0 (<a
href="https://redirect.github.com/saghul/aiodns/issues/167">#167</a>)</li>
<li>Bumped pytest-cov from 6.1.1 to 6.2.1 (<a
href="https://redirect.github.com/saghul/aiodns/issues/164">#164</a>)</li>
<li>Bumped pytest from 8.3.5 to 8.4.0 (<a
href="https://redirect.github.com/saghul/aiodns/issues/160">#160</a>)</li>
<li>Bumped mypy from 1.15.0 to 1.16.0 (<a
href="https://redirect.github.com/saghul/aiodns/issues/158">#158</a>)</li>
<li>Bumped dependabot/fetch-metadata from 2.3.0 to 2.4.0 (<a
href="https://redirect.github.com/saghul/aiodns/issues/159">#159</a>)</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/aio-libs/aiodns/commit/83533f4d17dd769a5bc0fce6e4c7610b6abde85e"><code>83533f4</code></a>
Release 3.5.0 (<a
href="https://redirect.github.com/saghul/aiodns/issues/169">#169</a>)</li>
<li><a
href="https://github.com/aio-libs/aiodns/commit/78cd6004d6ab3f46d5ed57189ec1aae27d9cd62e"><code>78cd600</code></a>
Add explicit close method (<a
href="https://redirect.github.com/saghul/aiodns/issues/166">#166</a>)</li>
<li><a
href="https://github.com/aio-libs/aiodns/commit/f259a6e3650555157af53ac2b39f2ff545321d55"><code>f259a6e</code></a>
Bump pycares from 4.8.0 to 4.9.0 (<a
href="https://redirect.github.com/saghul/aiodns/issues/168">#168</a>)</li>
<li><a
href="https://github.com/aio-libs/aiodns/commit/e9a0d453eda8be9d83738585a7bf6fdd20222a86"><code>e9a0d45</code></a>
Bump pytest-asyncio from 0.26.0 to 1.0.0 (<a
href="https://redirect.github.com/saghul/aiodns/issues/167">#167</a>)</li>
<li><a
href="https://github.com/aio-libs/aiodns/commit/9a0bcdaefa3b043c63d00778184056118926a889"><code>9a0bcda</code></a>
Provide more accurate information on what eventloops are supported on
windows...</li>
<li><a
href="https://github.com/aio-libs/aiodns/commit/f2c8472fbaa7923574f55f2aae1870dce7a5ffe4"><code>f2c8472</code></a>
Bump pytest-cov from 6.1.1 to 6.2.1 (<a
href="https://redirect.github.com/saghul/aiodns/issues/164">#164</a>)</li>
<li><a
href="https://github.com/aio-libs/aiodns/commit/cc628cb5545ff9ab39bbd854a74126ffb287b051"><code>cc628cb</code></a>
Fix return type signature for CNAME and SOA records (<a
href="https://redirect.github.com/saghul/aiodns/issues/162">#162</a>)</li>
<li><a
href="https://github.com/aio-libs/aiodns/commit/e5c084ded82b9fdec5b7ec2eebcb33e3974bcd06"><code>e5c084d</code></a>
Bump pytest from 8.3.5 to 8.4.0 (<a
href="https://redirect.github.com/saghul/aiodns/issues/160">#160</a>)</li>
<li><a
href="https://github.com/aio-libs/aiodns/commit/5cdf3737743d86ef343c9b0b4d15f95c1014ed38"><code>5cdf373</code></a>
Bump dependabot/fetch-metadata from 2.3.0 to 2.4.0 (<a
href="https://redirect.github.com/saghul/aiodns/issues/159">#159</a>)</li>
<li><a
href="https://github.com/aio-libs/aiodns/commit/7248418c92159a5b0aa93a5867a519649871621b"><code>7248418</code></a>
Bump mypy from 1.15.0 to 1.16.0 (<a
href="https://redirect.github.com/saghul/aiodns/issues/158">#158</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/saghul/aiodns/compare/v3.4.0...v3.5.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aiodns&package-manager=pip&previous-version=3.4.0&new-version=3.5.0)](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)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> 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)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.9.0 to
7.9.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst">coverage's
changelog</a>.</em></p>
<blockquote>
<h2>Version 7.9.1 — 2025-06-13</h2>
<ul>
<li>
<p>The &quot;no-ctracer&quot; warning is not issued for Python
pre-release versions.
Coverage doesn't ship compiled wheels for those versions, so this was
far too
noisy.</p>
</li>
<li>
<p>On Python 3.14+, the &quot;sysmon&quot; core is now the default if
it's supported for
your configuration. Plugins and dynamic contexts are still not supported
with it.</p>
</li>
</ul>
<p>.. _changes_7-9-0:</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/nedbat/coveragepy/commit/4fa1b717978c2d9e40636a10363b618e152f4c4e"><code>4fa1b71</code></a>
docs: sample HTML for 7.9.1</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/5cf757b42d1649ccbc74488471ab9270cb7d99f2"><code>5cf757b</code></a>
docs: prep for 7.9.1</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/bea6204982b75f6a20f5afbf3534bd3776e126dd"><code>bea6204</code></a>
fix: better defaulting of core</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/7795441563fb0afe9439a857a5e0df50336f73dd"><code>7795441</code></a>
fix: fewer warnings, default to sys.monitoring on 3.14+</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/18aa07456965c7d26e028aebaf825b96b7638d74"><code>18aa074</code></a>
fix: some custom builds don't have <strong>file</strong></li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/8c5bf659f4b4412685a828c01870cfc9a23186ac"><code>8c5bf65</code></a>
chore: make upgrade</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/128c4f4e452f08e52fe1d6fbebb8392ae2dc7297"><code>128c4f4</code></a>
build: bump version to 7.9.1</li>
<li>See full diff in <a
href="https://github.com/nedbat/coveragepy/compare/7.9.0...7.9.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=coverage&package-manager=pip&previous-version=7.9.0&new-version=7.9.1)](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)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> 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)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@pull pull bot added the ⤵️ pull label Jun 14, 2025
@pull pull bot merged commit 88cbe7f into tj-python:master Jun 14, 2025
@codecov-commenter
Copy link

codecov-commenter commented Jun 14, 2025

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 98.87%. Comparing base (d307056) to head (88cbe7f).
Report is 20 commits behind head on master.

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #278      +/-   ##
==========================================
+ Coverage   98.84%   98.87%   +0.02%     
==========================================
  Files         131      131              
  Lines       43220    43220              
  Branches     2320     2320              
==========================================
+ Hits        42721    42733      +12     
+ Misses        346      337       -9     
+ Partials      153      150       -3     
Flag Coverage Δ
CI-GHA 98.76% <ø> (+0.02%) ⬆️
OS-Linux 98.49% <ø> (+0.03%) ⬆️
OS-Windows 96.83% <ø> (+0.06%) ⬆️
OS-macOS 97.71% <ø> (+<0.01%) ⬆️
Py-3.10.11 97.36% <ø> (-0.01%) ⬇️
Py-3.10.18 97.85% <ø> (+0.01%) ⬆️
Py-3.11.13 98.04% <ø> (+0.17%) ⬆️
Py-3.11.9 97.56% <ø> (?)
Py-3.12.10 97.65% <ø> (-0.01%) ⬇️
Py-3.12.11 98.13% <ø> (ø)
Py-3.13.3 98.40% <ø> (+0.24%) ⬆️
Py-3.9.13 97.24% <ø> (+0.25%) ⬆️
Py-3.9.23 97.73% <ø> (+0.01%) ⬆️
Py-pypy7.3.16 85.90% <ø> (?)
VM-macos 97.71% <ø> (+<0.01%) ⬆️
VM-ubuntu 98.49% <ø> (+0.03%) ⬆️
VM-windows 96.83% <ø> (+0.06%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants