Skip to content

feat: file extension tags - #1037

Draft
cgetzen wants to merge 30 commits into
StuffAnThings:developfrom
cgetzen-forks:feat/extension-tags
Draft

feat: file extension tags#1037
cgetzen wants to merge 30 commits into
StuffAnThings:developfrom
cgetzen-forks:feat/extension-tags

Conversation

@cgetzen

@cgetzen cgetzen commented Dec 19, 2025

Copy link
Copy Markdown

Description

This introduces the ability to tag torrents based on file extensions with a new configuration option "file_extension" that matches the format of "tracker". For example:

file_extension:
  iso:
    tag: ISO
  rar:
    tag: [RAR, Archived]
  tar.gz|tar.bz2|tar.xz:
    tag: Tar

Fixes: #641

Type of change

  • New feature (non-breaking change which adds functionality)
  • This change requires a documentation update

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated the docstring for new or existing methods
  • I have modified this PR to merge to the develop branch
image

github-actions Bot and others added 30 commits November 29, 2025 14:59
Bumps [fastapi](https://github.com/fastapi/fastapi) from 0.122.0 to
0.123.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/fastapi/fastapi/releases">fastapi's
releases</a>.</em></p>
<blockquote>
<h2>0.123.0</h2>
<h3>Fixes</h3>
<ul>
<li>🐛 Cache dependencies that don't use scopes and don't have
sub-dependencies with scopes. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14419">#14419</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
<h2>0.122.1</h2>
<h3>Fixes</h3>
<ul>
<li>🐛 Fix hierarchical security scope propagation. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/5624">#5624</a>
by <a
href="https://github.com/kristjanvalur"><code>@​kristjanvalur</code></a>.</li>
</ul>
<h3>Docs</h3>
<ul>
<li>💅 Update CSS to explicitly use emoji font. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14415">#14415</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
<h3>Internal</h3>
<ul>
<li>⬆ Bump markdown-include-variants from 0.0.5 to 0.0.6. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14418">#14418</a>
by <a
href="https://github.com/YuriiMotov"><code>@​YuriiMotov</code></a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/fastapi/fastapi/commit/f2bab952678f301349c9805dd576af9425a95953"><code>f2bab95</code></a>
🔖 Release version 0.123.0</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/c38e3e0108852f0dfec0e9bb5fec7b3ccf7ddad3"><code>c38e3e0</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/7fbd30460f480e90faf321b9158bffb5116000d5"><code>7fbd304</code></a>
🐛 Cache dependencies that don't use scopes and don't have
sub-dependencies wi...</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/63d7a2b9978258d13dfc22664e60fc2110d30e20"><code>63d7a2b</code></a>
🔖 Release version 0.122.1</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/7681f2904d2f902057e357c107adf39ecfb14ea9"><code>7681f29</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/378ad688b7e57efb190506b3b36be65eb8ad5e6f"><code>378ad68</code></a>
🐛 Fix hierarchical security scope propagation (<a
href="https://redirect.github.com/fastapi/fastapi/issues/5624">#5624</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/c6487ed632056e450d844846a1b63be551a3cbc6"><code>c6487ed</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/62a69740041726b8c27815f6246272db5ebf7ee5"><code>62a6974</code></a>
⬆ Bump markdown-include-variants from 0.0.5 to 0.0.6 (<a
href="https://redirect.github.com/fastapi/fastapi/issues/14418">#14418</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/998288261af114efd39fb2061ed7ceba32f8699f"><code>9982882</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/8ab7167eaf046fb1c7a700dd72e773bb16e7d88f"><code>8ab7167</code></a>
💅 Update CSS to explicitly use emoji font (<a
href="https://redirect.github.com/fastapi/fastapi/issues/14415">#14415</a>)</li>
<li>See full diff in <a
href="https://github.com/fastapi/fastapi/compare/0.122.0...0.123.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.14.6 to 0.14.7.
<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.14.7</h2>
<h2>Release Notes</h2>
<p>Released on 2025-11-28.</p>
<h3>Preview features</h3>
<ul>
<li>[<code>flake8-bandit</code>] Handle string literal bindings in
suspicious-url-open-usage (<code>S310</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21469">#21469</a>)</li>
<li>[<code>pylint</code>] Fix <code>PLR1708</code> false positives on
nested functions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21177">#21177</a>)</li>
<li>[<code>pylint</code>] Fix suppression for empty dict without tuple
key annotation (<code>PLE1141</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21290">#21290</a>)</li>
<li>[<code>ruff</code>] Add rule <code>RUF066</code> to detect
unnecessary class properties (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21535">#21535</a>)</li>
<li>[<code>ruff</code>] Catch more dummy variable uses
(<code>RUF052</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/19799">#19799</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>[server] Set severity for non-rule diagnostics (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21559">#21559</a>)</li>
<li>[<code>flake8-implicit-str-concat</code>] Avoid invalid fix in
(<code>ISC003</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21517">#21517</a>)</li>
<li>[<code>parser</code>] Fix panic when parsing IPython escape command
expressions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21480">#21480</a>)</li>
</ul>
<h3>CLI</h3>
<ul>
<li>Show partial fixability indicator in statistics output (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21513">#21513</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/mikeleppane"><code>@​mikeleppane</code></a></li>
<li><a href="https://github.com/senekor"><code>@​senekor</code></a></li>
<li><a
href="https://github.com/ShaharNaveh"><code>@​ShaharNaveh</code></a></li>
<li><a
href="https://github.com/JumboBear"><code>@​JumboBear</code></a></li>
<li><a
href="https://github.com/prakhar1144"><code>@​prakhar1144</code></a></li>
<li><a href="https://github.com/tsvikas"><code>@​tsvikas</code></a></li>
<li><a
href="https://github.com/danparizher"><code>@​danparizher</code></a></li>
<li><a
href="https://github.com/chirizxc"><code>@​chirizxc</code></a></li>
<li><a
href="https://github.com/AlexWaygood"><code>@​AlexWaygood</code></a></li>
<li><a
href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li>
</ul>
<h2>Install ruff 0.14.7</h2>
<h3>Install prebuilt binaries via shell script</h3>
<pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf
https://github.com/astral-sh/ruff/releases/download/0.14.7/ruff-installer.sh
| sh
</code></pre>
<h3>Install prebuilt binaries via powershell script</h3>
<pre lang="sh"><code>powershell -ExecutionPolicy Bypass -c &quot;irm
https://github.com/astral-sh/ruff/releases/download/0.14.7/ruff-installer.ps1
| iex&quot;
</code></pre>
<!-- 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.14.7</h2>
<p>Released on 2025-11-28.</p>
<h3>Preview features</h3>
<ul>
<li>[<code>flake8-bandit</code>] Handle string literal bindings in
suspicious-url-open-usage (<code>S310</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21469">#21469</a>)</li>
<li>[<code>pylint</code>] Fix <code>PLR1708</code> false positives on
nested functions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21177">#21177</a>)</li>
<li>[<code>pylint</code>] Fix suppression for empty dict without tuple
key annotation (<code>PLE1141</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21290">#21290</a>)</li>
<li>[<code>ruff</code>] Add rule <code>RUF066</code> to detect
unnecessary class properties (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21535">#21535</a>)</li>
<li>[<code>ruff</code>] Catch more dummy variable uses
(<code>RUF052</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/19799">#19799</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>[server] Set severity for non-rule diagnostics (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21559">#21559</a>)</li>
<li>[<code>flake8-implicit-str-concat</code>] Avoid invalid fix in
(<code>ISC003</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21517">#21517</a>)</li>
<li>[<code>parser</code>] Fix panic when parsing IPython escape command
expressions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21480">#21480</a>)</li>
</ul>
<h3>CLI</h3>
<ul>
<li>Show partial fixability indicator in statistics output (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21513">#21513</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/mikeleppane"><code>@​mikeleppane</code></a></li>
<li><a href="https://github.com/senekor"><code>@​senekor</code></a></li>
<li><a
href="https://github.com/ShaharNaveh"><code>@​ShaharNaveh</code></a></li>
<li><a
href="https://github.com/JumboBear"><code>@​JumboBear</code></a></li>
<li><a
href="https://github.com/prakhar1144"><code>@​prakhar1144</code></a></li>
<li><a href="https://github.com/tsvikas"><code>@​tsvikas</code></a></li>
<li><a
href="https://github.com/danparizher"><code>@​danparizher</code></a></li>
<li><a
href="https://github.com/chirizxc"><code>@​chirizxc</code></a></li>
<li><a
href="https://github.com/AlexWaygood"><code>@​AlexWaygood</code></a></li>
<li><a
href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/astral-sh/ruff/commit/ecab623fb2fe3846de4cafa0dfef0385a7245941"><code>ecab623</code></a>
Bump 0.14.7 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/21684">#21684</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/42f152108aad444b7d65359aea931be4dd15dffd"><code>42f1521</code></a>
[ty] Generic types aliases (implicit and PEP 613) (<a
href="https://redirect.github.com/astral-sh/ruff/issues/21553">#21553</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/594b7b04d3b04bcf42861f86207017c8117678ca"><code>594b7b0</code></a>
[ty] Preserve quoting style when autofixing <code>TypedDict</code> keys
(<a
href="https://redirect.github.com/astral-sh/ruff/issues/21682">#21682</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/b5b4917d7f4a324f5d32cc55dfb1d08e75cc9e6f"><code>b5b4917</code></a>
[ty] Fix override of final method summary (<a
href="https://redirect.github.com/astral-sh/ruff/issues/21681">#21681</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/0084e94f78742685ddacf2dab28530c2ece3393e"><code>0084e94</code></a>
[ty] Fix subtyping of <code>type[Any]</code> / <code>type[T]</code> and
protocols (<a
href="https://redirect.github.com/astral-sh/ruff/issues/21678">#21678</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/566c959add8c5aa5d25fd14db513c792e4048b50"><code>566c959</code></a>
[ty] Rename <code>ReferenceRequestHandler</code> file (<a
href="https://redirect.github.com/astral-sh/ruff/issues/21680">#21680</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/8bcfc198b83051db0c8a3c7b8f0c8a8c339947c7"><code>8bcfc19</code></a>
[ty] Implement <code>typing.final</code> for methods (<a
href="https://redirect.github.com/astral-sh/ruff/issues/21646">#21646</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/c534bfaf01671b8020edd440bc7f4f22070af583"><code>c534bfa</code></a>
[ty] Implement patterns and typevars in the LSP (<a
href="https://redirect.github.com/astral-sh/ruff/issues/21671">#21671</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/5e1b2eef5797b00de8329bf38ceacf5cacd00c87"><code>5e1b2ee</code></a>
[ty] implement rendering of <code>.. code:: lang</code> in docstrings
(<a
href="https://redirect.github.com/astral-sh/ruff/issues/21665">#21665</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/98681b9356bd0b8ef086cc54118b58de532c5310"><code>98681b9</code></a>
[ty] Add <code>db</code> parameter to <code>Parameters::new</code>
method (<a
href="https://redirect.github.com/astral-sh/ruff/issues/21674">#21674</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.14.6...0.14.7">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [fastapi](https://github.com/fastapi/fastapi) from 0.123.0 to
0.123.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/fastapi/fastapi/releases">fastapi's
releases</a>.</em></p>
<blockquote>
<h2>0.123.4</h2>
<h3>Fixes</h3>
<ul>
<li>🐛 Fix OpenAPI schema support for computed fields when using
<code>separate_input_output_schemas=False</code>. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/13207">#13207</a>
by <a href="https://github.com/vgrafe"><code>@​vgrafe</code></a>.</li>
</ul>
<h3>Docs</h3>
<ul>
<li>📝 Fix docstring of <code>servers</code> parameter. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14405">#14405</a>
by <a
href="https://github.com/YuriiMotov"><code>@​YuriiMotov</code></a>.</li>
</ul>
<h2>0.123.3</h2>
<h3>Fixes</h3>
<ul>
<li>🐛 Fix Query\Header\Cookie parameter model alias. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14360">#14360</a>
by <a
href="https://github.com/YuriiMotov"><code>@​YuriiMotov</code></a>.</li>
<li>🐛 Fix optional sequence handling in <code>serialize sequence
value</code> with Pydantic V2. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14297">#14297</a>
by <a
href="https://github.com/YuriiMotov"><code>@​YuriiMotov</code></a>.</li>
</ul>
<h2>0.123.2</h2>
<h3>Fixes</h3>
<ul>
<li>🐛 Fix unformatted <code>{type_}</code> in FastAPIError. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14416">#14416</a>
by <a
href="https://github.com/Just-Helpful"><code>@​Just-Helpful</code></a>.</li>
<li>🐛 Fix parsing extra non-body parameter list. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14356">#14356</a>
by <a
href="https://github.com/YuriiMotov"><code>@​YuriiMotov</code></a>.</li>
<li>🐛 Fix parsing extra <code>Form</code> parameter list. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14303">#14303</a>
by <a
href="https://github.com/YuriiMotov"><code>@​YuriiMotov</code></a>.</li>
<li>🐛 Fix support for form values with empty strings interpreted as
missing (<code>None</code> if that's the default), for compatibility
with HTML forms. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/13537">#13537</a>
by <a
href="https://github.com/MarinPostma"><code>@​MarinPostma</code></a>.</li>
</ul>
<h3>Docs</h3>
<ul>
<li>📝 Add tip on how to install <code>pip</code> in case of <code>No
module named pip</code> error in <code>virtual-environments.md</code>.
PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14211">#14211</a>
by <a
href="https://github.com/zadevhub"><code>@​zadevhub</code></a>.</li>
<li>📝 Update Primary Key notes for the SQL databases tutorial to avoid
confusion. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14120">#14120</a>
by <a
href="https://github.com/FlaviusRaducu"><code>@​FlaviusRaducu</code></a>.</li>
<li>📝 Clarify estimation note in documentation. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14070">#14070</a>
by <a
href="https://github.com/SaisakthiM"><code>@​SaisakthiM</code></a>.</li>
</ul>
<h2>0.123.1</h2>
<h3>Fixes</h3>
<ul>
<li>🐛 Avoid accessing non-existing &quot;$ref&quot; key for Pydantic v2
compat remapping. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14361">#14361</a>
by <a
href="https://github.com/svlandeg"><code>@​svlandeg</code></a>.</li>
<li>🐛 Fix <code>TypeError</code> when encoding a decimal with a
<code>NaN</code> or <code>Infinity</code> value. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/12935">#12935</a>
by <a
href="https://github.com/kentwelcome"><code>@​kentwelcome</code></a>.</li>
</ul>
<h3>Internal</h3>
<ul>
<li>🐛 Fix Windows UnicodeEncodeError in CLI test. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14295">#14295</a>
by <a
href="https://github.com/hemanth-thirthahalli"><code>@​hemanth-thirthahalli</code></a>.</li>
<li>🔧 Update sponsors: add Greptile. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14429">#14429</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>👥 Update FastAPI GitHub topic repositories. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14426">#14426</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>⬆ Bump markdown-include-variants from 0.0.6 to 0.0.7. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14423">#14423</a>
by <a
href="https://github.com/YuriiMotov"><code>@​YuriiMotov</code></a>.</li>
<li>👥 Update FastAPI People - Sponsors. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14422">#14422</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>👥 Update FastAPI People - Contributors and Translators. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14420">#14420</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/fastapi/fastapi/commit/4976568fc7cb7501729d8f84d946cde1e91299cd"><code>4976568</code></a>
🔖 Release version 0.123.4</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/fb30cc2f50a896175f705e365430004049af0fe9"><code>fb30cc2</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/f95a174288c07182905b6742b973e6e174dac598"><code>f95a174</code></a>
🐛 Fix OpenAPI schema support for computed fields when using
`separate_input_o...</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/5126e099bdda51f261fd5a101b5f914991d31897"><code>5126e09</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/dcf0299195c7182b0b0f9d07118a157a05490b8d"><code>dcf0299</code></a>
📝 Fix docstring of <code>servers</code> parameter (<a
href="https://redirect.github.com/fastapi/fastapi/issues/14405">#14405</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/c516c9904bfd07a5b48aaac205740bc20e8ec21e"><code>c516c99</code></a>
🔖 Release version 0.123.3</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/b49c05ec22d949dac549314183994f71c0c8c21f"><code>b49c05e</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/015b4fae9ce949ce46b285dabce7aa050b370eba"><code>015b4fa</code></a>
🐛 Fix Query\Header\Cookie parameter model alias (<a
href="https://redirect.github.com/fastapi/fastapi/issues/14360">#14360</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/eead41bf4cf8587b4d86091dd3eabbb85796e717"><code>eead41b</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/0f613d9051ce8a84b19c3786647a6d0cfc7973f6"><code>0f613d9</code></a>
🐛 Fix optional sequence handling in <code>serialize sequence
value</code> with Pydantic ...</li>
<li>Additional commits viewable in <a
href="https://github.com/fastapi/fastapi/compare/0.123.0...0.123.4">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [fastapi](https://github.com/fastapi/fastapi) from 0.123.4 to
0.123.5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/fastapi/fastapi/releases">fastapi's
releases</a>.</em></p>
<blockquote>
<h2>0.123.5</h2>
<h3>Features</h3>
<ul>
<li>✨ Allow using dependables with <code>functools.partial()</code>. PR
<a
href="https://redirect.github.com/fastapi/fastapi/pull/9753">#9753</a>
by <a href="https://github.com/lieryan"><code>@​lieryan</code></a>.</li>
<li>✨ Add support for wrapped functions (e.g.
<code>@functools.wraps()</code>) used with forward references. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/5077">#5077</a>
by <a
href="https://github.com/lucaswiman"><code>@​lucaswiman</code></a>.</li>
<li>✨ Handle wrapped dependencies. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/9555">#9555</a>
by <a href="https://github.com/phy1729"><code>@​phy1729</code></a>.</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>🐛 Fix optional sequence handling with new union syntax from Python
3.10. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14430">#14430</a>
by <a href="https://github.com/Viicos"><code>@​Viicos</code></a>.</li>
</ul>
<h3>Refactors</h3>
<ul>
<li>🔥 Remove dangling extra condiitonal no longer needed. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14435">#14435</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>♻️ Refactor internals, update <code>is_coroutine</code> check to
reuse internal supported variants (unwrap, check class). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14434">#14434</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
<h3>Translations</h3>
<ul>
<li>🌐 Sync German docs. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14367">#14367</a>
by <a
href="https://github.com/nilslindemann"><code>@​nilslindemann</code></a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/fastapi/fastapi/commit/c57ac7bdf3613798c94caceff562a41fa16d4a2d"><code>c57ac7b</code></a>
🔖 Release version 0.123.5</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/3c440c762a8b49d13f54fb586467e7870f9604b3"><code>3c440c7</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/982448661630e2f412f18a192eed29d0da4a8fb1"><code>9824486</code></a>
✨ Allow using dependables with <code>functools.partial()</code> (<a
href="https://redirect.github.com/fastapi/fastapi/issues/9753">#9753</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/aee8e78078e8a7f2736d3cab7a1cb7197356951c"><code>aee8e78</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/f4a17b7568514092f8a65e1863a32d5c67a4d842"><code>f4a17b7</code></a>
🌐 Sync German docs (<a
href="https://redirect.github.com/fastapi/fastapi/issues/14367">#14367</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/4ade6d62e2274e596e396dfde368d32879d935b6"><code>4ade6d6</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/1c1e584abd5cb98920bf22966f7a8b79d3ec64be"><code>1c1e584</code></a>
✨ Add support for wrapped functions (e.g.
<code>@functools.wraps()</code>) used with for...</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/930b27e5fa32ce150ddcea61f0c913435ae71c83"><code>930b27e</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/80d69ae0bb393c728c61c41086b770237b7b676c"><code>80d69ae</code></a>
🐛 Fix optional sequence handling with new union syntax from Python 3.10
(<a
href="https://redirect.github.com/fastapi/fastapi/issues/14430">#14430</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/cff2236dacb7aedcaf2d2de0873cfbc9bb2b897a"><code>cff2236</code></a>
📝 Update release notes</li>
<li>Additional commits viewable in <a
href="https://github.com/fastapi/fastapi/compare/0.123.4...0.123.5">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [fastapi](https://github.com/fastapi/fastapi) from 0.123.5 to
0.123.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/fastapi/fastapi/releases">fastapi's
releases</a>.</em></p>
<blockquote>
<h2>0.123.7</h2>
<h3>Fixes</h3>
<ul>
<li>🐛 Fix evaluating stringified annotations in Python 3.10. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/11355">#11355</a>
by <a href="https://github.com/chaen"><code>@​chaen</code></a>.</li>
</ul>
<h2>0.123.6</h2>
<h3>Fixes</h3>
<ul>
<li>🐛 Fix support for functools wraps and partial combined, for async
and regular functions and classes in path operations and dependencies.
PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14448">#14448</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/fastapi/fastapi/commit/603df6e36f59cc4a3e189f506b8f36d1e816c3ac"><code>603df6e</code></a>
🔖 Release version 0.123.7</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/6c565482cfc729e2f93d6917731156c244b484a7"><code>6c56548</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/861598b4e30a7a7297aee803097f77431f799ea5"><code>861598b</code></a>
🐛 Fix evaluating stringified annotations in Python 3.10 (<a
href="https://redirect.github.com/fastapi/fastapi/issues/11355">#11355</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/811fa898752e7f5697733a2958ff79ad8dfb5276"><code>811fa89</code></a>
🔖 Release version 0.123.6</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/6c6b9d7a2b1df17fc24c8d2e4c5303fc334e75b9"><code>6c6b9d7</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/bba4d4c95e0de8fc9c99f88c269909d37d64d494"><code>bba4d4c</code></a>
🐛 Fix support for functools wraps and partial combined, for async and
regular...</li>
<li>See full diff in <a
href="https://github.com/fastapi/fastapi/compare/0.123.5...0.123.7">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [fastapi](https://github.com/fastapi/fastapi) from 0.123.7 to
0.123.9.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/fastapi/fastapi/releases">fastapi's
releases</a>.</em></p>
<blockquote>
<h2>0.123.9</h2>
<h3>Fixes</h3>
<ul>
<li>🐛 Fix OAuth2 scopes in OpenAPI in extra corner cases, parent
dependency with scopes, sub-dependency security scheme without scopes.
PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14459">#14459</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
<h2>0.123.8</h2>
<h3>Fixes</h3>
<ul>
<li>🐛 Fix OpenAPI security scheme OAuth2 scopes declaration, deduplicate
security schemes with different scopes. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14455">#14455</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/fastapi/fastapi/commit/f0dd1046a688935ffd23666b3d4164b838a4d8fe"><code>f0dd104</code></a>
🔖 Release version 0.123.9</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/188d63101115ca40f274ed1e0b7093edf4ce696d"><code>188d631</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/0b5fa563cdfb887e4145d8419ae91b6a40905349"><code>0b5fa56</code></a>
🐛 Fix OAuth2 scopes in OpenAPI in extra corner cases, parent dependency
with ...</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/eb1d50479ba0ac873e4ffa08a824b1d822ca3a17"><code>eb1d504</code></a>
🔖 Release version 0.123.8</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/e248a4d22b6de0630771895cee309e32e64bfbd4"><code>e248a4d</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/0ec4bafca204c92dca903437e78514246fe14eac"><code>0ec4baf</code></a>
🐛 Fix OpenAPI security scheme OAuth2 scopes declaration, deduplicate
security...</li>
<li>See full diff in <a
href="https://github.com/fastapi/fastapi/compare/0.123.7...0.123.9">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.14.7 to 0.14.8.
<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.14.8</h2>
<h2>Release Notes</h2>
<p>Released on 2025-12-04.</p>
<h3>Preview features</h3>
<ul>
<li>[<code>flake8-bugbear</code>] Catch <code>yield</code> expressions
within other statements (<code>B901</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21200">#21200</a>)</li>
<li>[<code>flake8-use-pathlib</code>] Mark fixes unsafe for return type
changes (<code>PTH104</code>, <code>PTH105</code>, <code>PTH109</code>,
<code>PTH115</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21440">#21440</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Fix syntax error false positives for <code>await</code> outside
functions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21763">#21763</a>)</li>
<li>[<code>flake8-simplify</code>] Fix truthiness assumption for
non-iterable arguments in tuple/list/set calls (<code>SIM222</code>,
<code>SIM223</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21479">#21479</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Suggest using <code>--output-file</code> option in GitLab
integration (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21706">#21706</a>)</li>
</ul>
<h3>Other changes</h3>
<ul>
<li>[syntax-error] Default type parameter followed by non-default type
parameter (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21657">#21657</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/kieran-ryan"><code>@​kieran-ryan</code></a></li>
<li><a href="https://github.com/11happy"><code>@​11happy</code></a></li>
<li><a
href="https://github.com/danparizher"><code>@​danparizher</code></a></li>
<li><a href="https://github.com/ntBre"><code>@​ntBre</code></a></li>
</ul>
<h2>Install ruff 0.14.8</h2>
<h3>Install prebuilt binaries via shell script</h3>
<pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf
https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-installer.sh
| sh
</code></pre>
<h3>Install prebuilt binaries via powershell script</h3>
<pre lang="sh"><code>powershell -ExecutionPolicy Bypass -c &quot;irm
https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-installer.ps1
| iex&quot;
</code></pre>
<h2>Download ruff 0.14.8</h2>
<table>
<thead>
<tr>
<th>File</th>
<th>Platform</th>
<th>Checksum</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-apple-darwin.tar.gz">ruff-aarch64-apple-darwin.tar.gz</a></td>
<td>Apple Silicon macOS</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-apple-darwin.tar.gz.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-apple-darwin.tar.gz">ruff-x86_64-apple-darwin.tar.gz</a></td>
<td>Intel macOS</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-apple-darwin.tar.gz.sha256">checksum</a></td>
</tr>
</tbody>
</table>
<!-- 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.14.8</h2>
<p>Released on 2025-12-04.</p>
<h3>Preview features</h3>
<ul>
<li>[<code>flake8-bugbear</code>] Catch <code>yield</code> expressions
within other statements (<code>B901</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21200">#21200</a>)</li>
<li>[<code>flake8-use-pathlib</code>] Mark fixes unsafe for return type
changes (<code>PTH104</code>, <code>PTH105</code>, <code>PTH109</code>,
<code>PTH115</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21440">#21440</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Fix syntax error false positives for <code>await</code> outside
functions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21763">#21763</a>)</li>
<li>[<code>flake8-simplify</code>] Fix truthiness assumption for
non-iterable arguments in tuple/list/set calls (<code>SIM222</code>,
<code>SIM223</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21479">#21479</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Suggest using <code>--output-file</code> option in GitLab
integration (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21706">#21706</a>)</li>
</ul>
<h3>Other changes</h3>
<ul>
<li>[syntax-error] Default type parameter followed by non-default type
parameter (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21657">#21657</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/kieran-ryan"><code>@​kieran-ryan</code></a></li>
<li><a href="https://github.com/11happy"><code>@​11happy</code></a></li>
<li><a
href="https://github.com/danparizher"><code>@​danparizher</code></a></li>
<li><a href="https://github.com/ntBre"><code>@​ntBre</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/astral-sh/ruff/commit/9d4f1c6ae24b75642a586531f4c668213fbac3fb"><code>9d4f1c6</code></a>
Bump 0.14.8 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/21791">#21791</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/326025d45f87548caba9a56c5606d80f85abc5ff"><code>326025d</code></a>
[ty] Always register rename provider if client doesn't support dynamic
regist...</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/3aefe85b32ff698b1a2086c2b50ff38af5c9dbed"><code>3aefe85</code></a>
[ty] Ensure <code>rename</code> <code>CursorTest</code> calls
<code>can_rename</code> before renaming (<a
href="https://redirect.github.com/astral-sh/ruff/issues/21790">#21790</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/b8ecc83a54fd5d7955bf1ab4fb82fe18dcb52283"><code>b8ecc83</code></a>
Fix clippy errors on <code>main</code> (<a
href="https://redirect.github.com/astral-sh/ruff/issues/21788">#21788</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/6491932757ca6365bd11b8241266d81c045f7a8b"><code>6491932</code></a>
[ty] Fix crash when hovering an unknown string annotation (<a
href="https://redirect.github.com/astral-sh/ruff/issues/21782">#21782</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/a9f2bb41bd802c9f4db417e3fec8324cf6207868"><code>a9f2bb4</code></a>
[ty] Don't send publish diagnostics for clients supporting pull
diagnostics (...</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/e2b72fbf99920c5621243ee67e1028844a841d35"><code>e2b72fb</code></a>
[ty] cleanup test path (<a
href="https://redirect.github.com/astral-sh/ruff/issues/21781">#21781</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/14fce0d44003ea30c30eb555344bd319da511380"><code>14fce0d</code></a>
[ty] Improve the display of various special-form types (<a
href="https://redirect.github.com/astral-sh/ruff/issues/21775">#21775</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/8ebecb2a88d664a6291af71805b8f6876f414815"><code>8ebecb2</code></a>
[ty] Add subdiagnostic hint if the user wrote <code>X = Any</code>
rather than <code>X: Any</code> ...</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/45ac30a4d762c9c564d45bb66df813666682e78e"><code>45ac30a</code></a>
[ty] Teach <code>ty</code> the meaning of desperation (try ancestor
<code>pyproject.toml</code>s as...</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.14.7...0.14.8">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [fastapi](https://github.com/fastapi/fastapi) from 0.123.9 to
0.124.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/fastapi/fastapi/releases">fastapi's
releases</a>.</em></p>
<blockquote>
<h2>0.124.0</h2>
<h3>Features</h3>
<ul>
<li>🚸 Improve tracebacks by adding endpoint metadata. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14306">#14306</a>
by <a
href="https://github.com/savannahostrowski"><code>@​savannahostrowski</code></a>.</li>
</ul>
<h3>Internal</h3>
<ul>
<li>✏️ Fix typo in <code>scripts/mkdocs_hooks.py</code>. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14457">#14457</a>
by <a
href="https://github.com/yujiteshima"><code>@​yujiteshima</code></a>.</li>
</ul>
<h2>0.123.10</h2>
<h3>Fixes</h3>
<ul>
<li>🐛 Fix using class (not instance) dependency that has
<code>__call__</code> method. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14458">#14458</a>
by <a
href="https://github.com/YuriiMotov"><code>@​YuriiMotov</code></a>.</li>
<li>🐛 Fix <code>separate_input_output_schemas=False</code> with
<code>computed_field</code>. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14453">#14453</a>
by <a
href="https://github.com/YuriiMotov"><code>@​YuriiMotov</code></a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/fastapi/fastapi/commit/b5ca13249e3f2002c70c3f2de528a128af2008f7"><code>b5ca132</code></a>
🔖 Release version 0.124.0</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/a2cef707e30fb6eb14812e4e273e34079d30ae6b"><code>a2cef70</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/5b6245666b8a499d2551caff7567056ef7f881b2"><code>5b62456</code></a>
✏️ Fix typo in <code>scripts/mkdocs_hooks.py</code> (<a
href="https://redirect.github.com/fastapi/fastapi/issues/14457">#14457</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/dbd34f15789f4afa851e339cea4fcd49f421039d"><code>dbd34f1</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/e1117f75505bbdb2d42321a009dbf26c9c2b8b6d"><code>e1117f7</code></a>
🚸 Improve tracebacks by adding endpoint metadata (<a
href="https://redirect.github.com/fastapi/fastapi/issues/14306">#14306</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/08b09e5236e315b6f10265ed229f130d4befb4ea"><code>08b09e5</code></a>
🔖 Release version 0.123.10</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/e7d7038dfa35fc923f20fd11a969d2e65e1b9df1"><code>e7d7038</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/da0ffab0b260475499294d3dc767409d7bca5c34"><code>da0ffab</code></a>
🐛 Fix using class (not instance) dependency that has
<code>__call__</code> method (<a
href="https://redirect.github.com/fastapi/fastapi/issues/14458">#14458</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/516169428d2fa189d34318ebc469a082c49c1189"><code>5161694</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/812a1926f06391b22b081fdb11fe7528e3b91293"><code>812a192</code></a>
🐛 Fix <code>separate_input_output_schemas=False</code> with
<code>computed_field</code> (<a
href="https://redirect.github.com/fastapi/fastapi/issues/14453">#14453</a>)</li>
<li>See full diff in <a
href="https://github.com/fastapi/fastapi/compare/0.123.9...0.124.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [fastapi](https://github.com/fastapi/fastapi) from 0.124.0 to
0.124.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/fastapi/fastapi/releases">fastapi's
releases</a>.</em></p>
<blockquote>
<h2>0.124.1</h2>
<h3>Fixes</h3>
<ul>
<li>🐛 Fix handling arbitrary types when using
<code>arbitrary_types_allowed=True</code>. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14482">#14482</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
<h3>Docs</h3>
<ul>
<li>📝 Add variants for code examples in &quot;Advanced User Guide&quot;.
PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14413">#14413</a>
by <a
href="https://github.com/YuriiMotov"><code>@​YuriiMotov</code></a>.</li>
<li>📝 Update tech stack in project generation docs. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14472">#14472</a>
by <a
href="https://github.com/alejsdev"><code>@​alejsdev</code></a>.</li>
</ul>
<h3>Internal</h3>
<ul>
<li>✅ Add test for Pydantic v2, dataclasses, UUID, and
<code>__annotations__</code>. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14477">#14477</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/fastapi/fastapi/commit/60699f306b67dc1f4918ebea17f04d7a48cda645"><code>60699f3</code></a>
🔖 Release version 0.124.1</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/ae7af59c6d5921a3c700a9595788a444975a9d8c"><code>ae7af59</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/42b250d14dd42d3c0c24dd085fa53878172a985f"><code>42b250d</code></a>
🐛 Fix handling arbitrary types when using
<code>arbitrary_types_allowed=True</code> (<a
href="https://redirect.github.com/fastapi/fastapi/issues/14">#14</a>...</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/71a17b5932e38bcf798fcd05c5bb384e6d4db5bf"><code>71a17b5</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/9475024640f2e204944c5aa2cd9c67a8826189d9"><code>9475024</code></a>
📝 Add variants for code examples in &quot;Advanced User Guide&quot; (<a
href="https://redirect.github.com/fastapi/fastapi/issues/14413">#14413</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/5b28a04d550d95ef0061f41f5a5dcfe36045e8c8"><code>5b28a04</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/8cedb742cb59f72a752bb0a6b4f73c02aeb15bf6"><code>8cedb74</code></a>
✅ Add test for Pydantic v2, dataclasses, UUID, and
<code>__annotations__</code> (<a
href="https://redirect.github.com/fastapi/fastapi/issues/14477">#14477</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/320e7ce8fde2c22b5eef29229d49f4c4ac5b9d8b"><code>320e7ce</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/81517f66ccb906afef898570c823053afba994d8"><code>81517f6</code></a>
📝 Update tech stack in project generation docs (<a
href="https://redirect.github.com/fastapi/fastapi/issues/14472">#14472</a>)</li>
<li>See full diff in <a
href="https://github.com/fastapi/fastapi/compare/0.124.0...0.124.1">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [fastapi](https://github.com/fastapi/fastapi) from 0.124.1 to
0.124.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/fastapi/fastapi/releases">fastapi's
releases</a>.</em></p>
<blockquote>
<h2>0.124.2</h2>
<h3>Fixes</h3>
<ul>
<li>🐛 Fix support for <code>if TYPE_CHECKING</code>, non-evaluated
stringified annotations. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14485">#14485</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/fastapi/fastapi/commit/7b0b915749582206025f306924e6a7bf86041a13"><code>7b0b915</code></a>
🔖 Release version 0.124.2</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/96bdde376f900d3c32c9e57f7cc16930fb29aa5e"><code>96bdde3</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/7ba042e069ad424a584a37f1db03887798d9af80"><code>7ba042e</code></a>
🐛 Fix support for <code>if TYPE_CHECKING</code>, non-evaluated
stringified annotations ...</li>
<li>See full diff in <a
href="https://github.com/fastapi/fastapi/compare/0.124.1...0.124.2">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.14.8 to 0.14.9.
<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.14.9</h2>
<h2>Release Notes</h2>
<p>Released on 2025-12-11.</p>
<h3>Preview features</h3>
<ul>
<li>[<code>ruff</code>] New <code>RUF100</code> diagnostics for unused
range suppressions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21783">#21783</a>)</li>
<li>[<code>pylint</code>] Detect subclasses of builtin exceptions
(<code>PLW0133</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21382">#21382</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Fix comment placement in lambda parameters (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21868">#21868</a>)</li>
<li>Skip over trivia tokens after re-lexing (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21895">#21895</a>)</li>
<li>[<code>flake8-bandit</code>] Fix false positive when using
non-standard <code>CSafeLoader</code> path (S506). (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21830">#21830</a>)</li>
<li>[<code>flake8-bugbear</code>] Accept immutable slice default
arguments (<code>B008</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21823">#21823</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>[<code>pydocstyle</code>] Suppress <code>D417</code> for parameters
with <code>Unpack</code> annotations (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21816">#21816</a>)</li>
</ul>
<h3>Performance</h3>
<ul>
<li>Use <code>memchr</code> for computing line indexes (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21838">#21838</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Document <code>*.pyw</code> is included by default in preview (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21885">#21885</a>)</li>
<li>Document range suppressions, reorganize suppression docs (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21884">#21884</a>)</li>
<li>Update mkdocs-material to 9.7.0 (Insiders now free) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21797">#21797</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a href="https://github.com/Avasam"><code>@​Avasam</code></a></li>
<li><a
href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li>
<li><a
href="https://github.com/charliermarsh"><code>@​charliermarsh</code></a></li>
<li><a
href="https://github.com/amyreese"><code>@​amyreese</code></a></li>
<li><a
href="https://github.com/phongddo"><code>@​phongddo</code></a></li>
<li><a
href="https://github.com/prakhar1144"><code>@​prakhar1144</code></a></li>
<li><a
href="https://github.com/mahiro72"><code>@​mahiro72</code></a></li>
<li><a href="https://github.com/ntBre"><code>@​ntBre</code></a></li>
<li><a
href="https://github.com/LoicRiegel"><code>@​LoicRiegel</code></a></li>
</ul>
<h2>Install ruff 0.14.9</h2>
<h3>Install prebuilt binaries via shell script</h3>
<pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf
https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-installer.sh
| sh
</code></pre>
<!-- 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.14.9</h2>
<p>Released on 2025-12-11.</p>
<h3>Preview features</h3>
<ul>
<li>[<code>ruff</code>] New <code>RUF100</code> diagnostics for unused
range suppressions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21783">#21783</a>)</li>
<li>[<code>pylint</code>] Detect subclasses of builtin exceptions
(<code>PLW0133</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21382">#21382</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Fix comment placement in lambda parameters (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21868">#21868</a>)</li>
<li>Skip over trivia tokens after re-lexing (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21895">#21895</a>)</li>
<li>[<code>flake8-bandit</code>] Fix false positive when using
non-standard <code>CSafeLoader</code> path (S506). (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21830">#21830</a>)</li>
<li>[<code>flake8-bugbear</code>] Accept immutable slice default
arguments (<code>B008</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21823">#21823</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>[<code>pydocstyle</code>] Suppress <code>D417</code> for parameters
with <code>Unpack</code> annotations (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21816">#21816</a>)</li>
</ul>
<h3>Performance</h3>
<ul>
<li>Use <code>memchr</code> for computing line indexes (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21838">#21838</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Document <code>*.pyw</code> is included by default in preview (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21885">#21885</a>)</li>
<li>Document range suppressions, reorganize suppression docs (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21884">#21884</a>)</li>
<li>Update mkdocs-material to 9.7.0 (Insiders now free) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21797">#21797</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a href="https://github.com/Avasam"><code>@​Avasam</code></a></li>
<li><a
href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li>
<li><a
href="https://github.com/charliermarsh"><code>@​charliermarsh</code></a></li>
<li><a
href="https://github.com/amyreese"><code>@​amyreese</code></a></li>
<li><a
href="https://github.com/phongddo"><code>@​phongddo</code></a></li>
<li><a
href="https://github.com/prakhar1144"><code>@​prakhar1144</code></a></li>
<li><a
href="https://github.com/mahiro72"><code>@​mahiro72</code></a></li>
<li><a href="https://github.com/ntBre"><code>@​ntBre</code></a></li>
<li><a
href="https://github.com/LoicRiegel"><code>@​LoicRiegel</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/astral-sh/ruff/commit/3f63ea4b504d50eaf3c479de68e4017d2434a160"><code>3f63ea4</code></a>
Prepare 0.14.9 release (<a
href="https://redirect.github.com/astral-sh/ruff/issues/21927">#21927</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/c8851ecf704c1e989c5b840e2d53ac24210b4aec"><code>c8851ec</code></a>
[ty] Defer all parameter and return type annotations (<a
href="https://redirect.github.com/astral-sh/ruff/issues/21906">#21906</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/d442433e93840edc47f77ab10a85ebfbcb18211b"><code>d442433</code></a>
[ty] Fix workspace symbols to return members too (<a
href="https://redirect.github.com/astral-sh/ruff/issues/21926">#21926</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/c055d665ef4bbf4002a8c07bdf9b9e76c065a26b"><code>c055d66</code></a>
Document range suppressions, reorganize suppression docs (<a
href="https://redirect.github.com/astral-sh/ruff/issues/21884">#21884</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/7a578ce8334d4a1e75f91b1c600fa035f0469bed"><code>7a578ce</code></a>
Ignore ruff:isort like ruff:noqa in new suppressions (<a
href="https://redirect.github.com/astral-sh/ruff/issues/21922">#21922</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/34f7a04ef7ecb620658038c1db62a4204eb85388"><code>34f7a04</code></a>
[ty] Handle <code>Definition</code>s in
<code>SemanticModel::scope</code> (<a
href="https://redirect.github.com/astral-sh/ruff/issues/21919">#21919</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/c9fe4e2703365b868a3b08364bf9673cef36f13f"><code>c9fe4e2</code></a>
[ty] Attach salsa db when running ide tests for easier debugging (<a
href="https://redirect.github.com/astral-sh/ruff/issues/21917">#21917</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/fbeeb050af15a96cec59d5e6d7e9a166579b3433"><code>fbeeb05</code></a>
[ty] Don't show hover for expressions with no inferred type (<a
href="https://redirect.github.com/astral-sh/ruff/issues/21924">#21924</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/4fdb4e8219bf8e7b8001121dd61a7c3678200bbf"><code>4fdb4e8</code></a>
[ty] avoid unions of generic aliases of the same class in fixpoint (<a
href="https://redirect.github.com/astral-sh/ruff/issues/21909">#21909</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/c548ef20278f18ec9e88796fd0a1c4b5b5395a40"><code>c548ef2</code></a>
[ty] Squash false positive logs for failing to find
<code>builtins</code> as a real module</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.14.8...0.14.9">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [fastapi](https://github.com/fastapi/fastapi) from 0.124.2 to
0.124.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/fastapi/fastapi/releases">fastapi's
releases</a>.</em></p>
<blockquote>
<h2>0.124.4</h2>
<h3>Fixes</h3>
<ul>
<li>🐛 Fix parameter aliases. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14371">#14371</a>
by <a
href="https://github.com/YuriiMotov"><code>@​YuriiMotov</code></a>.</li>
</ul>
<h2>0.124.3</h2>
<h3>Fixes</h3>
<ul>
<li>🐛 Fix support for tagged union with discriminator inside of
<code>Annotated</code> with <code>Body()</code>. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14512">#14512</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
<h3>Refactors</h3>
<ul>
<li>✅ Add set of tests for request parameters and alias. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14358">#14358</a>
by <a
href="https://github.com/YuriiMotov"><code>@​YuriiMotov</code></a>.</li>
</ul>
<h3>Docs</h3>
<ul>
<li>📝 Tweak links format. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14505">#14505</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>📝 Update docs about re-raising validation errors, do not include
string as is to not leak information. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14487">#14487</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🔥 Remove external links section. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14486">#14486</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
<h3>Translations</h3>
<ul>
<li>🌐 Sync Russian docs. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14509">#14509</a>
by <a
href="https://github.com/YuriiMotov"><code>@​YuriiMotov</code></a>.</li>
<li>🌐 Sync German docs. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14488">#14488</a>
by <a
href="https://github.com/nilslindemann"><code>@​nilslindemann</code></a>.</li>
</ul>
<h3>Internal</h3>
<ul>
<li>👷 Tweak coverage to not pass Smokeshow max file size limit. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14507">#14507</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>✅ Expand test matrix to include Windows and MacOS. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14171">#14171</a>
by <a
href="https://github.com/svlandeg"><code>@​svlandeg</code></a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/fastapi/fastapi/commit/b1d9769f97295a238df8c2d318ad65dd6a40c6ff"><code>b1d9769</code></a>
🔖 Release version 0.124.4</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/89157a803c4c75332566a5ca499afd5358c42049"><code>89157a8</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/d86c47477e4d91b5e1f07973b3437908558a8b4b"><code>d86c474</code></a>
🐛 Fix parameter aliases (<a
href="https://redirect.github.com/fastapi/fastapi/issues/14371">#14371</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/3fe6522aaed4d36d6a38175a4a8137ee0fc62451"><code>3fe6522</code></a>
🔖 Release version 0.124.3</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/80d1f732e5e10efe75e03427558271d46cd663e3"><code>80d1f73</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/c0556ac3a50420d0ba298b5641517c61f3c1c2c4"><code>c0556ac</code></a>
🐛 Fix support for tagged union with discriminator inside of
<code>Annotated</code> with ...</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/1fcec88ad2df4541b6a81c4786c4d039dc745e1e"><code>1fcec88</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/f8b216df30f4d4fd36dccf7c7e885154a2699838"><code>f8b216d</code></a>
🌐 Sync Russian docs (<a
href="https://redirect.github.com/fastapi/fastapi/issues/14509">#14509</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/4b905b614c84fbf4a278bdb69f4a22d52a43721e"><code>4b905b6</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/6c54bcefd3c37c8656e909980af00f86acea99c3"><code>6c54bce</code></a>
✅ Add set of tests for request parameters and alias (<a
href="https://redirect.github.com/fastapi/fastapi/issues/14358">#14358</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/fastapi/fastapi/compare/0.124.2...0.124.4">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [fastapi](https://github.com/fastapi/fastapi) from 0.124.4 to
0.125.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/fastapi/fastapi/releases">fastapi's
releases</a>.</em></p>
<blockquote>
<h2>0.125.0</h2>
<h3>Breaking Changes</h3>
<ul>
<li>🔧 Drop support for Python 3.8. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14563">#14563</a>
by <a href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.
<ul>
<li>This would actually not be a <em>breaking</em> change as no code
would really break. Any Python 3.8 installer would just refuse to
install the latest version of FastAPI and would only install 0.124.4.
Only marking it as a &quot;breaking change&quot; to make it
visible.</li>
</ul>
</li>
</ul>
<h3>Refactors</h3>
<ul>
<li>♻️ Upgrade internal syntax to Python 3.9+ 🎉. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14564">#14564</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
<h3>Docs</h3>
<ul>
<li>⚰️ Remove Python 3.8 from CI and remove Python 3.8 examples from
source docs. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14559">#14559</a>
by <a href="https://github.com/YuriiMotov"><code>@​YuriiMotov</code></a>
and <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
<h3>Translations</h3>
<ul>
<li>🌐 Update translations for pt (add-missing). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14539">#14539</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🔧 Add LLM prompt file for French, generated from the existing French
docs. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14544">#14544</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Sync Portuguese docs (pages found with script). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14554">#14554</a>
by <a
href="https://github.com/YuriiMotov"><code>@​YuriiMotov</code></a>.</li>
<li>🌐 Sync Spanish docs (outdated pages found with script). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14553">#14553</a>
by <a
href="https://github.com/YuriiMotov"><code>@​YuriiMotov</code></a>.</li>
<li>🌐 Sync German docs. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14519">#14519</a>
by <a
href="https://github.com/nilslindemann"><code>@​nilslindemann</code></a>.</li>
<li>🔥 Remove inactive/scarce translations to Vietnamese. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14543">#14543</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🔥 Remove inactive/scarce translations to Persian. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14542">#14542</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🔥 Remove translation to emoji to simplify the new setup with LLM
autotranslations. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14541">#14541</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for pt (update-outdated). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14537">#14537</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for es (update-outdated). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14532">#14532</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for es (add-missing). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14533">#14533</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Remove translations for removed docs. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14516">#14516</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
<h3>Internal</h3>
<ul>
<li>⬆ Bump <code>markdown-include-variants</code> from 0.0.7 to 0.0.8.
PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14556">#14556</a>
by <a
href="https://github.com/YuriiMotov"><code>@​YuriiMotov</code></a>.</li>
<li>🔧 Temporarily disable translations still in progress, being migrated
to the new LLM setup. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14555">#14555</a>
by <a
href="https://github.com/YuriiMotov"><code>@​YuriiMotov</code></a>.</li>
<li>🔧 Update test workflow config, remove commented code. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14540">#14540</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>👷 Configure coverage, error on main tests, don't wait for Smokeshow.
PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14536">#14536</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>👷 Run Smokeshow always, even on test failures. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14538">#14538</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>👷 Make Pydantic versions customizable in CI. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14535">#14535</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>👷 Fix checkout GitHub Action fetch-depth for LLM translations,
enable cron monthly. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14531">#14531</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>👷 Fix Typer command for CI LLM translations. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14530">#14530</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>👷 Update LLM translation CI, add language matrix and extra commands,
prepare for scheduled run. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14529">#14529</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>👷 Update github-actions user for GitHub Actions workflows. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14528">#14528</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>➕ Add requirements for translations. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14515">#14515</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/fastapi/fastapi/commit/c75f17d483bfc6f79cc94d1d6acfc6b080005eff"><code>c75f17d</code></a>
🔖 Release version 0.125.0</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/241ca9a533590f16fe2e3ecebd79054d4925c521"><code>241ca9a</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/3f75f512555b66988e169384c95da3b458352063"><code>3f75f51</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/1c4fc96c917a1097149b6e1ff8e36a62f8d994b1"><code>1c4fc96</code></a>
♻️ Upgrade internal syntax to Python 3.9+ 🎉 (<a
href="https://redirect.github.com/fastapi/fastapi/issues/14564">#14564</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/7f9709d75ebb1aa1316553f8273a10bc2c8b23ab"><code>7f9709d</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/84668c2acc3bd3443556d5ba98af674505e1d84b"><code>84668c2</code></a>
🔧 Drop support for Python 3.8 (<a
href="https://redirect.github.com/fastapi/fastapi/issues/14563">#14563</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/e0fd79139e40e873672544a31e0c3727602deeb1"><code>e0fd791</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/ed97d9dc0c23651eaef1181ac530a6992f5059c2"><code>ed97d9d</code></a>
⚰️ Remove Python 3.8 from CI and remove Python 3.8 examples from source
docs ...</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/99ef3833981c55e34c8aee28124991224189d895"><code>99ef383</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/56a549b4d56c970acdcfcd6cb62ce2fd28810871"><code>56a549b</code></a>
🌐 Update translations for pt (add-missing) (<a
href="https://redirect.github.com/fastapi/fastapi/issues/14539">#14539</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/fastapi/fastapi/compare/0.124.4...0.125.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…1035)

Bumps ruamel-yaml from 0.18.16 to 0.18.17.


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…tion

Add automatic Unraid version detection to handle mover binary changes in 7.2.1+.
Refactor mover execution logic into run_mover_logic() function that intelligently
selects between stock mover, mover.old, and age_mover based on OS version and
available binaries. Update --mover-old help text to clarify behavior on newer
Unraid versions where it forces native mover usage.
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.14.9 to 0.14.10.
<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.14.10</h2>
<h2>Release Notes</h2>
<p>Released on 2025-12-18.</p>
<h3>Preview features</h3>
<ul>
<li>[formatter] Fluent formatting of method chains (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21369">#21369</a>)</li>
<li>[formatter] Keep lambda parameters on one line and parenthesize the
body if it expands (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21385">#21385</a>)</li>
<li>[<code>flake8-implicit-str-concat</code>] New rule to prevent
implicit string concatenation in collections (<code>ISC004</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21972">#21972</a>)</li>
<li>[<code>flake8-use-pathlib</code>] Make fixes unsafe when types
change in compound statements (<code>PTH104</code>, <code>PTH105</code>,
<code>PTH109</code>, <code>PTH115</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22009">#22009</a>)</li>
<li>[<code>refurb</code>] Extend support for <code>Path.open</code>
(<code>FURB101</code>, <code>FURB103</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21080">#21080</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>[<code>pyupgrade</code>] Fix parsing named Unicode escape sequences
(<code>UP032</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21901">#21901</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>[<code>eradicate</code>] Ignore <code>ruff:disable</code> and
<code>ruff:enable</code> comments in <code>ERA001</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22038">#22038</a>)</li>
<li>[<code>flake8-pytest-style</code>] Allow <code>match</code> and
<code>check</code> keyword arguments without an expected exception type
(<code>PT010</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21964">#21964</a>)</li>
<li>[syntax-errors] Annotated name cannot be global (<a
href="https://redirect.github.com/astral-sh/ruff/pull/20868">#20868</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Add <code>uv</code> and <code>ty</code> to the Ruff README (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21996">#21996</a>)</li>
<li>Document known lambda formatting deviations from Black (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21954">#21954</a>)</li>
<li>Update <code>setup.md</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22024">#22024</a>)</li>
<li>[<code>flake8-bandit</code>] Fix broken link (<code>S704</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22039">#22039</a>)</li>
</ul>
<h3>Other changes</h3>
<ul>
<li>Fix playground Share button showing &quot;Copied!&quot; before
clipboard copy completes (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21942">#21942</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a href="https://github.com/dylwil3"><code>@​dylwil3</code></a></li>
<li><a
href="https://github.com/charliecloudberry"><code>@​charliecloudberry</code></a></li>
<li><a
href="https://github.com/charliermarsh"><code>@​charliermarsh</code></a></li>
<li><a
href="https://github.com/chirizxc"><code>@​chirizxc</code></a></li>
<li><a href="https://github.com/ntBre"><code>@​ntBre</code></a></li>
<li><a href="https://github.com/zanieb"><code>@​zanieb</code></a></li>
<li><a
href="https://github.com/amyreese"><code>@​amyreese</code></a></li>
<li><a
href="https://github.com/hauntsaninja"><code>@​hauntsaninja</code></a></li>
<li><a href="https://github.com/11happy"><code>@​11happy</code></a></li>
<li><a
href="https://github.com/mahiro72"><code>@​mahiro72</code></a></li>
<li><a
href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li>
<li><a
href="https://github.com/phongddo"><code>@​phongddo</code></a></li>
<li><a
href="https://github.com/PeterJCLaw"><code>@​PeterJCLaw</code></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.14.10</h2>
<p>Released on 2025-12-18.</p>
<h3>Preview features</h3>
<ul>
<li>[formatter] Fluent formatting of method chains (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21369">#21369</a>)</li>
<li>[formatter] Keep lambda parameters on one line and parenthesize the
body if it expands (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21385">#21385</a>)</li>
<li>[<code>flake8-implicit-str-concat</code>] New rule to prevent
implicit string concatenation in collections (<code>ISC004</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21972">#21972</a>)</li>
<li>[<code>flake8-use-pathlib</code>] Make fixes unsafe when types
change in compound statements (<code>PTH104</code>, <code>PTH105</code>,
<code>PTH109</code>, <code>PTH115</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22009">#22009</a>)</li>
<li>[<code>refurb</code>] Extend support for <code>Path.open</code>
(<code>FURB101</code>, <code>FURB103</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21080">#21080</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>[<code>pyupgrade</code>] Fix parsing named Unicode escape sequences
(<code>UP032</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21901">#21901</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>[<code>eradicate</code>] Ignore <code>ruff:disable</code> and
<code>ruff:enable</code> comments in <code>ERA001</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22038">#22038</a>)</li>
<li>[<code>flake8-pytest-style</code>] Allow <code>match</code> and
<code>check</code> keyword arguments without an expected exception type
(<code>PT010</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21964">#21964</a>)</li>
<li>[syntax-errors] Annotated name cannot be global (<a
href="https://redirect.github.com/astral-sh/ruff/pull/20868">#20868</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Add <code>uv</code> and <code>ty</code> to the Ruff README (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21996">#21996</a>)</li>
<li>Document known lambda formatting deviations from Black (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21954">#21954</a>)</li>
<li>Update <code>setup.md</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22024">#22024</a>)</li>
<li>[<code>flake8-bandit</code>] Fix broken link (<code>S704</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22039">#22039</a>)</li>
</ul>
<h3>Other changes</h3>
<ul>
<li>Fix playground Share button showing &quot;Copied!&quot; before
clipboard copy completes (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21942">#21942</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a href="https://github.com/dylwil3"><code>@​dylwil3</code></a></li>
<li><a
href="https://github.com/charliecloudberry"><code>@​charliecloudberry</code></a></li>
<li><a
href="https://github.com/charliermarsh"><code>@​charliermarsh</code></a></li>
<li><a
href="https://github.com/chirizxc"><code>@​chirizxc</code></a></li>
<li><a href="https://github.com/ntBre"><code>@​ntBre</code></a></li>
<li><a href="https://github.com/zanieb"><code>@​zanieb</code></a></li>
<li><a
href="https://github.com/amyreese"><code>@​amyreese</code></a></li>
<li><a
href="https://github.com/hauntsaninja"><code>@​hauntsaninja</code></a></li>
<li><a href="https://github.com/11happy"><code>@​11happy</code></a></li>
<li><a
href="https://github.com/mahiro72"><code>@​mahiro72</code></a></li>
<li><a
href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li>
<li><a
href="https://github.com/phongddo"><code>@​phongddo</code></a></li>
<li><a
href="https://github.com/PeterJCLaw"><code>@​PeterJCLaw</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/astral-sh/ruff/commit/45bbb4cbffe73cf925d4579c2e3eb413e0539390"><code>45bbb4c</code></a>
Bump 0.14.10 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/22058">#22058</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/42b972753aa9737140d3c715dc1fa2a4d20eba02"><code>42b9727</code></a>
[ty] Use datatest instead of dirtest (<a
href="https://redirect.github.com/astral-sh/ruff/issues/21937">#21937</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/f7ec1784005ba8659203155dc0c195f746f8b45b"><code>f7ec178</code></a>
[ty] Gracefully handle client requests that can't be deserialized (<a
href="https://redirect.github.com/astral-sh/ruff/issues/22051">#22051</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/c31516473296a8b745af946b827d3342ef81060f"><code>c315164</code></a>
[ty] Don't suggest keyword statements when only expressions are
valid</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/bb1955e98c5bd35a322f58fcab5d68aab255a7a4"><code>bb1955e</code></a>
[ty] Use cursor context in a few more places...</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/070e08a043f47845f60632b528ef27cc37078405"><code>070e08a</code></a>
[ty] Move <code>completion</code> function to the top</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/bab3924833c9f432776f93d4ed83b6cfbafc20e3"><code>bab3924</code></a>
[ty] Refactor completion generation</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/10748b2fdb021e4d8e548f09e8e182c69d7c1f5a"><code>10748b2</code></a>
[<code>flake8-pytest-style</code>] Allow <code>match</code> and
<code>check</code> keyword arguments without a...</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/56539db5206c519d80446d96155ef832689c5a6e"><code>56539db</code></a>
[ty] Fix some configuration panics in the LSP (<a
href="https://redirect.github.com/astral-sh/ruff/issues/22040">#22040</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/8d32ad1cab7b78675e8fe56740013d61e315142c"><code>8d32ad1</code></a>
[ty] Add support for attribute docstrings (<a
href="https://redirect.github.com/astral-sh/ruff/issues/22036">#22036</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.14.9...0.14.10">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@bobokun
bobokun force-pushed the develop branch 2 times, most recently from e723f97 to b58958d Compare March 28, 2026 16:41
@bakerboy448
bakerboy448 marked this pull request as draft May 8, 2026 22:07
@bakerboy448 bakerboy448 added the conflict PR is conflicted and needs resolution label May 9, 2026
@bobokun
bobokun force-pushed the develop branch 2 times, most recently from 3cb963d to a2c489b Compare May 31, 2026 16:57
@bakerboy448 bakerboy448 added documentation Improvements or additions to documentation python Pull requests that update Python code github_actions Pull requests that update GitHub Actions code feature request New feature or request priority: low Low priority; addressed after higher-priority items labels Jul 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

conflict PR is conflicted and needs resolution documentation Improvements or additions to documentation feature request New feature or request github_actions Pull requests that update GitHub Actions code priority: low Low priority; addressed after higher-priority items python Pull requests that update Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants