Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow provider to filter unsatisfied names, when backtracking #145

Conversation

notatallshaw
Copy link
Collaborator

This allows the provider to optimize the steps it takes to choose what to backtrack on.

Specifically the aim is to add preferring conflicting causes in Pip without the overhead of recalculating or caching each time get_preference is called. I initially wanted to do a lot of this "preferring" work in resolvelib itself, but upon inspecting the resolution types I realized there was no guarantee of required information (which would have been a problem if this previous PR had landed #132).

I have a Pip branch that implements this filtering: https://github.com/notatallshaw/pip/blob/prefer-conflicting-causes/src/pip/_internal/resolution/resolvelib/provider.py#L240. Which on Python 3.8 allows it to solve the following requirement which currently produces a "ResolutionTooDeep" error: --only-binary ":all:" "numpy==1.21.6" "cython==0.29.28" "scipy>=1.4.0" "torch>=1.7" "torchaudio" "soundfile" "librosa==0.10.0.*" "numba==0.55.1" "inflect==5.6.0" "tqdm" "anyascii" "pyyaml" "fsspec>=2021.04.0" "aiohttp" "packaging" "flask" "pysbd" "pandas" "matplotlib" "trainer==0.0.20" "coqpit>=0.0.16" "pypinyin" "mecab-python3==1.0.5" "jamo" "bangla==0.0.2" "k_diffusion" "einops" "transformers"

@notatallshaw notatallshaw force-pushed the when-backtracking-allow-provider-to-filter-unsatisfied-names-before-picking-preference branch from 8cb7fec to 76af055 Compare December 1, 2023 05:13
@notatallshaw

This comment was marked as outdated.

@notatallshaw

This comment was marked as outdated.

@notatallshaw

This comment was marked as outdated.

@notatallshaw

This comment was marked as outdated.

@notatallshaw

This comment was marked as outdated.

@notatallshaw

This comment was marked as outdated.

@notatallshaw notatallshaw force-pushed the when-backtracking-allow-provider-to-filter-unsatisfied-names-before-picking-preference branch 2 times, most recently from 748e890 to dc0c4b9 Compare February 3, 2024 22:04
@notatallshaw

This comment was marked as outdated.

@notatallshaw notatallshaw force-pushed the when-backtracking-allow-provider-to-filter-unsatisfied-names-before-picking-preference branch from dc0c4b9 to 97ff2cb Compare February 4, 2024 15:37
src/resolvelib/providers.py Outdated Show resolved Hide resolved
@notatallshaw notatallshaw force-pushed the when-backtracking-allow-provider-to-filter-unsatisfied-names-before-picking-preference branch 4 times, most recently from 9f2c547 to d853beb Compare February 6, 2024 23:37
@notatallshaw notatallshaw force-pushed the when-backtracking-allow-provider-to-filter-unsatisfied-names-before-picking-preference branch 2 times, most recently from 1cf5bce to 2c36fdd Compare February 10, 2024 18:31
@notatallshaw notatallshaw force-pushed the when-backtracking-allow-provider-to-filter-unsatisfied-names-before-picking-preference branch from 5daed63 to c52395a Compare March 30, 2024 17:13
@notatallshaw
Copy link
Collaborator Author

It occurs to me that resolvelib could validate that resolvelib could validate that the return value of self._p.narrow_requirement_selection is a subset of unsatisfied_names, this would guarantee that this method does not affect the soundness of the resolution, but at the cost of doing a subset check every backtrack iteration.

I am inclined to leave it to the documentation of how the client must implement narrow_requirement_selection.

@notatallshaw notatallshaw force-pushed the when-backtracking-allow-provider-to-filter-unsatisfied-names-before-picking-preference branch from c52395a to 5b4d03a Compare August 3, 2024 15:11
@notatallshaw
Copy link
Collaborator Author

Okay, I've rebased, applied suggestions, updated doc strings to be more readable (at least to me), added a news entry, and extended Python functional tests to check with and without this method, and the test is a realistic use of this method.

Feeling pretty good about this now, looking for further feedback (or approval 🤞).

@notatallshaw notatallshaw force-pushed the when-backtracking-allow-provider-to-filter-unsatisfied-names-before-picking-preference branch 2 times, most recently from 3234977 to 8369856 Compare August 3, 2024 16:41
@notatallshaw notatallshaw force-pushed the when-backtracking-allow-provider-to-filter-unsatisfied-names-before-picking-preference branch from 8369856 to 7569d75 Compare August 3, 2024 16:41
@frostming frostming merged commit 16d606d into sarugaku:main Aug 9, 2024
9 checks passed
ansibuddy pushed a commit to ansible/molecule that referenced this pull request Nov 19, 2024
Bumps the dependencies group with 17 updates in the /.config directory:

| Package | From | To |
| --- | --- | --- |
| [ansible-compat](https://github.com/ansible/ansible-compat) | `24.9.1`
| `24.10.0` |
| [ansible-core](https://github.com/ansible/ansible) | `2.17.5` |
`2.18.0` |
| [ansible-lint](https://github.com/ansible/ansible-lint) | `24.9.2` |
`24.10.0` |
| [coverage](https://github.com/nedbat/coveragepy) | `7.6.4` | `7.6.7` |
| [identify](https://github.com/pre-commit/identify) | `2.6.1` | `2.6.2`
|
| [mkdocs-material](https://github.com/squidfunk/mkdocs-material) |
`9.5.43` | `9.5.44` |
| [mkdocstrings](https://github.com/mkdocstrings/mkdocstrings) |
`0.26.2` | `0.27.0` |
| [packaging](https://github.com/pypa/packaging) | `24.1` | `24.2` |
| [regex](https://github.com/mrabarnett/mrab-regex) | `2024.9.11` |
`2024.11.6` |
| [regress](https://github.com/crate-py/regress) | `2024.8.1` |
`2024.11.1` |
| [resolvelib](https://github.com/sarugaku/resolvelib) | `1.0.1` |
`1.1.0` |
| [rpds-py](https://github.com/crate-py/rpds) | `0.20.1` | `0.21.0` |
| [ruff](https://github.com/astral-sh/ruff) | `0.7.2` | `0.7.4` |
| [toml-sort](https://github.com/pappasam/toml-sort) | `0.23.1` |
`0.24.0` |
| [tomli](https://github.com/hukkin/tomli) | `2.0.2` | `2.1.0` |
| [wheel](https://github.com/pypa/wheel) | `0.44.0` | `0.45.0` |
| [zipp](https://github.com/jaraco/zipp) | `3.20.2` | `3.21.0` |


Updates `ansible-compat` from 24.9.1 to 24.10.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ansible/ansible-compat/releases">ansible-compat's
releases</a>.</em></p>
<blockquote>
<h2>v24.10.0</h2>
<h2>Enhancements</h2>
<ul>
<li>Add support for py313 (<a
href="https://redirect.github.com/ansible/ansible-compat/issues/416">#416</a>)
<a href="https://github.com/ssbarnea"><code>@​ssbarnea</code></a></li>
</ul>
<h2>Bugfixes</h2>
<ul>
<li>Re-init plugin loader after collections installation (<a
href="https://redirect.github.com/ansible/ansible-compat/issues/411">#411</a>)
(<a
href="https://redirect.github.com/ansible/ansible-compat/issues/412">#412</a>)
<a href="https://github.com/irozet12"><code>@​irozet12</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ansible/ansible-compat/commit/ba624e9511a76f29fd12cff3e01feef1458d3acf"><code>ba624e9</code></a>
Bump the dependencies group in /.config with 5 updates (<a
href="https://redirect.github.com/ansible/ansible-compat/issues/421">#421</a>)</li>
<li><a
href="https://github.com/ansible/ansible-compat/commit/6d9524e282a0f5078dfdaf9d01e620493076496d"><code>6d9524e</code></a>
Add support for py313 (<a
href="https://redirect.github.com/ansible/ansible-compat/issues/416">#416</a>)</li>
<li><a
href="https://github.com/ansible/ansible-compat/commit/264a2785eb278406a5b93b9c5a8a1979eee5cc11"><code>264a278</code></a>
chore: pre-commit autoupdate (<a
href="https://redirect.github.com/ansible/ansible-compat/issues/415">#415</a>)</li>
<li><a
href="https://github.com/ansible/ansible-compat/commit/1f01f448542e4c258dfa1ed5ea84eab655ddc43b"><code>1f01f44</code></a>
Replace pip-compile with uv pip compile (<a
href="https://redirect.github.com/ansible/ansible-compat/issues/419">#419</a>)</li>
<li><a
href="https://github.com/ansible/ansible-compat/commit/43f75ebf417fa914da59f12781aecea6566822ed"><code>43f75eb</code></a>
Fix tests (<a
href="https://redirect.github.com/ansible/ansible-compat/issues/420">#420</a>)</li>
<li><a
href="https://github.com/ansible/ansible-compat/commit/29430b1fe77b02e4c7a5073cefb2a04a67fec338"><code>29430b1</code></a>
Tune dependabot config (<a
href="https://redirect.github.com/ansible/ansible-compat/issues/417">#417</a>)</li>
<li><a
href="https://github.com/ansible/ansible-compat/commit/e247f3fab0400f97df08498c9e2cdf34025f1ba8"><code>e247f3f</code></a>
Re-init plugin loader after collections installation (<a
href="https://redirect.github.com/ansible/ansible-compat/issues/411">#411</a>)
(<a
href="https://redirect.github.com/ansible/ansible-compat/issues/412">#412</a>)</li>
<li><a
href="https://github.com/ansible/ansible-compat/commit/18c671e23c1d4fa91fd372fca24474b89e31832c"><code>18c671e</code></a>
Bump coactions/dynamic-matrix from 3 to 4 (<a
href="https://redirect.github.com/ansible/ansible-compat/issues/414">#414</a>)</li>
<li><a
href="https://github.com/ansible/ansible-compat/commit/ebe0b2c89717cf7567071b540461f878cefa8185"><code>ebe0b2c</code></a>
chore: pre-commit autoupdate (<a
href="https://redirect.github.com/ansible/ansible-compat/issues/413">#413</a>)</li>
<li>See full diff in <a
href="https://github.com/ansible/ansible-compat/compare/v24.9.1...v24.10.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `ansible-core` from 2.17.5 to 2.18.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ansible/ansible/releases">ansible-core's
releases</a>.</em></p>
<blockquote>
<h2>v2.18.0</h2>
<h1>Changelog</h1>
<p>See the <a
href="https://github.com/ansible/ansible/blob/v2.18.0/changelogs/CHANGELOG-v2.18.rst">full
changelog</a> for the changes included in this release.</p>
<h1>Release Artifacts</h1>
<ul>
<li>Built Distribution: <a
href="https://files.pythonhosted.org/packages/73/14/c70341980b7636dfdbc03b0762102d2a69739bc5d7687a0476739007aad4/ansible_core-2.18.0-py3-none-any.whl">ansible_core-2.18.0-py3-none-any.whl</a>
- ‌2212552 bytes
<ul>
<li>d28818df3741d6cd744dab5e4ff9c658daa94ba71c8e15a12dbe9eeab30a658f
(SHA256)</li>
</ul>
</li>
<li>Source Distribution: <a
href="https://files.pythonhosted.org/packages/fd/5e/0d5a28caca8fc598b199f3710fffc010a6094dfabcf38f7f3c0abb50451a/ansible_core-2.18.0.tar.gz">ansible_core-2.18.0.tar.gz</a>
- ‌3064903 bytes
<ul>
<li>87fbebbfe8d961e9b153e84b4438ba3a327dbfdcd4ad05a6065d9ff5d9d02e7b
(SHA256)</li>
</ul>
</li>
</ul>
<h2>v2.18.0rc2</h2>
<h1>Changelog</h1>
<p>See the <a
href="https://github.com/ansible/ansible/blob/v2.18.0rc2/changelogs/CHANGELOG-v2.18.rst">full
changelog</a> for the changes included in this release.</p>
<h1>Release Artifacts</h1>
<ul>
<li>Built Distribution: <a
href="https://files.pythonhosted.org/packages/f3/ec/f5798c51dc6324094ac7d7fa805541a26cfc3fa90e4efc366cfb24afe173/ansible_core-2.18.0rc2-py3-none-any.whl">ansible_core-2.18.0rc2-py3-none-any.whl</a>
- ‌2212624 bytes
<ul>
<li>53d3a6f0ba32146a2c26bf166b9ec9dc6cc3571970e952244da9b17a551b259f
(SHA256)</li>
</ul>
</li>
<li>Source Distribution: <a
href="https://files.pythonhosted.org/packages/8d/99/8eeb200e4cbc2e1f12cbf7df2d97fd9f34f73d03eb25705cb455f9a98f90/ansible_core-2.18.0rc2.tar.gz">ansible_core-2.18.0rc2.tar.gz</a>
- ‌3070424 bytes
<ul>
<li>37c68666393d5dd412bc9976e5ed08c35ca403f5a4a8618b93a269113bc53ef8
(SHA256)</li>
</ul>
</li>
</ul>
<h2>v2.18.0rc1</h2>
<h1>Changelog</h1>
<p>See the <a
href="https://github.com/ansible/ansible/blob/v2.18.0rc1/changelogs/CHANGELOG-v2.18.rst">full
changelog</a> for the changes included in this release.</p>
<h1>Release Artifacts</h1>
<ul>
<li>Built Distribution: <a
href="https://files.pythonhosted.org/packages/14/41/7b7da736384ef6c424a602a3fea2bd4d73451721630d66ec12941dbe3fca/ansible_core-2.18.0rc1-py3-none-any.whl">ansible_core-2.18.0rc1-py3-none-any.whl</a>
- ‌2212460 bytes
<ul>
<li>43a2aa092b37eded5552b9fb0a29d017a3edd3003f61526aff3812abd7257749
(SHA256)</li>
</ul>
</li>
<li>Source Distribution: <a
href="https://files.pythonhosted.org/packages/4e/4d/3413340630a1fb5ee6d4d7a49dedc5c9f9f6be3c7f32abaf11bc1076634c/ansible_core-2.18.0rc1.tar.gz">ansible_core-2.18.0rc1.tar.gz</a>
- ‌3067454 bytes
<ul>
<li>fc2072a6ce91758a4d093c1559ad47a320db645a9c8840c40db32a718b662534
(SHA256)</li>
</ul>
</li>
</ul>
<h2>v2.18.0b1</h2>
<h1>Changelog</h1>
<p>See the <a
href="https://github.com/ansible/ansible/blob/v2.18.0b1/changelogs/CHANGELOG-v2.18.rst">full
changelog</a> for the changes included in this release.</p>
<h1>Release Artifacts</h1>
<ul>
<li>Built Distribution: <a
href="https://files.pythonhosted.org/packages/80/26/62d634e6292c4ce9f942b556f127cf8e1a47487be7824ac7a3ac0a52e23e/ansible_core-2.18.0b1-py3-none-any.whl">ansible_core-2.18.0b1-py3-none-any.whl</a>
- ‌2202630 bytes
<ul>
<li>eae1278d45a8ee4e2427807a8fa043f0805cc915146cd1f091c5862ef34da272
(SHA256)</li>
</ul>
</li>
<li>Source Distribution: <a
href="https://files.pythonhosted.org/packages/c4/7f/2414f8be2a883ce8d07b238ecbec43b34e4952d1ae5e66bdabc9603ed93b/ansible_core-2.18.0b1.tar.gz">ansible_core-2.18.0b1.tar.gz</a>
- ‌3069231 bytes
<ul>
<li>2336d46e3651a7a802f4efe3e58d9c70a0d8966611c6240f513de780c7961803
(SHA256)</li>
</ul>
</li>
</ul>
<h2>v2.17.6</h2>
<h1>Changelog</h1>
<p>See the <a
href="https://github.com/ansible/ansible/blob/v2.17.6/changelogs/CHANGELOG-v2.17.rst">full
changelog</a> for the changes included in this release.</p>
<h1>Release Artifacts</h1>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ansible/ansible/commit/ec78526b976481f3fcdf91a904eeaa68b89ccdea"><code>ec78526</code></a>
New release v2.18.0 (<a
href="https://redirect.github.com/ansible/ansible/issues/84251">#84251</a>)</li>
<li><a
href="https://github.com/ansible/ansible/commit/b1366ce96563c53ca41291b2fb9485b8348caa46"><code>b1366ce</code></a>
Update Ansible release version to v2.18.0rc2.post0. (<a
href="https://redirect.github.com/ansible/ansible/issues/84198">#84198</a>)</li>
<li><a
href="https://github.com/ansible/ansible/commit/00031d2d6f4ab36ccf5cef8e992a3e85b7f545de"><code>00031d2</code></a>
New release v2.18.0rc2 (<a
href="https://redirect.github.com/ansible/ansible/issues/84193">#84193</a>)</li>
<li><a
href="https://github.com/ansible/ansible/commit/93c3133c2d1e62d11c0c8c3ccfd9dfd3d774ad60"><code>93c3133</code></a>
remove stale changelog entry (<a
href="https://redirect.github.com/ansible/ansible/issues/84187">#84187</a>)</li>
<li><a
href="https://github.com/ansible/ansible/commit/23f8639a4b01f6437f241d835efb68b8b7150575"><code>23f8639</code></a>
[stable-2.18] Preserve <code>_ansible_no_log</code> from action result;
fix `include_var...</li>
<li><a
href="https://github.com/ansible/ansible/commit/3b6de811abea0a811e03e3029222a7e459922892"><code>3b6de81</code></a>
user module avoid conflicts ssh pub key (<a
href="https://redirect.github.com/ansible/ansible/issues/84165">#84165</a>)
(<a
href="https://redirect.github.com/ansible/ansible/issues/84171">#84171</a>)</li>
<li><a
href="https://github.com/ansible/ansible/commit/cfdafb9bb6a2d8ceda49e5d54a4cfe285e11b91c"><code>cfdafb9</code></a>
[2.18] Trim <code>selinux_policytype</code> @ integration tests (<a
href="https://redirect.github.com/ansible/ansible/issues/84137">#84137</a>)</li>
<li><a
href="https://github.com/ansible/ansible/commit/eaec3748c5ba6f28171649f58333603b0bd97b93"><code>eaec374</code></a>
Update Ansible release version to v2.18.0rc1.post0. (<a
href="https://redirect.github.com/ansible/ansible/issues/84124">#84124</a>)</li>
<li><a
href="https://github.com/ansible/ansible/commit/34ccdfa90aaf7075f590f2af501da92235398943"><code>34ccdfa</code></a>
New release v2.18.0rc1 (<a
href="https://redirect.github.com/ansible/ansible/issues/84122">#84122</a>)</li>
<li><a
href="https://github.com/ansible/ansible/commit/a3656b2ffb05f3936885d8caacae2fe4656a3003"><code>a3656b2</code></a>
[stable-2.18] facts: Skip path if the distribution path is directory (<a
href="https://redirect.github.com/ansible/ansible/issues/84036">#84036</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/ansible/ansible/compare/v2.17.5...v2.18.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `ansible-lint` from 24.9.2 to 24.10.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ansible/ansible-lint/releases">ansible-lint's
releases</a>.</em></p>
<blockquote>
<h2>v24.10.0</h2>
<h2>Enhancements</h2>
<ul>
<li>Add support for py313 (<a
href="https://redirect.github.com/ansible/ansible-lint/issues/4388">#4388</a>)
<a href="https://github.com/abhikdps"><code>@​abhikdps</code></a></li>
</ul>
<h2>Bugfixes</h2>
<ul>
<li>Require ansible-compat&gt;=24.10.0 (<a
href="https://redirect.github.com/ansible/ansible-lint/issues/4402">#4402</a>)</li>
<li>Update TaskHasTag example rule used in custom-rules.md (<a
href="https://redirect.github.com/ansible/ansible-lint/issues/4401">#4401</a>)
<a href="https://github.com/cavcrosby"><code>@​cavcrosby</code></a></li>
<li>Add Fedora 41 as a platform in the metadata schema (<a
href="https://redirect.github.com/ansible/ansible-lint/issues/4392">#4392</a>)
<a href="https://github.com/jsf9k"><code>@​jsf9k</code></a></li>
<li>Fixing the issue &quot;Unfinished sentence in docs/profiles.md <a
href="https://redirect.github.com/ansible/ansible-lint/issues/4358">#4358</a>&quot;
(<a
href="https://redirect.github.com/ansible/ansible-lint/issues/4380">#4380</a>)
<a href="https://github.com/binojmn"><code>@​binojmn</code></a></li>
<li>Fix quotes converting free-form syntax to yaml (<a
href="https://redirect.github.com/ansible/ansible-lint/issues/4361">#4361</a>)
<a href="https://github.com/cavcrosby"><code>@​cavcrosby</code></a></li>
<li>Handle FQCN when using import_playbook (<a
href="https://redirect.github.com/ansible/ansible-lint/issues/4369">#4369</a>)
<a href="https://github.com/cavcrosby"><code>@​cavcrosby</code></a></li>
<li>Allow jinja in variable names (<a
href="https://redirect.github.com/ansible/ansible-lint/issues/4372">#4372</a>)
<a href="https://github.com/ssbarnea"><code>@​ssbarnea</code></a></li>
<li>Update rulebook schema (<a
href="https://redirect.github.com/ansible/ansible-lint/issues/4373">#4373</a>)
<a href="https://github.com/ssbarnea"><code>@​ssbarnea</code></a></li>
<li>Fix wonky writing to sarif_file (<a
href="https://redirect.github.com/ansible/ansible-lint/issues/4368">#4368</a>)
<a href="https://github.com/Qalthos"><code>@​Qalthos</code></a></li>
<li>Fix to avoid spamming syslog with invoked messages (<a
href="https://redirect.github.com/ansible/ansible-lint/issues/4353">#4353</a>)
<a
href="https://github.com/tanwigeetika1618"><code>@​tanwigeetika1618</code></a></li>
<li>Pin codecov action to v4.5.0 and update dependabot.yml to ignore
v4.6.0 (<a
href="https://redirect.github.com/ansible/ansible-lint/issues/4356">#4356</a>)
<a
href="https://github.com/tanwigeetika1618"><code>@​tanwigeetika1618</code></a></li>
<li>Update schema for missing <code>tags</code> property to builder v3
<code>options</code> (<a
href="https://redirect.github.com/ansible/ansible-lint/issues/4346">#4346</a>)
<a href="https://github.com/audgirka"><code>@​audgirka</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ansible/ansible-lint/commit/44be233dbd6a8a6d8f3c5297c318ed4ed4644c32"><code>44be233</code></a>
Require ansible-compat&gt;=24.10.0 (<a
href="https://redirect.github.com/ansible/ansible-lint/issues/4402">#4402</a>)</li>
<li><a
href="https://github.com/ansible/ansible-lint/commit/70a519d5163b1cfbf747a34fedd5d56dc82ef620"><code>70a519d</code></a>
Update TaskHasTag example rule used in custom-rules.md (<a
href="https://redirect.github.com/ansible/ansible-lint/issues/4401">#4401</a>)</li>
<li><a
href="https://github.com/ansible/ansible-lint/commit/8b47b642b9f980f3e953581fdfca6786eb237f00"><code>8b47b64</code></a>
Remove self type and update pre-commit hooks (<a
href="https://redirect.github.com/ansible/ansible-lint/issues/4400">#4400</a>)</li>
<li><a
href="https://github.com/ansible/ansible-lint/commit/444fc80bc6396903525e2602f4bfb2401514e53e"><code>444fc80</code></a>
Add Fedora 41 as a platform in the metadata schema (<a
href="https://redirect.github.com/ansible/ansible-lint/issues/4392">#4392</a>)</li>
<li><a
href="https://github.com/ansible/ansible-lint/commit/4848777c2d3df0f886300249e1e057d04f77824c"><code>4848777</code></a>
Bump mkdocstrings from 0.26.2 to 0.27.0 in /.config in the dependencies
group...</li>
<li><a
href="https://github.com/ansible/ansible-lint/commit/076d03ec5eea0035ec15b8e242998cceb1a0f371"><code>076d03e</code></a>
Replace pip-tools with uv (<a
href="https://redirect.github.com/ansible/ansible-lint/issues/4391">#4391</a>)</li>
<li><a
href="https://github.com/ansible/ansible-lint/commit/e32a77ffbebf8bf53d655600e38beacd646222e8"><code>e32a77f</code></a>
Bump ansible-core from 2.17.5 to 2.17.6 in /.config (<a
href="https://redirect.github.com/ansible/ansible-lint/issues/4390">#4390</a>)</li>
<li><a
href="https://github.com/ansible/ansible-lint/commit/4dc1085739ac6dba92a96db84977d9af642743b6"><code>4dc1085</code></a>
Add support for py313 (<a
href="https://redirect.github.com/ansible/ansible-lint/issues/4388">#4388</a>)</li>
<li><a
href="https://github.com/ansible/ansible-lint/commit/79c3707059df3f2d7197aa3359e3e7c8ff2cea85"><code>79c3707</code></a>
Fixing the issue &quot;Unfinished sentence in docs/profiles.md <a
href="https://redirect.github.com/ansible/ansible-lint/issues/4358">#4358</a>&quot;
(<a
href="https://redirect.github.com/ansible/ansible-lint/issues/4380">#4380</a>)</li>
<li><a
href="https://github.com/ansible/ansible-lint/commit/97f552ba4630adae6174eb19c6b0fead03b9c7d9"><code>97f552b</code></a>
Start using uv for testing (<a
href="https://redirect.github.com/ansible/ansible-lint/issues/4382">#4382</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/ansible/ansible-lint/compare/v24.9.2...v24.10.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `coverage` from 7.6.4 to 7.6.7
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst">coverage's
changelog</a>.</em></p>
<blockquote>
<h2>Version 7.6.7 — 2024-11-15</h2>
<ul>
<li>fix: ugh, the other assert from 7.6.5 can also be encountered in the
wild,
so it's been restored to a conditional.  Sorry for the churn.</li>
</ul>
<p>.. _changes_7-6-6:</p>
<h2>Version 7.6.6 — 2024-11-15</h2>
<ul>
<li>One of the new asserts from 7.6.5 caused problems in real projects,
as
reported in <code>issue 1891</code>_.  The assert has been removed.</li>
</ul>
<p>.. _issue 1891: <a
href="https://redirect.github.com/nedbat/coveragepy/issues/1891">nedbat/coveragepy#1891</a></p>
<p>.. _changes_7-6-5:</p>
<h2>Version 7.6.5 — 2024-11-14</h2>
<ul>
<li>
<p>fix: fine-tuned the exact Python version (3.12.6) when exiting from
<code>with</code>
statements changed how they traced. This affected whether people saw the
fix for <code>issue 1880</code>_.</p>
</li>
<li>
<p>fix: isolate our code more from mocking in the os module that in rare
cases
can cause <code>bizarre behavior &lt;pytest-cov-666_&gt;</code>_.</p>
</li>
<li>
<p>refactor: some code unreachable code paths in parser.py were changed
to
asserts.  If you encounter any of these, please let me know!</p>
</li>
</ul>
<p>.. _pytest-cov-666: <a
href="https://redirect.github.com/pytest-dev/pytest-cov/issues/666">pytest-dev/pytest-cov#666</a></p>
<p>.. _changes_7-6-4:</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/nedbat/coveragepy/commit/af89ebb81a99113bb663a64c494f4aed03c383cb"><code>af89ebb</code></a>
docs: sample HTML for 7.6.7</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/c723de2d6ab806fd9cfc2762cd10c04d904a0870"><code>c723de2</code></a>
docs: prep for 7.6.7</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/898e94a1ebb224924776f4d5e77497a40302727f"><code>898e94a</code></a>
fix: another possible assert changed back to a conditional.</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/42961d6bd4c2e379539e8dd117407fd584357384"><code>42961d6</code></a>
build: tweaks to release process</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/1a09d4aeaf7c50a7e8e164f575db901f046341ad"><code>1a09d4a</code></a>
build: bump version</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/c26fc6ee2f4a40b603ef33fd1e03de55f843c2eb"><code>c26fc6e</code></a>
docs: sample HTML for 7.6.6</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/79ad46919c72afbd996409b31d81ec6fa0a2828f"><code>79ad469</code></a>
docs: prep for 7.6.6</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/98939c9199d9196bf55e0f6d02443dbdd46d1b85"><code>98939c9</code></a>
fix: this assert is possible, remove it. <a
href="https://redirect.github.com/nedbat/coveragepy/issues/1891">#1891</a></li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/ad4a4ffaad8149133f57024f794a49d3c00baac7"><code>ad4a4ff</code></a>
build: automate the 'final' version</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/e1502e679db440b1c2a76549d2de6ac1b1a25fa2"><code>e1502e6</code></a>
build: bump version</li>
<li>Additional commits viewable in <a
href="https://github.com/nedbat/coveragepy/compare/7.6.4...7.6.7">compare
view</a></li>
</ul>
</details>
<br />

Updates `identify` from 2.6.1 to 2.6.2
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pre-commit/identify/commit/6fd6f6bea8fedb15e54f1477a49325ea82b73911"><code>6fd6f6b</code></a>
v2.6.2</li>
<li><a
href="https://github.com/pre-commit/identify/commit/6607f84704f5628126301899b819ec1700f82dd9"><code>6607f84</code></a>
Merge pull request <a
href="https://redirect.github.com/pre-commit/identify/issues/484">#484</a>
from zupo/patch-1</li>
<li><a
href="https://github.com/pre-commit/identify/commit/4c4ccfa931f2bbd12e311e31fabf5960ca74475d"><code>4c4ccfa</code></a>
Merge pull request <a
href="https://redirect.github.com/pre-commit/identify/issues/485">#485</a>
from pre-commit/pre-commit-ci-update-config</li>
<li><a
href="https://github.com/pre-commit/identify/commit/b5176c755da8a1c7bd5ff5ab475e683d4f8f691e"><code>b5176c7</code></a>
[pre-commit.ci] pre-commit autoupdate</li>
<li><a
href="https://github.com/pre-commit/identify/commit/731561220fe3ba68810520d3c442d3f027f57fd0"><code>7315612</code></a>
Add support for Elm files</li>
<li><a
href="https://github.com/pre-commit/identify/commit/4a96fe1d4b4742c830b5052bce2c6f60b53aed24"><code>4a96fe1</code></a>
Merge pull request <a
href="https://redirect.github.com/pre-commit/identify/issues/483">#483</a>
from pre-commit/pre-commit-ci-update-config</li>
<li><a
href="https://github.com/pre-commit/identify/commit/81e20b0afea06c418bcda978cf82c274ac4b3cb1"><code>81e20b0</code></a>
[pre-commit.ci] pre-commit autoupdate</li>
<li><a
href="https://github.com/pre-commit/identify/commit/3fe9f0a516b07def8cb53e4e211f7fc0ba9c7eef"><code>3fe9f0a</code></a>
Merge pull request <a
href="https://redirect.github.com/pre-commit/identify/issues/481">#481</a>
from pre-commit/all-repos_autofix_all-repos-manual</li>
<li><a
href="https://github.com/pre-commit/identify/commit/dd8ebb1a2a9bbebe2d6015303434df19d504a87e"><code>dd8ebb1</code></a>
py39+</li>
<li><a
href="https://github.com/pre-commit/identify/commit/54a447968a3fd132050b8502bfba2c3d43a65985"><code>54a4479</code></a>
Merge pull request <a
href="https://redirect.github.com/pre-commit/identify/issues/480">#480</a>
from pre-commit/pre-commit-ci-update-config</li>
<li>Additional commits viewable in <a
href="https://github.com/pre-commit/identify/compare/v2.6.1...v2.6.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `mkdocs-material` from 9.5.43 to 9.5.44
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/squidfunk/mkdocs-material/releases">mkdocs-material's
releases</a>.</em></p>
<blockquote>
<h2>mkdocs-material-9.5.44</h2>
<ul>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/7672">#7672</a>:
Font CSS 404's when using privacy plugin (9.5.43 regression)</li>
</ul>
<p>Thanks go to <a
href="https://github.com/nejch"><code>@​nejch</code></a> for their
contributions.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG">mkdocs-material's
changelog</a>.</em></p>
<blockquote>
<p>mkdocs-material-9.5.44 (2024-11-05)</p>
<ul>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/7672">#7672</a>:
Font CSS 404's when using privacy plugin (9.5.43 regression)</li>
</ul>
<p>mkdocs-material-9.5.43 (2024-10-31)</p>
<ul>
<li>Added support for external images in SVGs in privacy plugin</li>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/7651">#7651</a>:
Privacy plugin doesn't handle quoted URLs in CSS</li>
</ul>
<p>mkdocs-material-9.5.42 (2024-10-20)</p>
<ul>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/7625">#7625</a>:
Invalid encoding of boolean attributes in privacy plugin</li>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/7624">#7624</a>:
Crash when disabling privacy plugin (9.5.41 regression)</li>
</ul>
<p>mkdocs-material-9.5.41 (2024-10-15)</p>
<ul>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/7619">#7619</a>:
Improved tooltip on logo disappears after instant navigation</li>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/7616">#7616</a>:
Race condition in built-in privacy plugin when inlining assets</li>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/7615">#7615</a>:
Comments and &quot;Was this page helpful?&quot; visible when
printing</li>
</ul>
<p>mkdocs-material-9.5.40 (2024-10-10)</p>
<ul>
<li>Updated Latvian translations</li>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/7597">#7597</a>:
Social cards not using site name on home page</li>
</ul>
<p>mkdocs-material-9.5.39+insiders-4.53.14 (2024-09-29)</p>
<ul>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/7567">#7567</a>:
Empty headlines when using typeset plugin with anchorlinks</li>
</ul>
<p>mkdocs-material-9.5.39 (2024-09-29)</p>
<ul>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/7226">#7226</a>:
not staying on page when using mike's canonical versioning</li>
</ul>
<p>mkdocs-material-9.5.38 (2024-09-26)</p>
<ul>
<li>Added Albanian translations</li>
</ul>
<p>mkdocs-material-9.5.37 (2024-09-25)</p>
<ul>
<li>Added 4th and 5th level ordered list styles</li>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/7548">#7548</a>:
Tags have no spacing in search</li>
</ul>
<p>mkdocs-material-9.5.36 (2024-09-21)</p>
<ul>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/7544">#7544</a>:
Social cards incorrectly rendering HTML entities</li>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/7542">#7542</a>:
Improved support for setting custom list styles</li>
</ul>
<p>mkdocs-material-9.5.35 (2024-09-18)</p>
<ul>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/7498">#7498</a>:
Search not showing for Vietnamese language</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/squidfunk/mkdocs-material/commit/aa4ef560f059801fe2c5b0acb68c30f079dd6f5c"><code>aa4ef56</code></a>
Prepare 9.5.44 release</li>
<li><a
href="https://github.com/squidfunk/mkdocs-material/commit/eb63b608e2aabd4dc635eb360607b627f6394b51"><code>eb63b60</code></a>
Fixed file save regression in privacy plugin (<a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/7673">#7673</a>)</li>
<li><a
href="https://github.com/squidfunk/mkdocs-material/commit/ac3315fd3e25b9449306d0dac6cd535d4d32d9ea"><code>ac3315f</code></a>
Updated dependencies</li>
<li>See full diff in <a
href="https://github.com/squidfunk/mkdocs-material/compare/9.5.43...9.5.44">compare
view</a></li>
</ul>
</details>
<br />

Updates `mkdocstrings` from 0.26.2 to 0.27.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/mkdocstrings/mkdocstrings/releases">mkdocstrings's
releases</a>.</em></p>
<blockquote>
<h2>0.27.0</h2>
<h2><a
href="https://github.com/mkdocstrings/mkdocstrings/releases/tag/0.27.0">0.27.0</a>
- 2024-11-08</h2>
<p><!-- raw HTML omitted --><a
href="https://github.com/mkdocstrings/mkdocstrings/compare/0.26.2...0.27.0">Compare
with 0.26.2</a><!-- raw HTML omitted --></p>
<h3>Features</h3>
<ul>
<li>Add support for authentication in inventory file URLs (<a
href="https://github.com/mkdocstrings/mkdocstrings/commit/1c23c1b0fc4a9bdec5e0eb43c8647beab66fec55">1c23c1b</a>
by Stefan Mejlgaard). <a
href="https://redirect.github.com/mkdocstrings/mkdocstrings/issues/707">Issue-707</a>,
<a
href="https://redirect.github.com/mkdocstrings/mkdocstrings/pull/710">PR-710</a></li>
</ul>
<h3>Performance Improvements</h3>
<ul>
<li>Reduce footprint of template debug messages (<a
href="https://github.com/mkdocstrings/mkdocstrings/commit/5648e5aca80a5d8ba9e5456efb36b517b9f3cdeb">5648e5a</a>
by Timothée Mazzucotelli).</li>
</ul>
<h3>Code Refactoring</h3>
<ul>
<li>Use %-formatting for logging messages (<a
href="https://github.com/mkdocstrings/mkdocstrings/commit/0bbb8caddf34b0a4faa0ed6f26e33102dc892fc8">0bbb8ca</a>
by Timothée Mazzucotelli).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/mkdocstrings/mkdocstrings/blob/main/CHANGELOG.md">mkdocstrings's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/mkdocstrings/mkdocstrings/releases/tag/0.27.0">0.27.0</a>
- 2024-11-08</h2>
<p><!-- raw HTML omitted --><a
href="https://github.com/mkdocstrings/mkdocstrings/compare/0.26.2...0.27.0">Compare
with 0.26.2</a><!-- raw HTML omitted --></p>
<h3>Features</h3>
<ul>
<li>Add support for authentication in inventory file URLs (<a
href="https://github.com/mkdocstrings/mkdocstrings/commit/1c23c1b0fc4a9bdec5e0eb43c8647beab66fec55">1c23c1b</a>
by Stefan Mejlgaard). <a
href="https://redirect.github.com/mkdocstrings/mkdocstrings/issues/707">Issue-707</a>,
<a
href="https://redirect.github.com/mkdocstrings/mkdocstrings/pull/710">PR-710</a></li>
</ul>
<h3>Performance Improvements</h3>
<ul>
<li>Reduce footprint of template debug messages (<a
href="https://github.com/mkdocstrings/mkdocstrings/commit/5648e5aca80a5d8ba9e5456efb36b517b9f3cdeb">5648e5a</a>
by Timothée Mazzucotelli).</li>
</ul>
<h3>Code Refactoring</h3>
<ul>
<li>Use %-formatting for logging messages (<a
href="https://github.com/mkdocstrings/mkdocstrings/commit/0bbb8caddf34b0a4faa0ed6f26e33102dc892fc8">0bbb8ca</a>
by Timothée Mazzucotelli).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/mkdocstrings/mkdocstrings/commit/e0af8006aeb51eeda5cbd54fdf44433199b2f81a"><code>e0af800</code></a>
chore: Prepare release 0.27.0</li>
<li><a
href="https://github.com/mkdocstrings/mkdocstrings/commit/5648e5aca80a5d8ba9e5456efb36b517b9f3cdeb"><code>5648e5a</code></a>
perf: Reduce footprint of template debug messages</li>
<li><a
href="https://github.com/mkdocstrings/mkdocstrings/commit/0bbb8caddf34b0a4faa0ed6f26e33102dc892fc8"><code>0bbb8ca</code></a>
refactor: Use %-formatting for logging messages</li>
<li><a
href="https://github.com/mkdocstrings/mkdocstrings/commit/1c23c1b0fc4a9bdec5e0eb43c8647beab66fec55"><code>1c23c1b</code></a>
feat: Add support for authentication in inventory file URLs</li>
<li><a
href="https://github.com/mkdocstrings/mkdocstrings/commit/abc5acd0cf682e9f9bc337f424a09cdcb9de6b5b"><code>abc5acd</code></a>
Merge branch 'main' of github.com:mkdocstrings/mkdocstrings</li>
<li><a
href="https://github.com/mkdocstrings/mkdocstrings/commit/31b3b37acc15d3d765f425fd65716a833b37224b"><code>31b3b37</code></a>
chore: Template upgrade</li>
<li><a
href="https://github.com/mkdocstrings/mkdocstrings/commit/e732aaa15925a7600bbe6dee82a6ae8ee7db2a54"><code>e732aaa</code></a>
docs: Update contributing document to include tag pulling
instructions</li>
<li>See full diff in <a
href="https://github.com/mkdocstrings/mkdocstrings/compare/0.26.2...0.27.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `packaging` from 24.1 to 24.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>24.2</h2>
<h2>What's Changed</h2>
<ul>
<li>The source is auto-formatted with ruff, not black by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/798">pypa/packaging#798</a></li>
<li>Bump the github-actions group across 1 directory with 3 updates by
<a href="https://github.com/dependabot"><code>@​dependabot</code></a> in
<a
href="https://redirect.github.com/pypa/packaging/pull/813">pypa/packaging#813</a></li>
<li>Apply ruff rules (RUF) by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/800">pypa/packaging#800</a></li>
<li>Fix typo in Version <code>__str__</code> by <a
href="https://github.com/aryanpingle"><code>@​aryanpingle</code></a> in
<a
href="https://redirect.github.com/pypa/packaging/pull/817">pypa/packaging#817</a></li>
<li>Bump the github-actions group with 3 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/819">pypa/packaging#819</a></li>
<li>Get rid of duplicate test cases by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/821">pypa/packaging#821</a></li>
<li>Fix doc for canonicalize_version and a typo in a docstring by <a
href="https://github.com/Laurent-Dx"><code>@​Laurent-Dx</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/801">pypa/packaging#801</a></li>
<li>docs: public/base_version comparison by <a
href="https://github.com/henryiii"><code>@​henryiii</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/818">pypa/packaging#818</a></li>
<li>Apply ruff/bugbear rules (B) by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/787">pypa/packaging#787</a></li>
<li>Apply ruff/pyupgrade rules (UP) by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/786">pypa/packaging#786</a></li>
<li>Add a changelog entry for dropping Python 3.7 support by <a
href="https://github.com/alexwlchan"><code>@​alexwlchan</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/824">pypa/packaging#824</a></li>
<li>Patch python_full_version unconditionally by <a
href="https://github.com/jaraco"><code>@​jaraco</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/825">pypa/packaging#825</a></li>
<li>Refactor canonicalize_version by <a
href="https://github.com/jaraco"><code>@​jaraco</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/793">pypa/packaging#793</a></li>
<li>Allow creating a SpecifierSet from a list of specifiers by <a
href="https://github.com/pfmoore"><code>@​pfmoore</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/777">pypa/packaging#777</a></li>
<li>Fix uninformative error message by <a
href="https://github.com/abravalheri"><code>@​abravalheri</code></a> in
<a
href="https://redirect.github.com/pypa/packaging/pull/830">pypa/packaging#830</a></li>
<li>Fix prerelease detection for <code>&gt;</code> and <code>&lt;</code>
by <a
href="https://github.com/notatallshaw"><code>@​notatallshaw</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/794">pypa/packaging#794</a></li>
<li>Bump the github-actions group across 1 directory with 4 updates by
<a href="https://github.com/dependabot"><code>@​dependabot</code></a> in
<a
href="https://redirect.github.com/pypa/packaging/pull/839">pypa/packaging#839</a></li>
<li>Add support for PEP 730 iOS tags. by <a
href="https://github.com/freakboy3742"><code>@​freakboy3742</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/832">pypa/packaging#832</a></li>
<li>Update the changelog to reflect 24.1 changes by <a
href="https://github.com/pradyunsg"><code>@​pradyunsg</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/840">pypa/packaging#840</a></li>
<li>Mention updating changelog in release process by <a
href="https://github.com/pradyunsg"><code>@​pradyunsg</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/841">pypa/packaging#841</a></li>
<li>Add a comment as to why <code>Metadata.name</code> isn't normalized
by <a
href="https://github.com/brettcannon"><code>@​brettcannon</code></a> in
<a
href="https://redirect.github.com/pypa/packaging/pull/842">pypa/packaging#842</a></li>
<li>Use !r formatter for error messages with filenames. by <a
href="https://github.com/Carreau"><code>@​Carreau</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/844">pypa/packaging#844</a></li>
<li>PEP 639: Implement License-Expression and License-File by <a
href="https://github.com/ewdurbin"><code>@​ewdurbin</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/828">pypa/packaging#828</a></li>
<li>Bump the github-actions group with 4 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/852">pypa/packaging#852</a></li>
<li>Upgrade to latest mypy by <a
href="https://github.com/hauntsaninja"><code>@​hauntsaninja</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/853">pypa/packaging#853</a></li>
<li>Extraneous quotes by <a
href="https://github.com/ewdurbin"><code>@​ewdurbin</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/848">pypa/packaging#848</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/aryanpingle"><code>@​aryanpingle</code></a>
made their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/817">pypa/packaging#817</a></li>
<li><a
href="https://github.com/Laurent-Dx"><code>@​Laurent-Dx</code></a> made
their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/801">pypa/packaging#801</a></li>
<li><a
href="https://github.com/alexwlchan"><code>@​alexwlchan</code></a> made
their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/824">pypa/packaging#824</a></li>
<li><a href="https://github.com/jaraco"><code>@​jaraco</code></a> made
their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/825">pypa/packaging#825</a></li>
<li><a
href="https://github.com/notatallshaw"><code>@​notatallshaw</code></a>
made their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/794">pypa/packaging#794</a></li>
<li><a
href="https://github.com/freakboy3742"><code>@​freakboy3742</code></a>
made their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/832">pypa/packaging#832</a></li>
<li><a href="https://github.com/Carreau"><code>@​Carreau</code></a> made
their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/844">pypa/packaging#844</a></li>
<li><a href="https://github.com/ewdurbin"><code>@​ewdurbin</code></a>
made their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/828">pypa/packaging#828</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/pypa/packaging/compare/24.1...24.2">https://github.com/pypa/packaging/compare/24.1...24.2</a></p>
</blockquote>
</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>24.2 - 2024-11-08</p>
<pre><code>
* PEP 639: Implement License-Expression and License-File (:issue:`828`)
* Use ``!r`` formatter for error messages with filenames (:issue:`844`)
* Add support for PEP 730 iOS tags (:issue:`832`)
* Fix prerelease detection for ``&gt;`` and ``&lt;`` (:issue:`794`)
* Fix uninformative error message (:issue:`830`)
* Refactor ``canonicalize_version`` (:issue:`793`)
* Patch python_full_version unconditionally (:issue:`825`)
* Fix doc for ``canonicalize_version`` to mention
``strip_trailing_zero`` and a typo in a docstring (:issue:`801`)
* Fix typo in Version ``__str__`` (:issue:`817`)
* Support creating a ``SpecifierSet`` from an iterable of ``Specifier``
objects (:issue:`775`)
</code></pre>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/packaging/commit/d8e3b31b734926ebbcaff654279f6855a73e052f"><code>d8e3b31</code></a>
Bump for release</li>
<li><a
href="https://github.com/pypa/packaging/commit/2de393d910926a0408496ac5583f733c4b9f0f5e"><code>2de393d</code></a>
Update changelog for release</li>
<li><a
href="https://github.com/pypa/packaging/commit/9c66f5c844bf3262f560c1521a0e6837079b16ff"><code>9c66f5c</code></a>
Remove extraneous quotes in f-strings by using <code>!r</code> (<a
href="https://redirect.github.com/pypa/packaging/issues/848">#848</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/4dc334c86d43f83371b194ca91618ed99e0e49ca"><code>4dc334c</code></a>
Upgrade to latest mypy (<a
href="https://redirect.github.com/pypa/packaging/issues/853">#853</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/d1a9f938343de11f7322151c1f6de25cbb61718b"><code>d1a9f93</code></a>
Bump the github-actions group with 4 updates (<a
href="https://redirect.github.com/pypa/packaging/issues/852">#852</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/029f41580098bcf52b69684843bdc7ea37959a7e"><code>029f415</code></a>
PEP 639: Implement License-Expression and License-File (<a
href="https://redirect.github.com/pypa/packaging/issues/828">#828</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/6c338a8425803476769151953cc5de5548e2befa"><code>6c338a8</code></a>
Use !r formatter for error messages with filenames. (<a
href="https://redirect.github.com/pypa/packaging/issues/844">#844</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/28e7da78f6f73b4856260e24051b35a4517c0149"><code>28e7da7</code></a>
Add a comment as to why <code>Metadata.name</code> isn't normalized (<a
href="https://redirect.github.com/pypa/packaging/issues/842">#842</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/ce0d79c5ab6d27e856a059fbc24c0b0a7c9d8581"><code>ce0d79c</code></a>
Mention updating changelog in release process (<a
href="https://redirect.github.com/pypa/packaging/issues/841">#841</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/ac5bdf3605ddcbfa1f672f7cf93a19fd6d3d77ea"><code>ac5bdf3</code></a>
Update the changelog to reflect 24.1 changes (<a
href="https://redirect.github.com/pypa/packaging/issues/840">#840</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/packaging/compare/24.1...24.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `regex` from 2024.9.11 to 2024.11.6
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/mrabarnett/mrab-regex/blob/hg/changelog.txt">regex's
changelog</a>.</em></p>
<blockquote>
<p>Version: 2024.11.7</p>
<pre><code>Updated pyproject.toml and setup.py according to PEP 517.
</code></pre>
<p>Version: 2024.11.6</p>
<pre><code>Git issue 546: Partial match not working in some instances
with non-greedy capture
</code></pre>
<p>Version: 2024.9.14</p>
<pre><code>Reverted to actions/download-artifact@v3 and
actions/upload-artifact@v3 in main.yml because GitHub Actions failed
when using them.
</code></pre>
<p>Version: 2024.9.13</p>
<pre><code>Updated to actions/upload-artifact@v4 in main.yml.
</code></pre>
<p>Version: 2024.9.12</p>
<pre><code>Updated to actions/download-artifact@v4 in main.yml.
</code></pre>
<p>Version: 2024.9.11</p>
<pre><code>Updated to Unicode 16.0.0.
</code></pre>
<p>Version: 2024.7.24</p>
<pre><code>Git issue 539: Bug: Partial matching fails on a simple
example
</code></pre>
<p>Version: 2024.6.22</p>
<pre><code>Git issue 535: Regex fails Unicode 15.1 GraphemeBreakTest due
to missing new GB9c rule implementation
</code></pre>
<p>Version: 2024.5.15</p>
<pre><code>Git issue 530: hangs with fuzzy and optionals
<p>It's not hanging, it'll finish eventually. It's just an example of
catastrophic backtracking.</p>
<p>The error printed when Ctrl+C is pressed does show a bug, though,
which is now fixed.<br />
</code></pre></p>
<p>Version: 2024.5.10</p>
<pre><code>Updated for Python 3.13.
<p>&lt;time.h&gt; now needs to be included explicitly because Python.h
no longer includes it.<br />
</code></pre></p>
<p>Version: 2024.4.28</p>
<pre><code>Git issue 527: `VERBOSE`/`X` flag breaks `\N` escapes
</code></pre>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/mrabarnett/mrab-regex/commit/930983aa68ffc133ec086ef16cabdbb9c0c491ea"><code>930983a</code></a>
Git issue 546: Partial match not working in some instances with
non-greedy ca...</li>
<li><a
href="https://github.com/mrabarnett/mrab-regex/commit/64834c729b8e117c1f9a471d9e1e51f32b69a121"><code>64834c7</code></a>
Reverted to actions/download-artifact@v3 and actions/upload-artifact@v3
in ma...</li>
<li><a
href="https://github.com/mrabarnett/mrab-regex/commit/1bcd42e8381feaf3040f4b4a6a10dab912e6b59c"><code>1bcd42e</code></a>
Updated to actions/upload-artifact@v4 in main.yml.</li>
<li><a
href="https://github.com/mrabarnett/mrab-regex/commit/f46728542b4fea608022016ab560d9abc8ad7f7f"><code>f467285</code></a>
Updated to actions/download-artifact@v4 in main.yml.</li>
<li>See full diff in <a
href="https://github.com/mrabarnett/mrab-regex/compare/2024.9.11...2024.11.6">compare
view</a></li>
</ul>
</details>
<br />

Updates `regress` from 2024.8.1 to 2024.11.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/crate-py/regress/releases">regress's
releases</a>.</em></p>
<blockquote>
<h2>v2024.11.1</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Add support for passing flags as strings by <a
href="https://github.com/sirosen"><code>@​sirosen</code></a> in <a
href="https://redirect.github.com/crate-py/regress/pull/52">crate-py/regress#52</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/crate-py/regress/compare/v2024.8.1...v2024.11.1">https://github.com/crate-py/regress/compare/v2024.8.1...v2024.11.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/crate-py/regress/commit/8ad04277de6cee4f47b848293c36639f9c361cfe"><code>8ad0427</code></a>
Release v2024.11.1</li>
<li><a
href="https://github.com/crate-py/regress/commit/bbdc2c53b31aea334b3849bd3973c5d64ed3a0a1"><code>bbdc2c5</code></a>
Oh hello there zizmor.</li>
<li><a
href="https://github.com/crate-py/regress/commit/3dbc35cb28906f808b83dc9d1c83bcd9c5e5b2b7"><code>3dbc35c</code></a>
Merge pull request <a
href="https://redirect.github.com/crate-py/regress/issues/52">#52</a>
from sirosen/expose-flags</li>
<li><a
href="https://github.com/crate-py/regress/commit/df9b07b3f58cdf0098f0b15cffb7f49479415a52"><code>df9b07b</code></a>
Update type stubs: add flags and RegressError</li>
<li><a
href="https://github.com/crate-py/regress/commit/1dab4394ab4b3e31d4dbe5a6e075809321bf4114"><code>1dab439</code></a>
Add support for passing flags as strings</li>
<li><a
href="https://github.com/crate-py/regress/commit/3819d3464178855b6ba22df9a8edc7d09610339e"><code>3819d34</code></a>
Minor package setup tweaks.</li>
<li><a
href="https://github.com/crate-py/regress/commit/8e9a81c874425e03e78b04f1eec1eeb71d4598b1"><code>8e9a81c</code></a>
Run tests with --profile=dev which can catch some more Rust issues.</li>
<li><a
href="https://github.com/crate-py/regress/commit/0417b563a1a60482cce88c3b596f1e2134f9a2ce"><code>0417b56</code></a>
Drop support for 3.8, which is EOL.</li>
<li><a
href="https://github.com/crate-py/regress/commit/3c15ddf549f639fe7be62d533ba8b353344faa86"><code>3c15ddf</code></a>
Merge pull request <a
href="https://redirect.github.com/crate-py/regress/issues/50">#50</a>
from crate-py/pre-commit-ci-update-config</li>
<li><a
href="https://github.com/crate-py/regress/commit/5aa9285be11d1ecc9dfca12e72836b4eb125f3cd"><code>5aa9285</code></a>
[pre-commit.ci] pre-commit autoupdate</li>
<li>Additional commits viewable in <a
href="https://github.com/crate-py/regress/compare/v2024.8.1...v2024.11.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `resolvelib` from 1.0.1 to 1.1.0
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/sarugaku/resolvelib/blob/main/CHANGELOG.rst">resolvelib's
changelog</a>.</em></p>
<blockquote>
<h1>1.1.0 (2024-10-31)</h1>
<p>No significant changes.</p>
<h1>1.1.0b1 (2024-10-01)</h1>
<h2>Features</h2>
<ul>
<li>
<p>Declare supported Python version support &quot;&gt;= 3.7&quot; in
dist meta
<code>[#129](https://github.com/sarugaku/resolvelib/issues/129)
&lt;https://github.com/sarugaku/resolvelib/issues/129&gt;</code>_</p>
</li>
<li>
<p>Improve exception chaining when ResolutionImpossible raises during
backjumping
<code>[#133](https://github.com/sarugaku/resolvelib/issues/133)
&lt;https://github.com/sarugaku/resolvelib/issues/133&gt;</code>_</p>
</li>
<li>
<p>Switch from pyi files to modern annotations based type hinting
<code>[#135](https://github.com/sarugaku/resolvelib/issues/135)
&lt;https://github.com/sarugaku/resolvelib/issues/135&gt;</code>_</p>
</li>
<li>
<p>In tests the commentjson test dependency with re.sub
<code>[#141](https://github.com/sarugaku/resolvelib/issues/141)
&lt;https://github.com/sarugaku/resolvelib/issues/141&gt;</code>_</p>
</li>
<li>
<p>Deduplicate failure causes to save memory and reduce backtracking
overhead <code>[#143](https://github.com/sarugaku/resolvelib/issues/143)
&lt;https://github.com/sarugaku/resolvelib/issues/143&gt;</code>_</p>
</li>
<li>
<p>New <code>narrow_requirement_selection</code> provider method giving
option for
providers to reduce the number of times sort key
<code>get_preference</code> is
called in long running backtrack
<code>[#145](https://github.com/sarugaku/resolvelib/issues/145)
&lt;https://github.com/sarugaku/resolvelib/issues/145&gt;</code>_</p>
</li>
<li>
<p>Run tests against Python 3.12, 3.13, and use latest version of CI
dependencies
<code>[#153](https://github.com/sarugaku/resolvelib/issues/153)
&lt;https://github.com/sarugaku/resolvelib/issues/153&gt;</code>_</p>
</li>
<li>
<p>Update py2ndex script to use metadata files, skip 404, and support
PEP 723 <code>[#156](https://github.com/sarugaku/resolvelib/issues/156)
&lt;https://github.com/sarugaku/resolvelib/issues/156&gt;</code>_</p>
</li>
<li>
<p>Replace setuptools.cfg and mypy.ini with pyproject.toml
<code>[#157](https://github.com/sarugaku/resolvelib/issues/157)
&lt;https://github.com/sarugaku/resolvelib/issues/157&gt;</code>_</p>
</li>
<li>
<p>Add tests type &quot;unvisited&quot; to functional Python tests to
ensure backjumping
is correctly skipping candidates
<code>[#158](https://github.com/sarugaku/resolvelib/issues/158)
&lt;https://github.com/sarugaku/resolvelib/issues/158&gt;</code>_</p>
</li>
<li>
<p>Switch from flake8 to ruff for linting
<code>[#160](https://github.com/sarugaku/resolvelib/issues/160)
&lt;https://github.com/sarugaku/resolvelib/issues/160&gt;</code>_</p>
</li>
<li>
<p>Enable automatic TYPE_CHECK guarding for imports only used for type
hinting
via ruff rules TCH and FA
<code>[#166](https://github.com/sarugaku/resolvelib/issues/166)
&lt;https://github.com/sarugaku/resolvelib/issues/166&gt;</code>_</p>
</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li>
<p>Fix example reporter_demo <code>get_preference</code> method which
requires arg <code>backtrack_causes</code>
<code>[#136](https://github.com/sarugaku/resolvelib/issues/136)
&lt;https://github.com/sarugaku/resolvelib/issues/136&gt;</code>_</p>
</li>
<li>
<p>Clarify the docstrings for <code>providers.py</code>
<code>[#138](https://github.com/sarugaku/resolvelib/issues/138)
&lt;https://github.com/sarugaku/resolvelib/issues/138&gt;</code>_</p>
</li>
<li>
<p>Pin Black version for linting to prevent CI failures
<code>[#150](https://github.com/sarugaku/resolvelib/issues/150)
&lt;https://github.com/sarugaku/resolvelib/issues/150&gt;</code>_</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/sarugaku/resolvelib/commit/f7d1404e6a9b8edf073ee5c47d9c07ee62021de1"><code>f7d1404</code></a>
Release 1.1.0</li>
<li><a
href="https://github.com/sarugaku/resolvelib/commit/1cc3d6d46693bb55b88027d96d3545050f2f261a"><code>1cc3d6d</code></a>
Release 1.1.0b1 (<a
href="https://redirect.github.com/sarugaku/resolvelib/issues/169">#169</a>)</li>
<li><a
href="https://github.com/sarugaku/resolvelib/commit/9aa90048818db7a30adc7a107c0c58236ebff89c"><code>9aa9004</code></a>
chore(ci): setup automated release workflow (<a
href="https://redirect.github.com/sarugaku/resolvelib/issues/168">#168</a>)</li>
<li><a
href="https://github.com/sarugaku/resolvelib/commit/16d606d03e415803dadcced92e41057c75b3da1f"><code>16d606d</code></a>
feat: Allow provider to filter unsatisfied names, when backtracking (<a
href="https://redirect.github.com/sarugaku/resolvelib/issues/145">#145</a>)</li>
<li><a
href="https://github.com/sarugaku/resolvelib/commit/b45601dbe516f578d71223c1ce1d5a1d79ae8ed2"><code>b45601d</code></a>
Merge pull request <a
href="https://redirect.github.com/sarugaku/resolvelib/issues/166">#166</a>
from notatallshaw/guard-type-hinting</li>
<li><a
href="https://github.com/sarugaku/resolvelib/commit/4cb0a2399c32fd2b13e3922a7f3fbcba41ba1a10"><code>4cb0a23</code></a>
Merge pull request <a
href="https://redirect.github.com/sarugaku/resolvelib/issues/165">#165</a>
from notatallshaw/enable-isort</li>
<li><a
href="https://github.com/sarugaku/resolvelib/commit/34e7f837e854dddb4edaa10ef2715707936325d1"><code>34e7f83</code></a>
Merge pull request <a
href="https://redirect.github.com/sarugaku/resolvelib/issues/167">#167</a>
from notatallshaw/Add-news-fragments</li>
<li><a
href="https://github.com/sarugaku/resolvelib/commit/1e24847ceab28a179366f7e30463ee30e8fffd9d"><code>1e24847</code></a>
News entry</li>
<li><a
href="https://github.com/sarugaku/resolvelib/commit/37b8b82d5e332baf37b011a6455deb0aeca0518e"><code>37b8b82</code></a>
News entry</li>
<li><a
href="https://github.com/sarugaku/resolvelib/commit/29ee5be8cb737a51084b4d446a43cc716cc63f69"><code>29ee5be</code></a>
Add news fragments</li>
<li>Additional commits viewable in <a
href="https://github.com/sarugaku/resolvelib/compare/1.0.1...1.1.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `rpds-py` from 0.20.1 to 0.21.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/crate-py/rpds/releases">rpds-py's
releases</a>.</em></p>
<blockquote>
<h2>v0.21.0</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>bump pyO3 to 0.22.6 by <a
href="https://github.com/minrk"><code>@​minrk</code></a> in <a
href="https://redirect.github.com/crate-py/rpds/pull/97">crate-py/rpds#97</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/minrk"><code>@​minrk</code></a> made
their first contribution in <a
href="https://redirect.github.com/crate-py/rpds/pull/97">crate-py/rpds#97</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/crate-py/rpds/compare/v0.20.1...v0.21.0">https://github.com/crate-py/rpds/compare/v0.20.1...v0.21.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/crate-py/rpds/commit/73581d8dfc56a24eac6ee32c83e6759b4506bb71"><code>73581d8</code></a>
Release v0.21.0</li>
<li><a
href="https://github.com/crate-py/rpds/commit/32c53dcabf8d44430a51a5a62ad309d0b2c214d5"><code>32c53dc</code></a>
Oh hello there zizmor.</li>
<li><a
href="https://github.com/crate-py/rpds/commit/da707ab4f460148330a90e9cf656f7cefab4c6f2"><code>da707ab</code></a>
Add a link to the upstream repo.</li>
<li><a
href="https://github.com/crate-py/rpds/commit/30de85b475ea1f3e72de83c86eaa2a88b22a58a7"><code>30de85b</code></a>
The packaging docs apparently discourage license.</li>
<li><a
href="https://github.com/crate-py/rpds/commit/e39adf880947066d2b7f21a3b5aec09901e762d3"><code>e39adf8</code></a>
Merge pull request <a
href="https://redirect.github.com/crate-py/rpds/issues/97">#97</a> from
minrk/pyo3-bump</li>
<li><a
href="https://github.com/crate-py/rpds/commit/c0f173e3f257be85d936559a999bd947639a171b"><code>c0f173e</code></a>
bump pyO3 to 0.22.6</li>
<li><a
href="https://github.com/crate-py/rpds/commit/de9cf8d770c4ab4b9aa232ace9b3252df22323eb"><code>de9cf8d</code></a>
Update requirements.</li>
<li><a
href="https://github.com/crate-py/rpds/commit/f949b5bf80c0e516ba5d4a47075bcaf5fb2d4a67"><code>f949b5b</code></a>
Drop support for 3.8, which is EOL.</li>
<li>See full diff in <a
href="https://github.com/crate-py/rpds/compare/v0.20.1...v0.21.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `ruff` from 0.7.2 to 0.7.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/releases">ruff's
releases</a>.</em></p>
<blockquote>
<h2>0.7.4</h2>
<h2>Release Notes</h2>
<h3>Preview features</h3>
<ul>
<li>[<code>flake8-datetimez</code>] Detect usages of
<code>datetime.max</code>/<code>datetime.min</code>
(<code>DTZ901</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14288">#14288</a>)</li>
<li>[<code>flake8-logging</code>] Implement
<code>root-logger-calls</code> (<code>LOG015</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14302">#14302</a>)</li>
<li>[<code>flake8-no-pep420</code>] Detect empty implicit namespace
packages (<code>INP001</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14236">#14236</a>)</li>
<li>[<code>flake8-pyi</code>] Add &quot;replace with
<code>Self</code>&quot; fix (<code>PYI019</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14238">#14238</a>)</li>
<li>[<code>perflint</code>] Implement quick-fix for
<code>manual-list-comprehension</code> (<code>PERF401</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/13919">#13919</a>)</li>
<li>[<code>pylint</code>] Implement <code>shallow-copy-environ</code>
(<code>W1507</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14241">#14241</a>)</li>
<li>[<code>ruff</code>] Implement <code>none-not-at-end-of-union</code>
(<code>RUF036</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14314">#14314</a>)</li>
<li>[<code>ruff</code>] Implementation <code>unsafe-markup-call</code>
from <code>flake8-markupsafe</code> plugin (<code>RUF035</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14224">#14224</a>)</li>
<li>[<code>ruff</code>] Report problems for <code>attrs</code>
dataclasses (<code>RUF008</code>, <code>RUF009</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14327">#14327</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>[<code>flake8-boolean-trap</code>] Exclude dunder methods that
define operators (<code>FBT001</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14203">#14203</a>)</li>
<li>[<code>flake8-pyi</code>] Add &quot;replace with
<code>Self</code>&quot; fix (<code>PYI034</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14217">#14217</a>)</li>
<li>[<code>flake8-pyi</code>] Always autofix
<code>duplicate-union-members</code> (<code>PYI016</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14270">#14270</a>)</li>
<li>[<code>flake8-pyi</code>] Improve autofix for nested and mixed type
unions for <code>unnecessary-type-union</code> (<code>PYI055</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14272">#14272</a>)</li>
<li>[<code>flake8-pyi</code>] Mark fix as unsafe when type annotation
contains comments for <code>duplicate-literal-member</code>
(<code>PYI062</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14268">#14268</a>)</li>
</ul>
<h3>Server</h3>
<ul>
<li>Use the current working directory to resolve settings from
<code>ruff.configuration</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14352">#14352</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Avoid conflicts between <code>PLC014</code>
(<code>useless-import-alias</code>) and <code>I002</code>
(<code>missing-required-import</code>) by considering
<code>lint.isort.required-imports</code> for <code>PLC014</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14287">#14287</a>)</li>
<li>[<code>flake8-type-checking</code>] Skip quoting annotation if it
becomes invalid syntax (<code>TCH001</code>)</li>
<li>[<code>flake8-pyi</code>] Avoid using <code>typing.Self</code> in
stub files pre-Python 3.11 (<code>PYI034</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14230">#14230</a>)</li>
<li>[<code>flake8-pytest-style</code>] Flag <code>pytest.raises</code>
call with keyword argument <code>expected_exception</code>
(<code>PT011</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14298">#14298</a>)</li>
<li>[<code>flake8-simplify</code>] Infer &quot;unknown&quot; truthiness
for literal iterables whose items are all unpacks (<code>SIM222</code>)
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/14263">#14263</a>)</li>
<li>[<code>flake8-type-checking</code>] Fix false positives for
<code>typing.Annotated</code> (<code>TCH001</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14311">#14311</a>)</li>
<li>[<code>pylint</code>] Allow <code>await</code> at the top-level
scope of a notebook (<code>PLE1142</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14225">#14225</a>)</li>
<li>[<code>pylint</code>] Fix miscellaneous issues in
<code>await-outside-async</code> detection (<code>PLE1142</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14218">#14218</a>)</li>
<li>[<code>pyupgrade</code>] Avoid applying PEP 646 rewrites in invalid
contexts (<code>UP044</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14234">#14234</a>)</li>
<li>[<code>pyupgrade</code>] Detect permutations in redundant open modes
(<code>UP015</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14255">#14255</a>)</li>
<li>[<code>refurb</code>] Avoid triggering
<code>hardcoded-string-charset</code> for reordered sets
(<code>FURB156</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14233">#14233</a>)</li>
<li>[<code>refurb</code>] Further special cases added to
<code>verbose-decimal-constructor</code> (<code>FURB157</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14216">#14216</a>)</li>
<li>[<code>refurb</code>] Use <code>UserString</code> instead of
non-existent <code>UserStr</code> (<code>FURB189</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14209">#14209</a>)</li>
<li>[<code>ruff</code>] Avoid treating lowercase letters as <code>#
noqa</code> codes (<code>RUF100</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14229">#14229</a>)</li>
<li>[<code>ruff</code>] Do not report when <code>Optional</code> has no
type arguments (<code>RUF013</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14181">#14181</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Add &quot;Notebook behavior&quot; section for <code>F704</code>,
<code>PLE1142</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14266">#14266</a>)</li>
<li>Document comment policy around fix safety (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14300">#14300</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md">ruff's
changelog</a>.</em></p>
<blockquote>
<h2>0.7.4</h2>
<h3>Preview features</h3>
<ul>
<li>[<code>flake8-datetimez</code>] Detect usages of
<code>datetime.max</code>/<code>datetime.min</code>
(<code>DTZ901</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14288">#14288</a>)</li>
<li>[<code>flake8-logging</code>] Implement
<code>root-logger-calls</code> (<code>LOG015</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14302">#14302</a>)</li>
<li>[<code>flake8-no-pep420</code>] Detect empty implicit namespace
packages (<code>INP001</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14236">#14236</a>)</li>
<li>[<code>flake8-pyi</code>] Add &quot;replace with
<code>Self</code>&quot; fix (<code>PYI019</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14238">#14238</a>)</li>
<li>[<code>perflint</code>] Implement quick-fix for
<code>manual-list-comprehension</code> (<code>PERF401</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/13919">#13919</a>)</li>
<li>[<code>pylint</code>] Implement <code>shallow-copy-environ</code>
(<code>W1507</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14241">#14241</a>)</li>
<li>[<code>ruff</code>] Implement <code>none-not-at-end-of-union</code>
(<code>RUF036</code>) (<a
href="https://redirect.github.com/as…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants