Skip to content

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

Merged
pull[bot] merged 45 commits intotj-python:masterfrom
aio-libs:master
Mar 17, 2025
Merged

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

Conversation

@pull
Copy link

@pull pull bot commented Mar 17, 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 February 24, 2025 16:25
…se process (#10496)

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


- Adding some notes here so I do not forget the social media posting
- Add note to check RTD to verify the changelog looks good
- Sign the tags

Co-authored-by: J. Nick Koston <nick@koston.org>
…se process (#10495)

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


- Adding some notes here so I do not forget the social media posting
- Add note to check RTD to verify the changelog looks good
- Sign the tags

Co-authored-by: J. Nick Koston <nick@koston.org>
Bumps [setuptools](https://github.com/pypa/setuptools) from 75.8.0 to
75.8.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>v75.8.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/4766">#4766</a>)</li>
<li>Fixed crash generating error message printed when building wheels
for the
free-threaded build using the limited API. -- by
:user:<code>ngoldbaum</code> (<a
href="https://redirect.github.com/pypa/setuptools/issues/4809">#4809</a>)</li>
<li>Fix documentation for recent CFLAGS distutils change. -- by
:user:<code>thesamesam</code> (<a
href="https://redirect.github.com/pypa/setuptools/issues/4836">#4836</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/setuptools/commit/56c055b653f080544f490e198605974c71b6fe35"><code>56c055b</code></a>
Bump version: 75.8.0 → 75.8.1</li>
<li><a
href="https://github.com/pypa/setuptools/commit/e46cfbf739f6c1149e4401eab9e6b7c9079d34f0"><code>e46cfbf</code></a>
Update CFLAGS docs to reflect distutils change (<a
href="https://redirect.github.com/pypa/setuptools/issues/4846">#4846</a>)</li>
<li><a
href="https://github.com/pypa/setuptools/commit/d31c5b9fc3d79e2b95f6809384e730813b0ba518"><code>d31c5b9</code></a>
Merge <a
href="https://github.com/jaraco/skeleton">https://github.com/jaraco/skeleton</a></li>
<li><a
href="https://github.com/pypa/setuptools/commit/5b5b2ab55c9454f756a962ec9584aee549f10414"><code>5b5b2ab</code></a>
Update CFLAGS docs to reflect distutils change</li>
<li><a
href="https://github.com/pypa/setuptools/commit/ba243756233d0afe944db6e02ddcb70064dcd22c"><code>ba24375</code></a>
[CI] Address problems with <code>cygwin</code> (<a
href="https://redirect.github.com/pypa/setuptools/issues/4832">#4832</a>)</li>
<li><a
href="https://github.com/pypa/setuptools/commit/9d6ade8c85fa799700bdcdf4572cbc2755a1732e"><code>9d6ade8</code></a>
Try to install tox using 'pip' on cygwin</li>
<li><a
href="https://github.com/pypa/setuptools/commit/32332e4728f46e9e37b1c775bbcc6c4ade282ed0"><code>32332e4</code></a>
Attempt to install missing dependencies</li>
<li><a
href="https://github.com/pypa/setuptools/commit/94a84c2f90f2c36b9f8ec3631ed7cba80b6fad7c"><code>94a84c2</code></a>
Add command for debugging purposes</li>
<li><a
href="https://github.com/pypa/setuptools/commit/6f809a0741386fad5146d63c656049d1473cc5c7"><code>6f809a0</code></a>
Attempt to solve problems with cygwin in the CI</li>
<li><a
href="https://github.com/pypa/setuptools/commit/aee344d781920bba42ddbee4b4b44af29d7bab6e"><code>aee344d</code></a>
Removing dependabot config. Closes <a
href="https://redirect.github.com/jaraco/skeleton/issues/156">jaraco/skeleton#156</a></li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/setuptools/compare/v75.8.0...v75.8.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=75.8.0&new-version=75.8.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 75.8.1 to
75.8.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>v75.8.2</h1>
<h2>Bugfixes</h2>
<ul>
<li>Fixed <code>pkg_resources.require(...)</code> to also consider
standardised
<code>dist-info</code> directories. (<a
href="https://redirect.github.com/pypa/setuptools/issues/4856">#4856</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/setuptools/commit/9aa3771f57f070bd13b9a3e83bd469413afc98c7"><code>9aa3771</code></a>
Bump version: 75.8.1 → 75.8.2</li>
<li><a
href="https://github.com/pypa/setuptools/commit/c0f39c04c5e7632b3f1f4800c8776f5d4709fabf"><code>c0f39c0</code></a>
Update WorkingSet.find to consider standardised .dist-info directory
names (#...</li>
<li><a
href="https://github.com/pypa/setuptools/commit/edca1811df4daa15d18eb06d0dd5da11eda8b3af"><code>edca181</code></a>
Add news fragment</li>
<li><a
href="https://github.com/pypa/setuptools/commit/22355fcb3337317d4f6ca675aa60947692c9af3a"><code>22355fc</code></a>
Also consider '-' separator in tests</li>
<li><a
href="https://github.com/pypa/setuptools/commit/8280e2c4fc2f32a5da1ec3ba322c534e2f5369a3"><code>8280e2c</code></a>
Attempt to solve path normalisation issue in windows tests</li>
<li><a
href="https://github.com/pypa/setuptools/commit/a3718c8099235fb3b40d013f97530d5aeb5ba0ce"><code>a3718c8</code></a>
Slightly change test, so that we are sure about the correct distribution
bein...</li>
<li><a
href="https://github.com/pypa/setuptools/commit/23b73aaef2cb95650a997f80ea74c8d51bc5f01c"><code>23b73aa</code></a>
Fix mypy errors</li>
<li><a
href="https://github.com/pypa/setuptools/commit/2c242238f536c4b942812632ba9dd0b1c48b4b85"><code>2c24223</code></a>
Update WorkingSet.find to consider standardised dist-info names</li>
<li><a
href="https://github.com/pypa/setuptools/commit/79d6e46d4949a77238ca8884ed8137d5d6175d31"><code>79d6e46</code></a>
Add regression test for issue 4853</li>
<li>See full diff in <a
href="https://github.com/pypa/setuptools/compare/v75.8.1...v75.8.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=75.8.1&new-version=75.8.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 [actions/cache](https://github.com/actions/cache) from 4.2.1 to
4.2.2.
<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.2</h2>
<h2>What's Changed</h2>
<blockquote>
<p>[!IMPORTANT]
As a reminder, there were important backend changes to release v4.2.0,
see <a href="https://github.com/actions/cache/releases/tag/v4.2.0">those
release notes</a> and <a
href="https://github.com/actions/cache/discussions/1510">the
announcement</a> for more details.</p>
</blockquote>
<ul>
<li>Bump <code>@​actions/cache</code> to v4.0.2 by <a
href="https://github.com/robherley"><code>@​robherley</code></a> in <a
href="https://redirect.github.com/actions/cache/pull/1560">actions/cache#1560</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/cache/compare/v4.2.1...v4.2.2">https://github.com/actions/cache/compare/v4.2.1...v4.2.2</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.2</h3>
<ul>
<li>Bump <code>@actions/cache</code> to v4.0.2</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/cache/commit/d4323d4df104b026a6aa633fdb11d772146be0bf"><code>d4323d4</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/cache/issues/1560">#1560</a>
from actions/robherley/v4.2.2</li>
<li><a
href="https://github.com/actions/cache/commit/da26677639ccfb4615f1acc52d1fc3dc89152490"><code>da26677</code></a>
bump <code>@​actions/cache</code> to v4.0.2, prep for v4.2.2
release</li>
<li><a
href="https://github.com/actions/cache/commit/7921ae235bdcb376cc8f22558dc5f8ddc3c3c2f9"><code>7921ae2</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/cache/issues/1557">#1557</a>
from actions/robherley/ia-workflow-released</li>
<li><a
href="https://github.com/actions/cache/commit/393773170624981bfaa3aac1cb736e3004eac1de"><code>3937731</code></a>
Update publish-immutable-actions.yml</li>
<li>See full diff in <a
href="https://github.com/actions/cache/compare/v4.2.1...v4.2.2">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.1&new-version=4.2.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
[sphinxcontrib-towncrier](https://github.com/sphinx-contrib/sphinxcontrib-towncrier)
from 0.4.0a0 to 0.5.0a0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sphinx-contrib/sphinxcontrib-towncrier/releases">sphinxcontrib-towncrier's
releases</a>.</em></p>
<blockquote>
<h2>v0.5.0a0</h2>
<!-- raw HTML omitted -->
<h1>Release v0.5.0a0</h1>
<p>This release is published to <a
href="https://pypi.org/project/sphinxcontrib-towncrier/0.5.0a0">https://pypi.org/project/sphinxcontrib-towncrier/0.5.0a0</a>.</p>
<p>This release has been produced by the following workflow run: <a
href="https://github.com/sphinx-contrib/sphinxcontrib-towncrier/actions/runs/13579622041">https://github.com/sphinx-contrib/sphinxcontrib-towncrier/actions/runs/13579622041</a>.</p>
<h2>🐛 What's Fixed</h2>
<p>The main improvement is that <a
href="https://github.com/bennyrowland"><code>@​bennyrowland</code></a><a
href="https://github.com/sponsors/bennyrowland">💰</a> added support for
Towncrier 24.7.0rc1 and higher via <a
href="https://redirect.github.com/sphinx-contrib/sphinxcontrib-towncrier/issues/96">#96</a>.
Towncrier versions of year 2024 are now integrated into the CI as well
(<a
href="https://redirect.github.com/sphinx-contrib/sphinxcontrib-towncrier/issues/93">#93</a>).</p>
<p>There are a few more corner case adjustments and fixes that we didn't
bother recording as they aren't met in the “happy path”. They handle
missing configs, files and directories.</p>
<h2>🛠️ Internal Updates</h2>
<p><a href="https://github.com/dvzrv"><code>@​dvzrv</code></a><a
href="https://github.com/sponsors/dvzrv">💰</a> upgraded
<code>setuptools-scm</code> in packaging to rely on modern handling of
<code>git archives</code> in <a
href="https://redirect.github.com/sphinx-contrib/sphinxcontrib-towncrier/issues/80">#80</a></p>
<p><a href="https://github.com/webknjaz"><code>@​webknjaz</code></a><a
href="https://github.com/sponsors/webknjaz">💰</a> heavily refactored the
CI/CD, introducing a reusable workflow generalizing tox invocations @ <a
href="https://redirect.github.com/sphinx-contrib/sphinxcontrib-towncrier/pull/106">sphinx-contrib/sphinxcontrib-towncrier#106</a>
and a few direct commits.</p>
<p>As a part of the testing improvements, the code coverage level has
been raised to about 20% higher than before. Additionally, a typing has
been fixed here and there.</p>
<h2>☣️ Anything else I might care about?</h2>
<blockquote>
<p>[!caution]
This release heavily reduced the support matrix. The minimum supported
Python version is now 3.9. And the lowest required Towncrier is 23.</p>
</blockquote>
<h2>💪 New Contributors</h2>
<ul>
<li><a href="https://github.com/dvzrv"><code>@​dvzrv</code></a><a
href="https://github.com/sponsors/dvzrv">💰</a> made their first
contribution in <a
href="https://redirect.github.com/sphinx-contrib/sphinxcontrib-towncrier/issues/80">#80</a></li>
<li><a
href="https://github.com/bennyrowland"><code>@​bennyrowland</code></a><a
href="https://github.com/sponsors/bennyrowland">💰</a> made their first
contribution in <a
href="https://redirect.github.com/sphinx-contrib/sphinxcontrib-towncrier/issues/96">#96</a></li>
</ul>
<p><strong>🪞 Full Diff</strong>: <a
href="https://github.com/sphinx-contrib/sphinxcontrib-towncrier/compare/v0.4.0a0...v0.5.0a0">https://github.com/sphinx-contrib/sphinxcontrib-towncrier/compare/v0.4.0a0...v0.5.0a0</a></p>
<p><strong>🧔‍♂️ Release Manager:</strong> <a
href="https://github.com/sponsors/webknjaz"><code>@​webknjaz</code></a>
<a href="https://stand-with-ukraine.pp.ua">🇺🇦</a></p>
<p><strong>🙏 Special Thanks</strong> to <a
href="https://github.com/bennyrowland"><code>@​bennyrowland</code></a><a
href="https://github.com/sponsors/bennyrowland">💰</a> for driving the
Towncrier compatibility research and proposing fixes! They laid the
foundation for this entire release.</p>
<p><strong>💬 Discuss</strong> <a
href="https://bsky.app/profile/webknjaz.me/post/3lj7dd2lus22y">on
Bluesky 🦋</a>, <a
href="https://mastodon.social/@webknjaz/114079069834270824">on Mastodon
🐘</a> and <a
href="https://github.com/sphinx-contrib/sphinxcontrib-towncrier/discussions/107">on
GitHub</a>.</p>
<p><a href="https://github.com/sponsors/webknjaz"><img
src="https://img.shields.io/badge/%40webknjaz-transparent?logo=githubsponsors&amp;logoColor=%23EA4AAA&amp;label=Sponsor&amp;color=2a313c"
alt="GH Sponsors badge" /></a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/sphinx-contrib/sphinxcontrib-towncrier/commit/8f76a5515289b5d0d5a82a445bbaa74b25a18648"><code>8f76a55</code></a>
🧪 Skip running pylint @ pre-commit.ci</li>
<li><a
href="https://github.com/sphinx-contrib/sphinxcontrib-towncrier/commit/70143285a705ee65fcde454d67f83dcca732c624"><code>7014328</code></a>
🧪 Bump Towncrier to v24 @ pre-commit</li>
<li><a
href="https://github.com/sphinx-contrib/sphinxcontrib-towncrier/commit/28c6db95f6f45f2dd06e42ee07a45b86a65abbe8"><code>28c6db9</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/sphinx-contrib/sphinxcontrib-towncrier/issues/105">#105</a>)</li>
<li><a
href="https://github.com/sphinx-contrib/sphinxcontrib-towncrier/commit/20c16675da14eb5eb63e600d628faee532632586"><code>20c1667</code></a>
Bump jinja2 from 3.1.4 to 3.1.5 in /docs (<a
href="https://redirect.github.com/sphinx-contrib/sphinxcontrib-towncrier/issues/104">#104</a>)</li>
<li><a
href="https://github.com/sphinx-contrib/sphinxcontrib-towncrier/commit/13b228cb260ab843c3aca1d19bebc1b89f929453"><code>13b228c</code></a>
Merge branch 'maintenance/tox4-win'</li>
<li><a
href="https://github.com/sphinx-contrib/sphinxcontrib-towncrier/commit/ac010591ed8b4cf5ebcb1bd480bfd25b79584ec7"><code>ac01059</code></a>
🚑 Force UTF-8 mode in CPython calling tox</li>
<li><a
href="https://github.com/sphinx-contrib/sphinxcontrib-towncrier/commit/a93edfe1027b05bfe9c60fd5caa5e9b3be1d76d1"><code>a93edfe</code></a>
🧪📦 Sync expected dist basename computation</li>
<li><a
href="https://github.com/sphinx-contrib/sphinxcontrib-towncrier/commit/7b6a89a99af8f2265735a6fe442bf1df45709094"><code>7b6a89a</code></a>
🧪 Move cron runs into a separate GHA workflow</li>
<li><a
href="https://github.com/sphinx-contrib/sphinxcontrib-towncrier/commit/7bda7eeef898fb4a33f02ccb2edbfc172b96d5de"><code>7bda7ee</code></a>
Merge branch 'maintenance/gha-reusable-tox'</li>
<li><a
href="https://github.com/sphinx-contrib/sphinxcontrib-towncrier/commit/26c1d04af75c2346ab4a65aa55bd3c5dc7e3397a"><code>26c1d04</code></a>
[pre-commit.ci] pre-commit autoupdate</li>
<li>Additional commits viewable in <a
href="https://github.com/sphinx-contrib/sphinxcontrib-towncrier/compare/v0.4.0a0...v0.5.0a0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sphinxcontrib-towncrier&package-manager=pip&previous-version=0.4.0a0&new-version=0.5.0a0)](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.22.0 to 2.23.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/cibuildwheel/releases">pypa/cibuildwheel's
releases</a>.</em></p>
<blockquote>
<h2>v2.23.0</h2>
<ul>
<li>✨ Adds official support for the new GitHub Actions Arm runners. In
fact these worked out-of-the-box, now we include them in our tests and
example configs. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2135">#2135</a>
via <a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2281">#2281</a>)</li>
<li>✨ Adds support for building PyPy 3.11 wheels (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2268">#2268</a>
via <a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2281">#2281</a>)</li>
<li>🛠 Adopts the beta pypa/manylinux image for armv7l builds (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2269">#2269</a>
via <a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2281">#2281</a>)</li>
<li>🛠 Dependency updates, including Pyodide 0.27 (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2117">#2117</a>
and <a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2281">#2281</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.0</h3>
<p><em>1 March 2025</em></p>
<ul>
<li>✨ Adds official support for the new GitHub Actions Arm runners. In
fact these worked out-of-the-box, now we include them in our tests and
example configs. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2135">#2135</a>
via <a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2281">#2281</a>)</li>
<li>✨ Adds support for building PyPy 3.11 wheels (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2268">#2268</a>
via <a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2281">#2281</a>)</li>
<li>🛠 Adopts the beta pypa/manylinux image for armv7l builds (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2269">#2269</a>
via <a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2281">#2281</a>)</li>
<li>🛠 Dependency updates, including Pyodide 0.27 (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2117">#2117</a>
and <a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2281">#2281</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/6cccd09a31908ffd175b012fb8bf4e1dbda3bc6c"><code>6cccd09</code></a>
Bump version: v2.23.0</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/aa1534d2a3274835efb753e3a0cedea94eb488fa"><code>aa1534d</code></a>
chore(2.x): update dependencies (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2294">#2294</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/ee23dd147b0862283ddb4744f91240fb1ddc4b8a"><code>ee23dd1</code></a>
fix(test): implement retry for test_container_removed</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/55037e9716e60e89c94226470c51f178af3da5f4"><code>55037e9</code></a>
ci/doc: move azure macOS build to <code>macOS-13</code> (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2101">#2101</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/8874ee204820309af33b85e21cc3d336d06a2f73"><code>8874ee2</code></a>
Remove specific Python versions from the update-dependencies job</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/f76d345e81295537e69528a5df4d1f88c9195b56"><code>f76d345</code></a>
chore: bump dependencies</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/5a5e514fbd240b7fe9b66feda05d86c9130ad7da"><code>5a5e514</code></a>
Bump to Pyodide 0.27 (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2117">#2117</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/017abbba683629357f1871875b9a616b8bf46044"><code>017abbb</code></a>
feature: add PyPy 3.11 (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2268">#2268</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/bb1fd3320e57a5f3d2491612ae9ad3e0b1694742"><code>bb1fd33</code></a>
feat: Add support for ubuntu-24.04-arm GHA runner (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2135">#2135</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/98a6f3bf64389f680e35e62dcae589087a711d27"><code>98a6f3b</code></a>
chore: use pypa/manylinux for manylinux_2_31_armv7l (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2269">#2269</a>)</li>
<li>See full diff in <a
href="https://github.com/pypa/cibuildwheel/compare/v2.22.0...v2.23.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pypa/cibuildwheel&package-manager=github_actions&previous-version=2.22.0&new-version=2.23.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.3.4 to
8.3.5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pytest-dev/pytest/releases">pytest's
releases</a>.</em></p>
<blockquote>
<h2>8.3.5</h2>
<h1>pytest 8.3.5 (2025-03-02)</h1>
<h2>Bug fixes</h2>
<ul>
<li><a
href="https://redirect.github.com/pytest-dev/pytest/issues/11777">#11777</a>:
Fixed issue where sequences were still being shortened even with
<code>-vv</code> verbosity.</li>
<li><a
href="https://redirect.github.com/pytest-dev/pytest/issues/12888">#12888</a>:
Fixed broken input when using Python 3.13+ and a <code>libedit</code>
build of Python, such as on macOS or with uv-managed Python binaries
from the <code>python-build-standalone</code> project. This could
manifest e.g. by a broken prompt when using <code>Pdb</code>, or seeing
empty inputs with manual usage of <code>input()</code> and suspended
capturing.</li>
<li><a
href="https://redirect.github.com/pytest-dev/pytest/issues/13026">#13026</a>:
Fixed <code>AttributeError</code>{.interpreted-text
role=&quot;class&quot;} crash when using
<code>--import-mode=importlib</code> when top-level directory same name
as another module of the standard library.</li>
<li><a
href="https://redirect.github.com/pytest-dev/pytest/issues/13053">#13053</a>:
Fixed a regression in pytest 8.3.4 where, when using
<code>--import-mode=importlib</code>, a directory containing py file
with the same name would cause an <code>ImportError</code></li>
<li><a
href="https://redirect.github.com/pytest-dev/pytest/issues/13083">#13083</a>:
Fixed issue where pytest could crash if one of the collected directories
got removed during collection.</li>
</ul>
<h2>Improved documentation</h2>
<ul>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/12842">#12842</a>:
Added dedicated page about using types with pytest.</p>
<p>See <code>types</code>{.interpreted-text role=&quot;ref&quot;} for
detailed usage.</p>
</li>
</ul>
<h2>Contributor-facing changes</h2>
<ul>
<li><a
href="https://redirect.github.com/pytest-dev/pytest/issues/13112">#13112</a>:
Fixed selftest failures in <code>test_terminal.py</code> with Pygments
&gt;= 2.19.0</li>
<li><a
href="https://redirect.github.com/pytest-dev/pytest/issues/13256">#13256</a>:
Support for Towncrier versions released in 2024 has been re-enabled
when building Sphinx docs -- by <code>webknjaz</code>{.interpreted-text
role=&quot;user&quot;}.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pytest-dev/pytest/commit/b55ab2aabb68c0ce94c3903139b062d0c2790152"><code>b55ab2a</code></a>
Prepare release version 8.3.5</li>
<li><a
href="https://github.com/pytest-dev/pytest/commit/e217726d2a0edfaf58eae95bf835b85834b96da3"><code>e217726</code></a>
Added dedicated page about using types with pytest <a
href="https://redirect.github.com/pytest-dev/pytest/issues/12842">#12842</a>
(<a
href="https://redirect.github.com/pytest-dev/pytest/issues/12963">#12963</a>)
(<a
href="https://redirect.github.com/pytest-dev/pytest/issues/13260">#13260</a>)</li>
<li><a
href="https://github.com/pytest-dev/pytest/commit/2fa3f8306c3da4aad7f7349a4947ac37ba6c652f"><code>2fa3f83</code></a>
Add more resources and studies to flaky tests page in docs (<a
href="https://redirect.github.com/pytest-dev/pytest/issues/13250">#13250</a>)
(<a
href="https://redirect.github.com/pytest-dev/pytest/issues/13259">#13259</a>)</li>
<li><a
href="https://github.com/pytest-dev/pytest/commit/e5c2efe3c36199731b41fd68bbf4df5e21404a8b"><code>e5c2efe</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/13256">#13256</a>
from webknjaz/maintenance/towncrier-bump (<a
href="https://redirect.github.com/pytest-dev/pytest/issues/13258">#13258</a>)</li>
<li><a
href="https://github.com/pytest-dev/pytest/commit/3419674225a3a7b7d6f93650d75f6de52fe637d5"><code>3419674</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/13187">#13187</a>
from pytest-dev/patchback/backports/8.3.x/b4009b319...</li>
<li><a
href="https://github.com/pytest-dev/pytest/commit/b75cfb162dbb927739698effa3fbcf279655da49"><code>b75cfb1</code></a>
Add readline workaround for libedit (<a
href="https://redirect.github.com/pytest-dev/pytest/issues/13176">#13176</a>)</li>
<li><a
href="https://github.com/pytest-dev/pytest/commit/edbfff72a4051ed9c5f3d9b5d6f316b407cb6961"><code>edbfff7</code></a>
doc: Clarify capturing .readouterr() return value (<a
href="https://redirect.github.com/pytest-dev/pytest/issues/13222">#13222</a>)
(<a
href="https://redirect.github.com/pytest-dev/pytest/issues/13225">#13225</a>)</li>
<li><a
href="https://github.com/pytest-dev/pytest/commit/2ebba0063c66b77a7bd171221de059f3b3e47b86"><code>2ebba00</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/13199">#13199</a>
from jakkdl/tox_docs_no_fetch (<a
href="https://redirect.github.com/pytest-dev/pytest/issues/13200">#13200</a>)</li>
<li><a
href="https://github.com/pytest-dev/pytest/commit/eb6496b79759f9acde581ed9d7a0777a49b5f820"><code>eb6496b</code></a>
doc: Change training to remote only (<a
href="https://redirect.github.com/pytest-dev/pytest/issues/13196">#13196</a>)
(<a
href="https://redirect.github.com/pytest-dev/pytest/issues/13197">#13197</a>)</li>
<li><a
href="https://github.com/pytest-dev/pytest/commit/78cf1f67f707fc07372a89775fd10d2065b5f17a"><code>78cf1f6</code></a>
ci: Bump build-and-inspect-python-package (<a
href="https://redirect.github.com/pytest-dev/pytest/issues/13188">#13188</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pytest-dev/pytest/compare/8.3.4...8.3.5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pytest&package-manager=pip&previous-version=8.3.4&new-version=8.3.5)](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 [cryptography](https://github.com/pyca/cryptography) from 44.0.1
to 44.0.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst">cryptography's
changelog</a>.</em></p>
<blockquote>
<p>44.0.2 - 2025-03-01</p>
<pre><code>
* We now build wheels for PyPy 3.11.
<p>.. _v44-0-1:<br />
</code></pre></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pyca/cryptography/commit/56cfce682c8bd2ee5101b654a429b05d0f610f0e"><code>56cfce6</code></a>
44.0.2 release (<a
href="https://redirect.github.com/pyca/cryptography/issues/12537">#12537</a>)</li>
<li><a
href="https://github.com/pyca/cryptography/commit/7b4cc268cb5d95180ab5cfa32d55f6045bb2dcf0"><code>7b4cc26</code></a>
Backport PyPy3.11 support (<a
href="https://redirect.github.com/pyca/cryptography/issues/12536">#12536</a>)</li>
<li>See full diff in <a
href="https://github.com/pyca/cryptography/compare/44.0.1...44.0.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cryptography&package-manager=pip&previous-version=44.0.1&new-version=44.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 [aiohappyeyeballs](https://github.com/aio-libs/aiohappyeyeballs)
from 2.4.6 to 2.4.8.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/aio-libs/aiohappyeyeballs/releases">aiohappyeyeballs's
releases</a>.</em></p>
<blockquote>
<h2>v2.4.8 (2025-03-04)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>Close runner up sockets in the event there are multiple winners (<a
href="https://redirect.github.com/aio-libs/aiohappyeyeballs/pull/143">#143</a>,
<a
href="https://github.com/aio-libs/aiohappyeyeballs/commit/476a05b956627700baa84eb6aac28c395da92a9f"><code>476a05b</code></a>)</li>
</ul>
<p>The first attempt to fix this was to use the cpython staggered race
updates in <a
href="https://redirect.github.com/aio-libs/aiohappyeyeballs/issues/142">#142</a>
but there is still a race there where there can be multiple winners.
Instead we now accept that we will not be able to cancel all coros in
time and there will always be a risk of multiple winners. We store all
sockets in a set that were not already cleaned up and we close all but
the first winner after the staggered race finishes.</p>
<hr />
<p><strong>Detailed Changes</strong>: <a
href="https://github.com/aio-libs/aiohappyeyeballs/compare/v2.4.7...v2.4.8">v2.4.7...v2.4.8</a></p>
<h2>v2.4.7 (2025-03-04)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>
<p>Resolve warnings when running tests (<a
href="https://redirect.github.com/aio-libs/aiohappyeyeballs/pull/144">#144</a>,
<a
href="https://github.com/aio-libs/aiohappyeyeballs/commit/e96264aec89b9bd34d37413f610d039c56393a48"><code>e96264a</code></a>)</p>
</li>
<li>
<p>Instead of raising SystemExit which causes a RuntimeError,
mock out SystemExit to a new exception</p>
</li>
<li>
<p>Make sure the event loop is closed in tests</p>
</li>
</ul>
<p>fixes <a
href="https://redirect.github.com/aio-libs/aiohappyeyeballs/issues/97">#97</a></p>
<hr />
<p><strong>Detailed Changes</strong>: <a
href="https://github.com/aio-libs/aiohappyeyeballs/compare/v2.4.6...v2.4.7">v2.4.6...v2.4.7</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/aio-libs/aiohappyeyeballs/blob/main/CHANGELOG.md">aiohappyeyeballs's
changelog</a>.</em></p>
<blockquote>
<h2>v2.4.8 (2025-03-04)</h2>
<h3>Bug fixes</h3>
<ul>
<li>Close runner up sockets in the event there are multiple winners (<a
href="https://redirect.github.com/aio-libs/aiohappyeyeballs/issues/143">#143</a>)
(<a
href="https://github.com/aio-libs/aiohappyeyeballs/commit/476a05b956627700baa84eb6aac28c395da92a9f"><code>476a05b</code></a>)</li>
</ul>
<h2>v2.4.7 (2025-03-04)</h2>
<h3>Bug fixes</h3>
<ul>
<li>Resolve warnings when running tests (<a
href="https://redirect.github.com/aio-libs/aiohappyeyeballs/issues/144">#144</a>)
(<a
href="https://github.com/aio-libs/aiohappyeyeballs/commit/e96264aec89b9bd34d37413f610d039c56393a48"><code>e96264a</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/aio-libs/aiohappyeyeballs/commit/c4ab1e5409fe086c12932e47dc4a305eb15b4091"><code>c4ab1e5</code></a>
2.4.8</li>
<li><a
href="https://github.com/aio-libs/aiohappyeyeballs/commit/476a05b956627700baa84eb6aac28c395da92a9f"><code>476a05b</code></a>
fix: close runner up sockets in the event there are multiple winners (<a
href="https://redirect.github.com/aio-libs/aiohappyeyeballs/issues/143">#143</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohappyeyeballs/commit/9c55c91ca72a53d1944becb80ef893e6f6f7b181"><code>9c55c91</code></a>
2.4.7</li>
<li><a
href="https://github.com/aio-libs/aiohappyeyeballs/commit/e96264aec89b9bd34d37413f610d039c56393a48"><code>e96264a</code></a>
fix: resolve warnings when running tests (<a
href="https://redirect.github.com/aio-libs/aiohappyeyeballs/issues/144">#144</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohappyeyeballs/commit/ece56a5e5ac2ce66a1f0ada7466d312e8d456fbd"><code>ece56a5</code></a>
chore: manually update deps (<a
href="https://redirect.github.com/aio-libs/aiohappyeyeballs/issues/145">#145</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohappyeyeballs/commit/a77bee707dc850ce485c9f1facae62ccb4f4f233"><code>a77bee7</code></a>
chore(pre-commit.ci): pre-commit autoupdate (<a
href="https://redirect.github.com/aio-libs/aiohappyeyeballs/issues/141">#141</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohappyeyeballs/commit/035d976dee1f5e731852649f3fffd4e1aca21825"><code>035d976</code></a>
chore(deps-ci): bump the github-actions group with 2 updates (<a
href="https://redirect.github.com/aio-libs/aiohappyeyeballs/issues/140">#140</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohappyeyeballs/commit/2e130292b873d2e7236106236c43b42c773961a6"><code>2e13029</code></a>
chore(pre-commit.ci): pre-commit autoupdate (<a
href="https://redirect.github.com/aio-libs/aiohappyeyeballs/issues/139">#139</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohappyeyeballs/commit/253bd757ac4e43f0ed7fe3dc59263b7ec2d76780"><code>253bd75</code></a>
chore(pre-commit.ci): pre-commit autoupdate (<a
href="https://redirect.github.com/aio-libs/aiohappyeyeballs/issues/138">#138</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohappyeyeballs/commit/9e02614bfbf8fb51bfeb027c787b2f0099db079f"><code>9e02614</code></a>
chore(pre-commit.ci): pre-commit autoupdate (<a
href="https://redirect.github.com/aio-libs/aiohappyeyeballs/issues/137">#137</a>)</li>
<li>See full diff in <a
href="https://github.com/aio-libs/aiohappyeyeballs/compare/v2.4.6...v2.4.8">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aiohappyeyeballs&package-manager=pip&previous-version=2.4.6&new-version=2.4.8)](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 [aiohappyeyeballs](https://github.com/aio-libs/aiohappyeyeballs)
from 2.4.8 to 2.5.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/aio-libs/aiohappyeyeballs/releases">aiohappyeyeballs's
releases</a>.</em></p>
<blockquote>
<h2>v2.5.0 (2025-03-06)</h2>
<h3>Features</h3>
<ul>
<li>Add callback for users to customize socket creation (<a
href="https://redirect.github.com/aio-libs/aiohappyeyeballs/pull/147">#147</a>,
<a
href="https://github.com/aio-libs/aiohappyeyeballs/commit/8e1bc6a4bc6282ccf29db441c33dd8d806003ffd"><code>8e1bc6a</code></a>)</li>
</ul>
<p>Co-authored-by: Kieren <!-- raw HTML omitted --></p>
<hr />
<p><strong>Detailed Changes</strong>: <a
href="https://github.com/aio-libs/aiohappyeyeballs/compare/v2.4.8...v2.5.0">v2.4.8...v2.5.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/aio-libs/aiohappyeyeballs/blob/main/CHANGELOG.md">aiohappyeyeballs's
changelog</a>.</em></p>
<blockquote>
<h2>v2.5.0 (2025-03-06)</h2>
<h3>Features</h3>
<ul>
<li>Add callback for users to customize socket creation (<a
href="https://redirect.github.com/aio-libs/aiohappyeyeballs/issues/147">#147</a>)
(<a
href="https://github.com/aio-libs/aiohappyeyeballs/commit/8e1bc6a4bc6282ccf29db441c33dd8d806003ffd"><code>8e1bc6a</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/aio-libs/aiohappyeyeballs/commit/3fed4432036740392483608a9da86637cf1bd64b"><code>3fed443</code></a>
2.5.0</li>
<li><a
href="https://github.com/aio-libs/aiohappyeyeballs/commit/8e1bc6a4bc6282ccf29db441c33dd8d806003ffd"><code>8e1bc6a</code></a>
feat: add callback for users to customize socket creation (<a
href="https://redirect.github.com/aio-libs/aiohappyeyeballs/issues/147">#147</a>)</li>
<li>See full diff in <a
href="https://github.com/aio-libs/aiohappyeyeballs/compare/v2.4.8...v2.5.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aiohappyeyeballs&package-manager=pip&previous-version=2.4.8&new-version=2.5.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.5 to 3.1.6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pallets/jinja/releases">jinja2's
releases</a>.</em></p>
<blockquote>
<h2>3.1.6</h2>
<p>This is the Jinja 3.1.6 security release, which fixes security issues
but does not otherwise change behavior and should not result in breaking
changes compared to the latest feature release.</p>
<p>PyPI: <a
href="https://pypi.org/project/Jinja2/3.1.6/">https://pypi.org/project/Jinja2/3.1.6/</a>
Changes: <a
href="https://jinja.palletsprojects.com/en/stable/changes/#version-3-1-6">https://jinja.palletsprojects.com/en/stable/changes/#version-3-1-6</a></p>
<ul>
<li>The <code>|attr</code> filter does not bypass the environment's
attribute lookup, allowing the sandbox to apply its checks. <a
href="https://github.com/pallets/jinja/security/advisories/GHSA-cpwx-vrp4-4pq7">https://github.com/pallets/jinja/security/advisories/GHSA-cpwx-vrp4-4pq7</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pallets/jinja/blob/main/CHANGES.rst">jinja2's
changelog</a>.</em></p>
<blockquote>
<h2>Version 3.1.6</h2>
<p>Released 2025-03-05</p>
<ul>
<li>The <code>|attr</code> filter does not bypass the environment's
attribute lookup,
allowing the sandbox to apply its checks.
:ghsa:<code>cpwx-vrp4-4pq7</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pallets/jinja/commit/15206881c006c79667fe5154fe80c01c65410679"><code>1520688</code></a>
release version 3.1.6</li>
<li><a
href="https://github.com/pallets/jinja/commit/90457bbf33b8662926ae65cdde4c4c32e756e403"><code>90457bb</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/pallets/jinja/commit/065334d1ee5b7210e1a0a93c37238c86858f2af7"><code>065334d</code></a>
attr filter uses env.getattr</li>
<li><a
href="https://github.com/pallets/jinja/commit/033c20015c7ca899ab52eb921bb0f08e6d3dd145"><code>033c200</code></a>
start version 3.1.6</li>
<li><a
href="https://github.com/pallets/jinja/commit/bc68d4efa99c5f77334f0e519628558059ae8c35"><code>bc68d4e</code></a>
use global contributing guide (<a
href="https://redirect.github.com/pallets/jinja/issues/2070">#2070</a>)</li>
<li><a
href="https://github.com/pallets/jinja/commit/247de5e0c5062a792eb378e50e13e692885ee486"><code>247de5e</code></a>
use global contributing guide</li>
<li><a
href="https://github.com/pallets/jinja/commit/ab8218c7a1b66b62e0ad6b941bd514e3a64a358f"><code>ab8218c</code></a>
use project advisory link instead of global</li>
<li><a
href="https://github.com/pallets/jinja/commit/b4ffc8ff299dfd360064bea4cd2f862364601ad2"><code>b4ffc8f</code></a>
release version 3.1.5 (<a
href="https://redirect.github.com/pallets/jinja/issues/2066">#2066</a>)</li>
<li>See full diff in <a
href="https://github.com/pallets/jinja/compare/3.1.5...3.1.6">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jinja2&package-manager=pip&previous-version=3.1.5&new-version=3.1.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [virtualenv](https://github.com/pypa/virtualenv) from 20.29.2 to
20.29.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst">virtualenv's
changelog</a>.</em></p>
<blockquote>
<h2>v20.29.3 (2025-03-06)</h2>
<p>Bugfixes - 20.29.3</p>
<pre><code>- Ignore unreadable directories in ``PATH``. (:issue:`2794`)
</code></pre>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/virtualenv/commit/b1666e9096324b4ea37da49b15ae3b3ce29931b8"><code>b1666e9</code></a>
release 20.29.3</li>
<li><a
href="https://github.com/pypa/virtualenv/commit/e05b2860950392a5fa47da5a3344a430e52b1fe6"><code>e05b286</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/virtualenv/issues/2853">#2853</a>
from pypa/pre-commit-ci-update-config</li>
<li><a
href="https://github.com/pypa/virtualenv/commit/d6bc4a943def45d14aacaad83d5a3363188c8e67"><code>d6bc4a9</code></a>
[pre-commit.ci] pre-commit autoupdate</li>
<li><a
href="https://github.com/pypa/virtualenv/commit/1fc647edb1c63a690b26b3d472e076e8012f9e30"><code>1fc647e</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/virtualenv/issues/2852">#2852</a>
from barneygale/fix-2794</li>
<li><a
href="https://github.com/pypa/virtualenv/commit/4567521ecf35d3ee494067e6f1c0e6e9c945284f"><code>4567521</code></a>
Add changelog entry</li>
<li><a
href="https://github.com/pypa/virtualenv/commit/220b6b850f12a47cc3b93bfefd5c61bb93c9c377"><code>220b6b8</code></a>
Add test</li>
<li><a
href="https://github.com/pypa/virtualenv/commit/ee9d84cbb098e76dec9414347621137ceb7c9d3c"><code>ee9d84c</code></a>
Ignore directories in PATH that can't be opened (<a
href="https://redirect.github.com/pypa/virtualenv/issues/2794">#2794</a>)</li>
<li><a
href="https://github.com/pypa/virtualenv/commit/7365ad287729e786ede24da2e3afab3409c60dfa"><code>7365ad2</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/virtualenv/issues/2849">#2849</a>
from tipabu/logging-interpolation</li>
<li><a
href="https://github.com/pypa/virtualenv/commit/5b74c9a78b60d7c390fb749c282cee397dccdf0b"><code>5b74c9a</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/virtualenv/issues/2850">#2850</a>
from shenxianpeng/remove-duplicate-template</li>
<li><a
href="https://github.com/pypa/virtualenv/commit/ca5935ad6c71da93ee6336cf4f815e3f2e78e870"><code>ca5935a</code></a>
Remove duplicate bug report template</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/virtualenv/compare/20.29.2...20.29.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=virtualenv&package-manager=pip&previous-version=20.29.2&new-version=20.29.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 75.8.2 to
76.0.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.0.0</h1>
<h2>Deprecations and Removals</h2>
<ul>
<li>Synced with pypa/distutils@5589d7527 including a simplified shebang
generation when building scripts (<a
href="https://redirect.github.com/pypa/setuptools/issues/4863">#4863</a>).
(<a
href="https://redirect.github.com/pypa/setuptools/issues/4865">#4865</a>)</li>
</ul>
<h1>v75.9.1</h1>
<h2>Bugfixes</h2>
<ul>
<li>Fix ImportError in distutils when configuring for linking. (<a
href="https://redirect.github.com/pypa/setuptools/issues/4866">#4866</a>)</li>
</ul>
<h1>v75.9.0</h1>
<h2>Features</h2>
<ul>
<li><code>pypa/distutils#327</code><a
href="https://redirect.github.com/pypa/setuptools/issues/4852">#4852</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/setuptools/commit/c11a4940deba04a6f8f8e1410686116f587f6f70"><code>c11a494</code></a>
Bump version: 75.9.1 → 76.0.0</li>
<li><a
href="https://github.com/pypa/setuptools/commit/427babbd960fac659167061b9a030c3041112107"><code>427babb</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/setuptools/issues/4865">#4865</a>
from pypa/feature/distutils-5589d7527</li>
<li><a
href="https://github.com/pypa/setuptools/commit/7530d69a8decc3fac377e361f17d00c0878cd6ea"><code>7530d69</code></a>
Bump version: 75.9.0 → 75.9.1</li>
<li><a
href="https://github.com/pypa/setuptools/commit/d8620a8a8d1ce9648716cf3379718a257d721530"><code>d8620a8</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/setuptools/issues/4867">#4867</a>
from pypa/bugfix/distutils-6d7cc0ff9</li>
<li><a
href="https://github.com/pypa/setuptools/commit/7cff740272fcb99ef1f7c17cc074029acaa9ca42"><code>7cff740</code></a>
Add news fragment.</li>
<li><a
href="https://github.com/pypa/setuptools/commit/149a28a70b02b724b72cf16a9b44db36d347e06b"><code>149a28a</code></a>
Merge commit '6d7cc0ff9' into bugfix/distutils-6d7cc0ff9</li>
<li><a
href="https://github.com/pypa/setuptools/commit/6d7cc0ff91349ce0a9d3b5902a93302d0073d7b0"><code>6d7cc0f</code></a>
In config command, move to eager imports. Restore LinkError to
ccompilers mod...</li>
<li><a
href="https://github.com/pypa/setuptools/commit/5cc292799ced115f6404b65d59eed0e629741bd7"><code>5cc2927</code></a>
Add news fragment.</li>
<li><a
href="https://github.com/pypa/setuptools/commit/c7e97a0012edcd583001336268bb18fb985bce1e"><code>c7e97a0</code></a>
Merge with pypa/distutils@5589d7527</li>
<li><a
href="https://github.com/pypa/setuptools/commit/0cffd6186ecc7b76d8544a099473cc262b9335f3"><code>0cffd61</code></a>
Bump version: 75.8.2 → 75.9.0</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/setuptools/compare/v75.8.2...v76.0.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=75.8.2&new-version=76.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 [identify](https://github.com/pre-commit/identify) from 2.6.8 to
2.6.9.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pre-commit/identify/commit/856f0162b1bdb01e47bd31c2cf1786a8ea41bcc5"><code>856f016</code></a>
v2.6.9</li>
<li><a
href="https://github.com/pre-commit/identify/commit/d7518a7cc915abcbce988c40d32ebe8db4a7f333"><code>d7518a7</code></a>
Merge pull request <a
href="https://redirect.github.com/pre-commit/identify/issues/513">#513</a>
from pre-commit/revert-503-uv-interpreter</li>
<li><a
href="https://github.com/pre-commit/identify/commit/45f344bf720858256602a400766531993f9adac9"><code>45f344b</code></a>
Revert &quot;add uv to interpreters list&quot;</li>
<li>See full diff in <a
href="https://github.com/pre-commit/identify/compare/v2.6.8...v2.6.9">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=identify&package-manager=pip&previous-version=2.6.8&new-version=2.6.9)](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 [attrs](https://github.com/sponsors/hynek) from 25.1.0 to 25.2.0.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/sponsors/hynek/commits">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=attrs&package-manager=pip&previous-version=25.1.0&new-version=25.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 [stamina](https://github.com/hynek/stamina) from 24.3.0 to 25.1.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/hynek/stamina/releases">stamina's
releases</a>.</em></p>
<blockquote>
<h2>25.1.0</h2>
<h2>Highlights</h2>
<p>The context manager edition! You can now use
<code>stamina.set_testing()</code> as a context manager and also return
one from an instrumentation retry hook which is entered and exited
before and after sleep which allows you to emit spans for back off
times!</p>
<p><em>Full changelog below!</em></p>
<h2>Special Thanks</h2>
<p>This release would not be possible without my generous sponsors!
Thank you to all of you making sustainable maintenance possible! If
<em>you</em> would like to join them, go to <a
href="https://github.com/sponsors/hynek">https://github.com/sponsors/hynek</a>
and check out the sweet perks!</p>
<h3>Above and Beyond</h3>
<p><a href="https://www.variomedia.de/">Variomedia AG</a> (@<a
href="https://github.com/variomedia">variomedia</a>), <a
href="https://www.tidelift.com/">Tidelift</a> (@<a
href="https://github.com/tidelift">tidelift</a>), <a
href="https://ecosyste.ms">Ecosystems</a> (@<a
href="https://github.com/ecosyste-ms">ecosyste-ms</a>), <a
href="https://www.klaviyo.com">Klaviyo</a> (@<a
href="https://github.com/klaviyo">klaviyo</a>), <a
href="https://privacy-solutions.org">Privacy Solutions GmbH</a> (@<a
href="https://github.com/privacy-solutions">privacy-solutions</a>), <a
href="http://filepreviews.io/">FilePreviews</a> (@<a
href="https://github.com/filepreviews">filepreviews</a>), <a
href="https://blog.alternatebuild.dev">nate nowack</a> (@<a
href="https://github.com/zzstoatzz">zzstoatzz</a>), Daniel Fortunov (@<a
href="https://github.com/asqui">asqui</a>), and Kevin P. Fleming (@<a
href="https://github.com/kpfleming">kpfleming</a>).</p>
<h3>Maintenance Sustainers</h3>
<p><a href="https://buttondown.com">Buttondown</a> (@<a
href="https://github.com/buttondown">buttondown</a>), <a
href="https://christopher.xyz">Christopher Dignam</a> (@<a
href="https://github.com/chdsbd">chdsbd</a>), Magnus Watn (@<a
href="https://github.com/magnuswatn">magnuswatn</a>), <a
href="https://cra.mr">David Cramer</a> (@<a
href="https://github.com/dcramer">dcramer</a>), Jesse Snyder (@<a
href="https://github.com/jessesnyder">jessesnyder</a>), <a
href="https://rivolaks.com">Rivo Laks</a> (@<a
href="https://github.com/rivol">rivol</a>), <a
href="https://polar.sh">Polar</a> (@<a
href="https://github.com/polarsource">polarsource</a>), <a
href="https://www.miketheman.net">Mike Fiedler</a> (@<a
href="https://github.com/miketheman">miketheman</a>), Duncan Hill (@<a
href="https://github.com/cricalix">cricalix</a>), Colin Marquardt (@<a
href="https://github.com/cmarqu">cmarqu</a>), <a
href="https://blog.journeythatcounts.nl">Pieter Swinkels</a> (@<a
href="https://github.com/swinkels">swinkels</a>), Nick Libertini (@<a
href="https://github.com/libertininick">libertininick</a>), <a
href="https://mpr.crossjam.net/">Brian M. Dennis</a> (@<a
href="https://github.com/crossjam">crossjam</a>), Moving Content AG (@<a
href="https://github.com/moving-content">moving-content</a>), <a
href="https://proteinqure.com/">ProteinQure</a> (@<a
href="https://github.com/ProteinQure">ProteinQure</a>), <a
href="https://westervelt.com">The Westervelt Company</a> (@<a
href="https://github.com/westerveltco">westerveltco</a>), <a
href="https://slafs.net">Sławomir Ehlert</a> (@<a
href="https://github.com/slafs">slafs</a>), Mostafa Khalil (@<a
href="https://github.com/khadrawy">khadrawy</a>), <a
href="https://fmularczyk.pl">Filip Mularczyk</a> (@<a
href="https://github.com/mukiblejlok">mukiblejlok</a>), Thomas Klinger
(@<a href="https://github.com/thmsklngr">thmsklngr</a>), <a
href="https://poehlmann.io">Andreas Poehlmann</a> (@<a
href="https://github.com/ap--">ap--</a>), <a
href="https://atbigelow.com">August Trapper Bigelow</a> (@<a
href="https://github.com/atbigelow">atbigelow</a>), <a
href="https://noumenal.es/">Carlton Gibson</a> (@<a
href="https://github.com/carltongibson">carltongibson</a>), and <a
href="https://roboflow.com">Roboflow</a> (@<a
href="https://github.com/roboflow">roboflow</a>).</p>
<p>Not to forget 14 more amazing humans who chose to be generous but
anonymous!</p>
<h2>Full Changelog</h2>
<h3>Added</h3>
<ul>
<li>
<p><em>cap</em> argument to <code>stamina.set_testing()</code>. By
default, the value passed as <em>attempts</em> is used strictly. When
<code>cap=True</code>, it is used as an upper cap; that means that if
the original attempts number is lower, it's not changed. <a
href="https://redirect.github.com/hynek/stamina/pull/80">#80</a></p>
</li>
<li>
<p><code>stamina.set_testing()</code> can now be used as a context
manager. <a
href="https://redirect.github.com/hynek/stamina/pull/94">#94</a></p>
</li>
<li>
<p>Instrumentation hooks can now can return context managers. If they
do, they are entered when a retry is scheduled and exited right before
the retry is attempted. <a
href="https://redirect.github.com/hynek/stamina/pull/95">#95</a></p>
</li>
</ul>
<hr />
<p>This release contains contributions from <a
href="https://github.com/hynek"><code>@​hynek</code></a> and <a
href="https://github.com/sparkiegeek"><code>@​sparkiegeek</code></a>.</p>
<h2>Artifact Attestations</h2>
<p>You can verify this release's <a
href="https://docs.github.com/en/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds">artifact
attestions</a> using <a href="https://cli.github.com">GitHub's CLI
tool</a> by downloading the sdist and wheel from <a
href="https://pypi.org/project/stamina">PyPI</a> and running:</p>
<pre lang="console"><code>$ gh attestation verify --owner hynek
stamina-25.1.0.tar.gz
</code></pre>
<p>and</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/hynek/stamina/blob/main/CHANGELOG.md">stamina's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/hynek/stamina/compare/24.3.0...25.1.0">25.1.0</a>
- 2025-03-12</h2>
<h3>Added</h3>
<ul>
<li>
<p><em>cap</em> argument to <code>stamina.set_testing()</code>.
By default, the value passed as <em>attempts</em> is used strictly.
When <code>cap=True</code>, it is used as an upper cap; that means that
if the original attempts number is lower, it's not changed.
<a href="https://redirect.github.com/hynek/stamina/pull/80">#80</a></p>
</li>
<li>
<p><code>stamina.set_testing()</code> can now be used as a context
manager.
<a href="https://redirect.github.com/hynek/stamina/pull/94">#94</a></p>
</li>
<li>
<p>Instrumentation hooks can now can return context managers.
If they do, they are entered when a retry is scheduled and exited right
before the retry is attempted.
<a href="https://redirect.github.com/hynek/stamina/pull/95">#95</a></p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/hynek/stamina/commit/25288ed058f9723bf113768b1ae26cf8857d65c1"><code>25288ed</code></a>
Prepare 25.1.0</li>
<li><a
href="https://github.com/hynek/stamina/commit/8e16d3b8052c0e2033381f09e8b71822ba172305"><code>8e16d3b</code></a>
Leave some space</li>
<li><a
href="https://github.com/hynek/stamina/commit/5730d029cacbeb5ce63e676578e968c2435f19e1"><code>5730d02</code></a>
Use consistent language</li>
<li><a
href="https://github.com/hynek/stamina/commit/6d99d49e00c8a795a096b0252ff5c64302df43b9"><code>6d99d49</code></a>
update ruff</li>
<li><a
href="https://github.com/hynek/stamina/commit/b163605ed98863dcf1f4130dd87f45cd5301747c"><code>b163605</code></a>
Allow instrumentation hooks to be contextmanagers (<a
href="https://redirect.github.com/hynek/stamina/issues/95">#95</a>)</li>
<li><a
href="https://github.com/hynek/stamina/commit/5eb259d170cf689658b592b026d6050a2e2b02ad"><code>5eb259d</code></a>
[docs] add stamina video link to motivation (<a
href="https://redirect.github.com/hynek/stamina/issues/96">#96</a>)</li>
<li><a
href="https://github.com/hynek/stamina/commit/51b8072095969f2576555c9aea2b7032f0fb43fa"><code>51b8072</code></a>
Allow set_testing to be used as a context manager (<a
href="https://redirect.github.com/hynek/stamina/issues/94">#94</a>)</li>
<li><a
href="https://github.com/hynek/stamina/commit/5b51f2cbda79607edfdbaf9d26efdeefe9193bec"><code>5b51f2c</code></a>
Stop using setup-python (<a
href="https://redirect.github.com/hynek/stamina/issues/93">#93</a>)</li>
<li><a
href="https://github.com/hynek/stamina/commit/16504cad9d86efd1ffd9c0bfc21002a3faea6115"><code>16504ca</code></a>
update ruff</li>
<li><a
href="https://github.com/hynek/stamina/commit/c62b0a8c37fba0aae13ea0f7d428f546c56fcd65"><code>c62b0a8</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/hynek/stamina/issues/91">#91</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/hynek/stamina/compare/24.3.0...25.1.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=stamina&package-manager=pip&previous-version=24.3.0&new-version=25.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 [aiohappyeyeballs](https://github.com/aio-libs/aiohappyeyeballs)
from 2.5.0 to 2.6.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/aio-libs/aiohappyeyeballs/releases">aiohappyeyeballs's
releases</a>.</em></p>
<blockquote>
<h2>v2.6.1 (2025-03-12)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>Resolve TypeError on import for Python &lt; 3.9.2 (<a
href="https://redirect.github.com/aio-libs/aiohappyeyeballs/pull/151">#151</a>,
<a
href="https://github.com/aio-libs/aiohappyeyeballs/commit/2042c82f9978f41c31b58aa4e3d8fc3b9c3ec2ec"><code>2042c82</code></a>)</li>
</ul>
<hr />
<p><strong>Detailed Changes</strong>: <a
href="https://github.com/aio-libs/aiohappyeyeballs/compare/v2.6.0...v2.6.1">v2.6.0...v2.6.1</a></p>
<h2>v2.6.0 (2025-03-11)</h2>
<h3>Features</h3>
<ul>
<li><strong>docs</strong>: Publish documentation (<a
href="https://redirect.github.com/aio-libs/aiohappyeyeballs/pull/149">#149</a>,
<a
href="https://github.com/aio-libs/aiohappyeyeballs/commit/42352736d12c60d500c63b9598ffab05ef5e8829"><code>4235273</code></a>)</li>
</ul>
<p>Creates an api_reference.rst file to expose the existing
documentation for the few functions that have docstrings, as well as add
documentation for AddrInfoType and SocketFactoryType. Now, these can be
properly pointed to by other projects' documentation.</p>
<hr />
<p><strong>Detailed Changes</strong>: <a
href="https://github.com/aio-libs/aiohappyeyeballs/compare/v2.5.0...v2.6.0">v2.5.0...v2.6.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/aio-libs/aiohappyeyeballs/blob/main/CHANGELOG.md">aiohappyeyeballs's
changelog</a>.</em></p>
<blockquote>
<h2>v2.6.1 (2025-03-12)</h2>
<h3>Bug fixes</h3>
<ul>
<li>Resolve typeerror on import for python &lt; 3.9.2 (<a
href="https://redirect.github.com/aio-libs/aiohappyeyeballs/issues/151">#151</a>)
(<a
href="https://github.com/aio-libs/aiohappyeyeballs/commit/2042c82f9978f41c31b58aa4e3d8fc3b9c3ec2ec"><code>2042c82</code></a>)</li>
</ul>
<h2>v2.6.0 (2025-03-11)</h2>
<h3>Features</h3>
<ul>
<li>Publish documentation (<a
href="https://redirect.github.com/aio-libs/aiohappyeyeballs/issues/149">#149</a>)
(<a
href="https://github.com/aio-libs/aiohappyeyeballs/commit/42352736d12c60d500c63b9598ffab05ef5e8829"><code>4235273</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/aio-libs/aiohappyeyeballs/commit/e3bd5bdf44f5d187802de6dcb08d27e1ca6da048"><code>e3bd5bd</code></a>
2.6.1</li>
<li><a
href="https://github.com/aio-libs/aiohappyeyeballs/commit/2042c82f9978f41c31b58aa4e3d8fc3b9c3ec2ec"><code>2042c82</code></a>
fix: resolve TypeError on import for Python &lt; 3.9.2 (<a
href="https://redirect.github.com/aio-libs/aiohappyeyeballs/issues/151">#151</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohappyeyeballs/commit/b23d9194d6db1c4d237da0da623a081573385915"><code>b23d919</code></a>
chore: remove unused CI exclude for Python 3.8.0 (<a
href="https://redirect.github.com/aio-libs/aiohappyeyeballs/issues/153">#153</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohappyeyeballs/commit/36149e7194d9a24fc8109265dee80fecd362f449"><code>36149e7</code></a>
2.6.0</li>
<li><a
href="https://github.com/aio-libs/aiohappyeyeballs/commit/42352736d12c60d500c63b9598ffab05ef5e8829"><code>4235273</code></a>
feat(docs): publish documentation (<a
href="https://redirect.github.com/aio-libs/aiohappyeyeballs/issues/149">#149</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohappyeyeballs/commit/17d5e48488f7b533efea33ebb89c25e7b4eda7ad"><code>17d5e48</code></a>
chore(pre-commit.ci): pre-commit autoupdate (<a
href="https://redirect.github.com/aio-libs/aiohappyeyeballs/issues/148">#148</a>)</li>
<li>See full diff in <a
href="https://github.com/aio-libs/aiohappyeyeballs/compare/v2.5.0...v2.6.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aiohappyeyeballs&package-manager=pip&previous-version=2.5.0&new-version=2.6.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 [attrs](https://github.com/sponsors/hynek) from 25.2.0 to 25.3.0.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/sponsors/hynek/commits">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=attrs&package-manager=pip&previous-version=25.2.0&new-version=25.3.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 [filelock](https://github.com/tox-dev/py-filelock) from 3.17.0 to
3.18.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tox-dev/py-filelock/releases">filelock's
releases</a>.</em></p>
<blockquote>
<h2>3.18.0</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Indicate that locks are exclusive/write locks. by <a
href="https://github.com/bicarlsen"><code>@​bicarlsen</code></a> in <a
href="https://redirect.github.com/tox-dev/filelock/pull/394">tox-dev/filelock#394</a></li>
<li>Support fcntl check on Emscripten by <a
href="https://github.com/juntyr"><code>@​juntyr</code></a> in <a
href="https://redirect.github.com/tox-dev/filelock/pull/398">tox-dev/filelock#398</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/bicarlsen"><code>@​bicarlsen</code></a>
made their first contribution in <a
href="https://redirect.github.com/tox-dev/filelock/pull/394">tox-dev/filelock#394</a></li>
<li><a href="https://github.com/juntyr"><code>@​juntyr</code></a> made
their first contribution in <a
href="https://redirect.github.com/tox-dev/filelock/pull/398">tox-dev/filelock#398</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/tox-dev/filelock/compare/3.17.0...3.18.0">https://github.com/tox-dev/filelock/compare/3.17.0...3.18.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/tox-dev/filelock/commit/129a1efb6a0e1c40ff7c0b094db1b888fcb46d93"><code>129a1ef</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/tox-dev/py-filelock/issues/405">#405</a>)</li>
<li><a
href="https://github.com/tox-dev/filelock/commit/717d7e018c6e3c3cd00a0f35c775ebbbafda41cc"><code>717d7e0</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/tox-dev/py-filelock/issues/403">#403</a>)</li>
<li><a
href="https://github.com/tox-dev/filelock/commit/efba779022cf62956efe88ea3c65620098fbf75c"><code>efba779</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/tox-dev/py-filelock/issues/401">#401</a>)</li>
<li><a
href="https://github.com/tox-dev/filelock/commit/82f5a2d6c260a43dc88b51121087bdfa21fb205f"><code>82f5a2d</code></a>
Support fcntl check on Emscripten (<a
href="https://redirect.github.com/tox-dev/py-filelock/issues/398">#398</a>)</li>
<li><a
href="https://github.com/tox-dev/filelock/commit/468ba431d1d40b494724f3269d3241a5d1ddd411"><code>468ba43</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/tox-dev/py-filelock/issues/396">#396</a>)</li>
<li><a
href="https://github.com/tox-dev/filelock/commit/0ac68266c62f3b7ae1bc5d4a35c88f1d3913b98d"><code>0ac6826</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/tox-dev/py-filelock/issues/395">#395</a>)</li>
<li><a
href="https://github.com/tox-dev/filelock/commit/b5f98a66d0fb59e62894ad2b537deb877279adda"><code>b5f98a6</code></a>
Indicate that locks are exclusive/write locks. (<a
href="https://redirect.github.com/tox-dev/py-filelock/issues/394">#394</a>)</li>
<li><a
href="https://github.com/tox-dev/filelock/commit/3c9b68049961d1b4aade1cc806e731f90b5d2c24"><code>3c9b680</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/tox-dev/py-filelock/issues/393">#393</a>)</li>
<li><a
href="https://github.com/tox-dev/filelock/commit/2760759ac82f7e8583f708d9bf801c3a79ccd340"><code>2760759</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/tox-dev/py-filelock/issues/391">#391</a>)</li>
<li><a
href="https://github.com/tox-dev/filelock/commit/18c9571afba87bb6329aef9c2c7798cbe8adfea5"><code>18c9571</code></a>
Bump pypa/gh-action-pypi-publish from 1.12.3 to 1.12.4 (<a
href="https://redirect.github.com/tox-dev/py-filelock/issues/390">#390</a>)</li>
<li>See full diff in <a
href="https://github.com/tox-dev/py-filelock/compare/3.17.0...3.18.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=filelock&package-manager=pip&previous-version=3.17.0&new-version=3.18.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>
…sts that check the content type (#10554)

**This is a backport of PR #10553 as merged into master
(55c5f1f).**

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

## What do these changes do?

Add benchmark for JSON post requests that check the content type

## 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>
…sts that check the content type (#10555)

**This is a backport of PR #10553 as merged into master
(55c5f1f).**

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

## What do these changes do?

Add benchmark for JSON post requests that check the content type

## 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>
…#10557)

**This is a backport of PR #10552 as merged into master
(44e669b).**



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

## What do these changes do?

When profiling some frequent POST requests, I found the bulk of the time
was spent parsing the content-type string. Use the same strategy as we
do for `parse_mimetype` to cache the parsing.

## Are there changes in behavior for the user?

performance improvement

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

no

## Related issue number

<!-- Are there any issues opened that will be resolved by merging this
change? -->
<!-- Remember to prefix with 'Fixes' if it should close the issue (e.g.
'Fixes #123'). -->

## Checklist

- [x] I think the code is well written
- [ ] Unit tests for the changes exist
- [ ] Documentation reflects the changes
- [ ] If you provide code modification, please add yourself to
`CONTRIBUTORS.txt`
  * The format is &lt;Name&gt; &lt;Surname&gt;.
  * Please keep alphabetical order, the file is sorted by names.
- [ ] Add a new news fragment into the `CHANGES/` folder
  * name it `<issue_or_pr_num>.<type>.rst` (e.g. `588.bugfix.rst`)
  * if you don't have an issue number, change it to the pull request
    number after creating the PR
    * `.bugfix`: A bug fix for something the maintainers deemed an
      improper undesired behavior that got corrected to match
      pre-agreed expectations.
    * `.feature`: A new behavior, public APIs. That sort of stuff.
    * `.deprecation`: A declaration of future API removals and breaking
      changes in behavior.
    * `.breaking`: When something public is removed in a breaking way.
      Could be deprecated in an earlier release.
    * `.doc`: Notable updates to the documentation structure or build
      process.
    * `.packaging`: Notes for downstreams about unobvious side effects
      and tooling. Changes in the test invocation considerations and
      runtime assumptions.
    * `.contrib`: Stuff that affects the contributor experience. e.g.
      Running tests, building the docs, setting up the development
      environment.
    * `.misc`: Changes that are hard to assign to any of the above
      categories.
  * Make sure to use full sentences with correct case and punctuation,
    for example:
    ```rst
    Fixed issue with non-ascii contents in doctest text files
    -- by :user:`contributor-gh-handle`.
    ```

    Use the past tense or the present tense a non-imperative mood,
    referring to what's changed compared to the last released version
    of this project.

<img width="570" alt="Screenshot 2025-03-15 at 11 25 10 AM"
src="https://github.com/user-attachments/assets/cabaaa7c-3a39-4f90-b450-a6a0559d22d6"
/>

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

**This is a backport of PR #10552 as merged into master
(44e669b).**



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

## What do these changes do?

When profiling some frequent POST requests, I found the bulk of the time
was spent parsing the content-type string. Use the same strategy as we
do for `parse_mimetype` to cache the parsing.

## Are there changes in behavior for the user?

performance improvement

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

no

## Related issue number

<!-- Are there any issues opened that will be resolved by merging this
change? -->
<!-- Remember to prefix with 'Fixes' if it should close the issue (e.g.
'Fixes #123'). -->

## Checklist

- [x] I think the code is well written
- [ ] Unit tests for the changes exist
- [ ] Documentation reflects the changes
- [ ] If you provide code modification, please add yourself to
`CONTRIBUTORS.txt`
  * The format is &lt;Name&gt; &lt;Surname&gt;.
  * Please keep alphabetical order, the file is sorted by names.
- [ ] Add a new news fragment into the `CHANGES/` folder
  * name it `<issue_or_pr_num>.<type>.rst` (e.g. `588.bugfix.rst`)
  * if you don't have an issue number, change it to the pull request
    number after creating the PR
    * `.bugfix`: A bug fix for something the maintainers deemed an
      improper undesired behavior that got corrected to match
      pre-agreed expectations.
    * `.feature`: A new behavior, public APIs. That sort of stuff.
    * `.deprecation`: A declaration of future API removals and breaking
      changes in behavior.
    * `.breaking`: When something public is removed in a breaking way.
      Could be deprecated in an earlier release.
    * `.doc`: Notable updates to the documentation structure or build
      process.
    * `.packaging`: Notes for downstreams about unobvious side effects
      and tooling. Changes in the test invocation considerations and
      runtime assumptions.
    * `.contrib`: Stuff that affects the contributor experience. e.g.
      Running tests, building the docs, setting up the development
      environment.
    * `.misc`: Changes that are hard to assign to any of the above
      categories.
  * Make sure to use full sentences with correct case and punctuation,
    for example:
    ```rst
    Fixed issue with non-ascii contents in doctest text files
    -- by :user:`contributor-gh-handle`.
    ```

    Use the past tense or the present tense a non-imperative mood,
    referring to what's changed compared to the last released version
    of this project.

<img width="570" alt="Screenshot 2025-03-15 at 11 25 10 AM"
src="https://github.com/user-attachments/assets/cabaaa7c-3a39-4f90-b450-a6a0559d22d6"
/>

Co-authored-by: J. Nick Koston <nick@koston.org>
…ait for dns futures (#10559)

**This is a backport of PR #10529 as merged into master
(492f63d).**

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

## What do these changes do?

Fixed bug that lead to infinite wait for dns futures when exception
occured in trace.send_dns_cache_miss call.

## Are there changes in behavior for the user?

No

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

No

## Related issue number

No issue. 

## Checklist

- [x] I think the code is well written
- [x] Unit tests for the changes exist
- [x] Documentation reflects the changes
- [x] If you provide code modification, please add yourself to
`CONTRIBUTORS.txt`
  * The format is &lt;Name&gt; &lt;Surname&gt;.
  * Please keep alphabetical order, the file is sorted by names.
- [x] Add a new news fragment into the `CHANGES/` folder
  * name it `<issue_or_pr_num>.<type>.rst` (e.g. `588.bugfix.rst`)
  * if you don't have an issue number, change it to the pull request
    number after creating the PR
    * `.bugfix`: A bug fix for something the maintainers deemed an
      improper undesired behavior that got corrected to match
      pre-agreed expectations.
    * `.feature`: A new behavior, public APIs. That sort of stuff.
    * `.deprecation`: A declaration of future API removals and breaking
      changes in behavior.
    * `.breaking`: When something public is removed in a breaking way.
      Could be deprecated in an earlier release.
    * `.doc`: Notable updates to the documentation structure or build
      process.
    * `.packaging`: Notes for downstreams about unobvious side effects
      and tooling. Changes in the test invocation considerations and
      runtime assumptions.
    * `.contrib`: Stuff that affects the contributor experience. e.g.
      Running tests, building the docs, setting up the development
      environment.
    * `.misc`: Changes that are hard to assign to any of the above
      categories.
  * Make sure to use full sentences with correct case and punctuation,
    for example:
    ```rst
    Fixed issue with non-ascii contents in doctest text files
    -- by :user:`contributor-gh-handle`.
    ```

Co-authored-by: Alexey Stavrov <logioniz@ya.ru>
…ait for dns futures (#10560)

**This is a backport of PR #10529 as merged into master
(492f63d).**

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

## What do these changes do?

Fixed bug that lead to infinite wait for dns futures when exception
occured in trace.send_dns_cache_miss call.

## Are there changes in behavior for the user?

No

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

No

## Related issue number

No issue. 

## Checklist

- [x] I think the code is well written
- [x] Unit tests for the changes exist
- [x] Documentation reflects the changes
- [x] If you provide code modification, please add yourself to
`CONTRIBUTORS.txt`
  * The format is &lt;Name&gt; &lt;Surname&gt;.
  * Please keep alphabetical order, the file is sorted by names.
- [x] Add a new news fragment into the `CHANGES/` folder
  * name it `<issue_or_pr_num>.<type>.rst` (e.g. `588.bugfix.rst`)
  * if you don't have an issue number, change it to the pull request
    number after creating the PR
    * `.bugfix`: A bug fix for something the maintainers deemed an
      improper undesired behavior that got corrected to match
      pre-agreed expectations.
    * `.feature`: A new behavior, public APIs. That sort of stuff.
    * `.deprecation`: A declaration of future API removals and breaking
      changes in behavior.
    * `.breaking`: When something public is removed in a breaking way.
      Could be deprecated in an earlier release.
    * `.doc`: Notable updates to the documentation structure or build
      process.
    * `.packaging`: Notes for downstreams about unobvious side effects
      and tooling. Changes in the test invocation considerations and
      runtime assumptions.
    * `.contrib`: Stuff that affects the contributor experience. e.g.
      Running tests, building the docs, setting up the development
      environment.
    * `.misc`: Changes that are hard to assign to any of the above
      categories.
  * Make sure to use full sentences with correct case and punctuation,
    for example:
    ```rst
    Fixed issue with non-ascii contents in doctest text files
    -- by :user:`contributor-gh-handle`.
    ```

Co-authored-by: Alexey Stavrov <logioniz@ya.ru>
…ionError when failing to explicitly close connector socket (#10561)

**This is a backport of PR #10551 as merged into master
(d067260).**


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

## What do these changes do?

This is a followup to #10464 to handle the case where `socket.close()`
can also raise. This matches the logic we have in aiohappyeyeballs:


https://github.com/aio-libs/aiohappyeyeballs/blob/e3bd5bdf44f5d187802de6dcb08d27e1ca6da048/src/aiohappyeyeballs/impl.py#L227

We shouldn't raising `OSError` externally from this method as callers
expect a `ClientError`


## Are there changes in behavior for the user?

bugfix

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

no

## Related issue number

fixes #10506

## Checklist

- [x] I think the code is well written
- [x] Unit tests for the changes exist
- [x] Documentation reflects the changes
- [x] If you provide code modification, please add yourself to
`CONTRIBUTORS.txt`
  * The format is &lt;Name&gt; &lt;Surname&gt;.
  * Please keep alphabetical order, the file is sorted by names.
- [x] Add a new news fragment into the `CHANGES/` folder
  * name it `<issue_or_pr_num>.<type>.rst` (e.g. `588.bugfix.rst`)
  * if you don't have an issue number, change it to the pull request
    number after creating the PR
    * `.bugfix`: A bug fix for something the maintainers deemed an
      improper undesired behavior that got corrected to match
      pre-agreed expectations.
    * `.feature`: A new behavior, public APIs. That sort of stuff.
    * `.deprecation`: A declaration of future API removals and breaking
      changes in behavior.
    * `.breaking`: When something public is removed in a breaking way.
      Could be deprecated in an earlier release.
    * `.doc`: Notable updates to the documentation structure or build
      process.
    * `.packaging`: Notes for downstreams about unobvious side effects
      and tooling. Changes in the test invocation considerations and
      runtime assumptions.
    * `.contrib`: Stuff that affects the contributor experience. e.g.
      Running tests, building the docs, setting up the development
      environment.
    * `.misc`: Changes that are hard to assign to any of the above
      categories.
  * Make sure to use full sentences with correct case and punctuation,
    for example:
    ```rst
    Fixed issue with non-ascii contents in doctest text files
    -- by :user:`contributor-gh-handle`.
    ```

    Use the past tense or the present tense a non-imperative mood,
    referring to what's changed compared to the last released version
    of this project.

Co-authored-by: J. Nick Koston <nick@koston.org>
…ionError when failing to explicitly close connector socket (#10562)

**This is a backport of PR #10551 as merged into master
(d067260).**


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

## What do these changes do?

This is a followup to #10464 to handle the case where `socket.close()`
can also raise. This matches the logic we have in aiohappyeyeballs:


https://github.com/aio-libs/aiohappyeyeballs/blob/e3bd5bdf44f5d187802de6dcb08d27e1ca6da048/src/aiohappyeyeballs/impl.py#L227

We shouldn't raising `OSError` externally from this method as callers
expect a `ClientError`


## Are there changes in behavior for the user?

bugfix

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

no

## Related issue number

fixes #10506

## Checklist

- [x] I think the code is well written
- [x] Unit tests for the changes exist
- [x] Documentation reflects the changes
- [x] If you provide code modification, please add yourself to
`CONTRIBUTORS.txt`
  * The format is &lt;Name&gt; &lt;Surname&gt;.
  * Please keep alphabetical order, the file is sorted by names.
- [x] Add a new news fragment into the `CHANGES/` folder
  * name it `<issue_or_pr_num>.<type>.rst` (e.g. `588.bugfix.rst`)
  * if you don't have an issue number, change it to the pull request
    number after creating the PR
    * `.bugfix`: A bug fix for something the maintainers deemed an
      improper undesired behavior that got corrected to match
      pre-agreed expectations.
    * `.feature`: A new behavior, public APIs. That sort of stuff.
    * `.deprecation`: A declaration of future API removals and breaking
      changes in behavior.
    * `.breaking`: When something public is removed in a breaking way.
      Could be deprecated in an earlier release.
    * `.doc`: Notable updates to the documentation structure or build
      process.
    * `.packaging`: Notes for downstreams about unobvious side effects
      and tooling. Changes in the test invocation considerations and
      runtime assumptions.
    * `.contrib`: Stuff that affects the contributor experience. e.g.
      Running tests, building the docs, setting up the development
      environment.
    * `.misc`: Changes that are hard to assign to any of the above
      categories.
  * Make sure to use full sentences with correct case and punctuation,
    for example:
    ```rst
    Fixed issue with non-ascii contents in doctest text files
    -- by :user:`contributor-gh-handle`.
    ```

    Use the past tense or the present tense a non-imperative mood,
    referring to what's changed compared to the last released version
    of this project.

Co-authored-by: J. Nick Koston <nick@koston.org>
…tion close when there was a traceback (#10567)

**This is a backport of PR #10556 as merged into master
(9d4e116).**


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

## What do these changes do?

Clears the exception on the `DataQueue` and `WebSocketDataQueue` when
the connection is closed to break cyclic references.

## Are there changes in behavior for the user?

bugfix

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

no

## Related issue number

fixes #10535

## Checklist

- [ ] I think the code is well written
- [ ] Unit tests for the changes exist
- [ ] Documentation reflects the changes
- [ ] If you provide code modification, please add yourself to
`CONTRIBUTORS.txt`
  * The format is &lt;Name&gt; &lt;Surname&gt;.
  * Please keep alphabetical order, the file is sorted by names.
- [ ] Add a new news fragment into the `CHANGES/` folder
  * name it `<issue_or_pr_num>.<type>.rst` (e.g. `588.bugfix.rst`)
  * if you don't have an issue number, change it to the pull request
    number after creating the PR
    * `.bugfix`: A bug fix for something the maintainers deemed an
      improper undesired behavior that got corrected to match
      pre-agreed expectations.
    * `.feature`: A new behavior, public APIs. That sort of stuff.
    * `.deprecation`: A declaration of future API removals and breaking
      changes in behavior.
    * `.breaking`: When something public is removed in a breaking way.
      Could be deprecated in an earlier release.
    * `.doc`: Notable updates to the documentation structure or build
      process.
    * `.packaging`: Notes for downstreams about unobvious side effects
      and tooling. Changes in the test invocation considerations and
      runtime assumptions.
    * `.contrib`: Stuff that affects the contributor experience. e.g.
      Running tests, building the docs, setting up the development
      environment.
    * `.misc`: Changes that are hard to assign to any of the above
      categories.
  * Make sure to use full sentences with correct case and punctuation,
    for example:
    ```rst
    Fixed issue with non-ascii contents in doctest text files
    -- by :user:`contributor-gh-handle`.
    ```

    Use the past tense or the present tense a non-imperative mood,
    referring to what's changed compared to the last released version
    of this project.

Co-authored-by: J. Nick Koston <nick@koston.org>
patchback bot and others added 15 commits March 16, 2025 11:39
…tion close when there was a traceback (#10566)

**This is a backport of PR #10556 as merged into master
(9d4e116).**


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

## What do these changes do?

Clears the exception on the `DataQueue` and `WebSocketDataQueue` when
the connection is closed to break cyclic references.

## Are there changes in behavior for the user?

bugfix

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

no

## Related issue number

fixes #10535

## Checklist

- [ ] I think the code is well written
- [ ] Unit tests for the changes exist
- [ ] Documentation reflects the changes
- [ ] If you provide code modification, please add yourself to
`CONTRIBUTORS.txt`
  * The format is &lt;Name&gt; &lt;Surname&gt;.
  * Please keep alphabetical order, the file is sorted by names.
- [ ] Add a new news fragment into the `CHANGES/` folder
  * name it `<issue_or_pr_num>.<type>.rst` (e.g. `588.bugfix.rst`)
  * if you don't have an issue number, change it to the pull request
    number after creating the PR
    * `.bugfix`: A bug fix for something the maintainers deemed an
      improper undesired behavior that got corrected to match
      pre-agreed expectations.
    * `.feature`: A new behavior, public APIs. That sort of stuff.
    * `.deprecation`: A declaration of future API removals and breaking
      changes in behavior.
    * `.breaking`: When something public is removed in a breaking way.
      Could be deprecated in an earlier release.
    * `.doc`: Notable updates to the documentation structure or build
      process.
    * `.packaging`: Notes for downstreams about unobvious side effects
      and tooling. Changes in the test invocation considerations and
      runtime assumptions.
    * `.contrib`: Stuff that affects the contributor experience. e.g.
      Running tests, building the docs, setting up the development
      environment.
    * `.misc`: Changes that are hard to assign to any of the above
      categories.
  * Make sure to use full sentences with correct case and punctuation,
    for example:
    ```rst
    Fixed issue with non-ascii contents in doctest text files
    -- by :user:`contributor-gh-handle`.
    ```

    Use the past tense or the present tense a non-imperative mood,
    referring to what's changed compared to the last released version
    of this project.

Co-authored-by: J. Nick Koston <nick@koston.org>
…e is an exception handling a request (#10571)

**This is a backport of PR #10569 as merged into master
(dfbf782).**

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

## What do these changes do?

This is a partial fix for #10548

- There is still another case for `SystemRoute`s that needs to be
addressed. No reproducer available yet.
- There is also another case on the client side on connection refused
that still needs to be addressed
#10548 (comment)

## Are there changes in behavior for the user?

fixes memory leak

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

Co-authored-by: J. Nick Koston <nick@koston.org>
…e is an exception handling a request (#10572)

**This is a backport of PR #10569 as merged into master
(dfbf782).**

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

## What do these changes do?

fixes #10548

## Are there changes in behavior for the user?

fixes a potential memory leak

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

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

replaces and closes #10565

Instead of TCPConnector taking a list of sockopts to be applied sockets
created, take a socket_factory callback that allows the caller to
implement socket creation entirely.

Fixes #10520

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

Replace `tcp_sockopts` parameter with a `socket_factory` parameter that
is a callback allowing the caller to own socket creation. If passed, all
sockets created by `TCPConnector` are expected to come from the
`socket_factory` callback.

<!-- Please give a short brief about these changes. -->

The only users to experience a change in behavior are those who are
using the un-released `tcp_sockopts` argument to `TCPConnector`.
However, using unreleased code comes with caveat emptor, and is why I
felt entitled to remove the option entirely without warning.

<!-- Outline any notable behaviour for the end users. -->

The burden will be minimal and would only arise if `aiohappyeyeballs`
changes their interface.

<!--
Stop right there! Pause. Just for a minute... Can you think of anything
obvious that would complicate the ongoing development of this project?

Try to consider if you'd be able to maintain it throughout the next 5
years. Does it seem viable? Tell us your thoughts! We'd very much love
to hear what the consequences of merging this patch might be...

This will help us assess if your change is something we'd want to
entertain early in the review process. Thank you in advance! -->

<!-- Are there any issues opened that will be resolved by merging this
change? -->
<!-- Remember to prefix with 'Fixes' if it should close the issue (e.g.
'Fixes #123'). -->

- [x] I think the code is well written
- [x] Unit tests for the changes exist
- [x] Documentation reflects the changes
- [x] If you provide code modification, please add yourself to
`CONTRIBUTORS.txt`
  * The format is &lt;Name&gt; &lt;Surname&gt;.
  * Please keep alphabetical order, the file is sorted by names.
- [x] Add a new news fragment into the `CHANGES/` folder
  * name it `<issue_or_pr_num>.<type>.rst` (e.g. `588.bugfix.rst`)
* if you don't have an issue number, change it to the pull request
number after creating the PR
* `.bugfix`: A bug fix for something the maintainers deemed an improper
undesired behavior that got corrected to match pre-agreed expectations.
    * `.feature`: A new behavior, public APIs. That sort of stuff.
* `.deprecation`: A declaration of future API removals and breaking
changes in behavior.
* `.breaking`: When something public is removed in a breaking way. Could
be deprecated in an earlier release.
* `.doc`: Notable updates to the documentation structure or build
process.
* `.packaging`: Notes for downstreams about unobvious side effects and
tooling. Changes in the test invocation considerations and runtime
assumptions.
* `.contrib`: Stuff that affects the contributor experience. e.g.
Running tests, building the docs, setting up the development
environment.
* `.misc`: Changes that are hard to assign to any of the above
categories.
* Make sure to use full sentences with correct case and punctuation, for
example: ```rst Fixed issue with non-ascii contents in doctest text
files -- by :user:`contributor-gh-handle`. ```

Use the past tense or the present tense a non-imperative mood, referring
to what's changed compared to the last released version of this project.

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
(cherry picked from commit 3b9bb1c)

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

## What do these changes do?

<!-- Please give a short brief about these changes. -->

## Are there changes in behavior for the user?

<!-- Outline any notable behaviour for the end users. -->

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

<!--
Stop right there! Pause. Just for a minute... Can you think of anything
obvious that would complicate the ongoing development of this project?

Try to consider if you'd be able to maintain it throughout the next
5 years. Does it seem viable? Tell us your thoughts! We'd very much
love to hear what the consequences of merging this patch might be...

This will help us assess if your change is something we'd want to
entertain early in the review process. Thank you in advance!
-->

## Related issue number

<!-- Are there any issues opened that will be resolved by merging this
change? -->
<!-- Remember to prefix with 'Fixes' if it should close the issue (e.g.
'Fixes #123'). -->

## Checklist

- [ ] I think the code is well written
- [ ] Unit tests for the changes exist
- [ ] Documentation reflects the changes
- [ ] If you provide code modification, please add yourself to
`CONTRIBUTORS.txt`
  * The format is &lt;Name&gt; &lt;Surname&gt;.
  * Please keep alphabetical order, the file is sorted by names.
- [ ] Add a new news fragment into the `CHANGES/` folder
  * name it `<issue_or_pr_num>.<type>.rst` (e.g. `588.bugfix.rst`)
  * if you don't have an issue number, change it to the pull request
    number after creating the PR
    * `.bugfix`: A bug fix for something the maintainers deemed an
      improper undesired behavior that got corrected to match
      pre-agreed expectations.
    * `.feature`: A new behavior, public APIs. That sort of stuff.
    * `.deprecation`: A declaration of future API removals and breaking
      changes in behavior.
    * `.breaking`: When something public is removed in a breaking way.
      Could be deprecated in an earlier release.
    * `.doc`: Notable updates to the documentation structure or build
      process.
    * `.packaging`: Notes for downstreams about unobvious side effects
      and tooling. Changes in the test invocation considerations and
      runtime assumptions.
    * `.contrib`: Stuff that affects the contributor experience. e.g.
      Running tests, building the docs, setting up the development
      environment.
    * `.misc`: Changes that are hard to assign to any of the above
      categories.
  * Make sure to use full sentences with correct case and punctuation,
    for example:
    ```rst
    Fixed issue with non-ascii contents in doctest text files
    -- by :user:`contributor-gh-handle`.
    ```

    Use the past tense or the present tense a non-imperative mood,
    referring to what's changed compared to the last released version
    of this project.

Co-authored-by: Tim Menninger <tmenninger22@gmail.com>
…dress when no protocols overlap (#10575)

**This is a backport of PR #10564 as merged into master
(a59e74b).**



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

## What do these changes do?

Logs the remote address of a WebSocket client that has no overlapping
protocols

## Are there changes in behavior for the user?

Which client has the problem should be a bit more discoverable

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

no
## Related issue number
closes #10563

Co-authored-by: J. Nick Koston <nick@koston.org>
…dress when no protocols overlap (#10576)

**This is a backport of PR #10564 as merged into master
(a59e74b).**



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

## What do these changes do?

Logs the remote address of a WebSocket client that has no overlapping
protocols

## Are there changes in behavior for the user?

Which client has the problem should be a bit more discoverable

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

no
## Related issue number
closes #10563

Co-authored-by: J. Nick Koston <nick@koston.org>
The fallback implementation for getaddrinfo in CPython doesn't support
`AI_ADDRCONFIG` and currently fails with a bad flags error. This changes
the implementation to only set the flag if it's part of `AI_MASK`. Since
`AI_MASK` isn't necessarily available either this has to be checked
first.

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick+github@koston.org>
Small cleanup to the leak tests
#10569 (comment)
**This is a backport of PR #10577 as merged into master
(3c60cd2).**



Small cleanup to the leak tests
#10569 (comment)

Co-authored-by: J. Nick Koston <nick@koston.org>
**This is a backport of PR #10577 as merged into master
(3c60cd2).**



Small cleanup to the leak tests
#10569 (comment)

Co-authored-by: J. Nick Koston <nick@koston.org>
<img width="466" alt="Screenshot 2025-03-16 at 2 32 10 PM"
src="https://github.com/user-attachments/assets/635511fd-6b63-49c7-bb1a-cf514545b604"
/>
@pull pull bot added the ⤵️ pull label Mar 17, 2025
@pull pull bot merged commit 28832b8 into tj-python:master Mar 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants