Skip to content

Conversation

@pull
Copy link

@pull pull bot commented Apr 1, 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 30 commits March 16, 2025 17:07
Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.6.12 to
7.7.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.7.0 — 2025-03-16</h2>
<ul>
<li>
<p>The Coverage object has a new method,
:meth:<code>.Coverage.branch_stats</code> for
getting simple branch information for a module. Closes <code>issue
1888</code>_.</p>
</li>
<li>
<p>The :class:<code>Coverage constructor&lt;.Coverage&gt;</code> now has
a <code>plugins</code> parameter
for passing in plugin objects directly, thanks to <code>Alex Gaynor
&lt;pull 1919_&gt;</code>_.</p>
</li>
<li>
<p>Many constant tests in if statements are now recognized as being
optimized
away. For example, previously <code>if 13:</code> would have been
considered a branch
with one path not taken. Now it is understood as always true and no
coverage
is missing.</p>
</li>
<li>
<p>The experimental sys.monitoring support now works for branch coverage
if you
are using Python 3.14.0 alpha 6 or newer. This should reduce the
overhead
coverage.py imposes on your test suite. Set the environment variable
<code>COVERAGE_CORE=sysmon</code> to try it out.</p>
</li>
<li>
<p>Confirmed support for PyPy 3.11. Thanks Michał Górny.</p>
</li>
</ul>
<p>.. _issue 1888: <a
href="https://redirect.github.com/nedbat/coveragepy/issues/1888">nedbat/coveragepy#1888</a>
.. _pull 1919: <a
href="https://redirect.github.com/nedbat/coveragepy/pull/1919">nedbat/coveragepy#1919</a></p>
<p>.. _changes_7-6-12:</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/nedbat/coveragepy/commit/61dcf7188c18db699ebf542f362f00a5d0481281"><code>61dcf71</code></a>
docs: sample HTML for 7.7.0</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/35a31c5c2d642280e4f247469779a76ee5d03709"><code>35a31c5</code></a>
docs: prep for 7.7.0</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/8f6e00641e607307d77ae16cbe3cd5afb555c58c"><code>8f6e006</code></a>
docs: edit the changelog</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/33f12dfa365f3faa349d844e603b0432ba3476d3"><code>33f12df</code></a>
feat: Coverage.branch_stats() <a
href="https://redirect.github.com/nedbat/coveragepy/issues/1888">#1888</a></li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/c4919cbf84efef68c1e9572d8438204e64b32d4c"><code>c4919cb</code></a>
lint: somehow these snuck through</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/7e9f2f20c81a6ab49a19c42b1cd3c5ba4282d223"><code>7e9f2f2</code></a>
perf(sysmon): silly mistake</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/1e99d2881b1b60af1b889ea364e1ede018401740"><code>1e99d28</code></a>
perf(sysmon): improve speed</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/c9908d731187f515093105f76b5b4cc39dbff9ba"><code>c9908d7</code></a>
test: benchmark improvements</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/0973f44cc4a73bab859af74a3dd42078b0b2cc85"><code>0973f44</code></a>
chore: bump the action-dependencies group with 2 updates (<a
href="https://redirect.github.com/nedbat/coveragepy/issues/1935">#1935</a>)</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/824b3ba3efbbe07f188ce13e9a8143604747fece"><code>824b3ba</code></a>
style: fix one change from updated pylint</li>
<li>Additional commits viewable in <a
href="https://github.com/nedbat/coveragepy/compare/7.6.12...7.7.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.6.12&new-version=7.7.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.0 to 2.23.1.
<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>v2.23.1</h2>
<ul>
<li>⚠️ Added warnings when the shorthand values <code>manylinux1</code>,
<code>manylinux2010</code>, <code>manylinux_2_24</code>, and
<code>musllinux_1_1</code> are used to specify the images in linux
builds. The shorthand to these (unmaintainted) images will be removed in
v3.0. If you want to keep using these images, explicitly opt-in using
the full image URL, which can be found in <a
href="https://github.com/pypa/cibuildwheel/blob/v2.23.1/cibuildwheel/resources/pinned_docker_images.cfg">this
file</a>. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2312">#2312</a>)</li>
<li>🛠 Dependency updates, including a manylinux update which fixes an <a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2303">issue
with rustup</a>. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2315">#2315</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/cibuildwheel/blob/v2.23.1/docs/changelog.md">pypa/cibuildwheel's
changelog</a>.</em></p>
<blockquote>
<h3>v2.23.1</h3>
<p><em>15 March 2025</em></p>
<ul>
<li>⚠️ Added warnings when the shorthand values <code>manylinux1</code>,
<code>manylinux2010</code>, <code>manylinux_2_24</code>, and
<code>musllinux_1_1</code> are used to specify the images in linux
builds. The shorthand to these (unmaintainted) images will be removed in
v3.0. If you want to keep using these images, explicitly opt-in using
the full image URL, which can be found in <a
href="https://github.com/pypa/cibuildwheel/blob/v2.23.1/cibuildwheel/resources/pinned_docker_images.cfg">this
file</a>. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2312">#2312</a>)</li>
<li>🛠 Dependency updates, including a manylinux update which fixes an <a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2303">issue
with rustup</a>. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2315">#2315</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/42728e866bbc80d544a70825bd9990b9a26f1a50"><code>42728e8</code></a>
Bump version: v2.23.1</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/6e1527b153c481c51f987a5e3a1bed216b16a260"><code>6e1527b</code></a>
Fix unit test when other warnings are present</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/c25fe603855d4d4dbbb013375765345f346aece0"><code>c25fe60</code></a>
fix: image deprecation warning (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2314">#2314</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/a880bf5105e70f0add65d840db82a7cc6c1555e4"><code>a880bf5</code></a>
fix: warn on deprecated images being set (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2312">#2312</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/c087d85b69012f624e0321468b40345d921c72e5"><code>c087d85</code></a>
Update dependencies</li>
<li>See full diff in <a
href="https://github.com/pypa/cibuildwheel/compare/v2.23.0...v2.23.1">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.0&new-version=2.23.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>
Bumps [setuptools](https://github.com/pypa/setuptools) from 76.0.0 to
76.1.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/setuptools/blob/main/NEWS.rst">setuptools's
changelog</a>.</em></p>
<blockquote>
<h1>v76.1.0</h1>
<h2>Features</h2>
<ul>
<li>In setuptools.msvc.EnvironmentInfo, now honor the correct paths when
on an ARM host. (<a
href="https://redirect.github.com/pypa/setuptools/issues/4786">#4786</a>)</li>
</ul>
<h2>Bugfixes</h2>
<ul>
<li>Restored implicit distutils.ccompiler import for g-ir-scanner. (<a
href="https://redirect.github.com/pypa/setuptools/issues/4871">#4871</a>)</li>
<li>Restore <code>distutils.ccompiler.compiler_class</code> -- by
:user:<code>Avasam</code> (<a
href="https://redirect.github.com/pypa/setuptools/issues/4876">#4876</a>)</li>
</ul>
<h1>v75.3.2</h1>
<ul>
<li>Fixed version error in changelog.</li>
</ul>
<h1>v75.3.1</h1>
<h2>Bugfixes</h2>
<ul>
<li>Fix wheel file naming to follow binary distribution specification --
by :user:<code>di</code> (<a
href="https://redirect.github.com/pypa/setuptools/issues/4877">#4877</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/setuptools/commit/07e96b107adb799a754122e49701c73dc34fbabe"><code>07e96b1</code></a>
Bump version: 76.0.0 → 76.1.0</li>
<li><a
href="https://github.com/pypa/setuptools/commit/3018692baac909355c46f9e8724845c72f6ca7e2"><code>3018692</code></a>
Fix reference in changelog.</li>
<li><a
href="https://github.com/pypa/setuptools/commit/aeefe34600bec7f156ed105ace57d145a6ea3879"><code>aeefe34</code></a>
Merge <a
href="https://github.com/pypa/distutils">https://github.com/pypa/distutils</a></li>
<li><a
href="https://github.com/pypa/setuptools/commit/6c0427b8e8870ab33872b15ae12ad0685061b2c0"><code>6c0427b</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/distutils/issues/337">pypa/distutils#337</a>
from Avasam/add-back-compiler.compiler_...</li>
<li><a
href="https://github.com/pypa/setuptools/commit/408274b81b15e3e10a99a3067d3dc00753a06124"><code>408274b</code></a>
Restore missing public symbols after compilers move</li>
<li><a
href="https://github.com/pypa/setuptools/commit/b6a539a7620880b9ea41102983e1ab6a2ca2ef29"><code>b6a539a</code></a>
Restore implicit expectation that importing unixccompiler makes
distutils.cco...</li>
<li><a
href="https://github.com/pypa/setuptools/commit/a36b7bac0a8ba62bf90a3d71a992ba7e3839583c"><code>a36b7ba</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/setuptools/issues/4786">#4786</a>
from swt2c/fix_msvc_host_dir_arm64</li>
<li><a
href="https://github.com/pypa/setuptools/commit/5b66977169135a986f87d96a7df49a2378192203"><code>5b66977</code></a>
Add news fragment.</li>
<li><a
href="https://github.com/pypa/setuptools/commit/3218d666e49245b0878db8b19ba20d8cd72d6424"><code>3218d66</code></a>
Calculate host_id in one expression.</li>
<li><a
href="https://github.com/pypa/setuptools/commit/d69bf04f749a310bef197df3237901b924c8ffd7"><code>d69bf04</code></a>
Merge failing test into fix_msvc_host_dir_arm64.</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/setuptools/compare/v76.0.0...v76.1.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=setuptools&package-manager=pip&previous-version=76.0.0&new-version=76.1.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 [multidict](https://github.com/aio-libs/multidict) from 6.1.0 to
6.2.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/aio-libs/multidict/releases">multidict's
releases</a>.</em></p>
<blockquote>
<h2>6.2.0</h2>
<h2>Bug fixes</h2>
<ul>
<li>
<p>Fixed <code>in</code> checks throwing an exception instead of
returning :data:<code>False</code> when testing non-strings.</p>
<p><em>Related issues and pull requests on GitHub:</em>
<a
href="https://redirect.github.com/aio-libs/multidict/issues/1045">#1045</a>.</p>
</li>
<li>
<p>Fix a leak when the last accessed module in
<code>PyInit__multidict</code> init is not released.</p>
<p><em>Related issues and pull requests on GitHub:</em>
<a
href="https://redirect.github.com/aio-libs/multidict/issues/1061">#1061</a>.</p>
</li>
</ul>
<h2>Features</h2>
<ul>
<li>
<p>Implemented support for the free-threaded build of CPython 3.13 -- by
:user:<code>lysnikolaou</code>.</p>
<p><em>Related issues and pull requests on GitHub:</em>
<a
href="https://redirect.github.com/aio-libs/multidict/issues/1015">#1015</a>.</p>
</li>
</ul>
<h2>Packaging updates and notes for downstreams</h2>
<ul>
<li>
<p>Started publishing wheels made for the free-threaded build of CPython
3.13 -- by :user:<code>lysnikolaou</code>.</p>
<p><em>Related issues and pull requests on GitHub:</em>
<a
href="https://redirect.github.com/aio-libs/multidict/issues/1015">#1015</a>.</p>
</li>
</ul>
<h2>Miscellaneous internal changes</h2>
<ul>
<li>
<p>Used stricter typing across the code base, resulting in improved
typing accuracy across multidict classes.
Funded by an <code>NLnet</code> grant.</p>
<p><em>Related issues and pull requests on GitHub:</em>
<a
href="https://redirect.github.com/aio-libs/multidict/issues/1046">#1046</a>.</p>
</li>
</ul>
<hr />
<h1>6.1.0 (2024-09-09)</h1>
<p>Bug fixes</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/aio-libs/multidict/blob/master/CHANGES.rst">multidict's
changelog</a>.</em></p>
<blockquote>
<h1>6.2.0</h1>
<p><em>(2025-03-17)</em></p>
<h2>Bug fixes</h2>
<ul>
<li>
<p>Fixed <code>in</code> checks throwing an exception instead of
returning :data:<code>False</code> when testing non-strings.</p>
<p><em>Related issues and pull requests on GitHub:</em>
:issue:<code>1045</code>.</p>
</li>
<li>
<p>Fix a leak when the last accessed module in
<code>PyInit__multidict</code> init is not released.</p>
<p><em>Related issues and pull requests on GitHub:</em>
:issue:<code>1061</code>.</p>
</li>
</ul>
<h2>Features</h2>
<ul>
<li>
<p>Implemented support for the free-threaded build of CPython 3.13 -- by
:user:<code>lysnikolaou</code>.</p>
<p><em>Related issues and pull requests on GitHub:</em>
:issue:<code>1015</code>.</p>
</li>
</ul>
<h2>Packaging updates and notes for downstreams</h2>
<ul>
<li>
<p>Started publishing wheels made for the free-threaded build of CPython
3.13 -- by :user:<code>lysnikolaou</code>.</p>
<p><em>Related issues and pull requests on GitHub:</em>
:issue:<code>1015</code>.</p>
</li>
</ul>
<h2>Miscellaneous internal changes</h2>
<ul>
<li>
<p>Used stricter typing across the code base, resulting in improved
typing accuracy across multidict classes.
Funded by an <code>NLnet</code> grant.</p>
<p><em>Related issues and pull requests on GitHub:</em>
:issue:<code>1046</code>.</p>
</li>
</ul>
<hr />
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/aio-libs/multidict/commit/af07d5b2b18bb30e041983db2bea1fcb3e1c4b79"><code>af07d5b</code></a>
Synchronize towncrier settings (<a
href="https://redirect.github.com/aio-libs/multidict/issues/1067">#1067</a>)</li>
<li><a
href="https://github.com/aio-libs/multidict/commit/8314bdc8ce55ba745fe4640be17ef145639cc9f4"><code>8314bdc</code></a>
Tune CHANGES markup (<a
href="https://redirect.github.com/aio-libs/multidict/issues/1066">#1066</a>)</li>
<li><a
href="https://github.com/aio-libs/multidict/commit/09693c12e8028c94b5ac7e54fd1b33bbc41a0826"><code>09693c1</code></a>
Fix towncrier markup (<a
href="https://redirect.github.com/aio-libs/multidict/issues/1065">#1065</a>)</li>
<li><a
href="https://github.com/aio-libs/multidict/commit/0e8d24aa4862d7fc34d1814ba307bd274b3ec0e8"><code>0e8d24a</code></a>
Increase timeout for qemu based builds (<a
href="https://redirect.github.com/aio-libs/multidict/issues/1064">#1064</a>)</li>
<li><a
href="https://github.com/aio-libs/multidict/commit/a9bb3a0fea4baf3bf9f10f0e9514be1dbd46acb7"><code>a9bb3a0</code></a>
Release 6.2.0 (<a
href="https://redirect.github.com/aio-libs/multidict/issues/1062">#1062</a>)</li>
<li><a
href="https://github.com/aio-libs/multidict/commit/f893493ca25b21fed156bce6566ddfeb537a75ba"><code>f893493</code></a>
Fix a leak when the last accessed module in multidict init is not
released (#...</li>
<li><a
href="https://github.com/aio-libs/multidict/commit/14cf7662d7ab4edae38cc7227bfccadae8ecb6c1"><code>14cf766</code></a>
Bump pypa/cibuildwheel from 2.22.0 to 2.23.0 (<a
href="https://redirect.github.com/aio-libs/multidict/issues/1059">#1059</a>)</li>
<li><a
href="https://github.com/aio-libs/multidict/commit/1256899739190ae7ed53a43912a7a1862ed22115"><code>1256899</code></a>
Bump pytest from 8.3.4 to 8.3.5 (<a
href="https://redirect.github.com/aio-libs/multidict/issues/1058">#1058</a>)</li>
<li><a
href="https://github.com/aio-libs/multidict/commit/c79c379ed1127f6f2d8ff184fbd7774eea360951"><code>c79c379</code></a>
Bump sphinx from 8.2.1 to 8.2.3 (<a
href="https://redirect.github.com/aio-libs/multidict/issues/1057">#1057</a>)</li>
<li><a
href="https://github.com/aio-libs/multidict/commit/4cb2f08584909a0b30d770aeee805eae399d40ef"><code>4cb2f08</code></a>
Relax test_leak to run reliable against free-threaded python (<a
href="https://redirect.github.com/aio-libs/multidict/issues/1060">#1060</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/aio-libs/multidict/compare/v6.1.0...v6.2.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=multidict&package-manager=pip&previous-version=6.1.0&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 [blockbuster](https://github.com/cbornet/blockbuster) from 1.5.23
to 1.5.24.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/cbornet/blockbuster/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=blockbuster&package-manager=pip&previous-version=1.5.23&new-version=1.5.24)](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 [pre-commit](https://github.com/pre-commit/pre-commit) from 4.1.0
to 4.2.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pre-commit/pre-commit/releases">pre-commit's
releases</a>.</em></p>
<blockquote>
<h2>pre-commit v4.2.0</h2>
<h3>Features</h3>
<ul>
<li>For <code>language: python</code> first attempt a versioned python
executable for the default language version before consulting a
potentially unversioned <code>sys.executable</code>.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3430">#3430</a>
PR by <a
href="https://github.com/asottile"><code>@​asottile</code></a>.</li>
</ul>
</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Handle error during conflict detection when a file is named
&quot;HEAD&quot;
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3425">#3425</a>
PR by <a
href="https://github.com/tusharsadhwani"><code>@​tusharsadhwani</code></a>.</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md">pre-commit's
changelog</a>.</em></p>
<blockquote>
<h1>4.2.0 - 2025-03-18</h1>
<h3>Features</h3>
<ul>
<li>For <code>language: python</code> first attempt a versioned python
executable for
the default language version before consulting a potentially unversioned
<code>sys.executable</code>.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3430">#3430</a>
PR by <a
href="https://github.com/asottile"><code>@​asottile</code></a>.</li>
</ul>
</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Handle error during conflict detection when a file is named
&quot;HEAD&quot;
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3425">#3425</a>
PR by <a
href="https://github.com/tusharsadhwani"><code>@​tusharsadhwani</code></a>.</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pre-commit/pre-commit/commit/aa48766b888990e7b118d12cf757109d96e65a7e"><code>aa48766</code></a>
v4.2.0</li>
<li><a
href="https://github.com/pre-commit/pre-commit/commit/bf6f11dc6ce59f2f12e5d02a6449ea2449aa64c4"><code>bf6f11d</code></a>
Merge pull request <a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3430">#3430</a>
from pre-commit/preferential-sys-impl</li>
<li><a
href="https://github.com/pre-commit/pre-commit/commit/3e8d0f5e1c449381272b80241140e985631f9912"><code>3e8d0f5</code></a>
adjust python default_language_version to prefer versioned exe</li>
<li><a
href="https://github.com/pre-commit/pre-commit/commit/ff7256cedf8c78b326f4503373d142a5a9827e90"><code>ff7256c</code></a>
Merge pull request <a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3425">#3425</a>
from tusharsadhwani/ambiguous-ref</li>
<li><a
href="https://github.com/pre-commit/pre-commit/commit/b7eb412c798424a94ca83c72eed6f97271545dc4"><code>b7eb412</code></a>
fix: crash on ambiguous ref 'HEAD'</li>
<li><a
href="https://github.com/pre-commit/pre-commit/commit/7b88c63ae691cb243c3137bce8fb870523e0a884"><code>7b88c63</code></a>
Merge pull request <a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3404">#3404</a>
from pre-commit/pre-commit-ci-update-config</li>
<li><a
href="https://github.com/pre-commit/pre-commit/commit/94b97e28f7cc7d9bcb536d7a3cf7ef6311e076fd"><code>94b97e2</code></a>
[pre-commit.ci] pre-commit autoupdate</li>
<li><a
href="https://github.com/pre-commit/pre-commit/commit/2f93b804849e9237561417fbca29cb8d8ea4c905"><code>2f93b80</code></a>
Merge pull request <a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3401">#3401</a>
from pre-commit/pre-commit-ci-update-config</li>
<li><a
href="https://github.com/pre-commit/pre-commit/commit/4f90a1e88a80dd460f36e21d774d06bf0e73921b"><code>4f90a1e</code></a>
[pre-commit.ci] pre-commit autoupdate</li>
<li><a
href="https://github.com/pre-commit/pre-commit/commit/aba1ce04e70162ca48b12f809ceffb253b788fe6"><code>aba1ce0</code></a>
Merge pull request <a
href="https://redirect.github.com/pre-commit/pre-commit/issues/3396">#3396</a>
from pre-commit/all-repos_autofix_all-repos-sed</li>
<li>Additional commits viewable in <a
href="https://github.com/pre-commit/pre-commit/compare/v4.1.0...v4.2.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pre-commit&package-manager=pip&previous-version=4.1.0&new-version=4.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 [actions/cache](https://github.com/actions/cache) from 4.2.2 to
4.2.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/cache/releases">actions/cache's
releases</a>.</em></p>
<blockquote>
<h2>v4.2.3</h2>
<h2>What's Changed</h2>
<ul>
<li>Update to use <code>@​actions/cache</code> 4.0.3 package &amp;
prepare for new release by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/cache/pull/1577">actions/cache#1577</a>
(SAS tokens for cache entries are now masked in debug logs)</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/cache/pull/1577">actions/cache#1577</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/cache/compare/v4.2.2...v4.2.3">https://github.com/actions/cache/compare/v4.2.2...v4.2.3</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/actions/cache/blob/main/RELEASES.md">actions/cache's
changelog</a>.</em></p>
<blockquote>
<h3>4.2.3</h3>
<ul>
<li>Bump <code>@actions/cache</code> to v4.0.3 (obfuscates SAS token in
debug logs for cache entries)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/cache/commit/5a3ec84eff668545956fd18022155c47e93e2684"><code>5a3ec84</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/cache/issues/1577">#1577</a>
from salmanmkc/salmanmkc/4-test</li>
<li><a
href="https://github.com/actions/cache/commit/7de21022a7b6824c106a9847befcbd8154b45b6a"><code>7de2102</code></a>
Update releases.md</li>
<li><a
href="https://github.com/actions/cache/commit/76d40dd347779762a1c829bbeeda5da4d81ca8c1"><code>76d40dd</code></a>
Update to use the latest version of the cache package to obfuscate the
SAS</li>
<li><a
href="https://github.com/actions/cache/commit/76dd5eb692f606c28d4b7a4ea7cfdffc926ba06a"><code>76dd5eb</code></a>
update cache with main</li>
<li><a
href="https://github.com/actions/cache/commit/8c80c27c5e4498d5675b05fb1eff96a56c593b06"><code>8c80c27</code></a>
new package</li>
<li><a
href="https://github.com/actions/cache/commit/45cfd0e7fffd1869ea4d5bfb54a464d825c1f742"><code>45cfd0e</code></a>
updates</li>
<li><a
href="https://github.com/actions/cache/commit/edd449b9cf39c2a20dc7c3d505ff6dc193c48a02"><code>edd449b</code></a>
updated cache with latest changes</li>
<li><a
href="https://github.com/actions/cache/commit/0576707e373f92196b81695442ed3f80c347f9c7"><code>0576707</code></a>
latest test before pr</li>
<li><a
href="https://github.com/actions/cache/commit/3105dc9754dd9cd935ffcf45c091ed2cadbf42b9"><code>3105dc9</code></a>
update</li>
<li><a
href="https://github.com/actions/cache/commit/9450d42d15022999ad2fa60a8b91f01fc92a0563"><code>9450d42</code></a>
mask</li>
<li>Additional commits viewable in <a
href="https://github.com/actions/cache/compare/v4.2.2...v4.2.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/cache&package-manager=github_actions&previous-version=4.2.2&new-version=4.2.3)](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 [setuptools](https://github.com/pypa/setuptools) from 76.1.0 to
77.0.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/setuptools/blob/main/NEWS.rst">setuptools's
changelog</a>.</em></p>
<blockquote>
<h1>v77.0.1</h1>
<h2>Bugfixes</h2>
<ul>
<li>Manually fix news fragment entries causing CI to crash when building
docs. (<a
href="https://redirect.github.com/pypa/setuptools/issues/4891">#4891</a>)</li>
</ul>
<h1>v77.0.0</h1>
<h2>Features</h2>
<ul>
<li>Added initial support for license expression (PEP :pep:<code>639
&lt;639#add-license-expression-field&gt;</code>). -- by
:user:<code>cdce8p</code> (<a
href="https://redirect.github.com/pypa/setuptools/issues/4706">#4706</a>)</li>
<li>Store <code>License-File</code>\s in
<code>.dist-info/licenses</code> subfolder and added support for
recursive globs for <code>license_files</code> (PEP :pep:<code>639
&lt;639#add-license-expression-field&gt;</code>). -- by
:user:<code>cdce8p</code> (<a
href="https://redirect.github.com/pypa/setuptools/issues/4728">#4728</a>)</li>
<li>Bump core metadata version to <code>2.4</code>. -- by
:user:<code>cdce8p</code> (<a
href="https://redirect.github.com/pypa/setuptools/issues/4830">#4830</a>)</li>
<li>Updated vendored copy of <code>wheel</code> to <code>v0.45.1</code>.
(<a
href="https://redirect.github.com/pypa/setuptools/issues/4869">#4869</a>)</li>
</ul>
<h2>Deprecations and Removals</h2>
<ul>
<li>Added initial implementation of :pep:<code>639</code>.
Users relying on pre- :pep:<code>639</code> implementation details
(like precise license file paths inside <code>dist-info</code>
directory)
may need to adjust their code base to avoid problems.
Deprecations and stronger validation were also introduced (<a
href="https://redirect.github.com/pypa/setuptools/issues/4829">#4829</a>).</li>
<li>Added exception (or warning) when deprecated license classifiers are
used,
according to PEP :pep:<code>639
&lt;639#deprecate-license-classifiers&gt;</code>. (<a
href="https://redirect.github.com/pypa/setuptools/issues/4833">#4833</a>)</li>
<li>Deprecated <code>tools.setuptools.license-files</code> in favor of
<code>project.license-files</code>
and added exception if <code>project.license-files</code> and
<code>tools.setuptools.license-files</code>
are used together. -- by :user:<code>cdce8p</code> (<a
href="https://redirect.github.com/pypa/setuptools/issues/4837">#4837</a>)</li>
<li>Deprecated <code>project.license</code> as a TOML table in
<code>pyproject.toml</code>. Users are expected to move towards using
<code>project.license-files</code> and/or SPDX expressions (as strings)
in
<code>pyproject.license</code>.
See PEP :pep:<code>639
&lt;639#deprecate-license-key-table-subkeys&gt;</code>. (<a
href="https://redirect.github.com/pypa/setuptools/issues/4840">#4840</a>)</li>
<li>Added simple validation for given glob patterns in
<code>license-files</code>:
a warning will be generated if no file is matched.
Invalid glob patterns can raise an exception.
-- thanks :user:<code>cdce8p</code> for contributions. (<a
href="https://redirect.github.com/pypa/setuptools/issues/4838">#4838</a>)</li>
</ul>
<h2>Misc</h2>
<ul>
<li><a
href="https://redirect.github.com/pypa/setuptools/issues/4734">#4734</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/setuptools/commit/f57746186b1476fac7701490f3e8c23bd0eea491"><code>f577461</code></a>
Bump version: 77.0.0 → 77.0.1</li>
<li><a
href="https://github.com/pypa/setuptools/commit/85677af8f6922bed5c2f2c6608749a4771c94e56"><code>85677af</code></a>
Manually fix news fragment entries (<a
href="https://redirect.github.com/pypa/setuptools/issues/4891">#4891</a>)</li>
<li><a
href="https://github.com/pypa/setuptools/commit/ce2e283acfef4d87eee63b5f745f81fc0904342c"><code>ce2e283</code></a>
Change news fragment name to imply patch version bump</li>
<li><a
href="https://github.com/pypa/setuptools/commit/76531493d84c27461b73589e6a4e54c56d0cd6fb"><code>7653149</code></a>
Add news fragments</li>
<li><a
href="https://github.com/pypa/setuptools/commit/7db26a1a5148ef57c8471a410f57258cad11b336"><code>7db26a1</code></a>
Manually fix news fragment entries</li>
<li><a
href="https://github.com/pypa/setuptools/commit/5d58b454a5f720f9afa09b47fe15913d0bef8cc4"><code>5d58b45</code></a>
Bump version: 76.1.0 → 77.0.0</li>
<li><a
href="https://github.com/pypa/setuptools/commit/f49d58939a249bf3571992e18a7c237eea27d5f7"><code>f49d589</code></a>
Update URL in warning</li>
<li><a
href="https://github.com/pypa/setuptools/commit/dee0a5e7e41b0eedc2bd4f754098140044748482"><code>dee0a5e</code></a>
Add news fragment for PEP 639 marking as 'breaking'</li>
<li><a
href="https://github.com/pypa/setuptools/commit/74725de239297dc54da770c612981845ad339b34"><code>74725de</code></a>
Update vendored copy of wheel (<a
href="https://redirect.github.com/pypa/setuptools/issues/4869">#4869</a>)</li>
<li><a
href="https://github.com/pypa/setuptools/commit/5585c1c1f603e04ad778fc72066fad45c7366233"><code>5585c1c</code></a>
Add news fragment</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/setuptools/compare/v76.1.0...v77.0.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=setuptools&package-manager=pip&previous-version=76.1.0&new-version=77.0.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>
Bumps [iniconfig](https://github.com/pytest-dev/iniconfig) from 2.0.0 to
2.1.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pytest-dev/iniconfig/blob/main/CHANGELOG">iniconfig's
changelog</a>.</em></p>
<blockquote>
<h1>2.1.0</h1>
<ul>
<li>fix artifact building - pin minimal version of hatch</li>
<li>drop eol python 3.8</li>
<li>add python 3.12 and 3.13</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pytest-dev/iniconfig/commit/34793a6417e35e511d0c17ffdd8a02ade0f9568e"><code>34793a6</code></a>
pre-commit</li>
<li><a
href="https://github.com/pytest-dev/iniconfig/commit/136435d0a4345bb048dca98e7c2f4e938d74521b"><code>136435d</code></a>
update changelog</li>
<li><a
href="https://github.com/pytest-dev/iniconfig/commit/0bb99ad0f7a6b21d5eb24214a260132317a11e43"><code>0bb99ad</code></a>
fix <a
href="https://redirect.github.com/pytest-dev/iniconfig/issues/62">#62</a>:
require a minimal hatch version with correct metadata</li>
<li><a
href="https://github.com/pytest-dev/iniconfig/commit/16793eaddac67de0b8d621ae4e42e05b927e8d67"><code>16793ea</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/iniconfig/issues/56">#56</a>
from hugovk/add-3.12</li>
<li><a
href="https://github.com/pytest-dev/iniconfig/commit/3dc2b2d6bf03e4b7cc92949a8ef0983fdd7ee442"><code>3dc2b2d</code></a>
Add support for Python 3.13</li>
<li><a
href="https://github.com/pytest-dev/iniconfig/commit/2eb8abfd9d3843100d7f138efe5bcd989a885024"><code>2eb8abf</code></a>
Bump GitHub Actions</li>
<li><a
href="https://github.com/pytest-dev/iniconfig/commit/8c4bb5bf57dde613c8cdcf0e02a09b2fff630907"><code>8c4bb5b</code></a>
Set python-version for pre-commit to remove CI warning</li>
<li><a
href="https://github.com/pytest-dev/iniconfig/commit/58b22b2d672564ff1925df51f4a8e07486765ed2"><code>58b22b2</code></a>
Drop support for EOL Python 3.7</li>
<li><a
href="https://github.com/pytest-dev/iniconfig/commit/4a53042252a109bcdd64422058de91c5dffff763"><code>4a53042</code></a>
Add support for Python 3.12</li>
<li><a
href="https://github.com/pytest-dev/iniconfig/commit/9cae43103df70bac6fde7b9f35ad11a9f1be0cb4"><code>9cae431</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/iniconfig/issues/54">#54</a>
from webknjaz/patch-1</li>
<li>Additional commits viewable in <a
href="https://github.com/pytest-dev/iniconfig/compare/v2.0.0...v2.1.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=iniconfig&package-manager=pip&previous-version=2.0.0&new-version=2.1.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 [platformdirs](https://github.com/tox-dev/platformdirs) from 4.3.6
to 4.3.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tox-dev/platformdirs/releases">platformdirs's
releases</a>.</em></p>
<blockquote>
<h2>4.3.7</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Chunk dependabot updates into a single PR by <a
href="https://github.com/ofek"><code>@​ofek</code></a> in <a
href="https://redirect.github.com/tox-dev/platformdirs/pull/311">tox-dev/platformdirs#311</a></li>
<li>Drop support for EOL Python 3.8 by <a
href="https://github.com/hugovk"><code>@​hugovk</code></a> in <a
href="https://redirect.github.com/tox-dev/platformdirs/pull/330">tox-dev/platformdirs#330</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/tox-dev/platformdirs/compare/4.3.6...4.3.7">https://github.com/tox-dev/platformdirs/compare/4.3.6...4.3.7</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/tox-dev/platformdirs/commit/00c695b99a2776e0f271bfcb43d15f908bbf361b"><code>00c695b</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/tox-dev/platformdirs/issues/342">#342</a>)</li>
<li><a
href="https://github.com/tox-dev/platformdirs/commit/6a81b38d7926f8ba99ebf82c837034bdd8d27039"><code>6a81b38</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/tox-dev/platformdirs/issues/341">#341</a>)</li>
<li><a
href="https://github.com/tox-dev/platformdirs/commit/59d09e5ac0802a62636b7600c9ffbde9894e14db"><code>59d09e5</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/tox-dev/platformdirs/issues/340">#340</a>)</li>
<li><a
href="https://github.com/tox-dev/platformdirs/commit/263f12a29c87c3c6607a9a66964272fd5ead6b63"><code>263f12a</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/tox-dev/platformdirs/issues/339">#339</a>)</li>
<li><a
href="https://github.com/tox-dev/platformdirs/commit/11e9d9a1a60338e5abc21ea8fa5973e8e8200171"><code>11e9d9a</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/tox-dev/platformdirs/issues/338">#338</a>)</li>
<li><a
href="https://github.com/tox-dev/platformdirs/commit/330deb217bfc64fb2875f733514bebb6deb47448"><code>330deb2</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/tox-dev/platformdirs/issues/336">#336</a>)</li>
<li><a
href="https://github.com/tox-dev/platformdirs/commit/9bfd6e8d3bd0478759ffe3fd8723271c894e094b"><code>9bfd6e8</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/tox-dev/platformdirs/issues/335">#335</a>)</li>
<li><a
href="https://github.com/tox-dev/platformdirs/commit/6e544b3cee6baabd9756b14eb9ddc3a49e5b1f54"><code>6e544b3</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/tox-dev/platformdirs/issues/333">#333</a>)</li>
<li><a
href="https://github.com/tox-dev/platformdirs/commit/55f7c0f021d02072d460684f1c6191af0d537b07"><code>55f7c0f</code></a>
Bump pypa/gh-action-pypi-publish from 1.12.3 to 1.12.4 in the all group
(<a
href="https://redirect.github.com/tox-dev/platformdirs/issues/332">#332</a>)</li>
<li><a
href="https://github.com/tox-dev/platformdirs/commit/d0ab5502c891d43c9864a7b1d1f885c24794bdfe"><code>d0ab550</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/tox-dev/platformdirs/issues/326">#326</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/tox-dev/platformdirs/compare/4.3.6...4.3.7">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=platformdirs&package-manager=pip&previous-version=4.3.6&new-version=4.3.7)](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>
…n docs (#10613)

**This is a backport of PR #10602 as merged into master
(b6f34d4).**

Co-authored-by: Hypercube <hypercube@0x01.me>
…n docs (#10612)

**This is a backport of PR #10602 as merged into master
(b6f34d4).**

Co-authored-by: Hypercube <hypercube@0x01.me>
Bumps [setuptools](https://github.com/pypa/setuptools) from 77.0.1 to
77.0.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/setuptools/blob/main/NEWS.rst">setuptools's
changelog</a>.</em></p>
<blockquote>
<h1>v77.0.3</h1>
<h2>Bugfixes</h2>
<ul>
<li>Temporarily convert error for license glob patterns containing
<code>../</code> into a deprecation warning
to allow an accomodation period. (<a
href="https://redirect.github.com/pypa/setuptools/issues/4896">#4896</a>)</li>
<li>Better error messages for <code>packaging.licenses</code> import
errors in environments with <code>packaging&lt;24.2</code>.
The import statement was also deferred to spare users that are not using
license expressions. (<a
href="https://redirect.github.com/pypa/setuptools/issues/4898">#4898</a>)</li>
<li>Avoided eagerly raising an exception when <code>license-files</code>
is defined
simultaneously inside and outside of <code>pyproject.toml</code>.
Instead we rely on the existing deprecation error. (<a
href="https://redirect.github.com/pypa/setuptools/issues/4899">#4899</a>)</li>
</ul>
<h1>v77.0.2</h1>
<h2>Bugfixes</h2>
<ul>
<li>Restore <code>distutils.ccompiler._default_compilers</code> -- by
:user:<code>ManiacDC</code> (<a
href="https://redirect.github.com/pypa/setuptools/issues/4876">#4876</a>)</li>
<li>Fixed copy pasta in <code>msvc.shared_lib_format</code>. (<a
href="https://redirect.github.com/pypa/setuptools/issues/4885">#4885</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/setuptools/commit/7c859e017368360ba66c8cc591279d8964c031bc"><code>7c859e0</code></a>
Bump version: 77.0.2 → 77.0.3</li>
<li><a
href="https://github.com/pypa/setuptools/commit/f9b0e50eaeb46eebdd936f0f2f982c4c62ba5866"><code>f9b0e50</code></a>
Convert error for ../ in license paths into deprecation warning (<a
href="https://redirect.github.com/pypa/setuptools/issues/4896">#4896</a>)</li>
<li><a
href="https://github.com/pypa/setuptools/commit/5fe9c32c51839ba22c3d0ad5e4e03922aad35766"><code>5fe9c32</code></a>
Defer import error for packaging.licenses in environments with
packaging&lt;24.2...</li>
<li><a
href="https://github.com/pypa/setuptools/commit/44303b6cf469fdec5d268efe712f543e874f9677"><code>44303b6</code></a>
Avoid raising exception when license-files is defined outside of
`pyproject.t...</li>
<li><a
href="https://github.com/pypa/setuptools/commit/676362d62a9e7b2bb57e0332ec9b4b0f8539a727"><code>676362d</code></a>
Refactor fallback for packaging.licenses</li>
<li><a
href="https://github.com/pypa/setuptools/commit/53fc322820862c83687d5fee9a56c6a14c8e8d84"><code>53fc322</code></a>
Silence typechecking in complicated statement</li>
<li><a
href="https://github.com/pypa/setuptools/commit/64612bf280b97e51b9014a7c55a393b686227518"><code>64612bf</code></a>
Remove duplicated dependency</li>
<li><a
href="https://github.com/pypa/setuptools/commit/627a869d19828c17390e7c6c0a7bdd43922723a5"><code>627a869</code></a>
Attempt to avoid typing error</li>
<li><a
href="https://github.com/pypa/setuptools/commit/4622b5aaf7f607c61de40cdfdca769e48b32f731"><code>4622b5a</code></a>
Add news fragment</li>
<li><a
href="https://github.com/pypa/setuptools/commit/f123312f6cb27f9813491349323ed276b0bc167c"><code>f123312</code></a>
Defer import error for packaging.licenses in environments with
packagin&lt;24.2</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/setuptools/compare/v77.0.1...v77.0.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=setuptools&package-manager=pip&previous-version=77.0.1&new-version=77.0.3)](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.7.0 to
7.7.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.7.1 — 2025-03-21</h2>
<ul>
<li>A few small tweaks to the sys.monitoring support for Python 3.14.
Please
test!</li>
</ul>
<p>.. _changes_7-7-0:</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/nedbat/coveragepy/commit/5e0fd514aa9d49d39afc9b1e57008c20c6c45663"><code>5e0fd51</code></a>
docs: sample HTML for 7.7.1</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/9b82965ff218ea13a63386b585814bda67e542ef"><code>9b82965</code></a>
docs: prep for 7.7.1</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/1be53a8083146ae80471e72486dbe7da6f1c98ff"><code>1be53a8</code></a>
docs: add clarification about missing line numbers in the text
report</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/87bc26bc1f0148ba9ff746d8b82584ffecdc67f8"><code>87bc26b</code></a>
refactor: use f-strings more</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/7ea1535f7ed5abc1aea9a65bbd557b8f20b2346f"><code>7ea1535</code></a>
refactor: remove some needless checks</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/f503dc5285692c6073de6299898738ec2b2d6006"><code>f503dc5</code></a>
perf: collect more stats in sysmon</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/97e68a0cf89751b1dff74106ce555ce4022c907c"><code>97e68a0</code></a>
build: bump version to 7.7.1</li>
<li>See full diff in <a
href="https://github.com/nedbat/coveragepy/compare/7.7.0...7.7.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.7.0&new-version=7.7.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>
Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from
2.23.1 to 2.23.2.
<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>v2.23.2</h2>
<ul>
<li>🐛 Workaround an issue with pyodide builds when running cibuildwheel
with a Python that was installed via UV (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2328">#2328</a>
via <a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2331">#2331</a>)</li>
<li>🛠 Dependency updates, including a manylinux update that fixes an <a
href="https://redirect.github.com/pypa/manylinux/issues/1760">'undefined
symbol' error</a> in gcc-toolset (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2334">#2334</a>)</li>
</ul>
</blockquote>
</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>v2.23.2</h3>
<p><em>24 March 2025</em></p>
<ul>
<li>🐛 Workaround an issue with pyodide builds when running cibuildwheel
with a Python that was installed via UV (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2328">#2328</a>
via <a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2331">#2331</a>)</li>
<li>🛠 Dependency updates, including a manylinux update that fixes an <a
href="https://redirect.github.com/pypa/manylinux/issues/1760">'undefined
symbol' error</a> in gcc-toolset (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2334">#2334</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/d04cacbc9866d432033b1d09142936e6a0e2121a"><code>d04cacb</code></a>
Bump version: v2.23.2</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/5f4e019684661085adb6558969c7fd389a532174"><code>5f4e019</code></a>
[2.x] Update dependencies (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2334">#2334</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/2efa648f38e83a421aae82bc80002f8cabf92be7"><code>2efa648</code></a>
fix: always resolve --python argument (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2328">#2328</a>)
(<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2331">#2331</a>)</li>
<li>See full diff in <a
href="https://github.com/pypa/cibuildwheel/compare/v2.23.1...v2.23.2">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.1&new-version=2.23.2)](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 [setuptools](https://github.com/pypa/setuptools) from 77.0.3 to
78.0.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/setuptools/blob/main/NEWS.rst">setuptools's
changelog</a>.</em></p>
<blockquote>
<h1>v78.0.2</h1>
<h2>Bugfixes</h2>
<ul>
<li>Postponed removals of deprecated dash-separated and uppercase fields
in <code>setup.cfg</code>.
All packages with deprecated configurations are advised to move before
2026. (<a
href="https://redirect.github.com/pypa/setuptools/issues/4911">#4911</a>)</li>
</ul>
<h1>v78.0.1</h1>
<h2>Misc</h2>
<ul>
<li><a
href="https://redirect.github.com/pypa/setuptools/issues/4909">#4909</a></li>
</ul>
<h1>v78.0.0</h1>
<h2>Bugfixes</h2>
<ul>
<li>Reverted distutils changes that broke the monkey patching of command
classes. (<a
href="https://redirect.github.com/pypa/setuptools/issues/4902">#4902</a>)</li>
</ul>
<h2>Deprecations and Removals</h2>
<ul>
<li>
<p>Setuptools no longer accepts options containing uppercase or dash
characters in <code>setup.cfg</code>.
Please ensure to write the options in <code>setup.cfg</code> using the
:wiki:<code>lower_snake_case &lt;Snake_case&gt;</code> convention
(e.g. <code>Name =&gt; name</code>, <code>install-requires =&gt;
install_requires</code>).
This is a follow-up on deprecations introduced in
<code>v54.1.0
&lt;https://setuptools.pypa.io/en/latest/history.html#v54-1-0&gt;</code>_
(see <a
href="https://redirect.github.com/pypa/setuptools/issues/1608">#1608</a>)
and
<code>v54.1.1
&lt;https://setuptools.pypa.io/en/latest/history.html#v54-1-1&gt;</code>_
(see <a
href="https://redirect.github.com/pypa/setuptools/issues/2592">#2592</a>).</p>
<p>.. note::
This change <em>does not affect configurations in</em>
<code>pyproject.toml</code>
(which uses the :wiki:<code>lower-kebab-case
&lt;Letter_case#Kebab_case&gt;</code> convention following the precedent
set in :pep:<code>517</code>/:pep:<code>518</code>). (<a
href="https://redirect.github.com/pypa/setuptools/issues/4870">#4870</a>)</p>
</li>
</ul>
<h2>Misc</h2>
<ul>
<li><a
href="https://redirect.github.com/pypa/setuptools/issues/4904">#4904</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/setuptools/commit/3c88de1c62420c1e0161f48e34af6424ac009aa5"><code>3c88de1</code></a>
Bump version: 78.0.1 → 78.0.2</li>
<li><a
href="https://github.com/pypa/setuptools/commit/a219451f7354816fe479cf2b0fd5bc47de0a57ee"><code>a219451</code></a>
Revert removals introduced in <code>v78.0.0</code> (<a
href="https://redirect.github.com/pypa/setuptools/issues/4911">#4911</a>)</li>
<li><a
href="https://github.com/pypa/setuptools/commit/d4326dd6896caa87dbf928610fa160a536b69323"><code>d4326dd</code></a>
Allow PyPy to fail on CI.</li>
<li><a
href="https://github.com/pypa/setuptools/commit/92e22dd5765b54e1ce7c9f25c419371e666b15dc"><code>92e22dd</code></a>
Manually remove file to try to stop flaky tests on PyPy</li>
<li><a
href="https://github.com/pypa/setuptools/commit/caa48ab040420be2885e9d2a14ce6615bd17f992"><code>caa48ab</code></a>
Add news fragment</li>
<li><a
href="https://github.com/pypa/setuptools/commit/4e9b8caec323aba5b2b3764ef97018a8b1596a4b"><code>4e9b8ca</code></a>
Revert removals introduced in v78.0.0</li>
<li><a
href="https://github.com/pypa/setuptools/commit/5450f57f1cefa44c961fb50fc18e9826c95a5d59"><code>5450f57</code></a>
Bump version: 78.0.0 → 78.0.1</li>
<li><a
href="https://github.com/pypa/setuptools/commit/f3d0b10f20356a63d03de2043322a54c84ff7ee1"><code>f3d0b10</code></a>
Temporarily remove <code>requests</code> from integration tests (<a
href="https://redirect.github.com/pypa/setuptools/issues/4909">#4909</a>)</li>
<li><a
href="https://github.com/pypa/setuptools/commit/54b4c79bf40099bac3f5005352215acdbcd12e17"><code>54b4c79</code></a>
Add news fragment</li>
<li><a
href="https://github.com/pypa/setuptools/commit/e771c64c613f148b9b46f45acf00955093dce4c2"><code>e771c64</code></a>
Temporarily remove 'requests' from integration tests</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/setuptools/compare/v77.0.3...v78.0.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=setuptools&package-manager=pip&previous-version=77.0.3&new-version=78.0.2)](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 [propcache](https://github.com/aio-libs/propcache) from 0.3.0 to
0.3.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/aio-libs/propcache/releases">propcache's
releases</a>.</em></p>
<blockquote>
<h2>0.3.1</h2>
<h2>Bug fixes</h2>
<ul>
<li>
<p>Improved typing annotations, fixing some type errors under correct
usage
and improving typing robustness generally -- by
:user:<code>Dreamsorcerer</code>.</p>
<p><em>Related issues and pull requests on GitHub:</em>
<a
href="https://redirect.github.com/aio-libs/propcache/issues/103">#103</a>.</p>
</li>
</ul>
<hr />
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/aio-libs/propcache/blob/master/CHANGES.rst">propcache's
changelog</a>.</em></p>
<blockquote>
<h1>0.3.1</h1>
<p><em>(2025-03-25)</em></p>
<h2>Bug fixes</h2>
<ul>
<li>
<p>Improved typing annotations, fixing some type errors under correct
usage
and improving typing robustness generally -- by
:user:<code>Dreamsorcerer</code>.</p>
<p><em>Related issues and pull requests on GitHub:</em>
:issue:<code>103</code>.</p>
</li>
</ul>
<hr />
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/aio-libs/propcache/commit/79088e6c9c5c1b5eae2be83dfe0cfc2315f8cc8e"><code>79088e6</code></a>
Fix release</li>
<li><a
href="https://github.com/aio-libs/propcache/commit/f9d877d0a98dea0ec58250e9ab4c1f8970d88a67"><code>f9d877d</code></a>
Release v0.3.1 (<a
href="https://redirect.github.com/aio-libs/propcache/issues/108">#108</a>)</li>
<li><a
href="https://github.com/aio-libs/propcache/commit/b884edab8d353c86d050e0cb6f08e527109379e1"><code>b884eda</code></a>
Bump pypa/cibuildwheel from 2.23.1 to 2.23.2 (<a
href="https://redirect.github.com/aio-libs/propcache/issues/107">#107</a>)</li>
<li><a
href="https://github.com/aio-libs/propcache/commit/4fdda24c62f15f45fe622fc9eaa273f6eebbffbe"><code>4fdda24</code></a>
Allow TypedDict for cache implementation (<a
href="https://redirect.github.com/aio-libs/propcache/issues/105">#105</a>)</li>
<li><a
href="https://github.com/aio-libs/propcache/commit/f89c519abe942f98e558e16e752f0baa62870b94"><code>f89c519</code></a>
Bump pre-commit from 4.1.0 to 4.2.0 (<a
href="https://redirect.github.com/aio-libs/propcache/issues/106">#106</a>)</li>
<li><a
href="https://github.com/aio-libs/propcache/commit/7c65ce0b1e6b0cab9488e801f3cad9059ee325cc"><code>7c65ce0</code></a>
Bump pypa/cibuildwheel from 2.23.0 to 2.23.1 (<a
href="https://redirect.github.com/aio-libs/propcache/issues/104">#104</a>)</li>
<li><a
href="https://github.com/aio-libs/propcache/commit/92b4baf3510da6a7a86eae6809dceecb8fec8d0d"><code>92b4baf</code></a>
Bump pypa/cibuildwheel from 2.22.0 to 2.23.0 (<a
href="https://redirect.github.com/aio-libs/propcache/issues/102">#102</a>)</li>
<li><a
href="https://github.com/aio-libs/propcache/commit/317e5a4b0372e223654761adac66d5bd3de384e7"><code>317e5a4</code></a>
Bump pytest from 8.3.4 to 8.3.5 (<a
href="https://redirect.github.com/aio-libs/propcache/issues/101">#101</a>)</li>
<li><a
href="https://github.com/aio-libs/propcache/commit/c5d43c7edf13b8db89189b55308ad3c7677b434d"><code>c5d43c7</code></a>
Bump sphinx from 8.2.1 to 8.2.3 (<a
href="https://redirect.github.com/aio-libs/propcache/issues/100">#100</a>)</li>
<li><a
href="https://github.com/aio-libs/propcache/commit/eb64b6577e4d4a46762b86703f2f707eb7660102"><code>eb64b65</code></a>
Strict typing (<a
href="https://redirect.github.com/aio-libs/propcache/issues/103">#103</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/aio-libs/propcache/compare/v0.3.0...v0.3.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=propcache&package-manager=pip&previous-version=0.3.0&new-version=0.3.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>
Bumps [setuptools](https://github.com/pypa/setuptools) from 78.0.2 to
78.1.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/setuptools/blob/main/NEWS.rst">setuptools's
changelog</a>.</em></p>
<blockquote>
<h1>v78.1.0</h1>
<h2>Features</h2>
<ul>
<li>Restore access to _get_vc_env with a warning. (<a
href="https://redirect.github.com/pypa/setuptools/issues/4874">#4874</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/setuptools/commit/6ead555c5fb29bc57fe6105b1bffc163f56fd558"><code>6ead555</code></a>
Bump version: 78.0.2 → 78.1.0</li>
<li><a
href="https://github.com/pypa/setuptools/commit/d37cd9ede4c0b529f4239d0c1e26c2a5996131c4"><code>d37cd9e</code></a>
Merge <a
href="https://github.com/pypa/distutils">https://github.com/pypa/distutils</a></li>
<li><a
href="https://github.com/pypa/setuptools/commit/efa2eb231c82f6630468ad358cfe4b65a013b690"><code>efa2eb2</code></a>
Restore access to _get_vc_env with a warning.</li>
<li>See full diff in <a
href="https://github.com/pypa/setuptools/compare/v78.0.2...v78.1.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=setuptools&package-manager=pip&previous-version=78.0.2&new-version=78.1.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
[python-on-whales](https://github.com/gabrieldemarmiesse/python-on-whales)
from 0.75.1 to 0.76.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/gabrieldemarmiesse/python-on-whales/releases">python-on-whales's
releases</a>.</em></p>
<blockquote>
<h2>v0.76.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Fixed secrets and added tests by <a
href="https://github.com/gabrieldemarmiesse"><code>@​gabrieldemarmiesse</code></a>
in <a
href="https://redirect.github.com/gabrieldemarmiesse/python-on-whales/pull/673">gabrieldemarmiesse/python-on-whales#673</a></li>
<li>Add support for multi-nodes on builders by <a
href="https://github.com/gabrieldemarmiesse"><code>@​gabrieldemarmiesse</code></a>
in <a
href="https://redirect.github.com/gabrieldemarmiesse/python-on-whales/pull/674">gabrieldemarmiesse/python-on-whales#674</a></li>
<li>Fix secrets specs labels being capitalized by <a
href="https://github.com/gabrieldemarmiesse"><code>@​gabrieldemarmiesse</code></a>
in <a
href="https://redirect.github.com/gabrieldemarmiesse/python-on-whales/pull/675">gabrieldemarmiesse/python-on-whales#675</a></li>
</ul>
<h3>Breaking changes:</h3>
<p>Some breaking changes were introduced in this version. Those are
rarely used features but it might impact you.</p>
<p><code>python_on_whales.Builder</code>:</p>
<ul>
<li><code>my_builder.status</code> -&gt;
<code>my_builder.nodes[0].status</code></li>
<li><code>my_builder.platforms</code> -&gt;
<code>my_builder.nodes[0].platforms</code></li>
</ul>
<p><code>python_on_whales.Secret</code>:</p>
<ul>
<li><code>my_secret.spec[&quot;name&quot;]</code> -&gt;
<code>my_secret.spec.name</code></li>
<li><code>my_secret.spec[&quot;labels&quot;]</code> -&gt;
<code>my_secret.spec.labels</code></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/gabrieldemarmiesse/python-on-whales/compare/v0.75.1...v0.76.1">https://github.com/gabrieldemarmiesse/python-on-whales/compare/v0.75.1...v0.76.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/gabrieldemarmiesse/python-on-whales/commit/de653e6591bb7a306eedd94d659ce373b8b8727d"><code>de653e6</code></a>
Bump version to 0.76.1</li>
<li><a
href="https://github.com/gabrieldemarmiesse/python-on-whales/commit/0e0dbafc0e6dba9faec179b054e922e451cd013c"><code>0e0dbaf</code></a>
Fix secrets specs labels being capitalized (<a
href="https://redirect.github.com/gabrieldemarmiesse/python-on-whales/issues/675">#675</a>)</li>
<li><a
href="https://github.com/gabrieldemarmiesse/python-on-whales/commit/38370abea3c054d1c17fb89b6769e2e3bffba959"><code>38370ab</code></a>
Bump version to 0.76.0</li>
<li><a
href="https://github.com/gabrieldemarmiesse/python-on-whales/commit/9e0d8baa2be9f5cfa082cbd7b7c7ae076ffa7b96"><code>9e0d8ba</code></a>
Add support for multi-nodes on builders (<a
href="https://redirect.github.com/gabrieldemarmiesse/python-on-whales/issues/674">#674</a>)</li>
<li><a
href="https://github.com/gabrieldemarmiesse/python-on-whales/commit/3e95100df068a0ad97dce67a9a0b0d2c510d818a"><code>3e95100</code></a>
Fixed secrets and added tests (<a
href="https://redirect.github.com/gabrieldemarmiesse/python-on-whales/issues/673">#673</a>)</li>
<li>See full diff in <a
href="https://github.com/gabrieldemarmiesse/python-on-whales/compare/v0.75.1...v0.76.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=python-on-whales&package-manager=pip&previous-version=0.75.1&new-version=0.76.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>
…g headers (#10635)

**This is a backport of PR #10625 as merged into master
(4599b87).**

Improve performance of serializing headers by moving the check for `\r`
and `\n` into the write loop instead of making a separate call to check
each disallowed character in the Python string.

Co-authored-by: J. Nick Koston <nick@koston.org>
…ocket factory (#10534) (#10637)

**This is a backport of PR #10568 as merged into master
(8ac4830).**

Co-authored-by: Tim Menninger <tmenninger22@gmail.com>
…g headers (#10636)

**This is a backport of PR #10625 as merged into master
(4599b87).**

Improve performance of serializing headers by moving the check for `\r`
and `\n` into the write loop instead of making a separate call to check
each disallowed character in the Python string.

Co-authored-by: J. Nick Koston <nick@koston.org>
…verhead (#10640)

**This is a backport of PR #10601 as merged into master
(f7cac7e).**

<!-- Thank you for your contribution! -->

## What do these changes do?

Use a `const unsigned char *` for the buffer (Cython will automatically
extract is using `__Pyx_PyBytes_AsUString`) as its a lot faster than
copying around `PyBytes` objects. We do need to be careful that all
slices are bounded and we bound check everything to make sure we do not
do an out of bounds read since Cython does not bounds check C strings.

I checked that all accesses to `buf_cstr` are proceeded by a bounds
check but it would be good to get another set of eyes on that to verify
in the `self._state == READ_PAYLOAD` block that we will never try to
read out of bounds.

<img width="376" alt="Screenshot 2025-03-19 at 10 21 54 AM"
src="https://github.com/user-attachments/assets/a340ffa2-f09b-4aff-a4f7-c487dae186c8"
/>




## Are there changes in behavior for the user?

performance improvement

## Is it a substantial burden for the maintainers to support this?

no

There is a small risk that someone could remove a bounds check in the
future and create a memory safety issue, however in this case its likely
we would already be trying to read data that wasn't there if we are
missing the bounds checking so the pure python version would throw if we
are testing properly.

Co-authored-by: J. Nick Koston <nick@koston.org>
… in WebSocket reader (#10642)

**This is a backport of PR #10638 as merged into master
(caa5792).**

Small code cleanup

Co-authored-by: J. Nick Koston <nick@koston.org>
… in WebSocket reader (#10643)

**This is a backport of PR #10638 as merged into master
(caa5792).**

Small code cleanup

Co-authored-by: J. Nick Koston <nick@koston.org>
…verhead (#10639)

**This is a backport of PR #10601 as merged into master
(f7cac7e).**

<!-- Thank you for your contribution! -->

## What do these changes do?

Use a `const unsigned char *` for the buffer (Cython will automatically
extract is using `__Pyx_PyBytes_AsUString`) as its a lot faster than
copying around `PyBytes` objects. We do need to be careful that all
slices are bounded and we bound check everything to make sure we do not
do an out of bounds read since Cython does not bounds check C strings.

I checked that all accesses to `buf_cstr` are proceeded by a bounds
check but it would be good to get another set of eyes on that to verify
in the `self._state == READ_PAYLOAD` block that we will never try to
read out of bounds.

<img width="376" alt="Screenshot 2025-03-19 at 10 21 54 AM"
src="https://github.com/user-attachments/assets/a340ffa2-f09b-4aff-a4f7-c487dae186c8"
/>




## Are there changes in behavior for the user?

performance improvement

## Is it a substantial burden for the maintainers to support this?

no

There is a small risk that someone could remove a bounds check in the
future and create a memory safety issue, however in this case its likely
we would already be trying to read data that wasn't there if we are
missing the bounds checking so the pure python version would throw if we
are testing properly.

Co-authored-by: J. Nick Koston <nick@koston.org>
…10645)

**This is a backport of PR #10644 as merged into master
(8c4e60b).**

<!-- Thank you for your contribution! -->

## What do these changes do?

Add benchmarks for streaming API.

I get asked all the time if someone should use `iter_chunked`,
`iter_any`, or `iter_chunks`. Its nice to be able to point people at
benchmarks, especially ones they can alter with their numbers and run
locally.

Unsurprisingly `memcpy` is where the performance issues are so avoiding
it as much as possible will give better performance. In almost all cases
`iter_chunks` is going to give the best performance if you can trust the
chunk sizes aren't going to be too large.

## Are there changes in behavior for the user?

no

## Is it a substantial burden for the maintainers to support this?
no

Co-authored-by: J. Nick Koston <nick@koston.org>
…10646)

**This is a backport of PR #10644 as merged into master
(8c4e60b).**

<!-- Thank you for your contribution! -->

## What do these changes do?

Add benchmarks for streaming API.

I get asked all the time if someone should use `iter_chunked`,
`iter_any`, or `iter_chunks`. Its nice to be able to point people at
benchmarks, especially ones they can alter with their numbers and run
locally.

Unsurprisingly `memcpy` is where the performance issues are so avoiding
it as much as possible will give better performance. In almost all cases
`iter_chunks` is going to give the best performance if you can trust the
chunk sizes aren't going to be too large.

## Are there changes in behavior for the user?

no

## Is it a substantial burden for the maintainers to support this?
no

Co-authored-by: J. Nick Koston <nick@koston.org>
dependabot bot and others added 8 commits March 31, 2025 11:20
Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.7.1 to
7.8.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.8.0 — 2025-03-30</h2>
<ul>
<li>
<p>Added a new <code>source_dirs</code> setting for symmetry with the
existing
<code>source_pkgs</code> setting. It's preferable to the existing
<code>source</code> setting,
because you'll get a clear error when directories don't exist. Fixes
<code>issue 1942</code><em>. Thanks, <code>Jeremy Fleischman &lt;pull
1943_&gt;</code></em>.</p>
</li>
<li>
<p>Fix: the PYTHONSAFEPATH environment variable new in Python 3.11 is
properly
supported, closing <code>issue 1696</code><em>. Thanks, <code>Philipp A.
&lt;pull 1700_&gt;</code></em>. This
works properly except for a detail when using the <code>coverage</code>
command on
Windows. There you can use <code>python -m coverage</code> instead if
you need exact
emulation.</p>
</li>
</ul>
<p>.. _issue 1696: <a
href="https://redirect.github.com/nedbat/coveragepy/issues/1696">nedbat/coveragepy#1696</a>
.. _pull 1700: <a
href="https://redirect.github.com/nedbat/coveragepy/pull/1700">nedbat/coveragepy#1700</a>
.. _issue 1942: <a
href="https://redirect.github.com/nedbat/coveragepy/issues/1942">nedbat/coveragepy#1942</a>
.. _pull 1943: <a
href="https://redirect.github.com/nedbat/coveragepy/pull/1943">nedbat/coveragepy#1943</a></p>
<p>.. _changes_7-7-1:</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/nedbat/coveragepy/commit/6d5ced933f116d6ced5497ffbe7616db05b63e12"><code>6d5ced9</code></a>
docs: sample HTML for 7.8.0</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/49c194fbb225039f3c2c029faecbc187aba37a9c"><code>49c194f</code></a>
docs: prep for 7.8.0</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/38782cb5e481e24e139bd6cf08ec06e0438be4cd"><code>38782cb</code></a>
docs: finish up source_dirs. bump to 7.8.0</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/7aea2f311eb073a74b0efb26065933f8572b1a2a"><code>7aea2f3</code></a>
feat: add new <code>source_dirs</code> option (<a
href="https://redirect.github.com/nedbat/coveragepy/issues/1943">#1943</a>)</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/f464155a3e43b4640c2ead9fb06674f33f61858a"><code>f464155</code></a>
test: some simple bytecode tests</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/cf1dec0f05aaf581e9e6f7c707c7fa77ba77ade9"><code>cf1dec0</code></a>
refactor: these pypy modules are available in all our versions</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/a87605265039b46570ae617f06941cfdbb95cba6"><code>a876052</code></a>
test: a general helper for iterating over our own source files</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/82cff3e34836ff7248f4fb2e348c5f954e82b78e"><code>82cff3e</code></a>
perf: sets are better than lists</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/a66bd61be0a01874dacf4238c1de5ef67ef325fe"><code>a66bd61</code></a>
refactor: move bytecode code into bytecode.py</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/d64ce5f95473ec2c24485bb0261c536f55d0cb4a"><code>d64ce5f</code></a>
chore: bump the action-dependencies group with 3 updates (<a
href="https://redirect.github.com/nedbat/coveragepy/issues/1940">#1940</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/nedbat/coveragepy/compare/7.7.1...7.8.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.7.1&new-version=7.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 [rich](https://github.com/Textualize/rich) from 13.9.4 to 14.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Textualize/rich/releases">rich's
releases</a>.</em></p>
<blockquote>
<h2>The ENVy of all other releases</h2>
<p>Mostly updates to Traceback rendering, to add support for features
introduced in Python3.11</p>
<p>We also have a new env var that I am proposing to become a standard.
<code>TTY_COMPATIBLE=1</code> tells Rich to write ansi-escape sequences
even if it detects it is not writing to a terminal. This is intended for
use with GitHub Actions / CI, which can interpret escape sequences, but
aren't a terminal.</p>
<p>There is also a change to how NO_COLOR and FORCE_COLOR are
interpreted, which is the reason for the major version bump.</p>
<h2>[14.0.0] - 2025-03-30</h2>
<h3>Added</h3>
<ul>
<li>Added env var <code>TTY_COMPATIBLE</code> to override auto-detection
of TTY support (See console.rst for details). <a
href="https://redirect.github.com/Textualize/rich/pull/3675">Textualize/rich#3675</a></li>
</ul>
<h3>Changed</h3>
<ul>
<li>An empty <code>NO_COLOR</code> env var is now considered disabled.
<a
href="https://redirect.github.com/Textualize/rich/pull/3675">Textualize/rich#3675</a></li>
<li>An empty <code>FORCE_COLOR</code> env var is now considered
disabled. <a
href="https://redirect.github.com/Textualize/rich/pull/3675">Textualize/rich#3675</a></li>
<li>Rich tracebacks will now render notes on Python 3.11 onwards (added
with <code>Exception.add_note</code>) <a
href="https://redirect.github.com/Textualize/rich/pull/3676">Textualize/rich#3676</a></li>
<li>Indentation in exceptions won't be underlined <a
href="https://redirect.github.com/Textualize/rich/pull/3678">Textualize/rich#3678</a></li>
<li>Rich tracebacks will now render Exception Groups <a
href="https://redirect.github.com/Textualize/rich/pull/3677">Textualize/rich#3677</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/Textualize/rich/blob/master/CHANGELOG.md">rich's
changelog</a>.</em></p>
<blockquote>
<h2>[14.0.0] - 2025-03-30</h2>
<h3>Added</h3>
<ul>
<li>Added env var <code>TTY_COMPATIBLE</code> to override auto-detection
of TTY support (See console.rst for details). <a
href="https://redirect.github.com/Textualize/rich/pull/3675">Textualize/rich#3675</a></li>
</ul>
<h3>Changed</h3>
<ul>
<li>An empty <code>NO_COLOR</code> env var is now considered disabled.
<a
href="https://redirect.github.com/Textualize/rich/pull/3675">Textualize/rich#3675</a></li>
<li>An empty <code>FORCE_COLOR</code> env var is now considered
disabled. <a
href="https://redirect.github.com/Textualize/rich/pull/3675">Textualize/rich#3675</a></li>
<li>Rich tracebacks will now render notes on Python 3.11 onwards (added
with <code>Exception.add_note</code>) <a
href="https://redirect.github.com/Textualize/rich/pull/3676">Textualize/rich#3676</a></li>
<li>Indentation in exceptions won't be underlined <a
href="https://redirect.github.com/Textualize/rich/pull/3678">Textualize/rich#3678</a></li>
<li>Rich tracebacks will now render Exception Groups <a
href="https://redirect.github.com/Textualize/rich/pull/3677">Textualize/rich#3677</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Textualize/rich/commit/72e3bb33d44fd96881f7742b77137983907a942f"><code>72e3bb3</code></a>
Merge pull request <a
href="https://redirect.github.com/Textualize/rich/issues/3681">#3681</a>
from Textualize/bump14.0.0</li>
<li><a
href="https://github.com/Textualize/rich/commit/859d77bd6fbe67a72ddeacc300c85deed3b26598"><code>859d77b</code></a>
bump to 13.0.0</li>
<li><a
href="https://github.com/Textualize/rich/commit/2bae2fe3d861ef83d778c289f6e1e17733225b76"><code>2bae2fe</code></a>
Update feature_request.md</li>
<li><a
href="https://github.com/Textualize/rich/commit/07b738a23005076c75ecaeae1202e3a7772905b6"><code>07b738a</code></a>
Merge pull request <a
href="https://redirect.github.com/Textualize/rich/issues/3610">#3610</a>
from kotfu/master</li>
<li><a
href="https://github.com/Textualize/rich/commit/e6673492e52a2290d765438c33547df0a8b3e290"><code>e667349</code></a>
Merge pull request <a
href="https://redirect.github.com/Textualize/rich/issues/3624">#3624</a>
from itamaro/patch-1</li>
<li><a
href="https://github.com/Textualize/rich/commit/a48a5b309f9273ffba85fb9491b974634c8f7ab9"><code>a48a5b3</code></a>
Merge pull request <a
href="https://redirect.github.com/Textualize/rich/issues/3677">#3677</a>
from Textualize/exception-groups</li>
<li><a
href="https://github.com/Textualize/rich/commit/4de139ef0ec2581a6e1fe045949a86c183b734ac"><code>4de139e</code></a>
Merge pull request <a
href="https://redirect.github.com/Textualize/rich/issues/3679">#3679</a>
from bcapener/remove-leftover-code</li>
<li><a
href="https://github.com/Textualize/rich/commit/8f68c848bf458a1bf371c073d1e366da574eccde"><code>8f68c84</code></a>
changelog</li>
<li><a
href="https://github.com/Textualize/rich/commit/ec5d2f1589c4c20e0f51f600f7a67f196948bcd4"><code>ec5d2f1</code></a>
Merge branch 'master' into exception-groups</li>
<li><a
href="https://github.com/Textualize/rich/commit/13f9b4f874985cc2aeafc7954251597acdaa8544"><code>13f9b4f</code></a>
style tweak</li>
<li>Additional commits viewable in <a
href="https://github.com/Textualize/rich/compare/v13.9.4...v14.0.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rich&package-manager=pip&previous-version=13.9.4&new-version=14.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 [pydantic](https://github.com/pydantic/pydantic) from 2.10.6 to
2.11.1.
<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.1 2025-03-28</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<h3>Fixes</h3>
<ul>
<li>Do not override <code>'definitions-ref'</code> schemas containing
serialization schemas or metadata by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11644">pydantic/pydantic#11644</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/pydantic/pydantic/compare/v2.11.0...v2.11.1">https://github.com/pydantic/pydantic/compare/v2.11.0...v2.11.1</a></p>
<h2>v2.11.0 2025-03-27</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<h3>Packaging</h3>
<ul>
<li>Re-enable memray related tests on Python 3.12+ by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11191">pydantic/pydantic#11191</a></li>
<li>Bump astral-sh/setup-uv from 4 to 5 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11205">pydantic/pydantic#11205</a></li>
<li>Add a <code>check_pydantic_core_version()</code> function by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11324">pydantic/pydantic#11324</a></li>
<li>Remove <code>greenlet</code> development dependency by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11351">pydantic/pydantic#11351</a></li>
<li>Bump ruff from 0.9.2 to 0.9.5 by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11407">pydantic/pydantic#11407</a></li>
<li>Improve release automation process by <a
href="https://github.com/austinyu"><code>@​austinyu</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11427">pydantic/pydantic#11427</a></li>
<li>Bump dawidd6/action-download-artifact from 8 to 9 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11513">pydantic/pydantic#11513</a></li>
<li>Bump <code>pydantic-core</code> to v2.32.0 by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11567">pydantic/pydantic#11567</a></li>
</ul>
<h3>New Features</h3>
<ul>
<li>Support unsubstituted type variables with both a default and a bound
or constraints by <a
href="https://github.com/FyZzyss"><code>@​FyZzyss</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/10789">pydantic/pydantic#10789</a></li>
<li>Add a <code>default_factory_takes_validated_data</code> property to
<code>FieldInfo</code> by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11034">pydantic/pydantic#11034</a></li>
<li>Raise a better error when a generic alias is used inside
<code>type[]</code> by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11088">pydantic/pydantic#11088</a></li>
<li>Properly support PEP 695 generics syntax by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11189">pydantic/pydantic#11189</a></li>
<li>Properly support type variable defaults by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11332">pydantic/pydantic#11332</a></li>
<li>Add support for validating v6, v7, v8 UUIDs by <a
href="https://github.com/astei"><code>@​astei</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11436">pydantic/pydantic#11436</a></li>
<li>Improve alias configuration APIs by <a
href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a>
in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11468">pydantic/pydantic#11468</a></li>
<li>Add experimental support for free threading by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11516">pydantic/pydantic#11516</a></li>
<li>Add <code>encoded_string()</code> method to the URL types by <a
href="https://github.com/YassinNouh21"><code>@​YassinNouh21</code></a>
in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11580">pydantic/pydantic#11580</a></li>
<li>Add support for <code>defer_build</code> with
<code>@validate_call</code> decorator by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11584">pydantic/pydantic#11584</a></li>
<li>Allow <code>@with_config</code> decorator to be used with keyword
arguments by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11608">pydantic/pydantic#11608</a></li>
<li>Simplify customization of default value inclusion in JSON Schema
generation by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11634">pydantic/pydantic#11634</a></li>
<li>Add <code>generate_arguments_schema()</code> function by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11572">pydantic/pydantic#11572</a></li>
</ul>
<h3>Changes</h3>
<ul>
<li>Rework <code>create_model</code> field definitions format by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11032">pydantic/pydantic#11032</a></li>
<li>Raise a deprecation warning when a field is annotated as final with
a default value by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11168">pydantic/pydantic#11168</a></li>
<li>Deprecate accessing <code>model_fields</code> and
<code>model_computed_fields</code> on instances by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11169">pydantic/pydantic#11169</a></li>
<li>Move core schema generation logic for path types inside the
<code>GenerateSchema</code> class by <a
href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a>
in <a
href="https://redirect.github.com/pydantic/pydantic/pull/10846">pydantic/pydantic#10846</a></li>
<li>Move <code>Mapping</code> schema gen to <code>GenerateSchema</code>
to complete removal of <code>prepare_annotations_for_known_type</code>
workaround by <a
href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a>
in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11247">pydantic/pydantic#11247</a></li>
<li>Remove Python 3.8 Support by <a
href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a>
in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11258">pydantic/pydantic#11258</a></li>
<li>Optimize calls to <code>get_type_ref</code> by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/10863">pydantic/pydantic#10863</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</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.1 (2025-03-28)</h2>
<p><a
href="https://github.com/pydantic/pydantic/releases/tag/v2.11.1">GitHub
release</a></p>
<h3>What's Changed</h3>
<h4>Fixes</h4>
<ul>
<li>Do not override <code>'definitions-ref'</code> schemas containing
serialization schemas or metadata by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11644">#11644</a></li>
</ul>
<h2>v2.11.0 (2025-03-27)</h2>
<p><a
href="https://github.com/pydantic/pydantic/releases/tag/v2.11.0">GitHub
release</a></p>
<h3>What's Changed</h3>
<p>Pydantic v2.11 is a version strongly focused on build time
performance of Pydantic models (and core schema generation in general).
See the <a
href="https://pydantic.dev/articles/pydantic-v2-11-release">blog
post</a> for more details.</p>
<h4>Packaging</h4>
<ul>
<li>Bump <code>pydantic-core</code> to v2.33.0 by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11631">#11631</a></li>
</ul>
<h4>New Features</h4>
<ul>
<li>Add <code>encoded_string()</code> method to the URL types by <a
href="https://github.com/YassinNouh21"><code>@​YassinNouh21</code></a>
in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11580">#11580</a></li>
<li>Add support for <code>defer_build</code> with
<code>@validate_call</code> decorator by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11584">#11584</a></li>
<li>Allow <code>@with_config</code> decorator to be used with keyword
arguments by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11608">#11608</a></li>
<li>Simplify customization of default value inclusion in JSON Schema
generation by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11634">#11634</a></li>
<li>Add <code>generate_arguments_schema()</code> function by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11572">#11572</a></li>
</ul>
<h4>Fixes</h4>
<ul>
<li>Allow generic typed dictionaries to be used for unpacked variadic
keyword parameters by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11571">#11571</a></li>
<li>Fix runtime error when computing model string representation
involving cached properties and self-referenced models by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11579">#11579</a></li>
<li>Preserve other steps when using the ellipsis in the pipeline API by
<a href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11626">#11626</a></li>
<li>Fix deferred discriminator application logic by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11591">#11591</a></li>
</ul>
<h3>New Contributors</h3>
<ul>
<li><a href="https://github.com/cmenon12"><code>@​cmenon12</code></a>
made their first contribution in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11562">#11562</a></li>
<li><a href="https://github.com/Jeukoh"><code>@​Jeukoh</code></a> made
their first contribution in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11611">#11611</a></li>
</ul>
<h2>v2.11.0b2 (2025-03-17)</h2>
<p><a
href="https://github.com/pydantic/pydantic/releases/tag/v2.11.0b2">GitHub
release</a></p>
<h3>What's Changed</h3>
<h4>Packaging</h4>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pydantic/pydantic/commit/6c38dc93f40a47f4d1350adca9ec0d72502e223f"><code>6c38dc9</code></a>
Prepare release v2.11.1 (<a
href="https://redirect.github.com/pydantic/pydantic/issues/11648">#11648</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/1dcddac2c5e1ac2361fc897f804f44338a1d8067"><code>1dcddac</code></a>
Do not override <code>'definitions-ref'</code> schemas containing
serialization schemas ...</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/024fdae2b55bd41866418586d48009956cfa9e1b"><code>024fdae</code></a>
Fix small typos (<a
href="https://redirect.github.com/pydantic/pydantic/issues/11643">#11643</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/58e61fa3c60ffb8140d01ca9f74ff7528326a0c6"><code>58e61fa</code></a>
Prepare release v2.11.0 (<a
href="https://redirect.github.com/pydantic/pydantic/issues/11635">#11635</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/e2c2e811e3cafb35d376c22e8830f2773d65ee58"><code>e2c2e81</code></a>
Add <code>generate_arguments_schema()</code> experimental function (<a
href="https://redirect.github.com/pydantic/pydantic/issues/11572">#11572</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/72bea3f22f8d5380cb10af017deae4a0e16709c0"><code>72bea3f</code></a>
Add <code>mkdocs-llmstxt</code> documentation plugin (<a
href="https://redirect.github.com/pydantic/pydantic/issues/11632">#11632</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/fcba83291a8fe7e1dcfde9bbcc8ea57f8ef322c0"><code>fcba832</code></a>
Simplify customization of default value inclusion in JSON Schema
generation (...</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/6f11161524e495f6ed7597abcd4006f19a7cd2c1"><code>6f11161</code></a>
Add support for extra keys validation for models (<a
href="https://redirect.github.com/pydantic/pydantic/issues/11578">#11578</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/7917b11bd28706d77a5d0180381bc96b6b61b044"><code>7917b11</code></a>
Disable third-party workflow issue report (<a
href="https://redirect.github.com/pydantic/pydantic/issues/11629">#11629</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/f5226d294664788d1fbea13bec2dbc1ce6305c8e"><code>f5226d2</code></a>
Bump <code>pydantic-core</code> to v2.33.0 (<a
href="https://redirect.github.com/pydantic/pydantic/issues/11631">#11631</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pydantic/pydantic/compare/v2.10.6...v2.11.1">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.10.6&new-version=2.11.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>
…'s a failure in start_connection() #10464 (#10657)

**This is a backport of PR #10656 as merged into master
(06db052).**

Reverts #10464

While this change improved the situation for uvloop users, it caused a
regression with `SelectorEventLoop` (issue #10617)

The alternative fix is MagicStack/uvloop#646
(not merged at the time of this PR)

issue #10617 appears to be very similar to
python/cpython@d5aeccf

If someone can come up with a working reproducer for #10617 we can
revisit this.
cc @top-oai

Minimal implementation that shows on cancellation the socket is cleaned
up without the explicit `close`
#10617 (comment)
so this should be unneeded unless I've missed something (very possible
with all the moving parts here)

## Related issue number

fixes #10617

Co-authored-by: J. Nick Koston <nick@koston.org>
We yanked 3.11.13 and 3.11.14 and reverted #10464 because of #10617 so
we are doing another release to make sure nobody has to go without the
other fixes in .13 and .14

<img width="643" alt="Screenshot 2025-03-31 at 5 42 58 PM"
src="https://github.com/user-attachments/assets/08317aa3-27f8-4400-87c1-15eeec0c3682"
/>
@pull pull bot added the ⤵️ pull label Apr 1, 2025
@pull pull bot merged commit d637ec9 into tj-python:master Apr 1, 2025
@codecov-commenter
Copy link

codecov-commenter commented Apr 1, 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.71%. Comparing base (06db052) to head (d637ec9).
Report is 38 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     #187   +/-   ##
=======================================
  Coverage   98.71%   98.71%           
=======================================
  Files         125      125           
  Lines       37439    37439           
  Branches     2076     2076           
=======================================
  Hits        36957    36957           
  Misses        335      335           
  Partials      147      147           
Flag Coverage Δ
CI-GHA 98.59% <ø> (ø)
OS-Linux 98.25% <ø> (ø)
OS-Windows 96.18% <ø> (ø)
OS-macOS 97.37% <ø> (+<0.01%) ⬆️
Py-3.10.11 97.28% <ø> (+<0.01%) ⬆️
Py-3.10.16 97.82% <ø> (ø)
Py-3.11.11 97.91% <ø> (+<0.01%) ⬆️
Py-3.11.9 97.35% <ø> (ø)
Py-3.12.9 98.35% <ø> (-0.01%) ⬇️
Py-3.13.2 98.34% <ø> (ø)
Py-3.9.13 97.14% <ø> (ø)
Py-3.9.21 97.68% <ø> (+<0.01%) ⬆️
Py-pypy7.3.16 80.98% <ø> (-4.78%) ⬇️
VM-macos 97.37% <ø> (+<0.01%) ⬆️
VM-ubuntu 98.25% <ø> (ø)
VM-windows 96.18% <ø> (ø)

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.

3 participants