Skip to content

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

Merged
pull[bot] merged 4 commits intotj-python:masterfrom
aio-libs:master
Apr 27, 2026
Merged

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

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented Apr 27, 2026

See Commits and Changes for more details.


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

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

dependabot Bot added 4 commits April 27, 2026 12:43
Bumps [pathspec](https://github.com/cpburnz/python-pathspec) from 1.1.0
to 1.1.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/cpburnz/python-pathspec/releases">pathspec's
releases</a>.</em></p>
<blockquote>
<h2>v1.1.1</h2>
<p>Release v1.1.1. See <a
href="https://github.com/cpburnz/python-pathspec/blob/v1.1.1/CHANGES.rst">CHANGES.rst</a>.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/cpburnz/python-pathspec/blob/master/CHANGES.rst">pathspec's
changelog</a>.</em></p>
<blockquote>
<h2>1.1.1 (2026-04-26)</h2>
<p>Improvements:</p>
<ul>
<li>Improved type checking with mypy and pyright.</li>
</ul>
<p>Bug fixes:</p>
<ul>
<li>Fixed typing on <code>PathSpec[TPattern]</code> to
<code>PathSpec[TPattern_co]</code>.</li>
<li>Added missing variant type-hint <code>type[Pattern]</code> to
<code>PathSpec.from_lines()</code> parameter
<code>pattern_factory</code>.</li>
<li>Fixed possible type error when using <code>+</code> and
<code>+=</code> operators on <code>PathSpec</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/ecf71a99ca739479d450b9830f43416ea0c519c7"><code>ecf71a9</code></a>
Release v1.1.1</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/6727491ff877e570e450b078c345d9346db7e531"><code>6727491</code></a>
Improve type checking with mypy and pyright</li>
<li>See full diff in <a
href="https://github.com/cpburnz/python-pathspec/compare/v1.1.0...v1.1.1">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [cryptography](https://github.com/pyca/cryptography) from 46.0.7
to 47.0.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst">cryptography's
changelog</a>.</em></p>
<blockquote>
<p>47.0.0 - 2026-04-24</p>
<pre><code>
* Support for Python 3.8 is deprecated and will be removed in the next
  ``cryptography`` release.
* **BACKWARDS INCOMPATIBLE:** Support for binary elliptic curves
  (``SECT*`` classes) has been removed. These curves are rarely used and
  have additional security considerations that make them undesirable.
* **BACKWARDS INCOMPATIBLE:** Support for OpenSSL 1.1.x has been
removed.
OpenSSL 3.0.0 or later is now required. LibreSSL, BoringSSL, and AWS-LC
  continue to be supported.
* **BACKWARDS INCOMPATIBLE:** Dropped support for LibreSSL &lt; 4.1.
* **BACKWARDS INCOMPATIBLE:** Loading keys with unsupported algorithms
or
  keys with unsupported explicit curve encodings now raises
  :class:`~cryptography.exceptions.UnsupportedAlgorithm` instead of
  ``ValueError``. This change affects

:func:`~cryptography.hazmat.primitives.serialization.load_pem_private_key`,

:func:`~cryptography.hazmat.primitives.serialization.load_der_private_key`,

:func:`~cryptography.hazmat.primitives.serialization.load_pem_public_key`,

:func:`~cryptography.hazmat.primitives.serialization.load_der_public_key`,
  and :meth:`~cryptography.x509.Certificate.public_key` when called on
  certificates with unsupported public key algorithms.
* **BACKWARDS INCOMPATIBLE:** When parsing elliptic curve private keys,
we now
reject keys that incorrectly encode a private key of the wrong length
because
such keys are impossible to process in a constant-time manner. We do not
believe keys with this problem are in wide use, however we may revert
this
  change based on the feedback we receive.
* Deprecated passing 64-bit (8-byte) and 128-bit (16-byte) keys to
:class:`~cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES`. In
a
future release, only 192-bit (24-byte) keys will be accepted. Users
should
expand shorter keys themselves (e.g., for single DES: ``key + key +
key``,
  for two-key: ``key + key[:8]``).
* Updated the minimum supported Rust version (MSRV) to 1.83.0, from
1.74.0.
* Support for ``x86_64`` macOS (including publishing wheels) is
deprecated
and will be removed in the next release. We will switch to publishing an
  ``arm64`` only wheel for macOS.
* Support for 32-bit Windows (including publishing wheels) is deprecated
  and will be removed in the next release. Users should move to a 64-bit
  Python installation.
* ``public_bytes`` and ``private_bytes`` methods on keys now raise
``TypeError`` (instead of ``ValueError``) if an invalid encoding is
provided
  for the given ``format``.
* Moved :class:`~cryptography.hazmat.decrepit.ciphers.modes.CFB`,
  :class:`~cryptography.hazmat.decrepit.ciphers.modes.OFB`, and
  :class:`~cryptography.hazmat.decrepit.ciphers.modes.CFB8` into
:doc:`/hazmat/decrepit/index` and deprecated them in the ``modes``
module.
  They will be removed from the ``modes`` module in 49.0.0.
* Moved
:class:`~cryptography.hazmat.primitives.ciphers.algorithms.Camellia`
into :doc:`/hazmat/decrepit/index` and deprecated it in the ``cipher``
module.
  It will be removed from the ``cipher`` module in 49.0.0.
&lt;/tr&gt;&lt;/table&gt; 
</code></pre>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pyca/cryptography/commit/59c5f5e4b9395f32d407f66467d59ccea9f9829f"><code>59c5f5e</code></a>
bump for 47.0.0 release (<a
href="https://redirect.github.com/pyca/cryptography/issues/14730">#14730</a>)</li>
<li><a
href="https://github.com/pyca/cryptography/commit/9025578c87f14096f9332264881f5370a1c64e93"><code>9025578</code></a>
Add MLKEM1024-P384 hybrid KEM support in HPKE (<a
href="https://redirect.github.com/pyca/cryptography/issues/14722">#14722</a>)</li>
<li><a
href="https://github.com/pyca/cryptography/commit/ef66de49e0bd281da86750178ab2fb4b5b104162"><code>ef66de4</code></a>
Recommend Argon2id over PBKDF2HMAC as KDF (<a
href="https://redirect.github.com/pyca/cryptography/issues/14724">#14724</a>)</li>
<li><a
href="https://github.com/pyca/cryptography/commit/d996a37666524c606419e71de15eb527bae655aa"><code>d996a37</code></a>
Add ubuntu-resolute to CI workflow (<a
href="https://redirect.github.com/pyca/cryptography/issues/14729">#14729</a>)</li>
<li><a
href="https://github.com/pyca/cryptography/commit/e86da41ff7e21a04529a933856dc27dacd9e7fc0"><code>e86da41</code></a>
chore(deps): bump libc from 0.2.185 to 0.2.186 (<a
href="https://redirect.github.com/pyca/cryptography/issues/14725">#14725</a>)</li>
<li><a
href="https://github.com/pyca/cryptography/commit/1c33c9a5d96a7b1a975ab5a465a75517e0ebadd6"><code>1c33c9a</code></a>
Bump downstream dependencies in CI (<a
href="https://redirect.github.com/pyca/cryptography/issues/14728">#14728</a>)</li>
<li><a
href="https://github.com/pyca/cryptography/commit/67fb6be685bbc0952a47cf18e9ee4533b411cd8b"><code>67fb6be</code></a>
Bump x509-limbo and/or wycheproof in CI (<a
href="https://redirect.github.com/pyca/cryptography/issues/14727">#14727</a>)</li>
<li><a
href="https://github.com/pyca/cryptography/commit/6cb20b3141c6391ae11075f30b992375c05adad5"><code>6cb20b3</code></a>
Bump BoringSSL, OpenSSL, AWS-LC in CI (<a
href="https://redirect.github.com/pyca/cryptography/issues/14726">#14726</a>)</li>
<li><a
href="https://github.com/pyca/cryptography/commit/d6f372d7ea7f7df96aeda240252a23b6ed46bc71"><code>d6f372d</code></a>
Update supported OpenSSL versions in installation docs (<a
href="https://redirect.github.com/pyca/cryptography/issues/14721">#14721</a>)</li>
<li><a
href="https://github.com/pyca/cryptography/commit/ebd26194cd6a3315b122a44d2ee5aeb138bee55b"><code>ebd2619</code></a>
openssl 3.3 is out of upstream support (<a
href="https://redirect.github.com/pyca/cryptography/issues/14720">#14720</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pyca/cryptography/compare/46.0.7...47.0.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [pip](https://github.com/pypa/pip) from 26.0.1 to 26.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/pip/blob/main/NEWS.rst">pip's
changelog</a>.</em></p>
<blockquote>
<h1>26.1 (2026-04-26)</h1>
<h2>Deprecations and Removals</h2>
<ul>
<li>Drop support for Python 3.9.
(<code>[#13795](pypa/pip#13795)
&lt;https://github.com/pypa/pip/issues/13795&gt;</code>_)</li>
</ul>
<h2>Features</h2>
<ul>
<li>Add experimental support to read requirements from standardized
pylock.toml files (<code>-r pylock.toml</code>).
(<code>[#13876](pypa/pip#13876)
&lt;https://github.com/pypa/pip/issues/13876&gt;</code>_)</li>
<li>Allow <code>--uploaded-prior-to</code> to accept a duration in days
(e.g., <code>P3D</code> for 3 days ago).
(<code>[#13674](pypa/pip#13674)
&lt;https://github.com/pypa/pip/issues/13674&gt;</code>_)</li>
</ul>
<h2>Enhancements</h2>
<ul>
<li>Speed up dependency resolution when there are complex conflicts.
(<code>[#13859](pypa/pip#13859)
&lt;https://github.com/pypa/pip/issues/13859&gt;</code>_)</li>
<li>Reduce memory usage when resolving large dependency trees.
(<code>[#13843](pypa/pip#13843)
&lt;https://github.com/pypa/pip/issues/13843&gt;</code>_)</li>
<li>Emit a deprecation warning when pip imports an unexpected module
after
installation of a distribution has started.
(<code>[#13912](pypa/pip#13912)
&lt;https://github.com/pypa/pip/issues/13912&gt;</code>_)</li>
<li>Allow URL constraints to apply to requirements with extras.
(<code>[#12018](pypa/pip#12018)
&lt;https://github.com/pypa/pip/issues/12018&gt;</code>_)</li>
<li>Allow unpinned requirements to use hashes from constraints.
Constraints
like <code>{name}=={version} --hash=...</code> feeds into hash
verification for
a corresponding requirement.
(<code>[#9243](pypa/pip#9243)
&lt;https://github.com/pypa/pip/issues/9243&gt;</code>_)</li>
<li>Improve conflict reports that involve direct URLs.
(<code>[#13932](pypa/pip#13932)
&lt;https://github.com/pypa/pip/issues/13932&gt;</code>_)</li>
<li>Show all errors instead of first error for faulty
<code>dependency_groups</code> definitions.
(<code>[#13917](pypa/pip#13917)
&lt;https://github.com/pypa/pip/issues/13917&gt;</code>_)</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li>Fix recovery hint for missing RECORD file to use
<code>--ignore-installed</code>
instead of <code>--force-reinstall</code>.
(<code>[#12645](pypa/pip#12645)
&lt;https://github.com/pypa/pip/issues/12645&gt;</code>_)</li>
<li>Fix misleading error message when a constraint file cannot be
opened. (<code>[#13226](pypa/pip#13226)
&lt;https://github.com/pypa/pip/issues/13226&gt;</code>_)</li>
<li>Show the filename rather than the full URL when downloading files
from non-PyPI indexes in non-verbose mode.
(<code>[#13494](pypa/pip#13494)
&lt;https://github.com/pypa/pip/issues/13494&gt;</code>_)</li>
<li>Remove the adjacent <code>__pycache__</code> directory when a .py
file is removed.
(<code>[#13725](pypa/pip#13725)
&lt;https://github.com/pypa/pip/issues/13725&gt;</code>_)</li>
<li>Force UTF-8 encoding for :pep:<code>723</code> metadata.
(<code>[#13861](pypa/pip#13861)
&lt;https://github.com/pypa/pip/issues/13861&gt;</code>_)</li>
<li>Minor performance improvement when filtering candidates during
resolution. (<code>[#13916](pypa/pip#13916)
&lt;https://github.com/pypa/pip/issues/13916&gt;</code>_)</li>
<li>Fix a hang on Windows when stdout is closed during verbose output.
(<code>[#13927](pypa/pip#13927)
&lt;https://github.com/pypa/pip/issues/13927&gt;</code>_)</li>
<li>Common path prefixes are determined by path segment, not character
by character. (<code>[#13847](pypa/pip#13847)
&lt;https://github.com/pypa/pip/issues/13847&gt;</code>_)</li>
<li>Fix installing <code>.tar.gz</code> source distributions that look
like a zip file.
(<code>[#13867](pypa/pip#13867)
&lt;https://github.com/pypa/pip/issues/13867&gt;</code>_)</li>
</ul>
<h2>Vendored Libraries</h2>
<ul>
<li>Upgrade certifi to 2026.2.25</li>
<li>Upgrade packaging to 26.2</li>
<li>Upgrade requests to 2.33.1</li>
<li>Upgrade tomli to 2.3.1</li>
<li>Upgrade urllib3 to 2.6.3</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/pip/commit/90b2b3e0f7ef75c485155716d904e51654575803"><code>90b2b3e</code></a>
Bump for release</li>
<li><a
href="https://github.com/pypa/pip/commit/193f289a6201f801b23885297332461ac8a65b6b"><code>193f289</code></a>
Update AUTHORS.txt</li>
<li><a
href="https://github.com/pypa/pip/commit/63c3709071c9596d7f4676502a90a3b06f241772"><code>63c3709</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/pip/issues/13876">#13876</a> from
sbidoul/install-from-pylock-reqs-sbi</li>
<li><a
href="https://github.com/pypa/pip/commit/e5fe7023ffe74a5895571eaf57bdd2989018fbf2"><code>e5fe702</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/pip/issues/13949">#13949</a> from
pypa/revert-13888-resolver-editable-links</li>
<li><a
href="https://github.com/pypa/pip/commit/122a14a8cd3dae7b3e959641f0b45849d4b21618"><code>122a14a</code></a>
Revert &quot;Allow editable installs to satisfy direct-URL dependencies
(<a
href="https://redirect.github.com/pypa/pip/issues/13888">#13888</a>)&quot;</li>
<li><a
href="https://github.com/pypa/pip/commit/c3352524aae95ae959d4727dda5b5c65752261b3"><code>c335252</code></a>
-r pylock.toml: add pip-wheel -r pylock.toml test</li>
<li><a
href="https://github.com/pypa/pip/commit/ba2fc12b7f386d89e233bdfd49e7b89d1af57ad1"><code>ba2fc12</code></a>
-r pylock.toml: proper error with remote pylock.toml containing
directory ent...</li>
<li><a
href="https://github.com/pypa/pip/commit/747c4ae88837a8bb13946fe9d1b612c162a2e3df"><code>747c4ae</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/pip/issues/13948">#13948</a> from
ichard26/reword-news</li>
<li><a
href="https://github.com/pypa/pip/commit/3517841c5e2d92e04dbef52c61a8fa967c059efa"><code>3517841</code></a>
-r pylock: refine filename pylock-ness test</li>
<li><a
href="https://github.com/pypa/pip/commit/2f7ad8caeed4471e63958df6cacba3a66a215588"><code>2f7ad8c</code></a>
-r pylock.toml: fix crash with pip wheel and pip lock</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/pip/compare/26.0.1...26.1">compare
view</a></li>
</ul>
</details>
<br />

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [click](https://github.com/pallets/click) from 8.3.2 to 8.3.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pallets/click/releases">click's
releases</a>.</em></p>
<blockquote>
<h2>8.3.3</h2>
<p>This is the Click 8.3.3 fix release, which fixes bugs but does not
otherwise change behavior and should not result in breaking changes
compared to the latest feature release.</p>
<p>PyPI: <a
href="https://pypi.org/project/click/8.3.3/">https://pypi.org/project/click/8.3.3/</a>
Changes: <a
href="https://click.palletsprojects.com/page/changes/#version-8-3-3">https://click.palletsprojects.com/page/changes/#version-8-3-3</a>
Milestone: <a
href="https://github.com/pallets/click/milestone/30">https://github.com/pallets/click/milestone/30</a></p>
<ul>
<li>Use :func:<code>shlex.split</code> to split pager and editor
commands into <code>argv</code>
lists for :class:<code>subprocess.Popen</code>, removing
<code>shell=True</code>.
<a
href="https://redirect.github.com/pallets/click/issues/1026">#1026</a>
<a
href="https://redirect.github.com/pallets/click/issues/1477">#1477</a>
<a
href="https://redirect.github.com/pallets/click/issues/2775">#2775</a></li>
<li>Fix <code>TypeError</code> when rendering help for an option whose
default value is
an object that doesn't support equality comparison with strings, such as
<code>semver.Version</code>. <a
href="https://redirect.github.com/pallets/click/issues/3298">#3298</a>
<a
href="https://redirect.github.com/pallets/click/issues/3299">#3299</a></li>
<li>Fix pager test pollution under parallel execution by using pytest's
<code>tmp_path</code> fixture instead of a shared temporary file path.
<a
href="https://redirect.github.com/pallets/click/issues/3238">#3238</a></li>
<li>Treat <code>Sentinel.UNSET</code> values in a
<code>default_map</code> as absent, so they fall
through to the next default source instead of being used as the value.
<a
href="https://redirect.github.com/pallets/click/issues/3224">#3224</a>
<a
href="https://redirect.github.com/pallets/click/issues/3240">#3240</a></li>
<li>Patch <code>pdb.Pdb</code> in <code>CliRunner</code> isolation so
<code>pdb.set_trace()</code>,
<code>breakpoint()</code>, and debuggers subclassing
<code>pdb.Pdb</code> (ipdb, pdbpp) can
interact with the real terminal instead of the captured I/O streams.
<a href="https://redirect.github.com/pallets/click/issues/654">#654</a>
<a href="https://redirect.github.com/pallets/click/issues/824">#824</a>
<a href="https://redirect.github.com/pallets/click/issues/843">#843</a>
<a href="https://redirect.github.com/pallets/click/issues/951">#951</a>
<a
href="https://redirect.github.com/pallets/click/issues/3235">#3235</a></li>
<li>Add optional randomized parallel test execution using
<code>pytest-randomly</code> and
<code>pytest-xdist</code> to detect test pollution and race conditions.
<a
href="https://redirect.github.com/pallets/click/issues/3151">#3151</a></li>
<li>Add contributor documentation for running stress tests, randomized
parallel tests, and Flask smoke tests. <a
href="https://redirect.github.com/pallets/click/issues/3151">#3151</a>
<a
href="https://redirect.github.com/pallets/click/issues/3177">#3177</a></li>
<li>Show custom <code>show_default</code> string in prompts, matching
the existing
help text behavior. <a
href="https://redirect.github.com/pallets/click/issues/2836">#2836</a>
<a
href="https://redirect.github.com/pallets/click/issues/2837">#2837</a>
<a
href="https://redirect.github.com/pallets/click/issues/3165">#3165</a>
<a
href="https://redirect.github.com/pallets/click/issues/3262">#3262</a>
<a
href="https://redirect.github.com/pallets/click/issues/3280">#3280</a>
<a
href="https://redirect.github.com/pallets/click/issues/3328">#3328</a></li>
<li>Fix <code>default=True</code> with boolean <code>flag_value</code>
always returning the
<code>flag_value</code> instead of <code>True</code>. The
<code>default=True</code> to <code>flag_value</code>
substitution now only applies to non-boolean flags, where
<code>True</code> acts as a
sentinel meaning &quot;activate this flag by default&quot;. For boolean
flags,
<code>default=True</code> is returned as a literal value. <a
href="https://redirect.github.com/pallets/click/issues/3111">#3111</a>
<a
href="https://redirect.github.com/pallets/click/issues/3239">#3239</a></li>
<li>Mark <code>make_default_short_help</code> as private API. <a
href="https://redirect.github.com/pallets/click/issues/3189">#3189</a>
<a
href="https://redirect.github.com/pallets/click/issues/3250">#3250</a></li>
<li><code>CliRunner</code>'s redirected streams now expose the original
file descriptor
via <code>fileno()</code>, so that <code>faulthandler</code>,
<code>subprocess</code>, and other
C-level consumers no longer crash with
<code>io.UnsupportedOperation</code>.
<a
href="https://redirect.github.com/pallets/click/issues/2865">#2865</a></li>
<li>Change :class:<code>ParameterSource</code> to an
:class:<code>~enum.IntEnum</code> and reorder
its members from most to least explicit, so values can be compared to
check whether a parameter was explicitly provided. <a
href="https://redirect.github.com/pallets/click/issues/2879">#2879</a>
<a
href="https://redirect.github.com/pallets/click/issues/3248">#3248</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pallets/click/blob/main/CHANGES.rst">click's
changelog</a>.</em></p>
<blockquote>
<h2>Version 8.3.3</h2>
<p>Released 2026-04-20</p>
<ul>
<li>Use :func:<code>shlex.split</code> to split pager and editor
commands into <code>argv</code>
lists for :class:<code>subprocess.Popen</code>, removing
<code>shell=True</code>.
:issue:<code>1026</code> :pr:<code>1477</code>
:pr:<code>2775</code></li>
<li>Fix <code>TypeError</code> when rendering help for an option whose
default value is
an object that doesn't support equality comparison with strings, such as
<code>semver.Version</code>. :issue:<code>3298</code>
:pr:<code>3299</code></li>
<li>Fix pager test pollution under parallel execution by using pytest's
<code>tmp_path</code> fixture instead of a shared temporary file path.
:pr:<code>3238</code></li>
<li>Treat <code>Sentinel.UNSET</code> values in a
<code>default_map</code> as absent, so they fall
through to the next default source instead of being used as the value.
:issue:<code>3224</code> :pr:<code>3240</code></li>
<li>Patch <code>pdb.Pdb</code> in <code>CliRunner</code> isolation so
<code>pdb.set_trace()</code>,
<code>breakpoint()</code>, and debuggers subclassing
<code>pdb.Pdb</code> (ipdb, pdbpp) can
interact with the real terminal instead of the captured I/O streams.
:issue:<code>654</code> :issue:<code>824</code> :issue:<code>843</code>
:pr:<code>951</code> :pr:<code>3235</code></li>
<li>Add optional randomized parallel test execution using
<code>pytest-randomly</code> and
<code>pytest-xdist</code> to detect test pollution and race conditions.
:pr:<code>3151</code></li>
<li>Add contributor documentation for running stress tests, randomized
parallel tests, and Flask smoke tests. :pr:<code>3151</code>
:pr:<code>3177</code></li>
<li>Show custom <code>show_default</code> string in prompts, matching
the existing
help text behavior. :issue:<code>2836</code> :pr:<code>2837</code>
:pr:<code>3165</code> :pr:<code>3262</code> :pr:<code>3280</code>
:pr:<code>3328</code></li>
<li>Fix <code>default=True</code> with boolean <code>flag_value</code>
always returning the
<code>flag_value</code> instead of <code>True</code>. The
<code>default=True</code> to <code>flag_value</code>
substitution now only applies to non-boolean flags, where
<code>True</code> acts as a
sentinel meaning &quot;activate this flag by default&quot;. For boolean
flags,
<code>default=True</code> is returned as a literal value.
:issue:<code>3111</code> :pr:<code>3239</code></li>
<li>Mark <code>make_default_short_help</code> as private API.
:issue:<code>3189</code> :pr:<code>3250</code></li>
<li><code>CliRunner</code>'s redirected streams now expose the original
file descriptor
via <code>fileno()</code>, so that <code>faulthandler</code>,
<code>subprocess</code>, and other
C-level consumers no longer crash with
<code>io.UnsupportedOperation</code>.
:issue:<code>2865</code></li>
<li>Change :class:<code>ParameterSource</code> to an
:class:<code>~enum.IntEnum</code> and reorder
its members from most to least explicit, so values can be compared to
check whether a parameter was explicitly provided.
:issue:<code>2879</code> :pr:<code>3248</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pallets/click/commit/c06d2d0a6aee6bcc50bd8257be2a4a592f4e75d0"><code>c06d2d0</code></a>
Release 8.3.3</li>
<li><a
href="https://github.com/pallets/click/commit/f1f191ecd2c790b161187c78e7c88440e9524e5c"><code>f1f191e</code></a>
Apply format guidelines to commits since latest 8.3.2 release (<a
href="https://redirect.github.com/pallets/click/issues/3343">#3343</a>)</li>
<li><a
href="https://github.com/pallets/click/commit/bb59ba0fd279ca085d1113f0499b6a602ca31081"><code>bb59ba0</code></a>
Apply format guidelines to commits since latest 8.3.2 release</li>
<li><a
href="https://github.com/pallets/click/commit/4a352253c9ff013e36d11e4a6820d36d00ff2cd4"><code>4a35225</code></a>
Reduce blast-radius of <code>UNSET</code> in <code>default_map</code>
(<a
href="https://redirect.github.com/pallets/click/issues/3240">#3240</a>)</li>
<li><a
href="https://github.com/pallets/click/commit/c07bb936de43fd303f9cfbefe248ab23fd2199c8"><code>c07bb93</code></a>
Merge branch 'stable' into unset-in-default-map</li>
<li><a
href="https://github.com/pallets/click/commit/c7e1ba8448cbcb2cdd9c1c7f4a592e863dcc3995"><code>c7e1ba8</code></a>
Reorder <code>ParameterSource</code> (<a
href="https://redirect.github.com/pallets/click/issues/3248">#3248</a>)</li>
<li><a
href="https://github.com/pallets/click/commit/76552ff1e8c85837f911fc34037e702ae4327eda"><code>76552ff</code></a>
Show default string in prompt (<a
href="https://redirect.github.com/pallets/click/issues/3328">#3328</a>)</li>
<li><a
href="https://github.com/pallets/click/commit/ac5cec5fe54e5a691e7bac17f441ce9498e0744c"><code>ac5cec5</code></a>
Reorder ParameterSource from most to least explicit</li>
<li><a
href="https://github.com/pallets/click/commit/8c452e00e6772931b7071d9316b82b77e5b8f280"><code>8c452e0</code></a>
Merge branch 'stable' into show-default-string-in-prompt</li>
<li><a
href="https://github.com/pallets/click/commit/8c95c73bd5ef89eac638f85f1904a104ba4b1a32"><code>8c95c73</code></a>
Reconcile default value passing and default activation (<a
href="https://redirect.github.com/pallets/click/issues/3239">#3239</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pallets/click/compare/8.3.2...8.3.3">compare
view</a></li>
</ul>
</details>
<br />

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants