dependabot[bot] opened a new pull request, #68818:
URL: https://github.com/apache/airflow/pull/68818

   Updates the requirements on [distlib](https://github.com/pypa/distlib), 
[filelock](https://github.com/tox-dev/py-filelock), 
[hatchling](https://github.com/pypa/hatch), 
[packaging](https://github.com/pypa/packaging), 
[pathspec](https://github.com/cpburnz/python-pathspec), 
[platformdirs](https://github.com/tox-dev/platformdirs), 
[trove-classifiers](https://github.com/pypa/trove-classifiers), 
[virtualenv](https://github.com/pypa/virtualenv), 
[pytest](https://github.com/pytest-dev/pytest), 
[requests](https://github.com/psf/requests), 
[python-on-whales](https://github.com/gabrieldemarmiesse/python-on-whales), 
[click](https://github.com/pallets/click) and 
[jinja2](https://github.com/pallets/jinja) to permit the latest version.
   Updates `distlib` from 0.4.0 to 0.4.3
   <details>
   <summary>Changelog</summary>
   <p><em>Sourced from <a 
href="https://github.com/pypa/distlib/blob/master/CHANGES.rst";>distlib's 
changelog</a>.</em></p>
   <blockquote>
   <p>0.4.3</p>
   <pre><code>
   Released: 2026-06-12
   <ul>
   <li>
   <p>resources</p>
   <ul>
   <li>Removed too-restrictive check for escaping resources.</li>
   </ul>
   </li>
   </ul>
   <p>0.4.2<br />
   </code></pre></p>
   <p>Released: 2026-06-08</p>
   <ul>
   <li>
   <p>locators</p>
   <ul>
   <li>
   <p>Fix URL percent-encoding using space-padding instead of zero-padding. 
Thanks to
   Kadir Can Ozden for the patch.</p>
   </li>
   <li>
   <p>Harden decompression against malicious input. Thanks to tonghuaroot for 
the patch,
   which was adapted slightly.</p>
   </li>
   </ul>
   </li>
   <li>
   <p>manifest</p>
   <ul>
   <li>Use os.lstat in findall to correctly detect symlinked directories. 
Thanks to
   Kadir Can Ozden for the patch.</li>
   </ul>
   </li>
   <li>
   <p>metadata</p>
   <ul>
   <li>Improve logic to incorporate newer metadata versions.</li>
   </ul>
   </li>
   <li>
   <p>resources</p>
   <ul>
   <li>Ensure that constructed resource paths don't escape the package. Thanks 
to
   tonghuaroot for the patch.</li>
   </ul>
   </li>
   <li>
   <p>util</p>
   <ul>
   <li>
   <p>Fix <a 
href="https://redirect.github.com/pypa/distlib/issues/255";>#255</a>: Update 
cache_from_source() for Python 3.15. Thanks to Victor Stinner
   for the patch.</p>
   </li>
   <li>
   <p>Check during unarchiving that the destination directory isn't escaped via 
symlinks.
   Thanks to tonghuaroot for the patch.</p>
   </li>
   <li>
   <p>Improved performance of normalize_name using dual replace. Thanks to
   Hugo van Kemenade for the patch.</p>
   </li>
   </ul>
   </li>
   <li>
   <p>wheel</p>
   </li>
   </ul>
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/pypa/distlib/commit/3f4a377c8b164ba1c22a2a61de560f6f80ca7394";><code>3f4a377</code></a>
 Changes for 0.4.3.</li>
   <li><a 
href="https://github.com/pypa/distlib/commit/5ee19e6bac8248d7d5246d498d79abe96faa89a5";><code>5ee19e6</code></a>
 Relax too-strict escaping check for resources.</li>
   <li><a 
href="https://github.com/pypa/distlib/commit/f0e3d1ae3e694045b44a5b0e0a50177429ca1b06";><code>f0e3d1a</code></a>
 Bump version.</li>
   <li><a 
href="https://github.com/pypa/distlib/commit/06e010db2ddc9497d5bbd886747ff4990ac528a9";><code>06e010d</code></a>
 Add upper version limit for setuptools for build, to keep metadata version 
to...</li>
   <li><a 
href="https://github.com/pypa/distlib/commit/8b5aa55adf617bd3e81da716d44d034d7938f503";><code>8b5aa55</code></a>
 Added tag 0.4.2 for changeset 5295c0ceb419</li>
   <li><a 
href="https://github.com/pypa/distlib/commit/8183ea60e83bf021bf7d6903f4a6b3c8df0905a6";><code>8183ea6</code></a>
 Update change log.</li>
   <li><a 
href="https://github.com/pypa/distlib/commit/55ca016b2d597ac5eecb10b6c43b4d9652b73462";><code>55ca016</code></a>
 Changes for 0.4.2.</li>
   <li><a 
href="https://github.com/pypa/distlib/commit/7e282abde14bebec2c0e5342faa5a420e70799ca";><code>7e282ab</code></a>
 Update metadata logic to incorporate newer versions.</li>
   <li><a 
href="https://github.com/pypa/distlib/commit/fa4ea501acb14baa31df6b823006da4fd1f8e0dd";><code>fa4ea50</code></a>
 Remove non-portable portion of test.</li>
   <li><a 
href="https://github.com/pypa/distlib/commit/e06a1d5fb237cff35c0bd58fe917ef44c84e41cf";><code>e06a1d5</code></a>
 Further refine tests.</li>
   <li>Additional commits viewable in <a 
href="https://github.com/pypa/distlib/compare/0.4.0...0.4.3";>compare 
view</a></li>
   </ul>
   </details>
   <br />
   
   Updates `filelock` from 3.25.2 to 3.29.4
   <details>
   <summary>Release notes</summary>
   <p><em>Sourced from <a 
href="https://github.com/tox-dev/py-filelock/releases";>filelock's 
releases</a>.</em></p>
   <blockquote>
   <h2>3.29.4</h2>
   <!-- raw HTML omitted -->
   <h2>What's Changed</h2>
   <ul>
   <li>verify inode in break_lock_file before unlinking a stale lock by <a 
href="https://github.com/dxbjavid";><code>@​dxbjavid</code></a> in <a 
href="https://redirect.github.com/tox-dev/filelock/pull/561";>tox-dev/filelock#561</a></li>
   <li>keep the read/write heartbeat alive on a transient touch error by <a 
href="https://github.com/dxbjavid";><code>@​dxbjavid</code></a> in <a 
href="https://redirect.github.com/tox-dev/filelock/pull/562";>tox-dev/filelock#562</a></li>
   </ul>
   <p><strong>Full Changelog</strong>: <a 
href="https://github.com/tox-dev/filelock/compare/3.29.3...3.29.4";>https://github.com/tox-dev/filelock/compare/3.29.3...3.29.4</a></p>
   <h2>3.29.3</h2>
   <!-- raw HTML omitted -->
   <h2>What's Changed</h2>
   <ul>
   <li>🔧 ci(release): publish to PyPI on tag push by <a 
href="https://github.com/gaborbernat";><code>@​gaborbernat</code></a> in <a 
href="https://redirect.github.com/tox-dev/filelock/pull/557";>tox-dev/filelock#557</a></li>
   <li>validate pid range in _parse_lock_holder by <a 
href="https://github.com/dxbjavid";><code>@​dxbjavid</code></a> in <a 
href="https://redirect.github.com/tox-dev/filelock/pull/556";>tox-dev/filelock#556</a></li>
   <li>🐛 fix(ci): restore release environment on tag job by <a 
href="https://github.com/gaborbernat";><code>@​gaborbernat</code></a> in <a 
href="https://redirect.github.com/tox-dev/filelock/pull/559";>tox-dev/filelock#559</a></li>
   <li>🐛 fix(ci): publish from release.yaml on tag push by <a 
href="https://github.com/gaborbernat";><code>@​gaborbernat</code></a> in <a 
href="https://redirect.github.com/tox-dev/filelock/pull/560";>tox-dev/filelock#560</a></li>
   </ul>
   <p><strong>Full Changelog</strong>: <a 
href="https://github.com/tox-dev/filelock/compare/3.29.2...3.29.3";>https://github.com/tox-dev/filelock/compare/3.29.2...3.29.3</a></p>
   <h2>3.29.2</h2>
   <!-- raw HTML omitted -->
   <h2>What's Changed</h2>
   <ul>
   <li>open marker reads non-blocking to refuse attacker-placed fifo by <a 
href="https://github.com/dxbjavid";><code>@​dxbjavid</code></a> in <a 
href="https://redirect.github.com/tox-dev/filelock/pull/549";>tox-dev/filelock#549</a></li>
   <li>🔒 fix(soft): harden stale-lock breaking and self-heal malformed locks by 
<a href="https://github.com/gaborbernat";><code>@​gaborbernat</code></a> in <a 
href="https://redirect.github.com/tox-dev/filelock/pull/551";>tox-dev/filelock#551</a></li>
   <li>check hostname in is_lock_held_by_us by <a 
href="https://github.com/dxbjavid";><code>@​dxbjavid</code></a> in <a 
href="https://redirect.github.com/tox-dev/filelock/pull/553";>tox-dev/filelock#553</a></li>
   </ul>
   <p><strong>Full Changelog</strong>: <a 
href="https://github.com/tox-dev/filelock/compare/3.29.1...3.29.2";>https://github.com/tox-dev/filelock/compare/3.29.1...3.29.2</a></p>
   <h2>3.29.1</h2>
   <!-- raw HTML omitted -->
   <h2>What's Changed</h2>
   <ul>
   <li>docs: fix API docs of <code>release()</code> by <a 
href="https://github.com/MrAnno";><code>@​MrAnno</code></a> in <a 
href="https://redirect.github.com/tox-dev/filelock/pull/540";>tox-dev/filelock#540</a></li>
   <li>docs: clarify per-thread scope of FileLock configuration by <a 
href="https://github.com/Gares95";><code>@​Gares95</code></a> in <a 
href="https://redirect.github.com/tox-dev/filelock/pull/543";>tox-dev/filelock#543</a></li>
   <li>chore: improve filelock maintenance path by <a 
href="https://github.com/lphuc2250gma";><code>@​lphuc2250gma</code></a> in <a 
href="https://redirect.github.com/tox-dev/filelock/pull/542";>tox-dev/filelock#542</a></li>
   <li>chore: improve filelock maintenance path by <a 
href="https://github.com/lphuc2250gma";><code>@​lphuc2250gma</code></a> in <a 
href="https://redirect.github.com/tox-dev/filelock/pull/544";>tox-dev/filelock#544</a></li>
   <li>chore: improve filelock maintenance path by <a 
href="https://github.com/lphuc2250gma";><code>@​lphuc2250gma</code></a> in <a 
href="https://redirect.github.com/tox-dev/filelock/pull/545";>tox-dev/filelock#545</a></li>
   <li>🐛 fix(soft): refuse to follow symlinks when reading the lock file by <a 
href="https://github.com/dxbjavid";><code>@​dxbjavid</code></a> in <a 
href="https://redirect.github.com/tox-dev/filelock/pull/548";>tox-dev/filelock#548</a></li>
   </ul>
   <h2>New Contributors</h2>
   <ul>
   <li><a href="https://github.com/MrAnno";><code>@​MrAnno</code></a> made their 
first contribution in <a 
href="https://redirect.github.com/tox-dev/filelock/pull/540";>tox-dev/filelock#540</a></li>
   <li><a href="https://github.com/Gares95";><code>@​Gares95</code></a> made 
their first contribution in <a 
href="https://redirect.github.com/tox-dev/filelock/pull/543";>tox-dev/filelock#543</a></li>
   <li><a 
href="https://github.com/lphuc2250gma";><code>@​lphuc2250gma</code></a> made 
their first contribution in <a 
href="https://redirect.github.com/tox-dev/filelock/pull/542";>tox-dev/filelock#542</a></li>
   <li><a href="https://github.com/dxbjavid";><code>@​dxbjavid</code></a> made 
their first contribution in <a 
href="https://redirect.github.com/tox-dev/filelock/pull/548";>tox-dev/filelock#548</a></li>
   </ul>
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Changelog</summary>
   <p><em>Sourced from <a 
href="https://github.com/tox-dev/filelock/blob/main/docs/changelog.rst";>filelock's
 changelog</a>.</em></p>
   <blockquote>
   <p>###########
   Changelog
   ###########</p>
   <hr />
   <p>3.29.4 (2026-06-13)</p>
   <hr />
   <ul>
   <li>keep the read/write heartbeat alive on a transient touch error 
:pr:<code>562</code> - by :user:<code>dxbjavid</code></li>
   <li>verify inode in break_lock_file before unlinking a stale lock 
:pr:<code>561</code> - by :user:<code>dxbjavid</code></li>
   </ul>
   <hr />
   <p>3.29.3 (2026-06-10)</p>
   <hr />
   <ul>
   <li>🐛 fix(ci): restore release environment on tag job 
:pr:<code>559</code></li>
   <li>validate pid range in _parse_lock_holder :pr:<code>556</code> - by 
:user:<code>dxbjavid</code></li>
   <li>🔧 ci(release): publish to PyPI on tag push :pr:<code>557</code></li>
   <li>build(deps): bump astral-sh/setup-uv from 8.1.0 to 8.2.0 
:pr:<code>558</code> - by :user:<code>dependabot[bot]</code></li>
   </ul>
   <hr />
   <p>3.29.2 (2026-06-10)</p>
   <hr />
   <ul>
   <li>build(deps): bump actions/checkout from 6.0.2 to 6.0.3 
:pr:<code>555</code> - by :user:<code>dependabot[bot]</code></li>
   <li>[pre-commit.ci] pre-commit autoupdate :pr:<code>554</code> - by 
:user:<code>pre-commit-ci[bot]</code></li>
   <li>check hostname in is_lock_held_by_us :pr:<code>553</code> - by 
:user:<code>dxbjavid</code></li>
   <li>🔒 fix(soft): harden stale-lock breaking and self-heal malformed locks 
:pr:<code>551</code></li>
   <li>open marker reads non-blocking to refuse attacker-placed fifo 
:pr:<code>549</code> - by :user:<code>dxbjavid</code></li>
   </ul>
   <hr />
   <p>3.29.1 (2026-06-03)</p>
   <hr />
   <ul>
   <li>🐛 fix(soft): refuse to follow symlinks when reading the lock file 
:pr:<code>548</code> - by :user:<code>dxbjavid</code></li>
   <li>[pre-commit.ci] pre-commit autoupdate :pr:<code>547</code> - by 
:user:<code>pre-commit-ci[bot]</code></li>
   <li>[pre-commit.ci] pre-commit autoupdate :pr:<code>546</code> - by 
:user:<code>pre-commit-ci[bot]</code></li>
   <li>chore: improve filelock maintenance path :pr:<code>545</code> - by 
:user:<code>lphuc2250gma</code></li>
   <li>chore: improve filelock maintenance path :pr:<code>544</code> - by 
:user:<code>lphuc2250gma</code></li>
   <li>chore: improve filelock maintenance path :pr:<code>542</code> - by 
:user:<code>lphuc2250gma</code></li>
   <li>docs: clarify per-thread scope of FileLock configuration 
:pr:<code>543</code> - by :user:<code>Gares95</code></li>
   <li>[pre-commit.ci] pre-commit autoupdate :pr:<code>541</code> - by 
:user:<code>pre-commit-ci[bot]</code></li>
   <li>docs: fix API docs of <code>release()</code> :pr:<code>540</code> - by 
:user:<code>MrAnno</code></li>
   <li>[pre-commit.ci] pre-commit autoupdate :pr:<code>539</code> - by 
:user:<code>pre-commit-ci[bot]</code></li>
   <li>[pre-commit.ci] pre-commit autoupdate :pr:<code>538</code> - by 
:user:<code>pre-commit-ci[bot]</code></li>
   <li>[pre-commit.ci] pre-commit autoupdate :pr:<code>537</code> - by 
:user:<code>pre-commit-ci[bot]</code></li>
   <li>build(deps): bump astral-sh/setup-uv from 8.0.0 to 8.1.0 
:pr:<code>536</code> - by :user:<code>dependabot[bot]</code></li>
   <li>[pre-commit.ci] pre-commit autoupdate :pr:<code>535</code> - by 
:user:<code>pre-commit-ci[bot]</code></li>
   </ul>
   <hr />
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/tox-dev/filelock/commit/f3c11c0b757205631fe121720c75f4c84ecabc09";><code>f3c11c0</code></a>
 Release 3.29.4</li>
   <li><a 
href="https://github.com/tox-dev/filelock/commit/5d663ee178d6affb86d3bb96486d5370bf86cb08";><code>5d663ee</code></a>
 keep the read/write heartbeat alive on a transient touch error (<a 
href="https://redirect.github.com/tox-dev/py-filelock/issues/562";>#562</a>)</li>
   <li><a 
href="https://github.com/tox-dev/filelock/commit/406d0a25b01c2a371c018a1c3006397c49360c22";><code>406d0a2</code></a>
 verify inode in break_lock_file before unlinking a stale lock (<a 
href="https://redirect.github.com/tox-dev/py-filelock/issues/561";>#561</a>)</li>
   <li><a 
href="https://github.com/tox-dev/filelock/commit/85e73d7f0575e30a3d94a00452255e381c7b8eb3";><code>85e73d7</code></a>
 🐛 fix(ci): publish from release.yaml on tag push (<a 
href="https://redirect.github.com/tox-dev/py-filelock/issues/560";>#560</a>)</li>
   <li><a 
href="https://github.com/tox-dev/filelock/commit/f86dcb1abca36bb02b65232d411d7e8dce8569e6";><code>f86dcb1</code></a>
 Release 3.29.3</li>
   <li><a 
href="https://github.com/tox-dev/filelock/commit/643bdbe89bff3c61e29d14d7657d045bb89ade6d";><code>643bdbe</code></a>
 🐛 fix(ci): restore release environment on tag job (<a 
href="https://redirect.github.com/tox-dev/py-filelock/issues/559";>#559</a>)</li>
   <li><a 
href="https://github.com/tox-dev/filelock/commit/7a8f74a904cf7d98b6baf24eb37175d128a5f818";><code>7a8f74a</code></a>
 validate pid range in _parse_lock_holder (<a 
href="https://redirect.github.com/tox-dev/py-filelock/issues/556";>#556</a>)</li>
   <li><a 
href="https://github.com/tox-dev/filelock/commit/d1d49a0b232a6d904ff29b22213834df75ffc59b";><code>d1d49a0</code></a>
 🔧 ci(release): publish to PyPI on tag push (<a 
href="https://redirect.github.com/tox-dev/py-filelock/issues/557";>#557</a>)</li>
   <li><a 
href="https://github.com/tox-dev/filelock/commit/b37e162e316ec0ef6e5b8c37a1c04bdaaa411487";><code>b37e162</code></a>
 build(deps): bump astral-sh/setup-uv from 8.1.0 to 8.2.0 (<a 
href="https://redirect.github.com/tox-dev/py-filelock/issues/558";>#558</a>)</li>
   <li><a 
href="https://github.com/tox-dev/filelock/commit/d9216dea26f31d369c7d3422bfe14c08b51232f1";><code>d9216de</code></a>
 Release 3.29.2</li>
   <li>Additional commits viewable in <a 
href="https://github.com/tox-dev/py-filelock/compare/3.25.2...3.29.4";>compare 
view</a></li>
   </ul>
   </details>
   <br />
   
   Updates `hatchling` from 1.29.0 to 1.30.1
   <details>
   <summary>Release notes</summary>
   <p><em>Sourced from <a 
href="https://github.com/pypa/hatch/releases";>hatchling's releases</a>.</em></p>
   <blockquote>
   <h2>Hatchling v1.30.1</h2>
   <p><em><strong>Fixed</strong></em></p>
   <ul>
   <li>Default core metadata version kept at 2.4 until more tools support 
2.5</li>
   </ul>
   </blockquote>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/pypa/hatch/commit/37b00c3d2221438fa79084b92e81ee1819d6c630";><code>37b00c3</code></a>
 release Hatchling v1.30.1 (<a 
href="https://redirect.github.com/pypa/hatch/issues/2298";>#2298</a>)</li>
   <li><a 
href="https://github.com/pypa/hatch/commit/0446d99ef6461644624e8bdc461fd3c0a684a13c";><code>0446d99</code></a>
 Update history for new patch release of hatchling after fixing default 
metada...</li>
   <li><a 
href="https://github.com/pypa/hatch/commit/4f5cdf094ec515488777705fc01e484ddd4f3e5f";><code>4f5cdf0</code></a>
 Make 2.4 metadata default until other tools support it. (<a 
href="https://redirect.github.com/pypa/hatch/issues/2296";>#2296</a>)</li>
   <li><a 
href="https://github.com/pypa/hatch/commit/0497be09d555c300851d55344104e9aea2f9f200";><code>0497be0</code></a>
 Fix draft release uploads. (<a 
href="https://redirect.github.com/pypa/hatch/issues/2293";>#2293</a>)</li>
   <li><a 
href="https://github.com/pypa/hatch/commit/3aae0faf98a5e90c146d5af21738e049ecac471e";><code>3aae0fa</code></a>
 Fix hatchling to use Metadata 2.4 (<a 
href="https://redirect.github.com/pypa/hatch/issues/2291";>#2291</a>)</li>
   <li><a 
href="https://github.com/pypa/hatch/commit/5ee41893d556aaa862d32621e37bb179646c60e8";><code>5ee4189</code></a>
 release Hatch v1.17.0 (<a 
href="https://redirect.github.com/pypa/hatch/issues/2290";>#2290</a>)</li>
   <li><a 
href="https://github.com/pypa/hatch/commit/6109ee756a79d1341798a47517d778d149807b15";><code>6109ee7</code></a>
 release Hatchling v1.30.0 (<a 
href="https://redirect.github.com/pypa/hatch/issues/2289";>#2289</a>)</li>
   <li><a 
href="https://github.com/pypa/hatch/commit/246e22bb1681b74ff493ec60aa8849d95ce048fe";><code>246e22b</code></a>
 Block duplicate files in wheel archives (closes <a 
href="https://redirect.github.com/pypa/hatch/issues/2066";>#2066</a>) (<a 
href="https://redirect.github.com/pypa/hatch/issues/2269";>#2269</a>)</li>
   <li><a 
href="https://github.com/pypa/hatch/commit/d2afcb6003321c9dca1628b2840ec4acb1e1a9ef";><code>d2afcb6</code></a>
 Update docs as pre-release for 1.17.0 (<a 
href="https://redirect.github.com/pypa/hatch/issues/2287";>#2287</a>)</li>
   <li><a 
href="https://github.com/pypa/hatch/commit/818d2841958f0797f0e4ed014b9f0a8123d11b63";><code>818d284</code></a>
 Feat hatch check command with new sub command for types (<a 
href="https://redirect.github.com/pypa/hatch/issues/2278";>#2278</a>)</li>
   <li>Additional commits viewable in <a 
href="https://github.com/pypa/hatch/compare/hatchling-v1.29.0...hatchling-v1.30.1";>compare
 view</a></li>
   </ul>
   </details>
   <br />
   
   Updates `packaging` from 26.0 to 26.2
   <details>
   <summary>Release notes</summary>
   <p><em>Sourced from <a 
href="https://github.com/pypa/packaging/releases";>packaging's 
releases</a>.</em></p>
   <blockquote>
   <h2>26.2</h2>
   <h2>What's Changed</h2>
   <p>Fixes:</p>
   <ul>
   <li>Fix incorrect sysconfig var name for pyemscripten by <a 
href="https://github.com/ryanking13";><code>@​ryanking13</code></a> in <a 
href="https://redirect.github.com/pypa/packaging/pull/1160";>pypa/packaging#1160</a></li>
   <li>Make <code>Version</code>, <code>Specifier</code>, 
<code>SpecifierSet</code>, <code>Tag</code>, <code>Marker</code>, and 
<code>Requirement</code> pickle-safe
   and backward-compatible with pickles created in 25.0-26.1 (including 
references to the removed
   <code>packaging._structures</code> module) by <a 
href="https://github.com/eachimei";><code>@​eachimei</code></a> and <a 
href="https://github.com/henryiii";><code>@​henryiii</code></a> in <a 
href="https://redirect.github.com/pypa/packaging/pull/1163";>pypa/packaging#1163</a>,
 <a 
href="https://redirect.github.com/pypa/packaging/pull/1168";>pypa/packaging#1168</a>,
 <a 
href="https://redirect.github.com/pypa/packaging/pull/1170";>pypa/packaging#1170</a>,
 and <a 
href="https://redirect.github.com/pypa/packaging/pull/1171";>pypa/packaging#1171</a></li>
   <li>fix: re-export ExceptionGroup for now by <a 
href="https://github.com/henryiii";><code>@​henryiii</code></a> in <a 
href="https://redirect.github.com/pypa/packaging/pull/1164";>pypa/packaging#1164</a></li>
   </ul>
   <p>Documentation:</p>
   <ul>
   <li>docs: add errors section and fix missing details by <a 
href="https://github.com/henryiii";><code>@​henryiii</code></a> in <a 
href="https://redirect.github.com/pypa/packaging/pull/1159";>pypa/packaging#1159</a></li>
   <li>docs(dev): document property-based test suite by <a 
href="https://github.com/r266-tech";><code>@​r266-tech</code></a> in <a 
href="https://redirect.github.com/pypa/packaging/pull/1167";>pypa/packaging#1167</a></li>
   <li>Fix typo in DirectUrl documentation by <a 
href="https://github.com/sbidoul";><code>@​sbidoul</code></a> in <a 
href="https://redirect.github.com/pypa/packaging/pull/1169";>pypa/packaging#1169</a></li>
   <li>docs(specifiers): add is_unsatisfiable() usage example by <a 
href="https://github.com/r266-tech";><code>@​r266-tech</code></a> in <a 
href="https://redirect.github.com/pypa/packaging/pull/1166";>pypa/packaging#1166</a></li>
   </ul>
   <p>Internal:</p>
   <ul>
   <li>Enable the auditor persona on zizmor by <a 
href="https://github.com/henryiii";><code>@​henryiii</code></a> in <a 
href="https://redirect.github.com/pypa/packaging/pull/1158";>pypa/packaging#1158</a></li>
   <li>Test new pickle guarantees by <a 
href="https://github.com/henryiii";><code>@​henryiii</code></a> in <a 
href="https://redirect.github.com/pypa/packaging/pull/1174";>pypa/packaging#1174</a></li>
   <li>Use native uv integration in rtd by <a 
href="https://github.com/henryiii";><code>@​henryiii</code></a> in <a 
href="https://redirect.github.com/pypa/packaging/pull/1175";>pypa/packaging#1175</a></li>
   </ul>
   <h2>New Contributors</h2>
   <ul>
   <li><a href="https://github.com/ryanking13";><code>@​ryanking13</code></a> 
made their first contribution in <a 
href="https://redirect.github.com/pypa/packaging/pull/1160";>pypa/packaging#1160</a></li>
   <li><a href="https://github.com/eachimei";><code>@​eachimei</code></a> made 
their first contribution in <a 
href="https://redirect.github.com/pypa/packaging/pull/1163";>pypa/packaging#1163</a></li>
   </ul>
   <p><strong>Full Changelog</strong>: <a 
href="https://github.com/pypa/packaging/compare/26.1...26.2";>https://github.com/pypa/packaging/compare/26.1...26.2</a></p>
   <h2>26.1</h2>
   <p>Features:</p>
   <ul>
   <li><del>PEP 783: add handling for Emscripten wheel tags by <a 
href="https://github.com/hoodmane";><code>@​hoodmane</code></a> in <a 
href="https://redirect.github.com/pypa/packaging/pull/804";>pypa/packaging#804</a></del>
 (old name used in implementation, will be fixed in next release)</li>
   <li>PEP 803: add handling for the <code>abi3.abi3t</code> free-threading tag 
by <a href="https://github.com/ngoldbaum";><code>@​ngoldbaum</code></a> in <a 
href="https://redirect.github.com/pypa/packaging/pull/1099";>pypa/packaging#1099</a></li>
   <li>PEP 723: add <code>packaging.dependency_groups</code> module, based on 
the <code>dependency-groups</code> package by <a 
href="https://github.com/sirosen";><code>@​sirosen</code></a> in <a 
href="https://redirect.github.com/pypa/packaging/pull/1065";>pypa/packaging#1065</a></li>
   <li>Add the <code>packaging.direct_url</code> module by <a 
href="https://github.com/sbidoul";><code>@​sbidoul</code></a> in <a 
href="https://redirect.github.com/pypa/packaging/pull/944";>pypa/packaging#944</a></li>
   <li>Add the <code>packaging.errors</code> module by <a 
href="https://github.com/henryiii";><code>@​henryiii</code></a> in <a 
href="https://redirect.github.com/pypa/packaging/pull/1071";>pypa/packaging#1071</a></li>
   <li>Add <code>SpecifierSet.is_unsatisfiable</code> using ranges (new 
internals that will be expanded in future versions) by <a 
href="https://github.com/notatallshaw";><code>@​notatallshaw</code></a> in <a 
href="https://redirect.github.com/pypa/packaging/pull/1119";>pypa/packaging#1119</a></li>
   <li>Add <code>create_compatible_tags_selector</code> to select compatible 
tags by <a href="https://github.com/sbidoul";><code>@​sbidoul</code></a> in <a 
href="https://redirect.github.com/pypa/packaging/pull/1110";>pypa/packaging#1110</a></li>
   <li>Add a <code>key</code> argument to <code>SpecifierSet.filter()</code> by 
<a href="https://github.com/frostming";><code>@​frostming</code></a> in <a 
href="https://redirect.github.com/pypa/packaging/pull/1068";>pypa/packaging#1068</a></li>
   <li>Support <code>&amp;</code> and <code>|</code> for <code>Marker</code>'s 
by <a href="https://github.com/henryiii";><code>@​henryiii</code></a> in <a 
href="https://redirect.github.com/pypa/packaging/pull/1146";>pypa/packaging#1146</a></li>
   <li>Normalize <code>Version.__replace__</code> and add 
<code>Version.from_parts</code> by <a 
href="https://github.com/henryiii";><code>@​henryiii</code></a> in <a 
href="https://redirect.github.com/pypa/packaging/pull/1078";>pypa/packaging#1078</a></li>
   <li>Add an option to validate compressed tag set sort order in 
<code>parse_wheel_filename</code> by <a 
href="https://github.com/r266-tech";><code>@​r266-tech</code></a> in <a 
href="https://redirect.github.com/pypa/packaging/pull/1150";>pypa/packaging#1150</a></li>
   </ul>
   <p>Behavior adaptations:</p>
   <ul>
   <li>Narrow exclusion of pre-releases for <code>&lt;V.postN</code> to match 
spec by <a 
href="https://github.com/notatallshaw";><code>@​notatallshaw</code></a> in <a 
href="https://redirect.github.com/pypa/packaging/pull/1140";>pypa/packaging#1140</a></li>
   </ul>
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Changelog</summary>
   <p><em>Sourced from <a 
href="https://github.com/pypa/packaging/blob/main/CHANGELOG.rst";>packaging's 
changelog</a>.</em></p>
   <blockquote>
   <p>26.2 - 2026-04-24</p>
   <pre><code>
   Fixes:
   <ul>
   <li>Fix incorrect sysconfig var name for pyemscripten in 
(:pull:<code>1160</code>)</li>
   <li>Make <code>Version</code>, <code>Specifier</code>, 
<code>SpecifierSet</code>, <code>Tag</code>, <code>Marker</code>, and 
<code>Requirement</code> pickle-safe<br />
   and backward-compatible with pickles created in 25.0-26.1 (including 
references to the removed<br />
   <code>packaging._structures</code> module) (:pull:<code>1163</code>, 
:pull:<code>1168</code>, :pull:<code>1170</code>, :pull:<code>1171</code>)</li>
   <li>Re-export <code>ExceptionGroup</code> in metadata for now in 
(:pull:<code>1164</code>)</li>
   </ul>
   <p>Documentation:</p>
   <ul>
   <li>Add errors section and fix missing details in 
(:pull:<code>1159</code>)</li>
   <li>Document our property-based test suite in (:pull:<code>1167</code>)</li>
   <li>Fix a <code>DirectUrl</code> typo in (:pull:<code>1169</code>)</li>
   <li>Add example of <code>is_unsatisfiable</code> in 
(:pull:<code>1166</code>)</li>
   </ul>
   <p>Internal:</p>
   <ul>
   <li>Enable the auditor persona on zizmor in (:pull:<code>1158</code>)</li>
   <li>Test new pickle guarantees in (:pull:<code>1174</code>)</li>
   <li>Use new native ReadTheDocs uv integration in 
(:pull:<code>1175</code>)</li>
   </ul>
   <p>26.1 - 2026-04-14<br />
   </code></pre></p>
   <p>Features:</p>
   <ul>
   <li>PEP 783: add handling for Emscripten wheel tags in 
(:pull:<code>804</code>) (old name used in implementation, fixed in next 
release)</li>
   <li>PEP 803: add handling for the <code>abi3.abi3t</code> free-threading tag 
in (:pull:<code>1099</code>)</li>
   <li>PEP 735: add <code>packaging.dependency_groups</code> module, based on 
the <code>dependency-groups</code> package in (:pull:<code>1065</code>)</li>
   <li>Add the <code>packaging.direct_url</code> module in 
(:pull:<code>944</code>)</li>
   <li>Add the <code>packaging.errors</code> module in 
(:pull:<code>1071</code>)</li>
   <li>Add <code>SpecifierSet.is_unsatisfiable</code> using ranges (new 
internals that will be expanded in future versions) in 
(:pull:<code>1119</code>)</li>
   <li>Add <code>create_compatible_tags_selector</code> to select compatible 
tags in (:pull:<code>1110</code>)</li>
   <li>Add a <code>key</code> argument to <code>SpecifierSet.filter()</code> in 
(:pull:<code>1068</code>)</li>
   <li>Support <code>&amp;</code> and <code>|</code> for <code>Marker</code>'s 
in (:pull:<code>1146</code>)</li>
   <li>Normalize <code>Version.__replace__</code> and add 
<code>Version.from_parts</code> in (:pull:<code>1078</code>)</li>
   <li>Add an option to validate compressed tag set sort order in 
<code>parse_wheel_filename</code> in (:pull:<code>1150</code>)</li>
   </ul>
   <p>Behavior adaptations:</p>
   <ul>
   <li>Narrow exclusion of pre-releases for <code>&lt;V.postN</code> to match 
spec in (:pull:<code>1140</code>)</li>
   <li>Narrow exclusion of post-releases for <code>&gt;V</code> to match spec 
in (:pull:<code>1141</code>)</li>
   <li>Rename <code>format_full_version</code> to 
<code>_format_full_version</code> to make it visibly private in 
(:pull:<code>1125</code>)</li>
   <li>Restrict local version to ASCII in (:pull:<code>1102</code>)</li>
   </ul>
   <p>Pylock (PEP 751) updates:</p>
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/pypa/packaging/commit/84a87ee42483d7352f9502d78a9553da8859aa7a";><code>84a87ee</code></a>
 Bump for release</li>
   <li><a 
href="https://github.com/pypa/packaging/commit/4a616b65bed23c8c6d58e6b0fc1a4434d4ff1f14";><code>4a616b6</code></a>
 docs: a few more updates to prepare for 26.2 (<a 
href="https://redirect.github.com/pypa/packaging/issues/1176";>#1176</a>)</li>
   <li><a 
href="https://github.com/pypa/packaging/commit/9de6f44f1e82d4595edf3aad1c4f6f98c85935a0";><code>9de6f44</code></a>
 ci: use native uv integration in rtd (<a 
href="https://redirect.github.com/pypa/packaging/issues/1175";>#1175</a>)</li>
   <li><a 
href="https://github.com/pypa/packaging/commit/bc76e14debd1a2799d1ca8f9d9c9823f35bfa466";><code>bc76e14</code></a>
 chore: update changelog for 26.2 (<a 
href="https://redirect.github.com/pypa/packaging/issues/1161";>#1161</a>)</li>
   <li><a 
href="https://github.com/pypa/packaging/commit/3f00091c08f0aa830e33ed7db00f16f11c8ac97f";><code>3f00091</code></a>
 tests: add a pickle check (<a 
href="https://redirect.github.com/pypa/packaging/issues/1174";>#1174</a>)</li>
   <li><a 
href="https://github.com/pypa/packaging/commit/48a8a069805291186522de3eff73ea80a8ca96ad";><code>48a8a06</code></a>
 fix: make Requirements/Markers pickle-safe (<a 
href="https://redirect.github.com/pypa/packaging/issues/1171";>#1171</a>)</li>
   <li><a 
href="https://github.com/pypa/packaging/commit/823b44ed1f904084a77ae3adf0ef130af6365f84";><code>823b44e</code></a>
 fix: make Tags pickle-safe (<a 
href="https://redirect.github.com/pypa/packaging/issues/1170";>#1170</a>)</li>
   <li><a 
href="https://github.com/pypa/packaging/commit/4bed32d920ca7211dd65fdf0a1ee06376e9c4733";><code>4bed32d</code></a>
 fix: make Specifier / SpecifierSet pickle-safe (<a 
href="https://redirect.github.com/pypa/packaging/issues/1168";>#1168</a>)</li>
   <li><a 
href="https://github.com/pypa/packaging/commit/963118e37caae97bc8b72f72956c7fb4ca9857ec";><code>963118e</code></a>
 fix: re-export ExceptionGroup for now (<a 
href="https://redirect.github.com/pypa/packaging/issues/1164";>#1164</a>)</li>
   <li><a 
href="https://github.com/pypa/packaging/commit/66e34a80256c96dea11da143682950c84b8133bb";><code>66e34a8</code></a>
 docs(specifiers): add is_unsatisfiable() usage example (<a 
href="https://redirect.github.com/pypa/packaging/issues/1166";>#1166</a>)</li>
   <li>Additional commits viewable in <a 
href="https://github.com/pypa/packaging/compare/26.0...26.2";>compare 
view</a></li>
   </ul>
   </details>
   <br />
   
   Updates `pathspec` from 1.0.4 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>
   <h2>v1.1.0</h2>
   <p>Release v1.1.0. See <a 
href="https://github.com/cpburnz/python-pathspec/blob/v1.1.0/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>
   <h2>1.1.0 (2026-04-22)</h2>
   <p>New features:</p>
   <ul>
   <li><code>Issue 
[#108](https://github.com/cpburnz/python-pathspec/issues/108)</code>_: 
Specialize pattern type for <code>PathSpec</code> as 
<code>PathSpec[TPattern]</code> for better debugging of 
<code>PathSpec().patterns</code>.</li>
   </ul>
   <p>Bug fixes:</p>
   <ul>
   <li><code>Issue 
[#93](https://github.com/cpburnz/python-pathspec/issues/93)</code>_: Git 
discards invalid range notation. <code>GitIgnoreSpecPattern</code> now discards 
patterns with invalid range notation like Git.</li>
   <li><code>Pull 
[#106](https://github.com/cpburnz/python-pathspec/issues/106)</code>_: Fix 
escape() not escaping backslash characters.</li>
   </ul>
   <p>Improvements:</p>
   <ul>
   <li><code>Pull 
[#110](https://github.com/cpburnz/python-pathspec/issues/110)</code>_: Nicer 
debug print outs (and str for regex pattern).</li>
   </ul>
   <p>.. _<code>Pull 
[#106](https://github.com/cpburnz/python-pathspec/issues/106)</code>: <a 
href="https://redirect.github.com/cpburnz/python-pathspec/pull/106";>cpburnz/python-pathspec#106</a>
   .. _<code>Issue 
[#108](https://github.com/cpburnz/python-pathspec/issues/108)</code>: <a 
href="https://redirect.github.com/cpburnz/python-pathspec/issues/108";>cpburnz/python-pathspec#108</a>
   .. _<code>Pull 
[#110](https://github.com/cpburnz/python-pathspec/issues/110)</code>: <a 
href="https://redirect.github.com/cpburnz/python-pathspec/pull/110";>cpburnz/python-pathspec#110</a></p>
   </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><a 
href="https://github.com/cpburnz/python-pathspec/commit/c9249c8b4ca165ca8c5eea191cea4c0e6f3aa827";><code>c9249c8</code></a>
 Release v1.1.0</li>
   <li><a 
href="https://github.com/cpburnz/python-pathspec/commit/a1abeba97f1fdbc3bc0e64e6c4d7ee9b63c4cf77";><code>a1abeba</code></a>
 Test Iron Proxy for CI</li>
   <li><a 
href="https://github.com/cpburnz/python-pathspec/commit/0b04daeafaea8c82a6fa3e86090061dc47c61ea6";><code>0b04dae</code></a>
 Test Iron Proxy for CI</li>
   <li><a 
href="https://github.com/cpburnz/python-pathspec/commit/ccaedca31c5cd904c5bb55df0f0045c675f77b7f";><code>ccaedca</code></a>
 Test Iron Proxy for CI</li>
   <li><a 
href="https://github.com/cpburnz/python-pathspec/commit/06391d861d68ba4763e8c377c8bb1b9392bcc76a";><code>06391d8</code></a>
 Test Iron Proxy for CI</li>
   <li><a 
href="https://github.com/cpburnz/python-pathspec/commit/45907bf50a5cabe525306b99e85779639d9ca55e";><code>45907bf</code></a>
 Test Iron Proxy for CI</li>
   <li><a 
href="https://github.com/cpburnz/python-pathspec/commit/0d7c7deb138050c8586000682134d820a176bc10";><code>0d7c7de</code></a>
 Pin all Github actions</li>
   <li><a 
href="https://github.com/cpburnz/python-pathspec/commit/36faddae807a997d04ccfc8cf00931819464260c";><code>36fadda</code></a>
 Specialize patterns</li>
   <li>Additional commits viewable in <a 
href="https://github.com/cpburnz/python-pathspec/compare/v1.0.4...v1.1.1";>compare
 view</a></li>
   </ul>
   </details>
   <br />
   
   Updates `platformdirs` from 4.9.6 to 4.10.0
   <details>
   <summary>Release notes</summary>
   <p><em>Sourced from <a 
href="https://github.com/tox-dev/platformdirs/releases";>platformdirs's 
releases</a>.</em></p>
   <blockquote>
   <h2>4.10.0</h2>
   <!-- raw HTML omitted -->
   <h2>What's Changed</h2>
   <ul>
   <li>chore: improve platformdirs maintenance path by <a 
href="https://github.com/lphuc2250gma";><code>@​lphuc2250gma</code></a> in <a 
href="https://redirect.github.com/tox-dev/platformdirs/pull/488";>tox-dev/platformdirs#488</a></li>
   <li>✨ feat: add user_projects_dir for $XDG_PROJECTS_DIR by <a 
href="https://github.com/gaborbernat";><code>@​gaborbernat</code></a> in <a 
href="https://redirect.github.com/tox-dev/platformdirs/pull/490";>tox-dev/platformdirs#490</a></li>
   <li>✨ feat: add user_publicshare_dir, user_templates_dir, user_fonts_dir, 
user_preference_dir by <a 
href="https://github.com/gaborbernat";><code>@​gaborbernat</code></a> in <a 
href="https://redirect.github.com/tox-dev/platformdirs/pull/491";>tox-dev/platformdirs#491</a></li>
   </ul>
   <h2>New Contributors</h2>
   <ul>
   <li><a 
href="https://github.com/lphuc2250gma";><code>@​lphuc2250gma</code></a> made 
their first contribution in <a 
href="https://redirect.github.com/tox-dev/platformdirs/pull/488";>tox-dev/platformdirs#488</a></li>
   </ul>
   <p><strong>Full Changelog</strong>: <a 
href="https://github.com/tox-dev/platformdirs/compare/4.9.6...4.10.0";>https://github.com/tox-dev/platformdirs/compare/4.9.6...4.10.0</a></p>
   </blockquote>
   </details>
   <details>
   <summary>Changelog</summary>
   <p><em>Sourced from <a 
href="https://github.com/tox-dev/platformdirs/blob/main/docs/changelog.rst";>platformdirs's
 changelog</a>.</em></p>
   <blockquote>
   <p>###########
   Changelog
   ###########</p>
   <hr />
   <p>4.10.0 (2026-05-28)</p>
   <hr />
   <ul>
   <li>✨ feat: add user_publicshare_dir, user_templates_dir, user_fonts_dir, 
user_preference_dir :pr:<code>491</code></li>
   <li>✨ feat: add user_projects_dir for $XDG_PROJECTS_DIR 
:pr:<code>490</code></li>
   <li>chore: improve platformdirs maintenance path :pr:<code>488</code> - by 
:user:<code>lphuc2250gma</code></li>
   </ul>
   <hr />
   <p>4.9.6 (2026-04-09)</p>
   <hr />
   <ul>
   <li>🐛 fix(release): use double quotes for tag variable expansion 
:pr:<code>477</code></li>
   </ul>
   <hr />
   <p>4.9.5 (2026-04-06)</p>
   <hr />
   <ul>
   <li>📝 docs(appauthor): clarify None vs False on Windows 
:pr:<code>476</code></li>
   <li>Separates implementations of macOS dirs that share a default 
:pr:<code>473</code> - by :user:<code>Goddesen</code></li>
   <li>Remove persist-credentials: false from release job 
:pr:<code>472</code></li>
   <li>fix: do not duplicate site dirs in Unix.iter_{config,site}_dirs() when 
use_site_for_root is active :pr:<code>469</code> - by
   :user:<code>viccie30</code></li>
   <li>🔧 fix(type): resolve ty 0.0.25 type errors :pr:<code>468</code></li>
   <li>🔒 ci(workflows): add zizmor security auditing :pr:<code>467</code></li>
   <li>🐛 fix(release): generate docstrfmt-compatible changelog entries 
:pr:<code>463</code></li>
   </ul>
   <hr />
   <p>4.9.4 (2026-03-05)</p>
   <hr />
   <ul>
   <li>[pre-commit.ci] pre-commit autoupdate :pr:<code>461</code> - by 
:user:<code>pre-commit-ci[bot]</code></li>
   <li>Update README.md</li>
   <li>📝 docs: add project logo to documentation :pr:<code>459</code></li>
   <li>Standardize .github files to .yaml suffix</li>
   <li>build(deps): bump the all group with 2 updates :pr:<code>457</code> - by 
:user:<code>dependabot[bot]</code></li>
   <li>Move SECURITY.md to .github/SECURITY.md</li>
   <li>Add permissions to workflows :pr:<code>455</code></li>
   <li>Add security policy</li>
   <li>[pre-commit.ci] pre-commit autoupdate :pr:<code>454</code> - by 
:user:<code>pre-commit-ci[bot]</code></li>
   </ul>
   <hr />
   <p>4.9.2 (2026-02-16)</p>
   <hr />
   <ul>
   <li>📝 docs: restructure following Diataxis framework 
:pr:<code>448</code></li>
   </ul>
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/tox-dev/platformdirs/commit/04cb1361a064132102612ab05053351196a62b40";><code>04cb136</code></a>
 Release 4.10.0</li>
   <li><a 
href="https://github.com/tox-dev/platformdirs/commit/078bc61171e1a0cfbb3f210ff0fd30795a359664";><code>078bc61</code></a>
 ✨ feat: add user_publicshare_dir, user_templates_dir, user_fonts_dir, 
user_pr...</li>
   <li><a 
href="https://github.com/tox-dev/platformdirs/commit/d27974762005fa35cebcd4dd7236f8081e88ad75";><code>d279747</code></a>
 ✨ feat: add user_projects_dir for $XDG_PROJECTS_DIR (<a 
href="https://redirect.github.com/tox-dev/platformdirs/issues/490";>#490</a>)</li>
   <li><a 
href="https://github.com/tox-dev/platformdirs/commit/4116391f16178ee5c4b293761491519f9f3c9834";><code>4116391</code></a>
 [pre-commit.ci] pre-commit autoupdate (<a 
href="https://redirect.github.com/tox-dev/platformdirs/issues/489";>#489</a>)</li>
   <li><a 
href="https://github.com/tox-dev/platformdirs/commit/dbc63f58261f1b109f2d75c7d35a485331dbbe6f";><code>dbc63f5</code></a>
 chore: improve platformdirs maintenance path (<a 
href="https://redirect.github.com/tox-dev/platformdirs/issues/488";>#488</a>)</li>
   <li><a 
href="https://github.com/tox-dev/platformdirs/commit/9265108d732233ce7fbb63a94cd389708ce5e102";><code>9265108</code></a>
 [pre-commit.ci] pre-commit autoupdate (<a 
href="https://redirect.github.com/tox-dev/platformdirs/issues/487";>#487</a>)</li>
   <li><a 
href="https://github.com/tox-dev/platformdirs/commit/9f857ec172a1a09a9c608c28cfe2c460c3baac8e";><code>9f857ec</code></a>
 [pre-commit.ci] pre-commit autoupdate (<a 
href="https://redirect.github.com/tox-dev/platformdirs/issues/486";>#486</a>)</li>
   <li><a 
href="https://github.com/tox-dev/platformdirs/commit/a76e77756278566e414eebbc03f789b3a21ea2fa";><code>a76e777</code></a>
 [pre-commit.ci] pre-commit autoupdate (<a 
href="https://redirect.github.com/tox-dev/platformdirs/issues/484";>#484</a>)</li>
   <li><a 
href="https://github.com/tox-dev/platformdirs/commit/903fd9f321285c38d4741d2e5ea1881938405d16";><code>903fd9f</code></a>
 [pre-commit.ci] pre-commit autoupdate (<a 
href="https://redirect.github.com/tox-dev/platformdirs/issues/483";>#483</a>)</li>
   <li><a 
href="https://github.com/tox-dev/platformdirs/commit/a5da35d0d57cbcb5f30b18203aa7fbb44be69978";><code>a5da35d</code></a>
 build(deps): bump astral-sh/setup-uv from 8.0.0 to 8.1.0 in the all group (<a 
href="https://redirect.github.com/tox-dev/platformdirs/issues/482";>#482</a>)</li>
   <li>Additional commits viewable in <a 
href="https://github.com/tox-dev/platformdirs/compare/4.9.6...4.10.0";>compare 
view</a></li>
   </ul>
   </details>
   <br />
   
   Updates `trove-classifiers` from 2026.1.14.14 to 2026.6.1.19
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/pypa/trove-classifiers/commit/71cb041f383cee31668d07e3302d2b09d10471a8";><code>71cb041</code></a>
 Restrict OIDC token to publish job (<a 
href="https://redirect.github.com/pypa/trove-classifiers/issues/249";>#249</a>)</li>
   <li><a 
href="https://github.com/pypa/trove-classifiers/commit/521e36a9d16f53a2fec5364e158047b73a4e3461";><code>521e36a</code></a>
 Add Plone 6.3 classifier. (<a 
href="https://redirect.github.com/pypa/trove-classifiers/issues/247";>#247</a>)</li>
   <li><a 
href="https://github.com/pypa/trove-classifiers/commit/d406a8b11b9dd3ee3725f5e4ad37b8e623a7deee";><code>d406a8b</code></a>
 Add classifier for Django 6.1 (<a 
href="https://redirect.github.com/pypa/trove-classifiers/issues/245";>#245</a>)</li>
   <li><a 
href="https://github.com/pypa/trove-classifiers/commit/19b58474c4461174d77fc54e75b6b752755411c5";><code>19b5847</code></a>
 Add classifier for Wagtail 8 (<a 
href="https://redirect.github.com/pypa/trove-classifiers/issues/244";>#244</a>)</li>
   <li><a 
href="https://github.com/pypa/trove-classifiers/commit/a1105aa00670c8fc241e0bc2149a236b8be43b7a";><code>a1105aa</code></a>
 Add Trove classifier for Python 3.16 (<a 
href="https://redirect.github.com/pypa/trove-classifiers/issues/243";>#243</a>)</li>
   <li><a 
href="https://github.com/pypa/trove-classifiers/commit/eca370658f6e81c8911567eab8209aaca2924493";><code>eca3706</code></a>
 feat: add <code>litestar</code> classifier (<a 
href="https://redirect.github.com/pypa/trove-classifiers/issues/148";>#148</a>)</li>
   <li>See full diff in <a 
href="https://github.com/pypa/trove-classifiers/compare/2026.1.14.14...2026.6.1.19";>compare
 view</a></li>
   </ul>
   </details>
   <br />
   
   Updates `virtualenv` from 21.2.0 to 21.5.1
   <details>
   <summary>Release notes</summary>
   <p><em>Sourced from <a 
href="https://github.com/pypa/virtualenv/releases";>virtualenv's 
releases</a>.</em></p>
   <blockquote>
   <h2>21.5.1</h2>
   <!-- raw HTML omitted -->
   <h2>What's Changed</h2>
   <ul>
   <li>🐛 fix(seed): refuse to seed unsupported Python versions by <a 
href="https://github.com/gaborbernat";><code>@​gaborbernat</code></a> in <a 
href="https://redirect.github.com/pypa/virtualenv/pull/3173";>pypa/virtualenv#3173</a></li>
   </ul>
   <p><strong>Full Changelog</strong>: <a 
href="https://github.com/pypa/virtualenv/compare/21.5.0...21.5.1";>https://github.com/pypa/virtualenv/compare/21.5.0...21.5.1</a></p>
   <h2>21.5.0</h2>
   <!-- raw HTML omitted -->
   <h2>What's Changed</h2>
   <ul>
   <li>Set git identity in upgrade changelog rename step by <a 
href="https://github.com/gaborbernat";><code>@​gaborbernat</code></a> in <a 
href="https://redirect.github.com/pypa/virtualenv/pull/3169";>pypa/virtualenv#3169</a></li>
   <li>Upgrade embedded pip/setuptools/wheel by <a 
href="https://github.com/github-actions";><code>@​github-actions</code></a>[bot] 
in <a 
href="https://redirect.github.com/pypa/virtualenv/pull/3168";>pypa/virtualenv#3168</a></li>
   <li>✨ feat: drop Python 3.8 support by <a 
href="https://github.com/gaborbernat";><code>@​gaborbernat</code></a> in <a 
href="https://redirect.github.com/pypa/virtualenv/pull/3170";>pypa/virtualenv#3170</a></li>
   </ul>
   <p><strong>Full Changelog</strong>: <a 
href="https://github.com/pypa/virtualenv/compare/21.4.3...21.5.0";>https://github.com/pypa/virtualenv/compare/21.4.3...21.5.0</a></p>
   <h2>21.4.3</h2>
   <!-- raw HTML omitted -->
   <h2>What's Changed</h2>
   <ul>
   <li>ci: silence avoidable check workflow notices by <a 
href="https://github.com/gaborbernat";><code>@​gaborbernat</code></a> in <a 
href="https://redirect.github.com/pypa/virtualenv/pull/3154";>pypa/virtualenv#3154</a></li>
   <li>Upgrade embedded pip/setuptools/wheel by <a 
href="https://github.com/github-actions";><code>@​github-actions</code></a>[bot] 
in <a 
href="https://redirect.github.com/pypa/virtualenv/pull/3155";>pypa/virtualenv#3155</a></li>
   <li>Fish activator passes VIRTUAL_ENV through cygpath by <a 
href="https://github.com/LuNoX";><code>@​LuNoX</code></a> in <a 
href="https://redirect.github.com/pypa/virtualenv/pull/3161";>pypa/virtualenv#3161</a></li>
   <li>Stop exporting PS1 in bash activator by <a 
href="https://github.com/karlhillx";><code>@​karlhillx</code></a> in <a 
href="https://redirect.github.com/pypa/virtualenv/pull/3162";>pypa/virtualenv#3162</a></li>
   <li>Add wheel-0.47.0 to seed packages as mitigation of CVE-2026-24049 by <a 
href="https://github.com/apophizzz";><code>@​apophizzz</code></a> in <a 
href="https://redirect.github.com/pypa/virtualenv/pull/3167";>pypa/virtualenv#3167</a></li>
   <li>🐛 fix(discovery): resolve base interpreter executable-only symlinks by 
<a href="https://github.com/gaborbernat";><code>@​gaborbernat</code></a> in <a 
href="https://redirect.github.com/pypa/virtualenv/pull/3166";>pypa/virtualenv#3166</a></li>
   </ul>
   <h2>New Contributors</h2>
   <ul>
   <li><a href="https://github.com/LuNoX";><code>@​LuNoX</code></a> made their 
first contribution in <a 
href="https://redirect.github.com/pypa/virtualenv/pull/3161";>pypa/virtualenv#3161</a></li>
   <li><a href="https://github.com/karlhillx";><code>@​karlhillx</code></a> made 
their first contribution in <a 
href="https://redirect.github.com/pypa/virtualenv/pull/3162";>pypa/virtualenv#3162</a></li>
   <li><a href="https://github.com/apophizzz";><code>@​apophizzz</code></a> made 
their first contribution in <a 
href="https://redirect.github.com/pypa/virtualenv/pull/3167";>pypa/virtualenv#3167</a></li>
   </ul>
   <p><strong>Full Changelog</strong>: <a 
href="https://github.com/pypa/virtualenv/compare/21.4.2...21.4.3";>https://github.com/pypa/virtualenv/compare/21.4.2...21.4.3</a></p>
   <h2>21.4.2</h2>
   <!-- raw HTML omitted -->
   <h2>What's Changed</h2>
   <ul>
   <li>🐛 fix(activation): silence deactivate hash -r under set -e by <a 
href="https://github.com/gaborbernat";><code>@​gaborbernat</code></a> in <a 
href="https://redirect.github.com/pypa/virtualenv/pull/3152";>pypa/virtualenv#3152</a></li>
   </ul>
   <p><strong>Full Changelog</strong>: <a 
href="https://github.com/pypa/virtualenv/compare/21.4.1...21.4.2";>https://github.com/pypa/virtualenv/compare/21.4.1...21.4.2</a></p>
   <h2>21.4.1</h2>
   <!-- raw HTML omitted -->
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Changelog</summary>
   <p><em>Sourced from <a 
href="https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst";>virtualenv's
 changelog</a>.</em></p>
   <blockquote>
   <h1>Bugfixes - 21.5.1</h1>
   <ul>
   <li>Refuse to create environments whose Python the bundled wheels no longer 
cover (currently below 3.9). virtualenv used
   to substitute the newest bundled <code>pip</code>, which cannot run on such 
a target, leaving a broken environment; seeder
   selection now rejects it up front with a clear error. <code>--no-seed</code> 
and third-party seeders that ship compatible
   wheels still work - by :user:<code>gaborbernat</code>. 
(:issue:<code>3171</code>)</li>
   </ul>
   <hr />
   <p>v21.5.0 (2026-06-13)</p>
   <hr />
   <h1>Features - 21.5.0</h1>
   <ul>
   <li>Drop support for Python 3.8; virtualenv now requires Python 3.9 or later 
to run and to create environments. Remove the
   embedded <code>wheel</code> seed package, which virtualenv bundled only for 
Python 3.8. The <code>--wheel</code> and <code>--no-wheel</code>
   options stay as no-ops, but now warn that virtualenv will remove them in a 
release after 2026-12 - by
   :user:<code>gaborbernat</code>. (:issue:<code>3170</code>)</li>
   </ul>
   <h1>Bugfixes - 21.5.0</h1>
   <ul>
   <li>
   <p>Upgrade embedded wheels:</p>
   <p>Removed wheel of <code>0.47.0</code> (:issue:<code>u</code>)</p>
   </li>
   </ul>
   <hr />
   <p>v21.4.3 (2026-06-11)</p>
   <hr />
   <h1>Bugfixes - 21.4.3</h1>
   <ul>
   <li>
   <p>Upgrade embedded wheels:</p>
   <ul>
   <li>pip to <code>26.1.2</code> from <code>26.1.1</code> 
(:issue:<code>u</code>)</li>
   </ul>
   </li>
   <li>
   <p>Resolve executable-only symlinks when recording <code>home</code> and 
<code>base-executable</code> in <code>pyvenv.cfg</code>, mirroring
   CPython's <code>getpath.realpath</code><code>python/cpython#115237</code>
   binary locate the base stdlib (for example python-build-standalone); a fully 
symlinked interpreter tree is kept as-is</p>
   <ul>
   <li>by :user:<code>gaborbernat</code>. (:issue:<code>3157</code>)</li>
   </ul>
   </li>
   <li>
   <p>Stop exporting <code>PS1</code> from the bash activator so child 
processes do not inherit shell prompt state. (:issue:<code>3158</code>)</p>
   </li>
   <li>
   <p>Handle CYGWIN/MSYS/MINGW path conversions in fish activation script - by 
user::<code>LuNoX</code>. (:issue:<code>3160</code>)</p>
   </li>
   </ul>
   <hr />
   <p>v21.4.2 (2026-05-31)</p>
   <hr />
   <p>Bugfixes - 21.4.2</p>
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/pypa/virtualenv/commit/e1db75c64ff11daa1574df5d1bf565b46ae6ec6e";><code>e1db75c</code></a>
 release 21.5.1</li>
   <li><a 
href="https://github.com/pypa/virtualenv/commit/2bbb35c704dac0c816464da56da239cf2eeaf3a1";><code>2bbb35c</code></a>
 🐛 fix(seed): refuse to seed unsupported Python versions (<a 
href="https://redirect.github.com/pypa/virtualenv/issues/3173";>#3173</a>)</li>
   <li><a 
href="https://github.com/pypa/virtualenv/commit/7042705b5f4eddbcace0830fcfd3bcfbddc25635";><code>7042705</code></a>
 [pre-commit.ci] pre-commit autoupdate (<a 
href="https://redirect.github.com/pypa/virtualenv/issues/3172";>#3172</a>)</li>
   <li><a 
href="https://github.com/pypa/virtualenv/commit/90735e08d69325adc25765ef3498df5fac334c07";><code>90735e0</code></a>
 release 21.5.0</li>
   <li><a 
href="https://github.com/pypa/virtualenv/commit/79ce906a2378e24c81a7b27ac506c73d5cc262d9";><code>79ce906</code></a>
 ✨ feat: drop Python 3.8 support (<a 
href="https://redirect.github.com/pypa/virtualenv/issues/3170";>#3170</a>)</li>
   <li><a 
href="https://github.com/pypa/virtualenv/commit/f1f4d687b12caac079d81ffc5ee50a16d1fabc1a";><code>f1f4d68</code></a>
 Upgrade embedded pip/setuptools/wheel (<a 
href="https://redirect.github.com/pypa/virtualenv/issues/3168";>#3168</a>)</li>
   <li><a 
href="https://github.com/pypa/virtualenv/commit/78df6f0873a89f8cc4ecb9378562e5eb74576e9f";><code>78df6f0</code></a>
 Set git identity in upgrade changelog rename step (<a 
href="https://redirect.github.com/pypa/virtualenv/issues/3169";>#3169</a>)</li>
   <li><a 
href="https://github.com/pypa/virtualenv/commit/134b080fae08c8eac719750d21c3449d3aa02aaa";><code>134b080</code></a>
 release 21.4.3</li>
   <li><a 
href="https://github.com/pypa/virtualenv/commit/2a36128bef8914ad006b49e5f1e2ca431dafa1cf";><code>2a36128</code></a>
 🐛 fix(discovery): resolve base interpreter executable-only symlinks (<a 
href="https://redirect.github.com/pypa/virtualenv/issues/3166";>#3166</a>)</li>
   <li><a 
href="https://github.com/pypa/virtualenv/commit/5389c25cf4a1ee11ea55183d6daf4c8055dc3060";><code>5389c25</code></a>
 Add wheel-0.47.0 to seed packages as mitigation of CVE-2026-24049 (<a 
href="https://redirect.github.com/pypa/virtualenv/issues/3167";>#3167</a>)</li>
   <li>Additional commits viewable in <a 
href="https://github.com/pypa/virtualenv/compare/21.2.0...21.5.1";>compare 
view</a></li>
   </ul>
   </details>
   <br />
   
   Updates `pytest` to 9.1.0
   <details>
   <summary>Release notes</summary>
   <p><em>Sourced from <a 
href="https://github.com/pytest-dev/pytest/releases";>pytest's 
releases</a>.</em></p>
   <blockquote>
   <h2>9.1.0</h2>
   <h1>pytest 9.1.0 (2026-06-13)</h1>
   <h2>Removals and backward incompatible breaking changes</h2>
   <ul>
   <li>
   <p><a 
href="https://redirect.github.com/pytest-dev/pytest/issues/14533";>#14533</a>: 
When using <code>--doctest-modules</code>, autouse fixtures with 
<code>module</code>, <code>package</code> or <code>session</code> scope that 
are defined inline in Python test modules (not plugins or conftests) will now 
possibly execute twice.</p>
   <p>If this is undesirable, move the fixture definition to a 
<code>conftest.py</code> file if possible.</p>
   <p>Technical explanation for those interested:
   When using <!-- raw HTML omitted -->--doctest-modules<!-- raw HTML omitted 
-->, pytest possibly collects Python modules twice, once as 
<code>pytest.Module</code> and once as a <code>DoctestModule</code> (depending 
on the configuration).
   Due to improvements in pytest's fixture implementation, if e.g. the 
<code>DoctestModule</code> collects a fixture, it is now visible to it only, 
and not to the <code>Module</code>.
   This means that both need to register the fixtures independently.</p>
   </li>
   </ul>
   <h2>Deprecations (removal in next major release)</h2>
   <ul>
   <li>
   <p><a 
href="https://redirect.github.com/pytest-dev/pytest/issues/10819";>#10819</a>: 
Added a deprecation warning for class-scoped fixtures defined as instance 
methods (without <code>@classmethod</code>). Such fixtures set attributes on a 
different instance than the test methods use, leading to unexpected behavior. 
Use <code>@classmethod</code> decorator instead -- by <code>yastcher</code>.</p>
   <p>See <code>10819</code> and <code>14011</code>.</p>
   </li>
   <li>
   <p><a 
href="https://redirect.github.com/pytest-dev/pytest/issues/12882";>#12882</a>: 
Calling <code>request.getfixturevalue() 
&lt;pytest.FixtureRequest.getfixturevalue&gt;</code> during teardown to request 
a fixture that was not already requested is now deprecated and will become an 
error in pytest 10.</p>
   <p>See <code>dynamic-fixture-request-during-teardown</code> for details.</p>
   </li>
   <li>
   <p><a 
href="https://redirect.github.com/pytest-dev/pytest/issues/13409";>#13409</a>: 
Using non-<code>~collections.abc.Collection</code> iterables (such as 
generators, iterators, or custom iterable objects) for the 
<code>argvalues</code> parameter in <code>@pytest.mark.parametrize 
&lt;pytest.mark.parametrize ref&gt;</code> and <code>metafunc.parametrize 
&lt;pytest.Metafunc.parametrize&gt;</code> is now deprecated.</p>
   <p>These iterables get exhausted after the first iteration,
   leading to tests getting unexpectedly skipped in cases such as running 
<code>pytest.main()</code> multiple times,
   using class-level parametrize decorators,
   or collecting tests multiple times.</p>
   <p>See <code>parametrize-iterators</code> for details and suggestions.</p>
   </li>
   <li>
   <p><a 
href="https://redirect.github.com/pytest-dev/pytest/issues/13946";>#13946</a>: 
The private <code>config.inicfg</code> attribute is now deprecated.
   Use <code>config.getini() &lt;pytest.Config.getini&gt;</code> to access 
configuration values instead.</p>
   <p>See <code>config-inicfg</code> for more details.</p>
   </li>
   <li>
   <p><a 
href="https://redirect.github.com/pytest-dev/pytest/issues/14004";>#14004</a>: 
Passing <code>baseid</code> to <code>~pytest.FixtureDef</code> or 
<code>nodeid</code> strings to fixture registration APIs is now deprecated. 
These are internal pytest APIs that are used by some plugins.</p>
   <p>Use the <code>node</code> parameter instead for fixture scoping. This 
enables more robust node-based
   matching instead of string prefix matching.
   If you've used <code>nodeid=None</code>, pass <code>node=session</code> 
instead.</p>
   <p>This will be removed in pytest 10.</p>
   </li>
   <li>
   <p><a 
href="https://redirect.github.com/pytest-dev/pytest/issues/14335";>#14335</a>: 
The method of configuring hooks using markers, deprecated since pytest 7.2, is 
now scheduled to be removed in pytest 10.
   See <code>hook-markers</code> for more details.</p>
   </li>
   <li>
   <p><a 
href="https://redirect.github.com/pytest-dev/pytest/issues/14434";>#14434</a>: 
The <code>--pastebin</code> option is now deprecated.</p>
   </li>
   </ul>
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/pytest-dev/pytest/commit/b2522cf0b11fb33ecc1f4895fa1dffbb9252a63d";><code>b2522cf</code></a>
 Prepare release version 9.1.0</li>
   <li><a 
href="https://github.com/pytest-dev/pytest/commit/368d2fca78e86ac79ec269bb078fcb1259a94fed";><code>368d2fc</code></a>
 [refactor] Tighten <code>SetComparisonFunction</code> to 
<code>Iterator[str]</code> (<a 
href="https://redirect.github.com/pytest-dev/pytest/issues/14587";>#14587</a>)</li>
   <li><a 
href="https://github.com/pytest-dev/pytest/commit/ff77cd8b66b43a88c26ca54384bbcab72d079497";><code>ff77cd8</code></a>
 [refactor] Make base assertion comparisons return an iterator instead of a 
li...</li>
   <li><a 
href="https://github.com/pytest-dev/pytest/commit/0d8491a4ecf971800de0479ef55c7f5292c54937";><code>0d8491a</code></a>
 build(deps): Bump actions/stale from 10.2.0 to 10.3.0</li>
   <li><a 
href="https://github.com/pytest-dev/pytest/commit/4a809d9c892f6abb5ba92b77b06f1dd878f4660a";><code>4a809d9</code></a>
 Merge pull request <a 
href="https://redirect.github.com/pytest-dev/pytest/issues/14568";>#14568</a> 
from pytest-dev/register-fixture</li>
   <li><a 
href="https://github.com/pytest-dev/pytest/commit/5dfa38541becfb77d0f52cac4cc8cce71849ab61";><code>5dfa385</code></a>
 Fix recursion traceback test to cover all styles (<a 
href="https://redirect.github.com/pytest-dev/pytest/issues/14582";>#14582</a>)</li>
   <li><a 
href="https://github.com/pytest-dev/pytest/commit/f52ff0c1778c15038cf2bbb00b7668dac674cc26";><code>f52ff0c</code></a>
 Add <code>pytest.register_fixture</code></li>
   <li><a 
href="https://github.com/pytest-dev/pytest/commit/a8ac094e80df788aec844794170b126eab0be7a4";><code>a8ac094</code></a>
 Merge pull request <a 
href="https://redirect.github.com/pytest-dev/pytest/issues/14567";>#14567</a> 
from pytest-dev/more-visibility-deprecate</li>
   <li><a 
href="https://github.com/pytest-dev/pytest/commit/e5620cd21ec62f5a5f9a5141a3c76fb3953729b6";><code>e5620cd</code></a>
 [pre-commit.ci] pre-commit autoupdate (<a 
href="https://redirect.github.com/pytest-dev/pytest/issues/14577";>#14577</a>)</li>
   <li><a 
href="https://github.com/pytest-dev/pytest/commit/2ce9c6d94eb691ea4da7f91f330602cbb67a6daf";><code>2ce9c6d</code></a>
 Merge pull request <a 
href="https://redirect.github.com/pytest-dev/pytest/issues/14540";>#14540</a> 
from minbang930/fix-14533-doctest-module-fixtures</li>
   <li>Additional commits viewable in <a 
href="https://github.com/pytest-dev/pytest/compare/8.2.0...9.1.0";>compare 
view</a></li>
   </ul>
   </details>
   <br />
   
   Updates `requests` to 2.34.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.34.2</h2>
   <h2>2.34.2 (2026-05-14)</h2>
   <ul>
   <li>Moved <code>headers</code> input type back to <code>Mapping</code> to 
avoid invariance issues with <code>MutableMapping</code> and inferred dict 
types. Users calling <code>Request.headers.update()</code> may need to narrow 
typing in their code. (<a 
href="https://redirect.github.com/psf/requests/issues/7441";>#7441</a>)</li>
   </ul>
   <p><strong>Full Changelog</strong>: <a 
href="https://github.com/psf/requests/blob/main/HISTORY.md#2342-2026-05-14";>https://github.com/psf/requests/blob/main/HISTORY.md#2342-2026-05-14</a></p>
   </blockquote>
   </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.34.2 (2026-05-14)</h2>
   <ul>
   <li>Moved <code>headers</code> input type back to <code>Mapping</code> to 
avoid invariance issues
   with <code>MutableMapping</code> and inferred dict types. Users calling
   <code>Request.headers.update()</code> may need to narrow typing in their 
code. (<a 
href="https://redirect.github.com/psf/requests/issues/7441";>#7441</a>)</li>
   </ul>
   <h2>2.34.1 (2026-05-13)</h2>
   <p><strong>Bugfixes</strong></p>
   <ul>
   <li>Widened <code>json</code> input type from <code>dict</code> and 
<code>list</code> to <code>Mapping</code>
   and <code>Sequence</code>. (<a 
href="https://redirect.github.com/psf/requests/issues/7436";>#7436</a>)</li>
   <li>Changed <code>headers</code> input type to MutableMapping and removed 
<code>None</code> from
   <code>Request.headers</code> typing to improve handling for users. (<a 
href="https://redirect.github.com/psf/requests/issues/7431";>#7431</a>)</li>
   <li><code>Response.reason</code> moved from <code>str | None</code> to 
<code>str</code> to improve handling
   for users. (<a 
href="https://redirect.github.com/psf/requests/issues/7437";>#7437</a>)</li>
   <li>Fixed a bug where some bodies with custom <code>__getattr__</code> 
implementations
   weren't being properly detected as Iterables. (<a 
href="https://redirect.github.com/psf/requests/issues/7433";>#7433</a>)</li>
   </ul>
   <h2>2.34.0 (2026-05-11)</h2>
   <p><strong>Announcements</strong></p>
   <ul>
   <li>
   <p>Requests 2.34.0 introduces inline types, replacing those provided by
   typeshed. Public API types should be fully compatible with mypy, pyright,
   and ty. We believe types are comprehensive but if you find issues, please
   report them to the pinned tracking issue.</p>
   <p>Special thanks to <a 
href="https://github.com/bastimeyer";><code>@​bastimeyer</code></a>, <a 
href="https://github.com/cthoyt";><code>@​cthoyt</code></a>, <a 
href="https://github.com/edgarrmondragon";><code>@​edgarrmondragon</code></a>, 
and <a href="https://github.com/srittau";><code>@​srittau</code></a> for
   helping review and test the types ahead of the release. (<a 
href="https://redirect.github.com/psf/requests/issues/7272";>#7272</a>)</p>
   </li>
   </ul>
   <p><strong>Improvements</strong></p>
   <ul>
   <li>Digest Auth hashing algorithms have added 
<code>usedforsecurity=False</code> to clarify
   security considerations. (<a 
href="https://redirect.github.com/psf/requests/issues/7310";>#7310</a>)</li>
   <li>Requests added support for Python 3.15 based on beta1. Downstream 
projects
   should be able to start testing prior to its release in October. (<a 
href="https://redirect.github.com/psf/requests/issues/7422";>#7422</a>)</li>
   <li>Requests added support for Python 3.14t. (<a 
href="https://redirect.github.com/psf/requests/issues/7419";>#7419</a>)</li>
   </ul>
   <p><strong>Bugfixes</strong></p>
   <ul>
   <li><code>Response.history</code> no longer contains a reference to itself, 
preventing
   accidental looping when traversing the history list. (<a 
href="https://redirect.github.com/psf/requests/issues/7328";>#7328</a>)</li>
   <li>Requests no longer performs greedy matching on no_proxy domains. The
   proxy_bypass implementation has been updated with CPython's fix from
   bpo-39057. (<a 
href="https://redirect.github.com/psf/requests/issues/7427";>#7427</a>)</li>
   <li>Requests no longer incorrectly strips duplicate leading slashes in
   URI paths. This should address user issues with specific presigned
   URLs. Note the full fix requires urllib3 2.7.0+. (<a 
href="https://redirect.github.com/psf/requests/issues/7315";>#7315</a>)</li>
   </ul>
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/psf/requests/commit/6e83187b8feb273ed4c6cdab5efd8d54901dfab3";><code>6e83187</code></a>
 v2.34.2</li>
   <li><a 
href="https://github.com/psf/requests/commit/84d10f0be83e8f6aeca8a05230c52216431c4d0b";><code>84d10f0</code></a>
 Move Request.headers back to Mapping (<a 
href="https://redirect.github.com/psf/requests/issues/7441";>#7441</a>)</li>
   <li><a 
href="https://github.com/psf/requests/commit/b7b549b54571d03950b16afd2d01bc6ff0348224";><code>b7b549b</code></a>
 v2.34.1</li>
   <li><a 
href="https://github.com/psf/requests/commit/e511bc72777a94c45d004e010c597925092e1efe";><code>e511bc7</code></a>
 Fix mutability issues with headers input types (<a 
href="https://redirect.github.com/psf/requests/issues/7431";>#7431</a>)</li>
   <li><a 
href="https://github.com/psf/requests/commit/5691f596134c2feb121e595c77a0178921fcce61";><code>5691f59</code></a>
 Update JsonType containers to read-based collections (<a 
href="https://redirect.github.com/psf/requests/issues/7436";>#7436</a>)</li>
   <li><a 
href="https://github.com/psf/requests/commit/2144213c307691710c9d665700860fc4993c3035";><code>2144213</code></a>
 Constrain Response.reason to str (<a 
href="https://redirect.github.com/psf/requests/issues/7437";>#74...
   
   _Description has been truncated_


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to