Skip to content

Sync to 20250610#3

Merged
nickvines merged 167 commits intomainfrom
sync-to-20250610
Jun 12, 2025
Merged

Sync to 20250610#3
nickvines merged 167 commits intomainfrom
sync-to-20250610

Conversation

@nickvines
Copy link
Copy Markdown
Contributor

No description provided.

zanieb and others added 30 commits October 14, 2024 15:10
This is a 64-bit distribution but the previous version was 32-bit
* Revert "Disable cron for forks (#383)"

This reverts commit 55787ea.

* Disable cron schedule

---------

Co-authored-by: Zanie Blue <contact@zanie.dev>
Co-authored-by: Zanie Blue <contact@zanie.dev>
* Add colour to CI logs for readability

* Remove redundant version check
## Summary

The current shebang seems to fail when the path itself contains spaces. For example:

```
❯ "/Users/crmarsh/Library/Application Support/uv/python/cpython-3.13.0-macos-aarch64-none/bin/pydoc3"
/Users/crmarsh/Library/Application Support/uv/python/cpython-3.13.0-macos-aarch64-none/bin/pydoc3: line 2: /Users/crmarsh/Library
Support/uv/python/cpython-3.13.0-macos-aarch64-none/bin/python3.13: No such file or directory
/Users/crmarsh/Library/Application Support/uv/python/cpython-3.13.0-macos-aarch64-none/bin/pydoc3: line 2: exec: /Users/crmarsh/Library
Support/uv/python/cpython-3.13.0-macos-aarch64-none/bin/python3.13: cannot execute: No such file or directory
```

This PR replaces it with the shebang that we use in uv for relocatable environments, which is outlined in the following series of PRs and issues:

- https://github.com/astral-sh/uv/pull/5515/files#r1694358328
- astral-sh/uv#5640
- astral-sh/uv#8079

Closes astral-sh/python-build-standalone#394.

Closes astral-sh/uv#9348.
* Upgrade setuptools from 75.1.0 -> 75.6.0

* Upgrade pip from 24.1.2 -> 24.3.1

* Fix sha for setuptools

* Remove outdated `pip` patch

Upstreamed in pypa/pip#12716
* Update to latest Python patch versions

* Add `atomic` to allowed system libraries

* Allow `libatomic.so.1`
## Summary

We get reports of users failing to build extension modules on macOS due to the presence of a hardcoded Xcode path. Here's one example:

![bafkreih5iht5nuyhkuzrs3npkio5smggpcrwmwirjr7cq7wiftyx6f77xe-1](https://github.com/user-attachments/assets/7062ab4e-0bbe-4547-a983-0d58b5bf5c2c)

I wasn't able to reproduce this locally... until I set `CFLAGS` in my environment (to anything). It turns out that CPython already strips `-isysroot` on macOS, but _not_ if `CFLAGS` is set. See: https://github.com/python/cpython/blob/a03efb533a58fd13fb0cc7f4a5c02c8406a407bd/Lib/_osx_support.py#L331.

(I find this a bit surprising -- it should probably _still_ strip the values that are provided via `_sysconfigdata_t_darwin_darwin.py`, and only _not_ strip values that are set explicitly via a `CFLAGS` environment variable? But alas.)

This PR modifies our macOS builds to always strip `-isysroot`. We're effectively already doing this for users that _don't_ have any `CFLAGS` set globally, and the current value is almost always going to be wrong.

## Test Plan

I confirmed that `CFLAGS="-Wunreachable-code" uv pip install cffi==1.17.1 --python 3.13t --no-cache --verbose` succeeds with a build from this branch, but fails on `main`.
LLVM 19 yields a compile error without these patches.

Strictly speaking we may only need the final one. However there
are conflicts unless we take all patches to `src/aarch64/sysv.S`.
So we just take the 3 of them.
zanieb and others added 26 commits May 17, 2025 08:03
As part of trying to stand up native Linux ARM builds, I ran into a
failure with xproto's config.guess not recognizing ARM. That package not
releasing since 2016 clued me in that it was likely not a required part
of X11 any more.

I looked at Debian's dependency tree and there was no xproto in sight.
But there was an xorgproto. And sure enough if you install xorgproto
instead of xproto in the build environment, things "just work."

Clued into the potential for outdated packages, I looked at other proto
packages. I pulled the thread and inputproto, kbproto, and xextproto all
appeared to be dead and replaced by xorgproto.

So this commit deletes inputproto, kbproto, xextproto, and xproto and
effectively replaces their use with xorgproto.

Good riddance.
Bumps [requests](https://github.com/psf/requests) from 2.31.0 to 2.32.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/psf/requests/releases">requests's
releases</a>.</em></p>
<blockquote>
<h2>v2.32.2</h2>
<h2>2.32.2 (2024-05-21)</h2>
<p><strong>Deprecations</strong></p>
<ul>
<li>
<p>To provide a more stable migration for custom HTTPAdapters impacted
by the CVE changes in 2.32.0, we've renamed <code>_get_connection</code>
to
a new public API, <code>get_connection_with_tls_context</code>. Existing
custom
HTTPAdapters will need to migrate their code to use this new API.
<code>get_connection</code> is considered deprecated in all versions of
Requests&gt;=2.32.0.</p>
<p>A minimal (2-line) example has been provided in the linked PR to ease
migration, but we strongly urge users to evaluate if their custom
adapter
is subject to the same issue described in CVE-2024-35195. (<a
href="https://redirect.github.com/psf/requests/issues/6710">#6710</a>)</p>
</li>
</ul>
<h2>v2.32.1</h2>
<h2>2.32.1 (2024-05-20)</h2>
<p><strong>Bugfixes</strong></p>
<ul>
<li>Add missing test certs to the sdist distributed on PyPI.</li>
</ul>
<h2>v2.32.0</h2>
<h2>2.32.0 (2024-05-20)</h2>
<h2>🐍 PYCON US 2024 EDITION 🐍</h2>
<p><strong>Security</strong></p>
<ul>
<li>Fixed an issue where setting <code>verify=False</code> on the first
request from a
Session will cause subsequent requests to the <em>same origin</em> to
also ignore
cert verification, regardless of the value of <code>verify</code>.
(<a
href="https://github.com/psf/requests/security/advisories/GHSA-9wx4-h78v-vm56">https://github.com/psf/requests/security/advisories/GHSA-9wx4-h78v-vm56</a>)</li>
</ul>
<p><strong>Improvements</strong></p>
<ul>
<li><code>verify=True</code> now reuses a global SSLContext which should
improve
request time variance between first and subsequent requests. It should
also minimize certificate load time on Windows systems when using a
Python
version built with OpenSSL 3.x. (<a
href="https://redirect.github.com/psf/requests/issues/6667">#6667</a>)</li>
<li>Requests now supports optional use of character detection
(<code>chardet</code> or <code>charset_normalizer</code>) when
repackaged or vendored.
This enables <code>pip</code> and other projects to minimize their
vendoring
surface area. The <code>Response.text()</code> and
<code>apparent_encoding</code> APIs
will default to <code>utf-8</code> if neither library is present. (<a
href="https://redirect.github.com/psf/requests/issues/6702">#6702</a>)</li>
</ul>
<p><strong>Bugfixes</strong></p>
<ul>
<li>Fixed bug in length detection where emoji length was incorrectly
calculated in the request content-length. (<a
href="https://redirect.github.com/psf/requests/issues/6589">#6589</a>)</li>
<li>Fixed deserialization bug in JSONDecodeError. (<a
href="https://redirect.github.com/psf/requests/issues/6629">#6629</a>)</li>
<li>Fixed bug where an extra leading <code>/</code> (path separator)
could lead
urllib3 to unnecessarily reparse the request URI. (<a
href="https://redirect.github.com/psf/requests/issues/6644">#6644</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/psf/requests/blob/main/HISTORY.md">requests's
changelog</a>.</em></p>
<blockquote>
<h2>2.32.2 (2024-05-21)</h2>
<p><strong>Deprecations</strong></p>
<ul>
<li>
<p>To provide a more stable migration for custom HTTPAdapters impacted
by the CVE changes in 2.32.0, we've renamed <code>_get_connection</code>
to
a new public API, <code>get_connection_with_tls_context</code>. Existing
custom
HTTPAdapters will need to migrate their code to use this new API.
<code>get_connection</code> is considered deprecated in all versions of
Requests&gt;=2.32.0.</p>
<p>A minimal (2-line) example has been provided in the linked PR to ease
migration, but we strongly urge users to evaluate if their custom
adapter
is subject to the same issue described in CVE-2024-35195. (<a
href="https://redirect.github.com/psf/requests/issues/6710">#6710</a>)</p>
</li>
</ul>
<h2>2.32.1 (2024-05-20)</h2>
<p><strong>Bugfixes</strong></p>
<ul>
<li>Add missing test certs to the sdist distributed on PyPI.</li>
</ul>
<h2>2.32.0 (2024-05-20)</h2>
<p><strong>Security</strong></p>
<ul>
<li>Fixed an issue where setting <code>verify=False</code> on the first
request from a
Session will cause subsequent requests to the <em>same origin</em> to
also ignore
cert verification, regardless of the value of <code>verify</code>.
(<a
href="https://github.com/psf/requests/security/advisories/GHSA-9wx4-h78v-vm56">https://github.com/psf/requests/security/advisories/GHSA-9wx4-h78v-vm56</a>)</li>
</ul>
<p><strong>Improvements</strong></p>
<ul>
<li><code>verify=True</code> now reuses a global SSLContext which should
improve
request time variance between first and subsequent requests. It should
also minimize certificate load time on Windows systems when using a
Python
version built with OpenSSL 3.x. (<a
href="https://redirect.github.com/psf/requests/issues/6667">#6667</a>)</li>
<li>Requests now supports optional use of character detection
(<code>chardet</code> or <code>charset_normalizer</code>) when
repackaged or vendored.
This enables <code>pip</code> and other projects to minimize their
vendoring
surface area. The <code>Response.text()</code> and
<code>apparent_encoding</code> APIs
will default to <code>utf-8</code> if neither library is present. (<a
href="https://redirect.github.com/psf/requests/issues/6702">#6702</a>)</li>
</ul>
<p><strong>Bugfixes</strong></p>
<ul>
<li>Fixed bug in length detection where emoji length was incorrectly
calculated in the request content-length. (<a
href="https://redirect.github.com/psf/requests/issues/6589">#6589</a>)</li>
<li>Fixed deserialization bug in JSONDecodeError. (<a
href="https://redirect.github.com/psf/requests/issues/6629">#6629</a>)</li>
<li>Fixed bug where an extra leading <code>/</code> (path separator)
could lead
urllib3 to unnecessarily reparse the request URI. (<a
href="https://redirect.github.com/psf/requests/issues/6644">#6644</a>)</li>
</ul>
<p><strong>Deprecations</strong></p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/psf/requests/commit/88dce9d854797c05d0ff296b70e0430535ef8aaf"><code>88dce9d</code></a>
v2.32.2</li>
<li><a
href="https://github.com/psf/requests/commit/c98e4d133ef29c46a9b68cd783087218a8075e05"><code>c98e4d1</code></a>
Merge pull request <a
href="https://redirect.github.com/psf/requests/issues/6710">#6710</a>
from nateprewitt/api_rename</li>
<li><a
href="https://github.com/psf/requests/commit/92075b330a30b9883f466a43d3f7566ab849f91b"><code>92075b3</code></a>
Add deprecation warning</li>
<li><a
href="https://github.com/psf/requests/commit/aa1461b68aa73e2f6ec0e78c8853b635c76fd099"><code>aa1461b</code></a>
Move _get_connection to get_connection_with_tls_context</li>
<li><a
href="https://github.com/psf/requests/commit/970e8cec988421bd43da57350723b05c8ce8dc7e"><code>970e8ce</code></a>
v2.32.1</li>
<li><a
href="https://github.com/psf/requests/commit/d6ebc4a2f1f68b7e355fb7e4dd5ffc0845547f9f"><code>d6ebc4a</code></a>
v2.32.0</li>
<li><a
href="https://github.com/psf/requests/commit/9a40d1277807f0a4f26c9a37eea8ec90faa8aadc"><code>9a40d12</code></a>
Avoid reloading root certificates to improve concurrent performance (<a
href="https://redirect.github.com/psf/requests/issues/6667">#6667</a>)</li>
<li><a
href="https://github.com/psf/requests/commit/0c030f78d24f29a459dbf39b28b4cc765e2153d7"><code>0c030f7</code></a>
Merge pull request <a
href="https://redirect.github.com/psf/requests/issues/6702">#6702</a>
from nateprewitt/no_char_detection</li>
<li><a
href="https://github.com/psf/requests/commit/555b870eb19d497ddb67042645420083ec8efb02"><code>555b870</code></a>
Allow character detection dependencies to be optional in post-packaging
steps</li>
<li><a
href="https://github.com/psf/requests/commit/d6dded3f00afcf56a7e866cb0732799045301eb0"><code>d6dded3</code></a>
Merge pull request <a
href="https://redirect.github.com/psf/requests/issues/6700">#6700</a>
from franekmagiera/update-redirect-to-invalid-uri-test</li>
<li>Additional commits viewable in <a
href="https://github.com/psf/requests/compare/v2.31.0...v2.32.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=requests&package-manager=pip&previous-version=2.31.0&new-version=2.32.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)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/astral-sh/python-build-standalone/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [certifi](https://github.com/certifi/python-certifi) from 2024.2.2
to 2024.7.4.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/certifi/python-certifi/commit/bd8153872e9c6fc98f4023df9c2deaffea2fa463"><code>bd81538</code></a>
2024.07.04 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/295">#295</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/06a2cbf21f345563dde6c28b60e29d57e9b210b3"><code>06a2cbf</code></a>
Bump peter-evans/create-pull-request from 6.0.5 to 6.1.0 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/294">#294</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/13bba02b72bac97c432c277158bc04b4d2a6bc23"><code>13bba02</code></a>
Bump actions/checkout from 4.1.6 to 4.1.7 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/293">#293</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/e8abcd0e62b334c164b95d49fcabdc9ecbca0554"><code>e8abcd0</code></a>
Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/292">#292</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/124f4adf171e15cd9a91a8b6e0325ecc97be8fe1"><code>124f4ad</code></a>
2024.06.02 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/291">#291</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/c2196ce5d6ee675b27755a19948480a7823e2c6a"><code>c2196ce</code></a>
--- (<a
href="https://redirect.github.com/certifi/python-certifi/issues/290">#290</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/fefdeec7588ff1c05214b85a552afcad5fdb51b2"><code>fefdeec</code></a>
Bump actions/checkout from 4.1.4 to 4.1.5 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/289">#289</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/3c5fb1560b826a7f83f1f9750173ff766492c9cf"><code>3c5fb15</code></a>
Bump actions/download-artifact from 4.1.6 to 4.1.7 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/286">#286</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/4a9569a3eb58db8548536fc16c5c5c7af946a5b1"><code>4a9569a</code></a>
Bump actions/checkout from 4.1.2 to 4.1.4 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/287">#287</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/1fc808626a895a916b1e4c2b63abae6c5eafdbe3"><code>1fc8086</code></a>
Bump peter-evans/create-pull-request from 6.0.4 to 6.0.5 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/288">#288</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/certifi/python-certifi/compare/2024.02.02...2024.07.04">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=certifi&package-manager=pip&previous-version=2024.2.2&new-version=2024.7.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 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)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/astral-sh/python-build-standalone/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.2.1 to 2.2.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/urllib3/urllib3/releases">urllib3's
releases</a>.</em></p>
<blockquote>
<h2>2.2.2</h2>
<h2>🚀 urllib3 is fundraising for HTTP/2 support</h2>
<p><a
href="https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support">urllib3
is raising ~$40,000 USD</a> to release HTTP/2 support and ensure
long-term sustainable maintenance of the project after a sharp decline
in financial support for 2023. If your company or organization uses
Python and would benefit from HTTP/2 support in Requests, pip, cloud
SDKs, and thousands of other projects <a
href="https://opencollective.com/urllib3">please consider contributing
financially</a> to ensure HTTP/2 support is developed sustainably and
maintained for the long-haul.</p>
<p>Thank you for your support.</p>
<h2>Changes</h2>
<ul>
<li>Added the <code>Proxy-Authorization</code> header to the list of
headers to strip from requests when redirecting to a different host. As
before, different headers can be set via
<code>Retry.remove_headers_on_redirect</code>.</li>
<li>Allowed passing negative integers as <code>amt</code> to read
methods of <code>http.client.HTTPResponse</code> as an alternative to
<code>None</code>. (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3122">#3122</a>)</li>
<li>Fixed return types representing copying actions to use
<code>typing.Self</code>. (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3363">#3363</a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/urllib3/urllib3/compare/2.2.1...2.2.2">https://github.com/urllib3/urllib3/compare/2.2.1...2.2.2</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/urllib3/urllib3/blob/main/CHANGES.rst">urllib3's
changelog</a>.</em></p>
<blockquote>
<h1>2.2.2 (2024-06-17)</h1>
<ul>
<li>Added the <code>Proxy-Authorization</code> header to the list of
headers to strip from requests when redirecting to a different host. As
before, different headers can be set via
<code>Retry.remove_headers_on_redirect</code>.</li>
<li>Allowed passing negative integers as <code>amt</code> to read
methods of <code>http.client.HTTPResponse</code> as an alternative to
<code>None</code>.
(<code>[#3122](urllib3/urllib3#3122)
&lt;https://github.com/urllib3/urllib3/issues/3122&gt;</code>__)</li>
<li>Fixed return types representing copying actions to use
<code>typing.Self</code>.
(<code>[#3363](urllib3/urllib3#3363)
&lt;https://github.com/urllib3/urllib3/issues/3363&gt;</code>__)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/urllib3/urllib3/commit/27e2a5c5a7ab6a517252cc8dcef3ffa6ffb8f61a"><code>27e2a5c</code></a>
Release 2.2.2 (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3406">#3406</a>)</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/accff72ecc2f6cf5a76d9570198a93ac7c90270e"><code>accff72</code></a>
Merge pull request from GHSA-34jh-p97f-mpxf</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/34be4a57e59eb7365bcc37d52e9f8271b5b8d0d3"><code>34be4a5</code></a>
Pin CFFI to a new release candidate instead of a Git commit (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3398">#3398</a>)</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/da410581b6b3df73da976b5ce5eb20a4bd030437"><code>da41058</code></a>
Bump browser-actions/setup-chrome from 1.6.0 to 1.7.1 (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3399">#3399</a>)</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/b07a669bd970d69847801148286b726f0570b625"><code>b07a669</code></a>
Bump github/codeql-action from 2.13.4 to 3.25.6 (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3396">#3396</a>)</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/b8589ec9f8c4da91511e601b632ac06af7e7c10e"><code>b8589ec</code></a>
Measure coverage with v4 of artifact actions (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3394">#3394</a>)</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/f3bdc5585111429e22c81b5fb26c3ec164d98b81"><code>f3bdc55</code></a>
Allow triggering CI manually (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3391">#3391</a>)</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/52392654b30183129cf3ec06010306f517d9c146"><code>5239265</code></a>
Fix HTTP version in debug log (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3316">#3316</a>)</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/b34619f94ece0c40e691a5aaf1304953d88089de"><code>b34619f</code></a>
Bump actions/checkout to 4.1.4 (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3387">#3387</a>)</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/9961d14de7c920091d42d42ed76d5d479b80064d"><code>9961d14</code></a>
Bump browser-actions/setup-chrome from 1.5.0 to 1.6.0 (<a
href="https://redirect.github.com/urllib3/urllib3/issues/3386">#3386</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/urllib3/urllib3/compare/2.2.1...2.2.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=urllib3&package-manager=pip&previous-version=2.2.1&new-version=2.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)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/astral-sh/python-build-standalone/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Even though the Python interpreter no longer needs libpython3.x.so, it
turns out some extension modules (incorrectly) do, and miraculously,
allowing them to find libpython3.x.so doesn't actually break things, for
reasons detailed in the comment. So set an rpath that allows
libpython3.x.so to be loaded if needed by some other library, even
though we won't use that ourselves. We are already doing this on musl;
do it on glibc too.

Note that this change does not risk users who want to make bin/python3
setuid or setcap (e.g. #576); while the rpath is presumably ignored for
privileged binaries, there is no error message, and the binary launches
fine, and _because_ we do not need the rpath in order for the
interpreter to work, everything (except these misbuilt extension
modules) works.
We stopped shipping the distributions in
6fa8fe9 in October 2023. At the time we
preserved build support just in case.

I don't believe anyone has complained about the loss of x86 Linux
distributions.

I don't believe there is compelling value in PBS supporting x86 Linux
distributions.

If someone wants to run Python on x86 Linux, they can always use
CPython's official build systen, which still supports targeting x86
Linux.

This commit rips out our support building for x86 Linux.
…(#627)

The `xcb` Dockerfile / image existed to provide a host build of CPython,
which was required to build libxcb, xcb-proto, and tk. The existence of
this image predated our building a host CPython in order to build
CPython itself.

With PBS now unconditionally building a host CPython, we can use our
host CPython during the builds of these packages, eliminating the need
for the xcb image.

This commit makes that transition.

We also upgrade libxcb and xcb-proto to the latest version as part of
this migration. Older versions of libxcb aren't compatible with Python
3.12+ due to removal of the `imp` module.
I am not sure why this change is not validated on pull request :(

Follows #630
Before commit 71882f2 (May 2022), we
built LLVM from source. This employed sccache to make builds faster.

After that commit, sccache hasn't effectively been used. But there were
remnants of sccache in the code base.

This commit removes all references to sccache in the repo.
We configure ncurses with defaults for TERMINFO_DIRS that work on I can
find (it works on Debian family, Red Hat family, NixOS, and Alpine), so
we shouldn't phrase either the title or the body as if this is a problem
that affects most people or setting the environment variable is a
necessary thing in general. (Also I think even in cases where we don't
have terminfo for your terminal, backspace usually still works, as
evidenced by `TERM=potato python`).

musl distributions are now dynamic binaries by default and dynamic
loading works.

The libcrypt transition is behind us.

The python3-config file (since its first version, I think) knows how to
correct the prefix in output. While it does contain hard-coded paths
internally, it uses that for the purpose of fixing its output, so I
don't think that fact is helpful to call out.

python-build-standalone users who get it through uv are (hopefully) not
affected by absolute paths in sysconfig; call this out explicitly for
the benefit of people evaluting whether uv will work for them. Also
mention sysconfigpatcher for everyone else.

In general, tighten up the content.
…k (#623)

We need this to get inherited to dependent libraries, i.e., to extension
modules.
astral-sh/uv#13610 reported a misbehavior that is the result of a
subclass of str incorrectly having its ->tp_as_number->nb_add slot
filled in with the value of PyUnicode_Type->tp_as_sequence->sq_concat.
There are some times when this is an appropriate thing to do iwhen
subclassing, but this is not one of them. The logic to prevent it in
this case relies on two helper functions in the file, wrap_binaryfunc
and wrap_binaryfunc_l, having different addresses, even though they
contain identical code.

For some reason BOLT does not do this optimization in the shared library
(even though those are static functions and not exported), so we only
started seeing this in the static build.

BOLT in LLVM 20+ supports "safe" code folding, which uses heuristics about
relocations to determine whether a function's address is used in any way other
than a call. This seems to be enough to fix the issue. Add a patch to switch
to -icf=safe, submitted upstream as python/cpython#134642
Bumps the python group with 21 updates:

| Package | From | To |
| --- | --- | --- |
| [attrs](https://github.com/sponsors/hynek) | `23.2.0` | `25.3.0` |
| [certifi](https://github.com/certifi/python-certifi) | `2024.7.4` |
`2025.4.26` |
| [charset-normalizer](https://github.com/jawah/charset_normalizer) |
`3.3.2` | `3.4.2` |
| [docker](https://github.com/docker/docker-py) | `7.0.0` | `7.1.0` |
| [idna](https://github.com/kjd/idna) | `3.6` | `3.10` |
| [jsonschema](https://github.com/python-jsonschema/jsonschema) |
`4.21.1` | `4.24.0` |
|
[jsonschema-specifications](https://github.com/python-jsonschema/jsonschema-specifications)
| `2023.12.1` | `2025.4.1` |
| [markupsafe](https://github.com/pallets/markupsafe) | `2.1.5` |
`3.0.2` |
| [packaging](https://github.com/pypa/packaging) | `23.2` | `25.0` |
| [pywin32](https://github.com/mhammond/pywin32) | `308` | `310` |
| [referencing](https://github.com/python-jsonschema/referencing) |
`0.33.0` | `0.36.2` |
| [requests](https://github.com/psf/requests) | `2.32.2` | `2.32.3` |
| [rpds-py](https://github.com/crate-py/rpds) | `0.18.0` | `0.25.1` |
| [six](https://github.com/benjaminp/six) | `1.16.0` | `1.17.0` |
| [tomli](https://github.com/hukkin/tomli) | `2.0.1` | `2.2.1` |
| [urllib3](https://github.com/urllib3/urllib3) | `2.2.2` | `2.4.0` |
| [zstandard](https://github.com/indygreg/python-zstandard) | `0.22.0` |
`0.23.0` |
| [mypy](https://github.com/python/mypy) | `1.8.0` | `1.15.0` |
| [ruff](https://github.com/astral-sh/ruff) | `0.3.4` | `0.11.11` |
| [types-jsonschema](https://github.com/typeshed-internal/stub_uploader)
| `4.21.0.20240118` | `4.23.0.20250516` |
| [types-pyyaml](https://github.com/typeshed-internal/stub_uploader) |
`6.0.12.12` | `6.0.12.20250516` |

Updates `attrs` from 23.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 />

Updates `certifi` from 2024.7.4 to 2025.4.26
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/certifi/python-certifi/commit/275c9eb55733a464589c15fb4566fddd4598e5b2"><code>275c9eb</code></a>
2025.04.26 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/347">#347</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/37883310b51e56570919cdc2d44becc1c6940559"><code>3788331</code></a>
Bump actions/setup-python from 5.4.0 to 5.5.0 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/346">#346</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/9d1f1b782000baedf57026de5b79e193bcb7ef7b"><code>9d1f1b7</code></a>
Bump actions/download-artifact from 4.1.9 to 4.2.1 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/344">#344</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/96b97a5afe26bc1adef98cb0bfe68e34948a73b6"><code>96b97a5</code></a>
Bump actions/upload-artifact from 4.6.1 to 4.6.2 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/343">#343</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/c054ed3ac3d3505efc929b71cfd87a257bbdb6b3"><code>c054ed3</code></a>
Bump peter-evans/create-pull-request from 7.0.7 to 7.0.8 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/342">#342</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/44547fc77121b12bb276b44b3b2b49cfcbeac06f"><code>44547fc</code></a>
Bump actions/download-artifact from 4.1.8 to 4.1.9 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/341">#341</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/5ea51247afecf1bf4ebfa8f2db3082e89a8bfaed"><code>5ea5124</code></a>
Bump actions/upload-artifact from 4.6.0 to 4.6.1 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/340">#340</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/2f142b7ae0b2d13fee4ba4b9fbd73a9cd5069060"><code>2f142b7</code></a>
Bump peter-evans/create-pull-request from 7.0.6 to 7.0.7 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/339">#339</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/80d2ebdc77d2d005f408f789fe2fb1fe5f4e0265"><code>80d2ebd</code></a>
Bump actions/setup-python from 5.3.0 to 5.4.0 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/337">#337</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/088f93122ea7c91cfdaeea7fa76ab2f850b8064d"><code>088f931</code></a>
2025.01.31 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/336">#336</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/certifi/python-certifi/compare/2024.07.04...2025.04.26">compare
view</a></li>
</ul>
</details>
<br />

Updates `charset-normalizer` from 3.3.2 to 3.4.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jawah/charset_normalizer/releases">charset-normalizer's
releases</a>.</em></p>
<blockquote>
<h2>Version 3.4.2</h2>
<h2><a
href="https://github.com/Ousret/charset_normalizer/compare/3.4.1...3.4.2">3.4.2</a>
(2025-05-02)</h2>
<h3>Fixed</h3>
<ul>
<li>Addressed the DeprecationWarning in our CLI regarding
<code>argparse.FileType</code> by backporting the target class into the
package. (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/591">#591</a>)</li>
<li>Improved the overall reliability of the detector with CJK
Ideographs. (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/605">#605</a>)
(<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/587">#587</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Optional mypyc compilation upgraded to version 1.15 for Python &gt;=
3.9</li>
</ul>
<h2>Version 3.4.1</h2>
<h2>🚀 We're still raising awareness around HTTP/2, and HTTP/3!</h2>
<p>Did you know that Internet Explorer 11 shipped with an optional
HTTP/2 support back in 2013? also libcurl did ship it in 2014[...]
Using Requests today is the rough equivalent of using EOL Windows 8! We
promptly invite Python developers to look at the first drop-in
replacement for Requests, <a
href="https://github.com/jawah/niquests">namely Niquests</a>. Ship with
native WebSocket, SSE, Happy Eyeballs, DNS over HTTPS, and so on[...]
All of this while remaining compatible with all Requests prior plug-ins
/ add-ons.</p>
<p>It leverages charset-normalizer in a better way! Check it out, you
will gain up to being 3X faster and get a real/respectable support with
it.</p>
<h2><a
href="https://github.com/Ousret/charset_normalizer/compare/3.4.0...3.4.1">3.4.1</a>
(2024-12-24)</h2>
<h3>Changed</h3>
<ul>
<li>Project metadata are now stored using <code>pyproject.toml</code>
instead of <code>setup.cfg</code> using setuptools as the build
backend.</li>
<li>Enforce annotation delayed loading for a simpler and consistent
types in the project.</li>
<li>Optional mypyc compilation upgraded to version 1.14 for Python &gt;=
3.8</li>
</ul>
<h3>Added</h3>
<ul>
<li>pre-commit configuration.</li>
<li>noxfile.</li>
</ul>
<h3>Removed</h3>
<ul>
<li><code>build-requirements.txt</code> as per using
<code>pyproject.toml</code> native build configuration.</li>
<li><code>bin/integration.py</code> and <code>bin/serve.py</code> in
favor of downstream integration test (see noxfile).</li>
<li><code>setup.cfg</code> in favor of <code>pyproject.toml</code>
metadata configuration.</li>
<li>Unused <code>utils.range_scan</code> function.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Converting content to Unicode bytes may insert <code>utf_8</code>
instead of preferred <code>utf-8</code>. (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/572">#572</a>)</li>
<li>Deprecation warning &quot;'count' is passed as positional
argument&quot; when converting to Unicode bytes on Python 3.13+</li>
</ul>
<h2>Version 3.4.0</h2>
<h2>🚀 charset-normalizer is raising awareness around HTTP/2, and
HTTP/3!</h2>
<p>Did you know that Internet Explorer 11 shipped with an optional
HTTP/2 support back in 2013? also libcurl did ship it in 2014[...]
All of this while our community is still struggling to make a firm
advancement in HTTP clients. Now, many of you use Requests
as the defacto http client, now, and for many years now, Requests has
been frozen. Being left in a vegetative state and not evolving,
this blocked millions of developers from using more advanced
features.</p>
<p>We promptly invite Python developers to look at the drop-in
replacement for Requests, <a
href="https://github.com/jawah/niquests">namely Niquests</a>.
It leverage charset-normalizer in a better way! Check it out, you will
be positively surprised! Don't wait another decade.</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md">charset-normalizer's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/Ousret/charset_normalizer/compare/3.4.1...3.4.2">3.4.2</a>
(2025-05-02)</h2>
<h3>Fixed</h3>
<ul>
<li>Addressed the DeprecationWarning in our CLI regarding
<code>argparse.FileType</code> by backporting the target class into the
package. (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/591">#591</a>)</li>
<li>Improved the overall reliability of the detector with CJK
Ideographs. (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/605">#605</a>)
(<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/587">#587</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Optional mypyc compilation upgraded to version 1.15 for Python &gt;=
3.8</li>
</ul>
<h2><a
href="https://github.com/Ousret/charset_normalizer/compare/3.4.0...3.4.1">3.4.1</a>
(2024-12-24)</h2>
<h3>Changed</h3>
<ul>
<li>Project metadata are now stored using <code>pyproject.toml</code>
instead of <code>setup.cfg</code> using setuptools as the build
backend.</li>
<li>Enforce annotation delayed loading for a simpler and consistent
types in the project.</li>
<li>Optional mypyc compilation upgraded to version 1.14 for Python &gt;=
3.8</li>
</ul>
<h3>Added</h3>
<ul>
<li>pre-commit configuration.</li>
<li>noxfile.</li>
</ul>
<h3>Removed</h3>
<ul>
<li><code>build-requirements.txt</code> as per using
<code>pyproject.toml</code> native build configuration.</li>
<li><code>bin/integration.py</code> and <code>bin/serve.py</code> in
favor of downstream integration test (see noxfile).</li>
<li><code>setup.cfg</code> in favor of <code>pyproject.toml</code>
metadata configuration.</li>
<li>Unused <code>utils.range_scan</code> function.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Converting content to Unicode bytes may insert <code>utf_8</code>
instead of preferred <code>utf-8</code>. (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/572">#572</a>)</li>
<li>Deprecation warning &quot;'count' is passed as positional
argument&quot; when converting to Unicode bytes on Python 3.13+</li>
</ul>
<h2><a
href="https://github.com/Ousret/charset_normalizer/compare/3.3.2...3.4.0">3.4.0</a>
(2024-10-08)</h2>
<h3>Added</h3>
<ul>
<li>Argument <code>--no-preemptive</code> in the CLI to prevent the
detector to search for hints.</li>
<li>Support for Python 3.13 (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/512">#512</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Relax the TypeError exception thrown when trying to compare a
CharsetMatch with anything else than a CharsetMatch.</li>
<li>Improved the general reliability of the detector based on user
feedbacks. (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/520">#520</a>)
(<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/509">#509</a>)
(<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/498">#498</a>)
(<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/407">#407</a>)
(<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/537">#537</a>)</li>
<li>Declared charset in content (preemptive detection) not changed when
converting to utf-8 bytes. (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/381">#381</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/6422af1d50f1f46624deab585424e1ac4d08ba94"><code>6422af1</code></a>
:pencil: update release date</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/0e60ec18eb00bfe312dde86739929165839b633c"><code>0e60ec1</code></a>
:bookmark: Release 3.4.2 (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/614">#614</a>)</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/f6630ce3b7fd34f234759a0c7a5ca413640e8ffb"><code>f6630ce</code></a>
:arrow_up: Bump pypa/cibuildwheel from 2.23.2 to 2.23.3 (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/617">#617</a>)</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/677c99953f1a728de9f88d8659abff1246a80ade"><code>677c999</code></a>
:arrow_up: Bump actions/download-artifact from 4.2.1 to 4.3.0 (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/618">#618</a>)</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/960ab1e676b7ef73c8c4f36c387b5a0da21e01c0"><code>960ab1e</code></a>
:arrow_up: Bump actions/setup-python from 5.5.0 to 5.6.0 (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/619">#619</a>)</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/6eb632521c9b3f92df2cd944c7c524c205abfffc"><code>6eb6325</code></a>
:arrow_up: Bump github/codeql-action from 3.28.10 to 3.28.16 (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/620">#620</a>)</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/c99c0f2c33ce54e41fefcae1c4fb96fa901d5cd4"><code>c99c0f2</code></a>
:arrow_up: Update coverage requirement from &lt;7.7,&gt;=7.2.7 to
&gt;=7.2.7,&lt;7.9 (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/606">#606</a>)</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/270f28e474db75f2a5085d6da732a90c2ac338f4"><code>270f28e</code></a>
:arrow_up: Bump actions/setup-python from 5.4.0 to 5.5.0 (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/607">#607</a>)</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/d4d89a092d262a37ce427ee39ba5091ffd188f0b"><code>d4d89a0</code></a>
:arrow_up: Bump pypa/cibuildwheel from 2.22.0 to 2.23.2 (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/608">#608</a>)</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/905fcf5cbe93e8b59c12103217434bdbc703d105"><code>905fcf5</code></a>
:arrow_up: Bump slsa-framework/slsa-github-generator from 2.0.0 to 2.1.0
(<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/609">#609</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/jawah/charset_normalizer/compare/3.3.2...3.4.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `docker` from 7.0.0 to 7.1.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/docker/docker-py/releases">docker's
releases</a>.</em></p>
<blockquote>
<h2>7.1.0</h2>
<h2>Upgrade Notes</h2>
<ul>
<li>Bumped minimum engine API version to 1.24</li>
<li>Bumped default engine API version to 1.44 (Moby 25.0)</li>
</ul>
<h2>Bugfixes</h2>
<ul>
<li>Fixed issue with tag parsing when the registry address includes
ports that resulted in <code>invalid tag format</code> errors</li>
<li>Fixed issue preventing creating new configs
(<code>ConfigCollection</code>), which failed with a
<code>KeyError</code> due to the <code>name</code> field</li>
<li>Fixed an issue due to an update in the <a
href="https://github.com/psf/requests">requests</a> package breaking
<code>docker-py</code> by applying the <a
href="https://redirect.github.com/psf/requests/pull/6710">suggested
fix</a></li>
</ul>
<h2>Miscellaneous</h2>
<ul>
<li>Documentation improvements</li>
<li>Updated Ruff (linter) and fixed minor linting issues</li>
<li>Packaging/CI updates
<ul>
<li>Started using hatch for packaging (<a
href="https://github.com/pypa/hatch">https://github.com/pypa/hatch</a>)</li>
<li>Updated <code>setup-python</code> github action</li>
</ul>
</li>
<li>Updated tests
<ul>
<li>Stopped checking for deprecated container and image related fields
(<code>Container</code> and <code>ContainerConfig</code>)</li>
<li>Updated tests that check
<code>NetworkSettings.Networks.&lt;network&gt;.Aliases</code> due to
engine changes</li>
</ul>
</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>Bump default API version to 1.43 (Moby 24.0) by <a
href="https://github.com/vvoland"><code>@​vvoland</code></a> in <a
href="https://redirect.github.com/docker/docker-py/pull/3199">docker/docker-py#3199</a></li>
<li>integration/commit: Don't check for deprecated fields by <a
href="https://github.com/vvoland"><code>@​vvoland</code></a> in <a
href="https://redirect.github.com/docker/docker-py/pull/3203">docker/docker-py#3203</a></li>
<li>fix: tag regex should allow ports by <a
href="https://github.com/artificial-intelligence"><code>@​artificial-intelligence</code></a>
in <a
href="https://redirect.github.com/docker/docker-py/pull/3196">docker/docker-py#3196</a></li>
<li>utils: Fix datetime_to_timestamp by <a
href="https://github.com/vvoland"><code>@​vvoland</code></a> in <a
href="https://redirect.github.com/docker/docker-py/pull/3208">docker/docker-py#3208</a></li>
<li>fix: keyerror when creating new config(<a
href="https://redirect.github.com/docker/docker-py/issues/3110">#3110</a>)
by <a href="https://github.com/Khushiyant"><code>@​Khushiyant</code></a>
in <a
href="https://redirect.github.com/docker/docker-py/pull/3200">docker/docker-py#3200</a></li>
<li>Update Ruff, fix some minor issues by <a
href="https://github.com/akx"><code>@​akx</code></a> in <a
href="https://redirect.github.com/docker/docker-py/pull/3206">docker/docker-py#3206</a></li>
<li>docs: change image.history() return type to list (<a
href="https://redirect.github.com/docker/docker-py/issues/3076">#3076</a>)
by <a href="https://github.com/Khushiyant"><code>@​Khushiyant</code></a>
in <a
href="https://redirect.github.com/docker/docker-py/pull/3202">docker/docker-py#3202</a></li>
<li>lint: fix string formatting by <a
href="https://github.com/milas"><code>@​milas</code></a> in <a
href="https://redirect.github.com/docker/docker-py/pull/3211">docker/docker-py#3211</a></li>
<li>Drop <code>packaging</code> dependency by <a
href="https://github.com/akx"><code>@​akx</code></a> in <a
href="https://redirect.github.com/docker/docker-py/pull/3205">docker/docker-py#3205</a></li>
<li>Bump default API version to 1.44 (Moby 25.0) by <a
href="https://github.com/vvoland"><code>@​vvoland</code></a> in <a
href="https://redirect.github.com/docker/docker-py/pull/3231">docker/docker-py#3231</a></li>
<li>Modernize build to use <code>hatchling</code> and
<code>hatch-vcs</code> by <a
href="https://github.com/akx"><code>@​akx</code></a> in <a
href="https://redirect.github.com/docker/docker-py/pull/3207">docker/docker-py#3207</a></li>
<li>Enable Ruff I (import sort), autofix by <a
href="https://github.com/akx"><code>@​akx</code></a> in <a
href="https://redirect.github.com/docker/docker-py/pull/3212">docker/docker-py#3212</a></li>
<li>chore(ci): fix-ups across Make / Docker / GitHub Actions by <a
href="https://github.com/milas"><code>@​milas</code></a> in <a
href="https://redirect.github.com/docker/docker-py/pull/3241">docker/docker-py#3241</a></li>
<li>chore: fix return type docs for <code>container.logs()</code> by <a
href="https://github.com/BobDu"><code>@​BobDu</code></a> in <a
href="https://redirect.github.com/docker/docker-py/pull/2240">docker/docker-py#2240</a></li>
<li>CI fix by <a
href="https://github.com/krissetto"><code>@​krissetto</code></a> in <a
href="https://redirect.github.com/docker/docker-py/pull/3260">docker/docker-py#3260</a></li>
<li>Fix for requests 2.32 by <a
href="https://github.com/felixfontein"><code>@​felixfontein</code></a>
in <a
href="https://redirect.github.com/docker/docker-py/pull/3257">docker/docker-py#3257</a></li>
<li>Added 7.1.0 changelog by <a
href="https://github.com/krissetto"><code>@​krissetto</code></a> in <a
href="https://redirect.github.com/docker/docker-py/pull/3262">docker/docker-py#3262</a></li>
<li>Fix env var name in release pipeline by <a
href="https://github.com/krissetto"><code>@​krissetto</code></a> in <a
href="https://redirect.github.com/docker/docker-py/pull/3263">docker/docker-py#3263</a></li>
<li>Change env var name in release pipeline to match hatch expectations
by <a href="https://github.com/krissetto"><code>@​krissetto</code></a>
in <a
href="https://redirect.github.com/docker/docker-py/pull/3264">docker/docker-py#3264</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/vvoland"><code>@​vvoland</code></a> made
their first contribution in <a
href="https://redirect.github.com/docker/docker-py/pull/3199">docker/docker-py#3199</a></li>
<li><a
href="https://github.com/artificial-intelligence"><code>@​artificial-intelligence</code></a>
made their first contribution in <a
href="https://redirect.github.com/docker/docker-py/pull/3196">docker/docker-py#3196</a></li>
<li><a
href="https://github.com/Khushiyant"><code>@​Khushiyant</code></a> made
their first contribution in <a
href="https://redirect.github.com/docker/docker-py/pull/3200">docker/docker-py#3200</a></li>
<li><a href="https://github.com/BobDu"><code>@​BobDu</code></a> made
their first contribution in <a
href="https://redirect.github.com/docker/docker-py/pull/2240">docker/docker-py#2240</a></li>
<li><a href="https://github.com/krissetto"><code>@​krissetto</code></a>
made their first contribution in <a
href="https://redirect.github.com/docker/docker-py/pull/3260">docker/docker-py#3260</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/docker-py/compare/7.0.0...7.1.0">https://github.com/docker/docker-py/compare/7.0.0...7.1.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/docker/docker-py/commit/a3652028b1ead708bd9191efb286f909ba6c2a49"><code>a365202</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/docker-py/issues/3264">#3264</a>
from krissetto/rename-env-var-in-release-pipeline</li>
<li><a
href="https://github.com/docker/docker-py/commit/1ab40c8e926c0b892b3ef47ae8acc274fc13f250"><code>1ab40c8</code></a>
Fix env var name in release pipeline to match hatch expectations</li>
<li><a
href="https://github.com/docker/docker-py/commit/b33088e0ca1bd40e45ad759a61cf084e9628043e"><code>b33088e</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/docker-py/issues/3263">#3263</a>
from krissetto/fix-release-pipeline</li>
<li><a
href="https://github.com/docker/docker-py/commit/45488acfc1851c5b5358ec7d8030a754c5f23783"><code>45488ac</code></a>
Fix env var name in release pipeline</li>
<li><a
href="https://github.com/docker/docker-py/commit/20879eca6ae19ef406e918baa1e220aa37ba29a2"><code>20879ec</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/docker-py/issues/3262">#3262</a>
from krissetto/changelog-7.1.0</li>
<li><a
href="https://github.com/docker/docker-py/commit/4f2a26d21e81774cbb8e025b01de001a3ac3a545"><code>4f2a26d</code></a>
Added 7.1.0 changelog</li>
<li><a
href="https://github.com/docker/docker-py/commit/7785ad913ddf2d86478f08278bb2c488d05a29ff"><code>7785ad9</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/docker-py/issues/3257">#3257</a>
from felixfontein/requests-hotfix</li>
<li><a
href="https://github.com/docker/docker-py/commit/d8e9bcb2780607faf388f8832bff3865eb24dce0"><code>d8e9bcb</code></a>
requests 2.32.0 and 2.32.1 have been yanked.</li>
<li><a
href="https://github.com/docker/docker-py/commit/2a059a9f19c7b37c6c71c233754c6845e325d1ec"><code>2a059a9</code></a>
Extend fix to requests 2.32.2+.</li>
<li><a
href="https://github.com/docker/docker-py/commit/e33e0a437ecd895158c8cb4322a0cdad79312636"><code>e33e0a4</code></a>
Hotfix for requests 2.32.0.</li>
<li>Additional commits viewable in <a
href="https://github.com/docker/docker-py/compare/7.0.0...7.1.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `idna` from 3.6 to 3.10
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/kjd/idna/releases">idna's
releases</a>.</em></p>
<blockquote>
<h2>v3.10</h2>
<p>No release notes provided.</p>
<h2>v3.9</h2>
<p>No release notes provided.</p>
<h2>v3.8</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix regression where IDNAError exception was not being produced for
certain inputs.</li>
<li>Add support for Python 3.13, drop support for Python 3.5 as it is no
longer testable.</li>
<li>Documentation improvements</li>
<li>Updates to package testing using Github actions</li>
</ul>
<p>Thanks to Hugo van Kemenade for contributions to this release.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/kjd/idna/compare/v3.7...v3.8">https://github.com/kjd/idna/compare/v3.7...v3.8</a></p>
<h2>v3.7</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix issue where specially crafted inputs to encode() could take
exceptionally long amount of time to process. [CVE-2024-3651]</li>
</ul>
<p>Thanks to Guido Vranken for reporting the issue.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/kjd/idna/compare/v3.6...v3.7">https://github.com/kjd/idna/compare/v3.6...v3.7</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/kjd/idna/blob/master/HISTORY.rst">idna's
changelog</a>.</em></p>
<blockquote>
<p>3.10 (2024-09-15)
+++++++++++++++++</p>
<ul>
<li>Reverted to Unicode 15.1.0 data. Unicode 16 has some significant
changes
to UTS46 processing that will require more work to properly
implement.</li>
</ul>
<p>3.9 (2024-09-13)
++++++++++++++++</p>
<ul>
<li>Update to Unicode 16.0.0</li>
<li>Deprecate setup.cfg in favour of pyproject.toml</li>
<li>Use ruff for code formatting</li>
</ul>
<p>Thanks to Waket Zheng for contributions to this release.</p>
<p>3.8 (2024-08-23)
++++++++++++++++</p>
<ul>
<li>Fix regression where IDNAError exception was not being produced for
certain inputs.</li>
<li>Add support for Python 3.13, drop support for Python 3.5 as it is no
longer testable.</li>
<li>Documentation improvements</li>
<li>Updates to package testing using Github actions</li>
</ul>
<p>Thanks to Hugo van Kemenade for contributions to this release.</p>
<p>3.7 (2024-04-11)
++++++++++++++++</p>
<ul>
<li>Fix issue where specially crafted inputs to encode() could
take exceptionally long amount of time to process. [CVE-2024-3651]</li>
</ul>
<p>Thanks to Guido Vranken for reporting the issue.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/kjd/idna/commit/729225d8b0c58bc66bb38d1d0faf281a757ece59"><code>729225d</code></a>
Release v3.10</li>
<li><a
href="https://github.com/kjd/idna/commit/3eef1680132907e90afb0feb29136f6895001f3c"><code>3eef168</code></a>
Merge pull request <a
href="https://redirect.github.com/kjd/idna/issues/194">#194</a> from
kjd/revert-unicode-16</li>
<li><a
href="https://github.com/kjd/idna/commit/ceca619a214c816e04c7c233565280bf3998c938"><code>ceca619</code></a>
Revert Unicode 16.0.0 data updates</li>
<li><a
href="https://github.com/kjd/idna/commit/c43ac75cf649511c3d593164a32a3ff9cd0cdcd1"><code>c43ac75</code></a>
Merge pull request <a
href="https://redirect.github.com/kjd/idna/issues/191">#191</a> from
kjd/release-3.9</li>
<li><a
href="https://github.com/kjd/idna/commit/1b8800a4d0c76126ab2d3e28c7e62f567cbe69f8"><code>1b8800a</code></a>
Release v3.9</li>
<li><a
href="https://github.com/kjd/idna/commit/a1fd16821734235fb6ce4e0283a49a71d61535d2"><code>a1fd168</code></a>
Merge pull request <a
href="https://redirect.github.com/kjd/idna/issues/190">#190</a> from
kjd/unicode-16</li>
<li><a
href="https://github.com/kjd/idna/commit/7732c6153e07946f1bf5cdea96817264d305b7cc"><code>7732c61</code></a>
Merge branch 'master' into unicode-16</li>
<li><a
href="https://github.com/kjd/idna/commit/4ed183d95cf5cdfc98bb867b9e4b33a3fd13ca9b"><code>4ed183d</code></a>
Refactor membership test</li>
<li><a
href="https://github.com/kjd/idna/commit/762216bd7b1d0c45937703ea0c7632360e32c85b"><code>762216b</code></a>
Format with ruff</li>
<li><a
href="https://github.com/kjd/idna/commit/580ece955f7e127094b21b40761be6b70ab62aef"><code>580ece9</code></a>
Implement changes to UTS46 algorithm</li>
<li>Additional commits viewable in <a
href="https://github.com/kjd/idna/compare/v3.6...v3.10">compare
view</a></li>
</ul>
</details>
<br />

Updates `jsonschema` from 4.21.1 to 4.24.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/python-jsonschema/jsonschema/releases">jsonschema's
releases</a>.</em></p>
<blockquote>
<h2>v4.24.0</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Fix calculation of evaluated properties by <a
href="https://github.com/V02460"><code>@​V02460</code></a> in <a
href="https://redirect.github.com/python-jsonschema/jsonschema/pull/1351">python-jsonschema/jsonschema#1351</a></li>
<li>Support for Python 3.8 has been dropped, as it is end-of-life.</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/bkueng"><code>@​bkueng</code></a> made
their first contribution in <a
href="https://redirect.github.com/python-jsonschema/jsonschema/pull/1326">python-jsonschema/jsonschema#1326</a></li>
<li><a href="https://github.com/V02460"><code>@​V02460</code></a> made
their first contribution in <a
href="https://redirect.github.com/python-jsonschema/jsonschema/pull/1351">python-jsonschema/jsonschema#1351</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/python-jsonschema/jsonschema/compare/v4.23.0...v4.24.0">https://github.com/python-jsonschema/jsonschema/compare/v4.23.0...v4.24.0</a></p>
<h2>v4.23.0</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Add some typing to the <code>exceptions.py</code> module by <a
href="https://github.com/DanielNoord"><code>@​DanielNoord</code></a> in
<a
href="https://redirect.github.com/python-jsonschema/jsonschema/pull/1019">python-jsonschema/jsonschema#1019</a></li>
<li>Declare support for 3.13 by <a
href="https://github.com/rominf"><code>@​rominf</code></a> in <a
href="https://redirect.github.com/python-jsonschema/jsonschema/pull/1282">python-jsonschema/jsonschema#1282</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/rominf"><code>@​rominf</code></a> made
their first contribution in <a
href="https://redirect.github.com/python-jsonschema/jsonschema/pull/1282">python-jsonschema/jsonschema#1282</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/python-jsonschema/jsonschema/compare/v4.22.0...v4.23.0">https://github.com/python-jsonschema/jsonschema/compare/v4.22.0...v4.23.0</a></p>
<h2>v4.22.0</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Improve <code>best_match</code> (and thereby error messages from
<code>jsonschema.validate</code>) in cases where there are multiple
<em>sibling</em> errors from applying <code>anyOf</code> /
<code>allOf</code> -- i.e. when multiple elements of a JSON array have
errors, we now do prefer showing errors from earlier elements rather
than simply showing an error for the full array (<a
href="https://redirect.github.com/python-jsonschema/jsonschema/issues/1250">#1250</a>).</li>
<li>(Micro-)optimize equality checks when comparing for JSON Schema
equality by first checking for object identity, as <code>==</code>
would.</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/shinnar"><code>@​shinnar</code></a> made
their first contribution in <a
href="https://redirect.github.com/python-jsonschema/jsonschema/pull/1224">python-jsonschema/jsonschema#1224</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/python-jsonschema/jsonschema/compare/v4.21.1...v4.22.0">https://github.com/python-jsonschema/jsonschema/compare/v4.21.1...v4.22.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst">jsonschema's
changelog</a>.</em></p>
<blockquote>
<h1>v4.24.0</h1>
<ul>
<li>Fix improper handling of <code>unevaluatedProperties</code> in the
presence of <code>additionalProperties</code> (<a
href="https://redirect.github.com/python-jsonschema/jsonschema/issues/1351">#1351</a>).</li>
<li>Support for Python 3.8 has been dropped, as it is end-of-life.</li>
</ul>
<h1>v4.23.0</h1>
<ul>
<li>Do not reorder dictionaries (schemas, instances) that are printed as
part of validation errors.</li>
<li>Declare support for Py3.13</li>
</ul>
<h1>v4.22.0</h1>
<ul>
<li>Improve <code>best_match</code> (and thereby error messages from
<code>jsonschema.validate</code>) in cases where there are multiple
<em>sibling</em> errors from applying <code>anyOf</code> /
<code>allOf</code> -- i.e. when multiple elements of a JSON array have
errors, we now do prefer showing errors from earlier elements rather
than simply showing an error for the full array (<a
href="https://redirect.github.com/python-jsonschema/jsonschema/issues/1250">#1250</a>).</li>
<li>(Micro-)optimize equality checks when comparing for JSON Schema
equality by first checking for object identity, as <code>==</code>
would.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/python-jsonschema/jsonschema/commit/3e23ee5e695f84565f4175fb972073d787e1ab24"><code>3e23ee5</code></a>
Add the bugfix to the changelog.</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema/commit/8917e85c6549b2b2a0dfcae48fd512aaaebae836"><code>8917e85</code></a>
Stop running CIFuzz.</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema/commit/737e5ed536db806d97879ef3681f695ddc75a32d"><code>737e5ed</code></a>
Rely on ruff in pre-commit.</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema/commit/57e5e034cb0c8662995494ed4a833febf9b581a4"><code>57e5e03</code></a>
Test via PyPy 3.11.</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema/commit/d6c2ad7bbbdea0b2c3e627c304ad4dd325aaa254"><code>d6c2ad7</code></a>
Add the zizmor setup here as well.</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema/commit/af9a8578767ca70380ca2a2f7f6c2311b702d663"><code>af9a857</code></a>
Drop a dead pyproject section.</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema/commit/c64ef846095b9d790749152367c8b12bea69a116"><code>c64ef84</code></a>
This is less true than it once was...</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema/commit/9ff926f4588f0e4a8f5726cb69529c05c7921cc6"><code>9ff926f</code></a>
Merge branch 'additional-evaluated'</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema/commit/8290667beb239282529430b59e2d4ea51777b33e"><code>8290667</code></a>
We still need to ditch pip-licenses...</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema/commit/6d973b543030be9b53a67739d08c6f8b19f45119"><code>6d973b5</code></a>
Update pre-commit hooks.</li>
<li>Additional commits viewable in <a
href="https://github.com/python-jsonschema/jsonschema/compare/v4.21.1...v4.24.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `jsonschema-specifications` from 2023.12.1 to 2025.4.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/python-jsonschema/jsonschema-specifications/releases">jsonschema-specifications's
releases</a>.</em></p>
<blockquote>
<h2>v2025.4.1</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Add SPDX license identifier by <a
href="https://github.com/cdce8p"><code>@​cdce8p</code></a> in <a
href="https://redirect.github.com/python-jsonschema/jsonschema-specifications/pull/93">python-jsonschema/jsonschema-specifications#93</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/cdce8p"><code>@​cdce8p</code></a> made
their first contribution in <a
href="https://redirect.github.com/python-jsonschema/jsonschema-specifications/pull/93">python-jsonschema/jsonschema-specifications#93</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/python-jsonschema/jsonschema-specifications/compare/v2024.10.1...v2025.4.1">https://github.com/python-jsonschema/jsonschema-specifications/compare/v2024.10.1...v2025.4.1</a></p>
<h2>v2024.10.1</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Declare support for Python 3.13 by <a
href="https://github.com/edgarrmondragon"><code>@​edgarrmondragon</code></a>
in <a
href="https://redirect.github.com/python-jsonschema/jsonschema-specifications/pull/72">python-jsonschema/jsonschema-specifications#72</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/edgarrmondragon"><code>@​edgarrmondragon</code></a>
made their first contribution in <a
href="https://redirect.github.com/python-jsonschema/jsonschema-specifications/pull/72">python-jsonschema/jsonschema-specifications#72</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/python-jsonschema/jsonschema-specifications/compare/v2023.12.1...v2024.10.1">https://github.com/python-jsonschema/jsonschema-specifications/compare/v2023.12.1...v2024.10.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/python-jsonschema/jsonschema-specifications/commit/e3b0c79cd8797087a847768f5e0b21590c8040a5"><code>e3b0c79</code></a>
Merge pull request <a
href="https://redirect.github.com/python-jsonschema/jsonschema-specifications/issues/92">#92</a>
from python-jsonschema/pre-commit-ci-update-config</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema-specifications/commit/7baf0695aa114719294d9af5dcd4a33ec3ff7af9"><code>7baf069</code></a>
Merge pull request <a
href="https://redirect.github.com/python-jsonschema/jsonschema-specifications/issues/93">#93</a>
from cdce8p/main</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema-specifications/commit/de300146b7d253bbddadb60de1af319dcb074576"><code>de30014</code></a>
Add SPDX license identifier</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema-specifications/commit/26b96870d8bb2f5661a5881d1ed72202c0b48ed6"><code>26b9687</code></a>
[pre-commit.ci] pre-commit autoupdate</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema-specifications/commit/a8d179ae69a73558c26fa3218102176edb535acf"><code>a8d179a</code></a>
Merge pull request <a
href="https://redirect.github.com/python-jsonschema/jsonschema-specifications/issues/91">#91</a>
from python-jsonschema/pre-commit-ci-update-config</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema-specifications/commit/9d19c4673df96efe588c6345b73fb04ea029b873"><code>9d19c46</code></a>
[pre-commit.ci] pre-commit autoupdate</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema-specifications/commit/865ee26013f432bb7c2ffd4a0dc7bc27785f1020"><code>865ee26</code></a>
Merge pull request <a
href="https://redirect.github.com/python-jsonschema/jsonschema-specifications/issues/90">#90</a>
from python-jsonschema/pre-commit-ci-update-config</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema-specifications/commit/89e5dbea141ac664a3cbf03d3f45c05af10ec7c5"><code>89e5dbe</code></a>
[pre-commit.ci] pre-commit autoupdate</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema-specifications/commit/4f5a55001659592e86497d4083b979ce0210399e"><code>4f5a550</code></a>
Merge pull request <a
href="https://redirect.github.com/python-jsonschema/jsonschema-specifications/issues/89">#89</a>
from python-jsonschema/pre-commit-ci-update-config</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema-specifications/commit/9289b54d5294bf5dea8df26cc8ed9b534386f77c"><code>9289b54</code></a>
[pre-commit.ci] pre-commit autoupdate</li>
<li>Additional commits viewable in <a
href="https://github.com/python-jsonschema/jsonschema-specifications/compare/v2023.12.1...v2025.4.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `markupsafe` from 2.1.5 to 3.0.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pallets/markupsafe/releases">markupsafe's
releases</a>.</em></p>
<blockquote>
<h2>3.0.2</h2>
<p>This is the MarkupSafe 3.0.2 fix release, which fixes bugs but does
not otherwise change behavior and should not result in breaking
changes.</p>
<p>PyPI: <a
href="https://pypi.org/project/MarkupSafe/3.0.2/">https://pypi.org/project/MarkupSafe/3.0.2/</a>
Changes: <a
href="https://markupsafe.palletsprojects.com/en/stable/changes/#version-3-0-2">https://markupsafe.palletsprojects.com/en/stable/changes/#version-3-0-2</a>
Milestone: <a
href="https://github.com/pallets/markupsafe/milestone/14?closed=1">https://github.com/pallets/markupsafe/milestone/14?closed=1</a></p>
<ul>
<li>Fix compatibility when <code>__str__</code> returns a
<code>str</code> subclass. <a
href="https://redirect.github.com/pallets/markupsafe/issues/472">#472</a></li>
<li>Build requires setuptools &gt;= 70.1. <a
href="https://redirect.github.com/pallets/markupsafe/issues/475">#475</a></li>
</ul>
<h2>3.0.1</h2>
<p>This is the MarkupSafe 3.0.1 fix release, which fixes bugs but does
not otherwise change behavior and should not result in breaking
changes.</p>
<p>PyPI: <a
href="https://pypi.org/project/MarkupSafe/3.0.1/">https://pypi.org/project/MarkupSafe/3.0.1/</a>
Changes: <a
href="https://markupsafe.palletsprojects.com/en/stable/changes/#version-3-0-1">https://markupsafe.palletsprojects.com/en/stable/changes/#version-3-0-1</a>
Milestone: <a
href="https://github.com/pallets/markupsafe/milestone/13?closed=1">https://github.com/pallets/markupsafe/milestone/13?closed=1</a></p>
<ul>
<li>Address compiler warnings that became errors in GCC 14. <a
href="https://redirect.github.com/pallets/markupsafe/issues/466">#466</a></li>
<li>Fix compatibility with proxy objects. <a
href="https://redirect.github.com/pallets/markupsafe/issues/467">#467</a></li>
</ul>
<h2>3.0.0</h2>
<p>This is the MarkupSafe 3.0.0 feature release. A feature release may
include new features, remove previously deprecated code, add new
deprecations, or introduce potentially breaking changes. The 3.0.x
branch is now the supported fix branch, the 2.1.x branch will become a
tag marking the end of support for that branch. We encourage everyone to
upgrade, and to use a tool such as <a
href="https://pypi.org/project/pip-tools/">pip-tools</a> to pin all
dependencies and control upgrades. Test with warnings treated as errors
to be able to adapt to deprecation warnings early.</p>
<p>PyPI: <a
href="https://pypi.org/project/MarkupSafe/3.0.0/">https://pypi.org/project/MarkupSafe/3.0.0/</a>
Changes: <a
href="https://markupsafe.palletsprojects.com/en/stable/changes/#version-3-0-0">https://markupsafe.palletsprojects.com/en/stable/changes/#version-3-0-0</a>
Milestone: <a
href="https://github.com/pallets/markupsafe/milestone/10?closed=1">https://github.com/pallets/markupsafe/milestone/10?closed=1</a></p>
<ul>
<li>Support Python 3.13 and its experimental free-threaded build. <a
href="https://redirect.github.com/pallets/markupsafe/issues/461">#461</a></li>
<li>Drop support for Python 3.7 and 3.8.</li>
<li>Use modern packaging metadata with <code>pyproject.toml</code>
instead of <code>setup.cfg</code>. <a
href="https://redirect.github.com/pallets/markupsafe/issues/348">#348</a></li>
<li>Change <code>distutils</code> imports to <code>setuptools</code>. <a
href="https://redirect.github.com/pallets/markupsafe/issues/399">#399</a></li>
<li>Use deferred evaluation of annotations. <a
href="https://redirect.github.com/pallets/markupsafe/issues/400">#400</a></li>
<li>Update signatures for <code>Markup</code> methods to match
<code>str</code> signatures. Use positional-only arguments. <a
href="https://redirect.github.com/pallets/markupsafe/issues/400">#400</a></li>
<li>Some <code>str</code> methods on <code>Markup</code> no longer
escape their argument: <code>strip</code>, <code>lstrip</code>,
<code>rstrip</code>, <code>removeprefix</code>,
<code>removesuffix</code>, <code>partition</code>, and
<code>rpartition</code>; <code>replace</code> only escapes its
<code>new</code> argument. These methods are conceptually linked to
search methods such as <code>in</code>, <code>find</code>, and
<code>index</code>, which already do not escape their argument. <a
href="https://redirect.github.com/pallets/markupsafe/issues/401">#401</a></li>
<li>The <code>__version__</code> attribute is deprecated. Use feature
detection, or
<code>importlib.metadata.version(&quot;markupsafe&quot;)</code>,
instead. <a
href="https://redirect.github.com/pallets/markupsafe/issues/402">#402</a></li>
<li>Speed up escaping plain strings by 40%. <a
href="https://redirect.github.com/pallets/markupsafe/issues/434">#434</a></li>
<li>Simplify speedups implementation. <a
href="https://redirect.github.com/pallets/markupsafe/issues/437">#437</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pallets/markupsafe/blob/main/CHANGES.rst">markupsafe's
changelog</a>.</em></p>
<blockquote>
<h2>Version 3.0.2</h2>
<p>Released 2024-10-18</p>
<ul>
<li>Fix compatibility when <code>__str__</code> returns a
<code>str</code> subclass. :issue:<code>472</code></li>
<li>Build requires setuptools &gt;= 70.1. :issue:<code>475</code></li>
</ul>
<h2>Version 3.0.1</h2>
<p>Released 2024-10-08</p>
<ul>
<li>Address compiler warnings that became errors in GCC 14.
:issue:<code>466</code></li>
<li>Fix compatibility with proxy objects. :issue:<code>467</code></li>
</ul>
<h2>Version 3.0.0</h2>
<p>Released 2024-10-07</p>
<ul>
<li>Support Python 3.13 and its experimental free-threaded build.
:pr:<code>461</code></li>
<li>Drop support for Python 3.7 and 3.8.</li>
<li>Use modern packaging metadata with <code>pyproject.toml</code>
instead of <code>setup.cfg</code>.
:pr:<code>348</code></li>
<li>Change <code>distutils</code> imports to <code>setuptools</code>.
:pr:<code>399</code></li>
<li>Use deferred evaluation of annotations. :pr:<code>400</code></li>
<li>Update signatures for <code>Markup</code> methods to match
<code>str</code> signatures. Use
positional-only arguments. :pr:<code>400</code></li>
<li>Some <code>str</code> methods on <code>Markup</code> no longer
escape their argument:
<code>strip</code>, <code>lstrip</code>, <code>rstrip</code>,
<code>removeprefix</code>, <code>removesuffix</code>,
<code>partition</code>, and <code>rpartition</code>;
<code>replace</code> only escapes its <code>new</code>
argument. These methods are conceptually linked to search methods such
as
<code>in</code>, <code>find</code>, and <code>index</code>, which
already do not escape their argument.
:issue:<code>401</code></li>
<li>The <code>__version__</code> attribute is deprecated. Use feature
detection, or
<code>importlib.metadata.version(&quot;markupsafe&quot;)</code>,
instead. :pr:<code>402</code></li>
<li>Speed up escaping plain strings by 40%. :pr:<code>434</code></li>
<li>Simplify speedups implementation. :pr:<code>437</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pallets/markupsafe/commit/28ace20b140d15c083e1cbc163ee6b7778ba098c"><code>28ace20</code></a>
release version 3.0.2</li>
<li><a
href="https://github.com/pallets/markupsafe/commit/6b51fd8f7386983b7038ad973557367cbd48579a"><code>6b51fd8</code></a>
build requires at least setuptools 70.1 (<a
href="https://redirect.github.com/pallets/markupsafe/issues/478">#478</a>)</li>
<li><a
href="https://github.com/pallets/markupsafe/commit/99dda9fd708432bd07d02327b2668661aa3cdaa0"><code>99dda9f</code></a>
build requires at least setuptools 70.1</li>
<li><a
href="https://github.com/pallets/markupsafe/commit/3d8fd8cc006124a49ce2f4268b4d1739e301583e"><code>3d8fd8c</code></a>
fix version</li>
<li><a
href="https://github.com/pallets/markupsafe/commit/1933c4be9c2c88613f7660840cde27a1bb7567e0"><code>1933c4b</code></a>
fix version</li>
<li><a
href="https://github.com/pallets/markupsafe/commit/e85aff4d878aa458d5c1e879bf475d8483647f71"><code>e85aff4</code></a>
relax speedups str check (<a
href="https://redirect.github.com/pallets/markupsafe/issues/477">#477</a>)</li>
<li><a
href="https://github.com/pallets/markupsafe/commit/8cb1691ca038ca39942e088b956f5b94d8f636bf"><code>8cb1691</code></a>
relax speedups str check</li>
<li><a
href="https://github.com/pallets/markupsafe/commit/4dafb7c36f1f654f1edd85228d346252b0065d45"><code>4dafb7c</code></a>
start version 3.1.0</li>
<li><a
href="https://github.com/pallets/markupsafe/commit/9c44ecf45141f691d373a66ce664c43b5a6cc761"><code>9c44ecf</code></a>
update docs build</li>
<li><a
href="https://github.com/pallets/markupsafe/commit/275c76905617c3f0e34de14e8794fcf4dfb0f937"><code>275c769</code></a>
Merge branch '2.1.x' into 3.0.x</li>
<li>Additional commits viewable in <a
href="https://github.com/pallets/markupsafe/compare/2.1.5...3.0.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `packaging` from 23.2 to 25.0
<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>25.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Re-add a test for Unicode file name parsing by <a
href="https://github.com/Siddhesh-Agarwal"><code>@​Siddhesh-Agarwal</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/863">pypa/packaging#863</a></li>
<li>Upgrade to ruff 0.9.1 by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/865">pypa/packaging#865</a></li>
<li>Add support for PEP 738 Android tags by <a
href="https://github.com/mhsmith"><code>@​mhsmith</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/880">pypa/packaging#880</a></li>
<li>feat(markers): support 'extras' and 'dependency_groups' markers by
<a href="https://github.com/frostming"><code>@​frostming</code></a> in
<a
href="https://redirect.github.com/pypa/packaging/pull/888">pypa/packaging#888</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/Siddhesh-Agarwal"><code>@​Siddhesh-Agarwal</code></a>
made their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/863">pypa/packaging#863</a></li>
<li><a href="https://github.com/mhsmith"><code>@​mhsmith</code></a> made
their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/880">pypa/packaging#880</a></li>
<li><a href="https://github.com/frostming"><code>@​frostming</code></a>
made their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/888">pypa/packaging#888</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/pypa/packaging/compare/24.2...25.0">https://github.com/pypa/packaging/compare/24.2...25.0</a></p>
<h2>24.2</h2>
<h2>What's Changed</h2>
<ul>
<li>The source is auto-formatted with ruff, not black by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/798">pypa/packaging#798</a></li>
<li>Bump the github-actions group across 1 directory with 3 updates by
<a href="https://github.com/dependabot"><code>@​dependabot</code></a> in
<a
href="https://redirect.github.com/pypa/packaging/pull/813">pypa/packaging#813</a></li>
<li>Apply ruff rules (RUF) by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/800">pypa/packaging#800</a></li>
<li>Fix typo in Version <code>__str__</code> by <a
href="https://github.com/aryanpingle"><code>@​aryanpingle</code></a> in
<a
href="https://redirect.github.com/pypa/packaging/pull/817">pypa/packaging#817</a></li>
<li>Bump the github-actions group with 3 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/819">pypa/packaging#819</a></li>
<li>Get rid of duplicate test cases by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/821">pypa/packaging#821</a></li>
<li>Fix doc for canonicalize_version and a typo in a docstring by <a
href="https://github.com/Laurent-Dx"><code>@​Laurent-Dx</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/801">pypa/packaging#801</a></li>
<li>docs: public/base_version comparison by <a
href="https://github.com/henryiii"><code>@​henryiii</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/818">pypa/packaging#818</a></li>
<li>Apply ruff/bugbear rules (B) by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/787">pypa/packaging#787</a></li>
<li>Apply ruff/pyupgrade rules (UP) by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/786">pypa/packaging#786</a></li>
<li>Add a changelog entry for dropping Python 3.7 support by <a
href="https://github.com/alexwlchan"><code>@​alexwlchan</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/824">pypa/packaging#824</a></li>
<li>Patch python_full_version unconditionally by <a
href="https://github.com/jaraco"><code>@​jaraco</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/825">pypa/packaging#825</a></li>
<li>Refactor canonicalize_version by <a
href="https://github.com/jaraco"><code>@​jaraco</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/793">pypa/packaging#793</a></li>
<li>Allow creating a SpecifierSet from a list of specifiers by <a
href="https://github.com/pfmoore"><code>@​pfmoore</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/777">pypa/packaging#777</a></li>
<li>Fix uninformative error message by <a
href="https://github.com/abravalheri"><code>@​abravalheri</code></a> in
<a
href="https://redirect.github.com/pypa/packaging/pull/830">pypa/packaging#830</a></li>
<li>Fix prerelease detection for <code>&gt;</code> and <code>&lt;</code>
by <a
href="https://github.com/notatallshaw"><code>@​notatallshaw</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/794">pypa/packaging#794</a></li>
<li>Bump the github-actions group across 1 directory with 4 updates by
<a href="https://github.com/dependabot"><code>@​dependabot</code></a> in
<a
href="https://redirect.github.com/pypa/packaging/pull/839">pypa/packaging#839</a></li>
<li>Add support for PEP 730 iOS tags. by <a
href="https://github.com/freakboy3742"><code>@​freakboy3742</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/832">pypa/packaging#832</a></li>
<li>Update the changelog to reflect 24.1 changes by <a
href="https://github.com/pradyunsg"><code>@​pradyunsg</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/840">pypa/packaging#840</a></li>
<li>Mention updating changelog in release process by <a
href="https://github.com/pradyunsg"><code>@​pradyunsg</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/841">pypa/packaging#841</a></li>
<li>Add a comment as to why <code>Metadata.name</code> isn't normalized
by <a
href="https://github.com/brettcannon"><code>@​brettcannon</code></a> in
<a
href="https://redirect.github.com/pypa/packaging/pull/842">pypa/packaging#842</a></li>
<li>Use !r formatter for error messages with filenames. by <a
href="https://github.com/Carreau"><code>@​Carreau</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/844">pypa/packaging#844</a></li>
<li>PEP 639: Implement License-Expression and License-File by <a
href="https://github.com/ewdurbin"><code>@​ewdurbin</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/828">pypa/packaging#828</a></li>
<li>Bump the github-actions group with 4 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/852">pypa/packaging#852</a></li>
<li>Upgrade to latest mypy by <a
href="https://github.com/hauntsaninja"><code>@​hauntsaninja</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/853">pypa/packaging#853</a></li>
<li>Extraneous quotes by <a
href="https://github.com/ewdurbin"><code>@​ewdurbin</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/848">pypa/packaging#848</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/aryanpingle"><code>@​aryanpingle</code></a>
made their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/817">pypa/packaging#817</a></li>
<li><a
href="https://github.com/Laurent-Dx"><code>@​Laurent-Dx</code></a> made
their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/801">pypa/packaging#801</a></li>
<li><a
href="https://github.com/alexwlchan"><code>@​alexwlchan</code></a> made
their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/824">pypa/packaging#824</a></li>
<li><a href="https://github.com/jaraco"><code>@​jaraco</code></a> made
their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/825">pypa/packaging#825</a></li>
<li><a
href="https://github.com/notatallshaw"><code>@​notatallshaw</code></a>
made their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/794">pypa/packaging#794</a></li>
<li><a
href="https://github.com/freakboy3742"><code>@​freakboy3742</code></a>
made their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/832">pypa/packaging#832</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>25.0 - 2025-04-19</p>
<pre><code>
* PEP 751: Add support for ``extras`` and ``dependency_groups`` markers.
(:issue:`885`)
* PEP 738: Add support for Android platform tags. (:issue:`880`)
<p>24.2 - 2024-11-08<br />
</code></pre></p>
<ul>
<li>PEP 639: Implement License-Expression and License-File
(:issue:<code>828</code>)</li>
<li>Use <code>!r</code> formatter for error messages with filenames
(:issue:<code>844</code>)</li>
<li>Add support for PEP 730 iOS tags (:issue:<code>832</code>)</li>
<li>Fix prerelease detection for <code>&gt;</code> and <code>&lt;</code>
(:issue:<code>794</code>)</li>
<li>Fix uninformative error message (:issue:<code>830</code>)</li>
<li>Refactor <code>canonicalize_version</code>
(:issue:<code>793</code>)</li>
<li>Patch python_full_version unconditionally
(:issue:<code>825</code>)</li>
<li>Fix doc for <code>canonicalize_version</code> to mention
<code>strip_trailing_zero</code> and a typo in a docstring
(:issue:<code>801</code>)</li>
<li>Fix typo in Version <code>__str__</code>
(:issue:<code>817</code>)</li>
<li>Support creating a <code>SpecifierSet</code> from an iterable of
<code>Specifier</code> objects (:issue:<code>775</code>)</li>
</ul>
<p>24.1 - 2024-06-10</p>
<pre><code>
* Document ``markers.default_environment()`` (:issue:`753`).
* Add support for Python 3.13 (:issue:`783`).
* Modernise type annotations (:issue:`785`).
* Work around ``platform.python_version()`` returning non PEP 440
compliant version
  for non-tagged CPython builds (:issue:`802`).
<p>24.0 - 2024-03-10<br />
</code></pre></p>
<ul>
<li>Do specifier matching correctly when the specifier contains an epoch
number
and has more components than the version (:issue:<code>683</code>)</li>
<li>Support the experimental <code>--disable-gil</code> builds in
packaging.tags
(:issue:<code>727</code>)</li>
<li>BREAKING: Make optional <code>metadata.Metadata</code> attributes
default to <code>None</code> (:issue:<code>733</code>)</li>
<li>Fix errors when trying to access the
<code>description_content_type</code>, <code>keywords</code>,
and <code>requires_python</code> attributes on
<code>metadata.Metadata</code> when those values
have not been provided (:issue:<code>733</code>)</li>
<li>Fix a bug preventing the use of the built in
<code>ExceptionGroup</code> on versions of
Python that support it (:issue:<code>725</code>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/packaging/commit/f58537628042c7f29780b9d33f31597e7fc9d664"><code>f585376</code></a>
Bump for release</li>
<li><a
href="https://github.com/pypa/packaging/commit/600ecea15b2388037b8dc94883504ca612947576"><code>600ecea</code></a>
Add changelog entries</li>
<li><a
href="https://github.com/pypa/packaging/commit/3910129009b25dd1aa1fe32e644bc891188c56fe"><code>3910129</code></a>
support 'extras' and 'dependency_groups' markers (<a
href="https://redirect.github.com/pypa/packaging/issues/888">#888</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/8e49b4373731bffb110c9583e64ad802cb67c7ea"><code>8e49b43</code></a>
Add support for PEP 738 Android tags (<a
href="https://redirect.github.com/pypa/packaging/issues/880">#880</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/e624d8edfaa28865de7b5a7da8bd59fd410e5331"><code>e624d8e</code></a>
Bump the github-actions group with 3 updates (<a
href="https://redirect.github.com/pypa/packaging/issues/886">#886</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/71f38d872a6e88b28da9d1b270f8512475bc90d4"><code>71f38d8</code></a>
Bump the github-actions group with 2 updates (<a
href="https://redirect.github.com/pypa/packaging/issues/878">#878</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/9b4922dd3c26c8522d716bec79d7e0ed408631c1"><code>9b4922d</code></a>
Bump the github-actions group with 3 updates (<a
href="https://redirect.github.com/pypa/packaging/issues/870">#870</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/8510bd9d3bab5571974202ec85f6ef7b0359bfaf"><code>8510bd9</code></a>
Upgrade to ruff 0.9.1 (<a
href="https://redirect.github.com/pypa/packaging/issues/865">#865</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/9375ec2eff48257967c97d331b9a76019e95bdb0"><code>9375ec2</code></a>
Re-add tests for Unicode file name parsing (<a
href="https://redirect.github.com/pypa/packaging/issues/863">#863</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/2256ed4ac261309a09daa04cc801abd7cff2e6f0"><code>2256ed4</code></a>
Bump the github-actions group across 1 directory with 2 updates (<a
href="https://redirect.github.com/pypa/packaging/issues/864">#864</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/packaging/compare/23.2...25.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `pywin32` from 308 to 310
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/mhammond/pywin32/releases">pywin32's
releases</a>.</em></p>
<blockquote>
<h2>Release 310</h2>
<p>A release fixing <a
href="https://github.com/mhammond/pywin32/blob/b310/CHANGES.txt#L17">a
few regressions</a></p>
<p>Install via pip:</p>
<pre><code>pip install pywin32 --upgrade
</code></pre>
<p>More <a
href="https://github.com/mhammond/pywin32#installing-via-pip">details in
the README</a></p>
<h2>Release 309</h2>
<p>A release with <a
href="https://github.com/mhammond/pywin32/blob/515c815fff7d46431c3614fb6b86e27c7bbdad7e/CHANGES.txt#L14">a
number of changes and fixes</a></p>
<p>Install via pip:</p>
<blockquote>
<p>pip install pywin32 --upgrade</p>
</blockquote>
<p>More <a
href="https://github.com/mhammond/pywin32#installing-via-pip">details in
the README</a></p>
<p>There are no .exe installers for this release - you must use pip.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/mhammond/pywin32/blob/main/CHANGES.txt">pywin32's
changelog</a>.</em></p>
<blockquote>
<h2>Build 310, released 2025/03/16</h2>
<ul>
<li>Fixed a regression where
<code>win32com.client.DispatchWithEvents</code> and
win32com.client.WithEvents<code>would throw a</code>TypeError` on the
second call (<a
href="https://redirect.github.com/mhammond/pywin32/issues/2491">#2491</a>,
<a href="https://github.com/Avasam"><code>@​Avasam</code></a>)</li>
<li>Fixed regresion causing <code>win32com.shell.shell</code> to be
missing a number of <code>IID</code>s. (<a
href="https://redirect.github.com/mhammond/pywin32/issues/2487">#2487</a>,
<a href="https://github.com/Avasam"><code>@​Avasam</code></a>)</li>
<li>As part of the above, Windows 7 is now minimum supported.</li>
</ul>
<h2>Build 309, released 2025/03/09</h2>
<h2>pywin32</h2>
<ul>
<li>Fixed Access Violation crashes in 3.12 by moving
<code>PyWInObject_Free*</code> methods so GIL is acquired (<a
href="https:…
The upstream action times out because it requests every release (without
pagination), and there's no real need to use a third-party action for
this when the `gh` command does a perfectly fine job too.
- python/cpython#133027
- python/cpython#133366
- python/cpython#133284
- python/cpython#133398
- python/cpython#131298
- python/cpython#132438
- python/cpython#133012

---------

Co-authored-by: Wingy <git@wingysam.xyz>
Co-authored-by: Geoffrey Thomas <geofft@ldpreload.com>
The release-create step was using an incorrect variable name
(`github.events.input.tag`), which resulted in the `just release-create`
command being called without the required tag argument. This commit
updates the workflow to use the correct variable
(`github.event.inputs.tag`), ensuring the tag is properly passed to the
command.

-
https://github.com/loong64/python-build-standalone/actions/runs/15469452121/job/43549720438

Signed-off-by: 吴小白 <296015668@qq.com>
@nickvines nickvines marked this pull request as ready for review June 12, 2025 16:32
@nickvines nickvines merged commit ec440b5 into main Jun 12, 2025
2 of 3 checks passed
@nickvines nickvines deleted the sync-to-20250610 branch June 14, 2025 22:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.