Skip to content

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

Merged
pull[bot] merged 6 commits into
tj-python:masterfrom
aio-libs:master
Aug 10, 2026
Merged

[pull] master from aio-libs:master#708
pull[bot] merged 6 commits into
tj-python:masterfrom
aio-libs:master

Conversation

@pull

@pull pull Bot commented Aug 10, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


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

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

dependabot Bot added 6 commits August 10, 2026 11:48
Bumps [coverage](https://github.com/coveragepy/coveragepy) from 7.15.3
to 7.15.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/coveragepy/coveragepy/releases">coverage's
releases</a>.</em></p>
<blockquote>
<h2>7.15.4</h2>
<h2>Version 7.15.4 — 2026-08-06</h2>
<ul>
<li>Fix: in the HTML report, a source file name containing a double
quote (legal on POSIX) wasn’t escaped where it’s dropped into the
<code>href</code> of the index and prev/next links, so it could close
the attribute early and inject markup. Page URLs are now escaped.
Thanks, <a
href="https://redirect.github.com/coveragepy/coveragepy/pull/2227">Rajath
Mohare</a>.</li>
<li>Fix: the LCOV report wrote file names and other fields into its
line-oriented records without neutralizing control characters. A
measured file whose name contained a newline (legal on POSIX) could
forge extra records, inflating the coverage seen by tools that read the
report. Control characters in a field are now replaced. Thanks, <a
href="https://redirect.github.com/coveragepy/coveragepy/pull/2226">Rajath
Mohare</a>.</li>
<li>Wheels are now provided for Python 3.15.</li>
</ul>
<p>:arrow_right:  PyPI page: <a
href="https://pypi.org/project/coverage/7.15.4">coverage 7.15.4</a>.
:arrow_right:  To install: <code>python3 -m pip install
coverage==7.15.4</code></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/coveragepy/coveragepy/blob/main/CHANGES.rst">coverage's
changelog</a>.</em></p>
<blockquote>
<h2>Version 7.15.4 — 2026-08-06</h2>
<ul>
<li>
<p>Fix: in the HTML report, a source file name containing a double quote
(legal
on POSIX) wasn't escaped where it's dropped into the <code>href</code>
of the index
and prev/next links, so it could close the attribute early and inject
markup.
Page URLs are now escaped. Thanks, <code>Rajath Mohare &lt;pull
2227_&gt;</code>_.</p>
</li>
<li>
<p>Fix: the LCOV report wrote file names and other fields into its
line-oriented records without neutralizing control characters. A
measured
file whose name contained a newline (legal on POSIX) could forge extra
records, inflating the coverage seen by tools that read the report.
Control
characters in a field are now replaced. Thanks, <code>Rajath Mohare
&lt;pull 2226_&gt;</code>_.</p>
</li>
<li>
<p>Wheels are now provided for Python 3.15.</p>
</li>
</ul>
<p>.. _pull 2226: <a
href="https://redirect.github.com/coveragepy/coveragepy/pull/2226">coveragepy/coveragepy#2226</a>
.. _pull 2227: <a
href="https://redirect.github.com/coveragepy/coveragepy/pull/2227">coveragepy/coveragepy#2227</a></p>
<p>.. _changes_7-15-3:</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/coveragepy/coveragepy/commit/4c0e7ff425ecbb33e2b994b41118a71eb4e39021"><code>4c0e7ff</code></a>
docs: sample HTML for 7.15.4</li>
<li><a
href="https://github.com/coveragepy/coveragepy/commit/db4cc3216ca5bb436eba697aaa74d886e4ea82c8"><code>db4cc32</code></a>
docs: prep for 7.15.4</li>
<li><a
href="https://github.com/coveragepy/coveragepy/commit/c33085c3fcec4dd01fc3a0419c90de7ee6b869a7"><code>c33085c</code></a>
style: start gradual move to ruff 0.16</li>
<li><a
href="https://github.com/coveragepy/coveragepy/commit/53a0fd51ba05047624baf58bf8f288d56185df93"><code>53a0fd5</code></a>
fix: neutralize control characters in lcov report fields (<a
href="https://redirect.github.com/coveragepy/coveragepy/issues/2226">#2226</a>)</li>
<li><a
href="https://github.com/coveragepy/coveragepy/commit/b64d53dd6f113b68a19ac6c1b855e34bbebfad4e"><code>b64d53d</code></a>
build: make 3.15 wheels</li>
<li><a
href="https://github.com/coveragepy/coveragepy/commit/53792ab496adf740a38d1f67e0162705b4d67c07"><code>53792ab</code></a>
build: show the python version for kits</li>
<li><a
href="https://github.com/coveragepy/coveragepy/commit/f6b03c77ffb8d58b25950bae63d36b7a1c585a70"><code>f6b03c7</code></a>
chore: make upgrade_one package=cibuildwheel</li>
<li><a
href="https://github.com/coveragepy/coveragepy/commit/d9b660ac2a6bc64a39c4a2e7f195bb6bd6f7af89"><code>d9b660a</code></a>
chore: make upgrade</li>
<li><a
href="https://github.com/coveragepy/coveragepy/commit/b128a3172ec0cc4d70398f663e56d0362f5de4ea"><code>b128a31</code></a>
docs: oops, move this entry to the correct place</li>
<li><a
href="https://github.com/coveragepy/coveragepy/commit/a7a2c15669cc6e8fdb46e5012954c795a63e9a27"><code>a7a2c15</code></a>
fix: escape filename urls in html report href attributes (<a
href="https://redirect.github.com/coveragepy/coveragepy/issues/2227">#2227</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/coveragepy/coveragepy/compare/7.15.3...7.15.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=coverage&package-manager=pip&previous-version=7.15.3&new-version=7.15.4)](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 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 [librt](https://github.com/mypyc/librt) from 0.13.0 to 0.14.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/mypyc/librt/commit/3c133fa7f3e6bb7ce034a764b6f96a1096f4832f"><code>3c133fa</code></a>
Sync mypy and bump version</li>
<li><a
href="https://github.com/mypyc/librt/commit/c963cc946bdfb46e6f49662bf68c4b3ab84c7550"><code>c963cc9</code></a>
Build wheels for Python 3.15 (<a
href="https://redirect.github.com/mypyc/librt/issues/43">#43</a>)</li>
<li>See full diff in <a
href="https://github.com/mypyc/librt/compare/v0.13.0...v0.14.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot 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 [ast-serialize](https://github.com/mypyc/ast_serialize) from 0.6.0
to 0.7.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/mypyc/ast_serialize/commit/74193f3bcc89dd712224c49e5d99b4806116772d"><code>74193f3</code></a>
Bump version to 0.7.0</li>
<li><a
href="https://github.com/mypyc/ast_serialize/commit/5b7276c0cfd43d06cbf3dec772181079ac340c63"><code>5b7276c</code></a>
Minor update after adding wheels for Python 3.15 (<a
href="https://redirect.github.com/mypyc/ast_serialize/issues/73">#73</a>)</li>
<li><a
href="https://github.com/mypyc/ast_serialize/commit/49e34a5f0ab0ddf8eb251faa2202849a90dde52e"><code>49e34a5</code></a>
Vendor Ruff crates (<a
href="https://redirect.github.com/mypyc/ast_serialize/issues/70">#70</a>)</li>
<li><a
href="https://github.com/mypyc/ast_serialize/commit/fbca1afb36c61924de8b60359d387796ff9049a4"><code>fbca1af</code></a>
Build musllinux wheels for ppc64le and riscv64 (<a
href="https://redirect.github.com/mypyc/ast_serialize/issues/72">#72</a>)</li>
<li><a
href="https://github.com/mypyc/ast_serialize/commit/c2db11c2c9da9396a87585e5c1a94a7efb829680"><code>c2db11c</code></a>
Build wheels for Python 3.15 (<a
href="https://redirect.github.com/mypyc/ast_serialize/issues/71">#71</a>)</li>
<li>See full diff in <a
href="https://github.com/mypyc/ast_serialize/compare/v0.6.0...v0.7.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot 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 [packaging](https://github.com/pypa/packaging) from 26.2 to 26.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/packaging/releases">packaging's
releases</a>.</em></p>
<blockquote>
<h2>26.3</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<h3>Features</h3>
<ul>
<li>Add a public <code>VersionRange</code> API and
<code>SpecifierSet.to_range()</code>, representing the versions a
specifier set accepts as an interval set that supports intersection,
union, difference, complement, set relations, membership tests, and
filtering. <code>VersionRange.to_specifier_set()</code> converts a range
back to a <code>SpecifierSet</code> where a PEP 440 form exists. (<a
href="https://redirect.github.com/pypa/packaging/pull/1267">#1267</a>,
<a
href="https://redirect.github.com/pypa/packaging/pull/1270">#1270</a>,
<a
href="https://redirect.github.com/pypa/packaging/pull/1298">#1298</a>)</li>
<li>PEP 808: accept <code>Metadata-Version: 2.6</code>. (<a
href="https://redirect.github.com/pypa/packaging/pull/1194">#1194</a>)</li>
<li>Add a <code>limit</code> argument to <code>parse_tag()</code> for
compressed tag sets. (<a
href="https://redirect.github.com/pypa/packaging/issues/1220">#1220</a>)</li>
<li>Add a <code>prefer_sdist_predicate</code> argument to
<code>Pylock.select()</code> to prefer source distributions over wheels
for selected packages. (<a
href="https://redirect.github.com/pypa/packaging/pull/1334">#1334</a>)</li>
<li>Add <code>pure_python_tags()</code> to generate the pure-Python tags
for a Python version without touching the running platform. (<a
href="https://redirect.github.com/pypa/packaging/pull/1346">#1346</a>)</li>
<li>Add <code>SpecifierSet.is_subset()</code>,
<code>SpecifierSet.is_superset()</code>, and
<code>SpecifierSet.is_disjoint()</code>, which compare the versions two
specifier sets accept. (<a
href="https://redirect.github.com/pypa/packaging/pull/1313">#1313</a>)</li>
</ul>
<h3>Behavior adaptations</h3>
<ul>
<li>Drop support for Python 3.8; packaging now requires Python 3.9 or
later. (<a
href="https://redirect.github.com/pypa/packaging/pull/1157">#1157</a>)</li>
<li>Prefer native <code>linux_*</code> platform tags over
<code>manylinux</code> and <code>musllinux</code> tags on Linux. (<a
href="https://redirect.github.com/pypa/packaging/issues/160">#160</a>)</li>
</ul>
<h3>Fixes for versions and specifiers</h3>
<ul>
<li>Raise <code>InvalidVersion</code> instead of <code>TypeError</code>
when <code>Version</code> is given a non-string. (<a
href="https://redirect.github.com/pypa/packaging/pull/1319">#1319</a>)</li>
<li>Raise <code>InvalidVersion</code> for non-string pre-release letters
passed to <code>Version.from_parts</code>. (<a
href="https://redirect.github.com/pypa/packaging/pull/1241">#1241</a>)</li>
<li>Fix an <code>AttributeError</code> when hashing internally trimmed
versions. (<a
href="https://redirect.github.com/pypa/packaging/pull/1242">#1242</a>)</li>
<li>Fix <code>SpecifierSet.is_unsatisfiable</code> for post-release
boundary intersections. (<a
href="https://redirect.github.com/pypa/packaging/pull/1257">#1257</a>)</li>
</ul>
<h3>Fixes for requirements and markers</h3>
<ul>
<li>Make <code>Requirement.__hash__</code> consistent with
<code>__eq__</code> for trailing-zero-equivalent specifiers (e.g.
<code>foo==1.0.0</code> and <code>foo==1.0.0.0</code>), so equal
requirements hash equal and deduplicate in sets and dicts. (<a
href="https://redirect.github.com/pypa/packaging/pull/1232">#1232</a>)</li>
<li>Normalize requested extra names before comparing or hashing
requirements. (<a
href="https://redirect.github.com/pypa/packaging/issues/644">#644</a>)</li>
<li>Preserve a <code>Requirement</code>'s specifier
<code>prereleases</code> override across a pickle round trip. (<a
href="https://redirect.github.com/pypa/packaging/issues/1204">#1204</a>)</li>
<li>Raise <code>InvalidRequirement</code> instead of
<code>InvalidSpecifier</code> when a requirement contains an invalid
specifier. (<a
href="https://redirect.github.com/pypa/packaging/pull/1332">#1332</a>)</li>
<li>Clarify the error for post-release prefix wildcards like
<code>==1.0.post1.*</code>. (<a
href="https://redirect.github.com/pypa/packaging/pull/1299">#1299</a>)</li>
<li>Preserve quoting semantics when serializing marker values, so
round-tripped markers parse back to the same marker. (<a
href="https://redirect.github.com/pypa/packaging/pull/1213">#1213</a>)</li>
<li>Keep the parentheses of a nested group when serializing markers. (<a
href="https://redirect.github.com/pypa/packaging/pull/1316">#1316</a>)</li>
<li>Normalize <code>extra</code> and <code>dependency_groups</code>
values in nested markers at parse time. (<a
href="https://redirect.github.com/pypa/packaging/pull/1246">#1246</a>,
<a
href="https://redirect.github.com/pypa/packaging/pull/1310">#1310</a>)</li>
<li>Raise <code>UndefinedComparison</code> when a set-valued variable
like <code>extras</code> is used outside the membership form. (<a
href="https://redirect.github.com/pypa/packaging/pull/1265">#1265</a>)</li>
<li>Raise <code>UndefinedEnvironmentName</code> (a <code>KeyError</code>
subclass) for missing environment keys during marker evaluation. (<a
href="https://redirect.github.com/pypa/packaging/pull/1276">#1276</a>)</li>
<li>Wrap malformed string literal errors in <code>InvalidMarker</code> /
<code>InvalidRequirement</code> instead of leaking a low-level error.
(<a
href="https://redirect.github.com/pypa/packaging/pull/1249">#1249</a>)</li>
<li>Reject requirements and markers with a trailing line break. (<a
href="https://redirect.github.com/pypa/packaging/pull/1345">#1345</a>)</li>
</ul>
<h3>Fixes for metadata and licenses</h3>
<ul>
<li>Collect all <code>from_email</code> validation errors into one
<code>ExceptionGroup</code> instead of raising the first. (<a
href="https://redirect.github.com/pypa/packaging/pull/1268">#1268</a>)</li>
<li>Accept the UTF-8 charset case-insensitively in email payloads. (<a
href="https://redirect.github.com/pypa/packaging/pull/1330">#1330</a>)</li>
<li>Reject malformed <code>Description-Content-Type</code> values. (<a
href="https://redirect.github.com/pypa/packaging/pull/1329">#1329</a>)</li>
<li>Don't rewrite user values that contain <code>{field}</code>
placeholders in error messages. (<a
href="https://redirect.github.com/pypa/packaging/pull/1327">#1327</a>)</li>
<li>Route multipart email payloads to <code>unparsed</code> instead of
asserting. (<a
href="https://redirect.github.com/pypa/packaging/pull/1247">#1247</a>)</li>
<li>Make <code>InvalidMetadata</code> and
<code>CyclicDependencyGroup</code> picklable. (<a
href="https://redirect.github.com/pypa/packaging/pull/1328">#1328</a>)</li>
<li>Fold every line boundary <code>str.splitlines</code> recognizes when
writing a header with <code>RFC822Message</code>. (<a
href="https://redirect.github.com/pypa/packaging/pull/1356">#1356</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/packaging/blob/main/CHANGELOG.rst">packaging's
changelog</a>.</em></p>
<blockquote>
<p>26.3 - 2026-08-03</p>
<pre><code>
Features:
<ul>
<li>Add a public :class:<code>~packaging.ranges.VersionRange</code> API
and<br />
:meth:<code>SpecifierSet.to_range()
&amp;lt;packaging.specifiers.SpecifierSet.to_range&amp;gt;</code>,<br />
representing the versions a specifier set accepts as an interval set
that<br />
supports intersection, union, difference, complement, set relations,<br
/>
membership tests, and filtering.<br />
:meth:<code>~packaging.ranges.VersionRange.to_specifier_set</code>
converts a range back<br />
to a :class:<code>~packaging.specifiers.SpecifierSet</code> where a PEP
440 form exists.<br />
(:pull:<code>1267</code>, :pull:<code>1270</code>,
:pull:<code>1298</code>)</li>
<li>PEP 808: accept <code>Metadata-Version: 2.6</code>.
(:pull:<code>1194</code>)</li>
<li>Add a <code>limit</code> argument to <code>parse_tag()</code> for
compressed tag sets.<br />
(:issue:<code>1220</code>)</li>
<li>Add a <code>prefer_sdist_predicate</code> argument to
<code>Pylock.select()</code> to prefer<br />
source distributions over wheels for selected packages.
(:pull:<code>1334</code>)</li>
<li>Add :func:<code>~packaging.tags.pure_python_tags</code> to generate
the pure-Python<br />
tags for a Python version without touching the running platform.<br />
(:pull:<code>1346</code>)</li>
<li>Add :meth:<code>SpecifierSet.is_subset()
&amp;lt;packaging.specifiers.SpecifierSet.is_subset&amp;gt;</code>,
:meth:<code>~packaging.specifiers.SpecifierSet.is_superset</code>,<br />
and :meth:<code>~packaging.specifiers.SpecifierSet.is_disjoint</code>,
which compare the<br />
versions two specifier sets accept. (:pull:<code>1313</code>)</li>
</ul>
<p>Behavior adaptations:</p>
<ul>
<li>Drop support for Python 3.8; packaging now requires Python 3.9 or
later.<br />
(:pull:<code>1157</code>)</li>
<li>Prefer native <code>linux_*</code> platform tags over
<code>manylinux</code> and <code>musllinux</code><br />
tags on Linux. (:issue:<code>160</code>)</li>
</ul>
<p>Fixes for versions and specifiers:</p>
<ul>
<li>Raise <code>InvalidVersion</code> instead of <code>TypeError</code>
when <code>Version</code> is given a<br />
non-string. (:pull:<code>1319</code>)</li>
<li>Raise <code>InvalidVersion</code> for non-string pre-release letters
passed to<br />
<code>Version.from_parts</code>. (:pull:<code>1241</code>)</li>
<li>Fix an <code>AttributeError</code> when hashing internally trimmed
versions.<br />
(:pull:<code>1242</code>)</li>
<li>Fix <code>SpecifierSet.is_unsatisfiable</code> for post-release
boundary<br />
intersections. (:pull:<code>1257</code>)</li>
</ul>
<p>Fixes for requirements and markers:</p>
<ul>
<li>Make <code>Requirement.__hash__</code> consistent with
<code>__eq__</code> for<br />
trailing-zero-equivalent specifiers (e.g. <code>foo==1.0.0</code> and<br
/>
<code>foo==1.0.0.0</code>), so equal requirements hash equal and
deduplicate in<br />
sets and dicts. (:pull:<code>1232</code>)<br />
&lt;/tr&gt;&lt;/table&gt;<br />
</code></pre></li>
</ul>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/packaging/commit/929fd4b1410ac7ef61ef3f45b2f5d7e87711a9b5"><code>929fd4b</code></a>
Bump for release</li>
<li><a
href="https://github.com/pypa/packaging/commit/f300ebf0c155e1f7ea6d62fba11dba4bac3d1944"><code>f300ebf</code></a>
chore(deps): bump the pre-commit group with 5 updates (<a
href="https://redirect.github.com/pypa/packaging/issues/1357">#1357</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/f91d97566a966177ad7ea5a7c703b12a7273e3b1"><code>f91d975</code></a>
ci(downstream): bump hatchling to 1.31.0 and fix its pytest rootdir (<a
href="https://redirect.github.com/pypa/packaging/issues/1361">#1361</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/b1a7124fe3d40c3302c029e9eb01ac3fc3496a54"><code>b1a7124</code></a>
chore(deps): bump the github-actions group with 7 updates (<a
href="https://redirect.github.com/pypa/packaging/issues/1358">#1358</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/2d873eb6002021a8c007c933fbdab58b37a5079b"><code>2d873eb</code></a>
fix(metadata): fold every line boundary when writing headers (<a
href="https://redirect.github.com/pypa/packaging/issues/1356">#1356</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/413d006fadf5b9b14d78ad444201d8189bff8c64"><code>413d006</code></a>
docs: changelog for 26.3 (<a
href="https://redirect.github.com/pypa/packaging/issues/1343">#1343</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/4eb0753dba8fcaaac8eb75463374e448f0931558"><code>4eb0753</code></a>
docs(metadata): explain selective field validation (<a
href="https://redirect.github.com/pypa/packaging/issues/1342">#1342</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/77e9ed42b6db9c5c011a5148047a356ebe42692a"><code>77e9ed4</code></a>
feat(tags): add pure Python tag generator (<a
href="https://redirect.github.com/pypa/packaging/issues/1346">#1346</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/7cea5e88671ed14016e9ab3dd08eab064f596564"><code>7cea5e8</code></a>
ci: drop 3.13t on Windows (3.13.14t may fail to build, run takes 9
minutes) (...</li>
<li><a
href="https://github.com/pypa/packaging/commit/45a8b3402db5ff82158f2d0eabaf8447aa7a50bf"><code>45a8b34</code></a>
docs: add missing versionadded/versionchanged directives (<a
href="https://redirect.github.com/pypa/packaging/issues/1344">#1344</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/packaging/compare/26.2...26.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=packaging&package-manager=pip&previous-version=26.2&new-version=26.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 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 [cffi](https://github.com/python-cffi/cffi) from 2.1.0 to 2.1.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/python-cffi/cffi/releases">cffi's
releases</a>.</em></p>
<blockquote>
<h2>v2.1.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Minimize internal Python API usage for interpreter and thread state
sampling where possible. Avoids breaking ABI change in Python &gt;=
3.15.0b4 (<a
href="https://redirect.github.com/python-cffi/cffi/pull/269">python-cffi/cffi#269</a>).</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/python-cffi/cffi/compare/v2.1.0...v2.1.1">https://github.com/python-cffi/cffi/compare/v2.1.0...v2.1.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/python-cffi/cffi/commit/fd33e7700f0ebafe6f30bd5053f13327221b77a2"><code>fd33e77</code></a>
New release 2.1.1</li>
<li><a
href="https://github.com/python-cffi/cffi/commit/56a7876b8cd3b2d8148233a90e0121d74cd83852"><code>56a7876</code></a>
Use PyGILState_Ensure to avoid accessing CPython internals (<a
href="https://redirect.github.com/python-cffi/cffi/issues/269">#269</a>)
(<a
href="https://redirect.github.com/python-cffi/cffi/issues/270">#270</a>)</li>
<li>See full diff in <a
href="https://github.com/python-cffi/cffi/compare/v2.1.0...v2.1.1">compare
view</a></li>
</ul>
</details>
<br />

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [pip](https://github.com/pypa/pip) from 26.2 to 26.2.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/pip/blob/main/NEWS.rst">pip's
changelog</a>.</em></p>
<blockquote>
<h1>26.2.1 (2026-08-04)</h1>
<h2>Bug Fixes</h2>
<ul>
<li>Reallow keyring installed in a (non-activated) virtual environment
to be be used
via the <code>import</code> provider method while installing build
dependencies. (<code>[#14227](pypa/pip#14227)
&lt;https://github.com/pypa/pip/issues/14227&gt;</code>_)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/pip/commit/634a6ec1a5d9dcc2433571cdb2f4c58a4bb29caf"><code>634a6ec</code></a>
Bump for release</li>
<li><a
href="https://github.com/pypa/pip/commit/ae2eb4fed21ce9e9dabcf2d2c904c12a6a204a00"><code>ae2eb4f</code></a>
Revert build dependency installer isolation for legacy build environment
(<a
href="https://redirect.github.com/pypa/pip/issues/14">#14</a>...</li>
<li><a
href="https://github.com/pypa/pip/commit/6236392d41f0623476b9dbca2f1c55b832ee7e43"><code>6236392</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/pip/issues/14213">#14213</a> from
pypa/release/26.2</li>
<li><a
href="https://github.com/pypa/pip/commit/da4b2cc7e3961fc84355d516ffa0327f8e23719c"><code>da4b2cc</code></a>
Bump for development</li>
<li>See full diff in <a
href="https://github.com/pypa/pip/compare/26.2...26.2.1">compare
view</a></li>
</ul>
</details>
<br />

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@pull pull Bot locked and limited conversation to collaborators Aug 10, 2026
@pull pull Bot added the ⤵️ pull label Aug 10, 2026
@pull
pull Bot merged commit d8b943b into tj-python:master Aug 10, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants