405 Commits
Author SHA1 Message Date
dependabot[bot] 767c4b5847 Bump sentry-sdk from 2.66.0 to 2.68.0 in /backend (#1830)
Bumps [sentry-sdk](https://github.com/getsentry/sentry-python) from
2.66.0 to 2.68.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/getsentry/sentry-python/releases">sentry-sdk's
releases</a>.</em></p>
<blockquote>
<h2>2.68.0</h2>
<h3>Important</h3>
<ul>
<li>
<p>We're making <code>enable_logs</code> and <code>enable_metrics</code>
no-op with this release (<a
href="https://redirect.github.com/getsentry/sentry-python/pull/7177">#7177</a>),
and they'll be dropped in the next major.</p>
<p>Previously, <code>enable_logs</code> also controlled automatic logs
collection from the logging and Loguru integrations. These integrations
now get an integration-level <code>capture_sentry_logs</code> boolean
option to allow for more control over the auto-collection. These options
are <code>False</code> by default, i.e., <strong>nothing is
auto-collected without your explicit opt-in</strong>.</p>
<h4>Action Needed</h4>
<p>If you had <code>enable_logs</code> set to <code>True</code>:</p>
<ul>
<li>If you were using the <code>sentry_sdk.logger.X</code> API, no
action necessary, the API will just work.</li>
<li>If you were auto-collecting logs from either
<code>LoggingIntegration</code> or <code>LoguruIntegration</code>, the
auto-collection <strong>will be turned off in this release</strong>. You
can switch auto-collection on explicitly with:</li>
</ul>
<pre lang="python"><code>import sentry_sdk
from sentry_sdk.integrations.logging import LoggingIntegration
from sentry_sdk.integrations.loguru import LoguruIntegration
<p>sentry_sdk.init(<br />
integrations=[<br />
LoggingIntegration(capture_sentry_logs=True),<br />
LoguruIntegration(capture_sentry_logs=True),<br />
],<br />
)<br />
</code></pre></p>
<p>If you had <code>enable_logs</code> set to <code>False</code>:</p>
<ul>
<li>If you were using it to gate usages of the
<code>sentry_sdk.logger.X</code> API, you'll need to remove the calls
entirely or define a <code>before_send_log</code> callback to filter out
unwanted logs.</li>
</ul>
<p>If you has <code>enable_metrics</code> set to <code>False</code>:</p>
<ul>
<li>Any metrics emitted using the metrics API will be emitted. You'll
need to drop them in a <code>before_send_metric</code> or remove the
calls to the API.</li>
</ul>
<h3>Why We're Doing This</h3>
<p>We recognize this is a disruptive change for some folks and want to
make it clear this is a one-off. We're removing the options because they
were an unnecessary hurdle that one had to jump through to be able to
use logs and metrics, and it was confusing why the logging API would not
just work on its own. On the other hand, we wanted to give you more
fine-grained control over automatic collection.</p>
</li>
</ul>
<h3>New Features </h3>
<h4>Other</h4>
<ul>
<li>Set the segment source on the scope for
<code>NoOpStreamedSpan</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/7163">#7163</a></li>
<li>Remove early return for <code>NoOpStreamedSpan</code> in
<code>set_transaction_name()</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/7164">#7164</a></li>
<li>Set the segment name on the scope with <code>NoOpStreamedSpan</code>
by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/7162">#7162</a></li>
</ul>
<h3>Bug Fixes 🐛</h3>
<ul>
<li>(batcher) Add global flush trigger based on the span number by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/7150">#7150</a></li>
</ul>
<h3>Internal Changes 🔧</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md">sentry-sdk's
changelog</a>.</em></p>
<blockquote>
<h2>2.68.0</h2>
<h3>Important</h3>
<ul>
<li>
<p>We're making <code>enable_logs</code> and <code>enable_metrics</code>
no-op with this release (<a
href="https://redirect.github.com/getsentry/sentry-python/pull/7177">#7177</a>),
and they'll be dropped in the next major.</p>
<p>Previously, <code>enable_logs</code> also controlled automatic logs
collection from the logging and Loguru integrations. These integrations
now get an integration-level <code>capture_sentry_logs</code> boolean
option to allow for more control over the auto-collection. These options
are <code>False</code> by default, i.e., <strong>nothing is
auto-collected without your explicit opt-in</strong>.</p>
<h4>Action Needed</h4>
<p>If you had <code>enable_logs</code> set to <code>True</code>:</p>
<ul>
<li>If you were using the <code>sentry_sdk.logger.X</code> API, no
action necessary, the API will just work.</li>
<li>If you were auto-collecting logs from either
<code>LoggingIntegration</code> or <code>LoguruIntegration</code>, the
auto-collection <strong>will be turned off in this release</strong>. You
can switch auto-collection on explicitly with:</li>
</ul>
<pre lang="python"><code>import sentry_sdk
from sentry_sdk.integrations.logging import LoggingIntegration
from sentry_sdk.integrations.loguru import LoguruIntegration
<p>sentry_sdk.init(<br />
integrations=[<br />
LoggingIntegration(capture_sentry_logs=True),<br />
LoguruIntegration(capture_sentry_logs=True),<br />
],<br />
)<br />
</code></pre></p>
<p>If you had <code>enable_logs</code> set to <code>False</code>:</p>
<ul>
<li>If you were using it to gate usages of the
<code>sentry_sdk.logger.X</code> API, you'll need to remove the calls
entirely or define a <code>before_send_log</code> callback to filter out
unwanted logs.</li>
</ul>
<p>If you has <code>enable_metrics</code> set to <code>False</code>:</p>
<ul>
<li>Any metrics emitted using the metrics API will be emitted. You'll
need to drop them in a <code>before_send_metric</code> or remove the
calls to the API.</li>
</ul>
<h3>Why We're Doing This</h3>
<p>We recognize this is a disruptive change for some folks and want to
make it clear this is a one-off. We're removing the options because they
were an unnecessary hurdle that one had to jump through to be able to
use logs and metrics, and it was confusing why the logging API would not
just work on its own. On the other hand, we wanted to give you more
fine-grained control over automatic collection.</p>
</li>
</ul>
<h3>New Features </h3>
<h4>Other</h4>
<ul>
<li>Set the segment source on the scope for
<code>NoOpStreamedSpan</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/7163">#7163</a></li>
<li>Remove early return for <code>NoOpStreamedSpan</code> in
<code>set_transaction_name()</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/7164">#7164</a></li>
<li>Set the segment name on the scope with <code>NoOpStreamedSpan</code>
by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/7162">#7162</a></li>
</ul>
<h3>Bug Fixes 🐛</h3>
<ul>
<li>(batcher) Add global flush trigger based on the span number by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/7150">#7150</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/getsentry/sentry-python/commit/c819e660c623b41b881349a7c7b3d9d2b94b157a"><code>c819e66</code></a>
Update README</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/90446df489044416d92bb392cff17a8ddc863b01"><code>90446df</code></a>
Update CHANGELOG.md</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/cb2499cf743298f8bbde0662e62f42d6a0c12514"><code>cb2499c</code></a>
release: 2.68.0</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/1c3b50d1cc5996249552b1808a77eeb3ad28e138"><code>1c3b50d</code></a>
ref: Flush trace buckets when segment spans finish (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/7170">#7170</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/c200bdfb297dd83599f5fab5c693c463e7148e19"><code>c200bdf</code></a>
test(django): Remove dead code and stale markers from the Django test
suite (...</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/4e4ea83b4fafaae3d53e68d756c55c74fee37545"><code>4e4ea83</code></a>
ref(boto3): Move crumbs to integration (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/7165">#7165</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/0f0cd1fe65eeba9801077fd96dfe6e736dde11c2"><code>0f0cd1f</code></a>
ref(stdlib): Move crumbs to integration (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/7161">#7161</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/2fef9bce3cd58d7f2993bb2d1c7169845e154c81"><code>2fef9bc</code></a>
chore: Make <code>enable_logs</code>, <code>enable_metrics</code> no-op
(<a
href="https://redirect.github.com/getsentry/sentry-python/issues/7177">#7177</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/81777391339ed248a167f6e1aff1cb0df088cfc9"><code>8177739</code></a>
ref(httpx,httpx2): Move crumbs to integrations (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/7149">#7149</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/e4d7398fb7769c5853ad6ae9c80696192ce83982"><code>e4d7398</code></a>
ref(pyreqwest): Move crumbs to integration (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/7148">#7148</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/getsentry/sentry-python/compare/2.66.0...2.68.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-15 04:10:43 +00:00
dependabot[bot] ee59ae1686 Bump starlette from 1.3.1 to 1.6.0 in /backend (#1820)
Bumps [starlette](https://github.com/Kludex/starlette) from 1.3.1 to
1.6.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Kludex/starlette/releases">starlette's
releases</a>.</em></p>
<blockquote>
<h2>Version 1.6.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Add <code>max_body_size</code> to <code>Starlette</code> and route
classes by <a href="https://github.com/Kludex"><code>@​Kludex</code></a>
in <a
href="https://redirect.github.com/Kludex/starlette/pull/3431">Kludex/starlette#3431</a></li>
<li>Expose <code>http.response.debug</code> info via response extensions
by <a href="https://github.com/y2kbugger"><code>@​y2kbugger</code></a>
in <a
href="https://redirect.github.com/Kludex/starlette/pull/3130">Kludex/starlette#3130</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/y2kbugger"><code>@​y2kbugger</code></a>
made their first contribution in <a
href="https://redirect.github.com/Kludex/starlette/pull/3130">Kludex/starlette#3130</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/starlette/compare/1.5.1...1.6.0">https://github.com/Kludex/starlette/compare/1.5.1...1.6.0</a></p>
<h2>Version 1.5.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Reject inverted single-byte Range like <code>bytes=5-4</code> by <a
href="https://github.com/nikolauspschuetz"><code>@​nikolauspschuetz</code></a>
in <a
href="https://redirect.github.com/encode/starlette/pull/3389">encode/starlette#3389</a></li>
<li>Limit <code>FileResponse</code> to 100 ranges by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/encode/starlette/pull/3430">encode/starlette#3430</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/encode/starlette/compare/1.5.0...1.5.1">https://github.com/encode/starlette/compare/1.5.0...1.5.1</a></p>
<h2>Version 1.5.0</h2>
<p>This release is all about giving <code>GZipMiddleware</code> some
love. 🗜️</p>
<h2>What's Changed</h2>
<ul>
<li>Add <code>exclude_content_types</code> parameter to
<code>GZipMiddleware</code> by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/encode/starlette/pull/3418">encode/starlette#3418</a></li>
<li>Flush GZip output for each streamed chunk by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/encode/starlette/pull/3419">encode/starlette#3419</a></li>
<li>Skip compression of partial responses in <code>GZipMiddleware</code>
by <a href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/encode/starlette/pull/3420">encode/starlette#3420</a></li>
<li>Expand default excluded content types in <code>GZipMiddleware</code>
by <a href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/encode/starlette/pull/3421">encode/starlette#3421</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/encode/starlette/compare/1.4.1...1.5.0">https://github.com/encode/starlette/compare/1.4.1...1.5.0</a></p>
<h2>Version 1.4.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Default <code>thread_minimum_size</code> in
<code>GZipResponder</code> by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/starlette/pull/3415">Kludex/starlette#3415</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/starlette/compare/1.4.0...1.4.1">https://github.com/Kludex/starlette/compare/1.4.0...1.4.1</a></p>
<h2>Version 1.4.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Lazily allocate GZipMiddleware compression resources by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/starlette/pull/3407">Kludex/starlette#3407</a></li>
<li>Use <code>zlib.compressobj</code> instead of <code>GzipFile</code>
in <code>GZipMiddleware</code> by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/starlette/pull/3411">Kludex/starlette#3411</a></li>
<li>Offload large GZip compression by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/starlette/pull/3410">Kludex/starlette#3410</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/benberryallwood"><code>@​benberryallwood</code></a>
made their first contribution in <a
href="https://redirect.github.com/Kludex/starlette/pull/3334">Kludex/starlette#3334</a></li>
<li><a href="https://github.com/lkk7"><code>@​lkk7</code></a> made their
first contribution in <a
href="https://redirect.github.com/Kludex/starlette/pull/3359">Kludex/starlette#3359</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/starlette/compare/1.3.1...1.4.0">https://github.com/Kludex/starlette/compare/1.3.1...1.4.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/Kludex/starlette/blob/main/docs/release-notes.md">starlette's
changelog</a>.</em></p>
<blockquote>
<h2>1.6.0 (August 8, 2026)</h2>
<h4>Added</h4>
<ul>
<li>Add <code>max_body_size</code> to <code>Starlette</code> and route
classes <a
href="https://redirect.github.com/encode/starlette/pull/3431">#3431</a>.</li>
<li>Expose <code>http.response.debug</code> information via response
extensions <a
href="https://redirect.github.com/encode/starlette/pull/3130">#3130</a>.</li>
</ul>
<h2>1.5.1 (August 8, 2026)</h2>
<h4>Fixed</h4>
<ul>
<li>Reject inverted single-byte ranges in <code>FileResponse</code> <a
href="https://redirect.github.com/encode/starlette/pull/3389">#3389</a>.</li>
<li>Limit <code>FileResponse</code> to 100 ranges <a
href="https://redirect.github.com/encode/starlette/pull/3430">#3430</a>.</li>
</ul>
<h2>1.5.0 (August 8, 2026)</h2>
<h4>Added</h4>
<ul>
<li>Add <code>exclude_content_types</code> parameter to
<code>GZipMiddleware</code> <a
href="https://redirect.github.com/encode/starlette/pull/3418">#3418</a>.</li>
</ul>
<h4>Changed</h4>
<ul>
<li>Expand default excluded content types in <code>GZipMiddleware</code>
<a
href="https://redirect.github.com/encode/starlette/pull/3421">#3421</a>.</li>
</ul>
<h4>Fixed</h4>
<ul>
<li>Flush GZip output for each streamed chunk <a
href="https://redirect.github.com/encode/starlette/pull/3419">#3419</a>.</li>
<li>Skip compression of partial responses in <code>GZipMiddleware</code>
<a
href="https://redirect.github.com/encode/starlette/pull/3420">#3420</a>.</li>
</ul>
<h2>1.4.1 (August 5, 2026)</h2>
<h4>Fixed</h4>
<ul>
<li>Default <code>thread_minimum_size</code> to 128 KiB in
<code>GZipResponder</code>, keeping it usable without the new keyword
argument <a
href="https://redirect.github.com/encode/starlette/pull/3415">#3415</a>.</li>
</ul>
<h2>1.4.0 (August 5, 2026)</h2>
<h4>Added</h4>
<ul>
<li>Offload large GZip compression to a worker thread, keeping the event
loop responsive. <code>GZipMiddleware</code> accepts a new
<code>thread_minimum_size</code> parameter (default 128 KiB) controlling
the minimum body chunk size compressed in a thread <a
href="https://redirect.github.com/encode/starlette/pull/3410">#3410</a>.</li>
</ul>
<h4>Changed</h4>
<ul>
<li>Use <code>zlib.compressobj</code> instead of <code>GzipFile</code>
in <code>GZipMiddleware</code>, reducing memory usage during compression
<a
href="https://redirect.github.com/encode/starlette/pull/3411">#3411</a>.</li>
<li>Lazily allocate <code>GZipMiddleware</code> compression resources,
avoiding compressor allocation for responses that are never compressed
<a
href="https://redirect.github.com/encode/starlette/pull/3407">#3407</a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Kludex/starlette/commit/4f250d6b814587e20c5365f0a5f0c4d42bcb929f"><code>4f250d6</code></a>
Version 1.6.0 (<a
href="https://redirect.github.com/Kludex/starlette/issues/3434">#3434</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/9eea41ad3c26ad21b9bdfe4578c1cdad6c9b9ac2"><code>9eea41a</code></a>
Expose <code>http.response.debug</code> info via response extensions (<a
href="https://redirect.github.com/Kludex/starlette/issues/3130">#3130</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/38f8999a229610b36f39d11f67d80515a15c6330"><code>38f8999</code></a>
Add <code>max_body_size</code> to <code>Starlette</code> and route
classes (<a
href="https://redirect.github.com/Kludex/starlette/issues/3431">#3431</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/c41236c03868fb3779a64101f4ea88cd47877e23"><code>c41236c</code></a>
Version 1.5.1 (<a
href="https://redirect.github.com/Kludex/starlette/issues/3432">#3432</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/9c500db197859dba4a8db13fa8e7d2c55de8152c"><code>9c500db</code></a>
Limit <code>FileResponse</code> to 100 ranges (<a
href="https://redirect.github.com/Kludex/starlette/issues/3430">#3430</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/78ae82cad482fe66a73fb1217f0a6609b3f998f6"><code>78ae82c</code></a>
Reject inverted single-byte Range like bytes=5-4 (<a
href="https://redirect.github.com/Kludex/starlette/issues/3389">#3389</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/c1d6edaf43920104d4389e983c3e0314f6af14cf"><code>c1d6eda</code></a>
chore(deps): bump pymdown-extensions from 11.0 to 11.0.1 (<a
href="https://redirect.github.com/Kludex/starlette/issues/3429">#3429</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/ee66ca48418780d6415d231851b31464febc32de"><code>ee66ca4</code></a>
chore(deps): bump the python-packages group across 1 directory with 8
updates...</li>
<li><a
href="https://github.com/Kludex/starlette/commit/00d10167523f819d39d5ca36732348d58645a447"><code>00d1016</code></a>
fix(tests): skip test_staticfiles_filename_too_long on Windows where
os.pathc...</li>
<li><a
href="https://github.com/Kludex/starlette/commit/d96887ea7b49db3d1d15994be6438c7fe99936f4"><code>d96887e</code></a>
Add Pydantic Logfire banner to the docs (<a
href="https://redirect.github.com/Kludex/starlette/issues/3428">#3428</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/Kludex/starlette/compare/1.3.1...1.6.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-08 04:14:09 +00:00
dependabot[bot] 538deee504 Bump pydantic-settings from 2.14.2 to 2.15.0 in /backend (#1818)
Bumps [pydantic-settings](https://github.com/pydantic/pydantic-settings)
from 2.14.2 to 2.15.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pydantic/pydantic-settings/releases">pydantic-settings's
releases</a>.</em></p>
<blockquote>
<h2>v2.15.0</h2>
<h2>Highlights</h2>
<h3>Behavior changes</h3>
<ul>
<li><strong><code>case_sensitive</code> now applies to init kwargs and
config-file sources</strong> (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/900">#900</a>).
<code>InitSettingsSource</code> and the JSON/TOML/YAML config sources
previously ignored <code>case_sensitive</code>. Since it defaults to
<code>False</code>, <strong>case-insensitive matching is now the
default</strong> for these sources — e.g.
<code>Settings(TeSt=...)</code> now populates a <code>test</code> field
where it previously did not. Nested keys are still matched
case-sensitively.</li>
<li><strong>Fields with unresolved forward references now emit a
warning</strong> (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/901">#901</a>).
Settings sources can silently fail to resolve such fields; they now
raise <code>IncompleteFieldDefinitionWarning</code> telling you to call
<code>model_rebuild()</code>. If you have <code>filterwarnings =
error</code> configured, this may surface as a new failure.</li>
<li><strong>Non-JSON env values for strict fields now raise
<code>ValidationError</code></strong> (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/926">#926</a>)
instead of a less specific error.</li>
</ul>
<h3>New features</h3>
<ul>
<li><strong>Show environment variable names in CLI help</strong> via
<code>cli_show_env_vars=True</code> (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/860">#860</a>),
so generated <code>--help</code> output doubles as configuration
documentation.</li>
<li><strong><code>PYDANTIC_SETTINGS_DEBUG</code> for debugging settings
resolution</strong> (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/906">#906</a>,
<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/913">#913</a>).
Set it to a truthy value with <code>DEBUG</code> logging enabled to see
each source's contribution in priority order, which source won for each
value, and which <code>env_file</code>/secret files were probed, loaded,
or skipped — the long-standing &quot;why isn't my <code>.env</code>
being picked up?&quot; question.</li>
<li><strong><code>toml_table_header</code> for regular TOML
files</strong> (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/882">#882</a>,
<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/886">#886</a>,
<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/887">#887</a>),
letting you root settings at a nested table in any TOML file, not just
<code>pyproject.toml</code>.</li>
<li><strong><code>Traversable</code> support for JSON/TOML/YAML file
sources</strong> (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/902">#902</a>),
so you can load config packaged inside a distribution — including files
inside a zip or wheel — via <code>importlib.resources.files(...)</code>
without casting to <code>Path</code>.</li>
<li><strong>GCP: <code>project_id</code> can come from an earlier
settings source</strong> (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/878">#878</a>),
rather than only from the constructor or
<code>GOOGLE_CLOUD_PROJECT</code>.</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Fix env vars not loading on Windows with
<code>case_sensitive=True</code> (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/894">#894</a>).
Windows upper-cases <code>os.environ</code> keys, so fields raised
<code>Field required</code> instead of picking up their values.</li>
<li>Read secret files as UTF-8 instead of the platform locale encoding
(<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/917">#917</a>).
On Windows code pages such as cp1252 this silently corrupted non-ASCII
secrets.</li>
<li>Fix <code>AliasPath</code> on nested model fields not JSON-decoding
env values (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/898">#898</a>).</li>
<li>Fix case-insensitive matching for <strong>optional</strong> nested
models (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/905">#905</a>).</li>
<li>Fix dotenv extras being wrongly claimed by a complex field sharing a
name prefix (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/912">#912</a>)
— e.g. <code>dbx_token</code> being swallowed by a <code>db: dict</code>
field.</li>
<li>Fix <code>nested_model_default_partial_update=True</code> corrupting
discriminated unions (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/876">#876</a>).</li>
<li>Fix <code>Secret</code> subclasses crashing when loaded from the
environment (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/920">#920</a>).</li>
<li>Fix enum names not parsing through nested annotations such as
<code>Optional[Annotated[MyEnum, ...]]</code> with
<code>env_parse_enums=True</code> (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/910">#910</a>).</li>
<li>An empty <code>yaml_config_section</code> now falls back to defaults
instead of raising <code>AttributeError: 'NoneType' object has no
attribute 'keys'</code> (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/914">#914</a>).</li>
<li><code>NestedSecretsSettingsSource</code> no longer follows symlinks
pointing outside <code>secrets_dir</code> (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/889">#889</a>).</li>
<li>GCP: skip the <code>list_secrets</code> call when
<code>case_sensitive=True</code> (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/862">#862</a>),
lowering the required IAM permissions to just
<code>roles/secretmanager.secretAccessor</code>.</li>
<li>AWS: <code>types-boto3[secretsmanager]</code> is no longer required
at runtime (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/880">#880</a>).</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Document JSON parsing of complex env values, plus a
comma-separated-values recipe (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/919">#919</a>).</li>
<li>Recommend an async settings loading pattern (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/908">#908</a>).</li>
<li>Clarify behavior when an unprefixed value is present in a dotenv
file (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/895">#895</a>).</li>
<li>Clarify environment variable helper descriptions (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/867">#867</a>)
and fix assorted typos (<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/904">#904</a>).</li>
</ul>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Update documentation link for Pydantic settings by <a
href="https://github.com/hramezani"><code>@​hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/863">pydantic/pydantic-settings#863</a></li>
<li>Bump the python-packages group with 4 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/865">pydantic/pydantic-settings#865</a></li>
<li>docs: clarify environment variable helper descriptions by <a
href="https://github.com/vip892766gma"><code>@​vip892766gma</code></a>
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/867">pydantic/pydantic-settings#867</a></li>
<li>Bump the python-packages group with 4 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/870">pydantic/pydantic-settings#870</a></li>
<li>Bump the python-packages group with 4 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/875">pydantic/pydantic-settings#875</a></li>
<li>Skip list_secrets call when case_sensitive=True by <a
href="https://github.com/ecerulm"><code>@​ecerulm</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/862">pydantic/pydantic-settings#862</a></li>
<li>GoogleSecretManagerSettingsSource: read project_id from previous
sources by <a
href="https://github.com/ecerulm"><code>@​ecerulm</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/878">pydantic/pydantic-settings#878</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/f725ca187bee4212e9ef799eefa3cb25be788462"><code>f725ca1</code></a>
Prepare release 2.15.0 (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/930">#930</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/28f35c25fac5d61210d532c31a300d49c0b684a4"><code>28f35c2</code></a>
Bump the python-packages group with 4 updates (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/929">#929</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/9056db049560897229f2603493753bae27b6479f"><code>9056db0</code></a>
test: move function-local imports to the top of test modules (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/927">#927</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/f077e3ab3d9492838c7ef9275a88c95134688095"><code>f077e3a</code></a>
fix: raise ValidationError for non-JSON env values on strict fields (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/926">#926</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/ae25d703c458b57f5a9a425f6ec9a28ad868f980"><code>ae25d70</code></a>
fix: treat Secret subclasses as non-complex fields (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/716">#716</a>)
(<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/920">#920</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/798dcea2a23b08a3e9b37994014e036224f6dd18"><code>798dcea</code></a>
Bump the python-packages group with 4 updates (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/924">#924</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/a190041d353bda2d432ea1908de4c499ae89ee0a"><code>a190041</code></a>
Bump the github-actions group with 4 updates (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/925">#925</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/5d9333282b5c85d65a457c45e4476369b9949726"><code>5d93332</code></a>
Bump the python-packages group with 4 updates (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/921">#921</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/d2fdeda91157140d2ff0c05404f32a9b1218115a"><code>d2fdeda</code></a>
fix: read secret files as UTF-8 instead of the locale encoding (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/917">#917</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/2256a4e60f83f2da81e7654252562fc4841aa5d4"><code>2256a4e</code></a>
Bump the python-packages group with 3 updates (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/915">#915</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pydantic/pydantic-settings/compare/v2.14.2...v2.15.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-08 04:13:38 +00:00
dependabot[bot] c86362f1b6 Bump alembic from 1.18.0 to 1.19.1 in /backend (#1817)
Bumps [alembic](https://github.com/sqlalchemy/alembic) from 1.18.0 to
1.19.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sqlalchemy/alembic/releases">alembic's
releases</a>.</em></p>
<blockquote>
<h1>1.19.1</h1>
<p>Released: August 8, 2026</p>
<h2>bug</h2>
<ul>
<li>
<p><strong>[bug] [autogenerate]</strong> Fixed bug in the check
constraint detection implemented in <a
href="https://redirect.github.com/sqlalchemy/alembic/issues/508">#508</a>
that failed to take into account column bound check constraints,
leading to wrong autogenerate detections.</p>
<p>References: <a
href="https://redirect.github.com/sqlalchemy/alembic/issues/1842">#1842</a></p>
</li>
</ul>
<h1>1.19.0</h1>
<p>Released: August 4, 2026</p>
<h2>changed</h2>
<ul>
<li>
<p><strong>[changed] [installation]</strong> Environmental updates:</p>
<pre><code>- Trove classifiers now include Python 3.15 which is now part
of CI
    integration
<ul>
<li>
<p>Python 3.14 is also added to trove classifiers which had been
previously
omitted</p>
</li>
<li>
<p>Implemented <a href="https://peps.python.org/pep-0604">PEP 604</a>
style unions in type annotations
</code></pre></p>
</li>
</ul>
</li>
</ul>
<h2>feature</h2>
<ul>
<li>
<p><strong>[feature] [autogenerate]</strong> Autogenerate now detects
the addition and removal of named CHECK
constraints, as part of the default autogenerate behavior. Detection is
name-based only; a constraint whose name is unchanged is presumed
equivalent regardless of its expression text, as reliably normalizing
SQL expressions across backends for comparison purposes is not generally
feasible. This behavior is implemented as a plugin named
<code>alembic.autogenerate.checkconstraint_byname</code>, and may be
disabled if not
desired by excluding it from the
<code>EnvironmentContext.configure.autogenerate_plugins</code> list.
Pull request courtesy Francois van Kempen.</p>
<p>References: <a
href="https://redirect.github.com/sqlalchemy/alembic/issues/508">#508</a></p>
</li>
</ul>
<h2>bug</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/sqlalchemy/alembic/commits">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-08 04:13:02 +00:00
1550107777 Bump pyrefly from 1.1.1 to 1.2.0 in /backend (#1808)
Bumps [pyrefly](https://github.com/facebook/pyrefly) from 1.1.1 to
1.2.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/facebook/pyrefly/releases">pyrefly's
releases</a>.</em></p>
<blockquote>
<h2>Pyrefly v1.2.0</h2>
<p><em>Release date: July 31, 2026</em></p>
<p>Pyrefly v1.2.0 bundles <strong>901 commits</strong> from <strong>59
contributors</strong>.</p>
<hr />
<h2> New &amp; Improved</h2>
<h3>Type Checking</h3>
<ul>
<li>Attrs classes are now fully supported with comprehensive field
synthesis, validation, and special-method generation. Pyrefly recognizes
<code>@attr.s</code>, <code>@define</code>, <code>@frozen</code>, and
their variants, handling field specifiers (<code>attr.ib()</code>,
<code>field()</code>), converters, validators, defaults, and
private-field aliasing. Converters are typed from their real input type
rather than <code>Any</code>, including the
<code>@&lt;field&gt;.converter</code> decorator,
<code>attrs.converters.pipe</code>,
<code>attrs.converters.default_if_none</code>, and generic converters
like <code>copy.deepcopy</code>. See the new <a
href="https://pyrefly.org/en/docs/attrs/">attrs documentation</a> for
details.</li>
<li><code>functools.partial</code> is now type-checked instead of
treated as opaque. Bound arguments are validated at construction and
Pyrefly synthesizes a precise residual signature for the remaining
parameters, so errors surface at both the <code>partial(...)</code> call
and the later invocation. Generic functions, overloads, constructors,
bound methods, and <code>**Unpack[TypedDict]</code> parameters are
supported, and results expose <code>.func</code>, <code>.args</code>,
and <code>.keywords</code>. Precise residual callable assignment is
enabled by the <code>strict</code> and <code>all</code> presets or
explicitly with <code>strict-partial-subtyping</code>.</li>
<li>Functions decorated with <code>functools.singledispatch</code> now
type-check calls using the signature of the function you decorated, and
registered implementations are checked against that function's first
parameter. Generic <code>singledispatch</code> functions infer from call
arguments instead of reporting <code>Unknown</code>.</li>
<li>Pyrefly can now warn when a function declared to return a concrete
type returns <code>Any</code>, with separate diagnostics for explicit
and inferred cases. Off by default, and migrated automatically from
mypy's <code>warn_return_any</code>.</li>
<li>Pattern matching is substantially more precise: positional class
patterns resolve attribute names from <code>__match_args__</code> at
solve time, sequence element captures read from the narrowed subject so
sibling constraints refine them, and <code>isinstance</code> on a facet
filters the parent union to matching members. Fully covered class and
sequence patterns now subtract their union member from later cases.</li>
<li>Unpacking a variadic tuple with a fixed prefix and suffix no longer
smears those elements into the starred capture, so <code>a, *rest, b =
t</code> where <code>t: tuple[int, *tuple[bool, ...], str]</code> types
<code>rest</code> as <code>list[bool]</code>.</li>
<li>TypedDict classes now synthesize <code>__required_keys__</code> and
<code>__optional_keys__</code>, so protocols requiring them (like those
in langgraph) satisfy structural checks. <code>.get()</code> and
<code>.pop()</code> with literal defaults preserve the field type.</li>
<li>Overload handling improved throughout: constrained TypeVar arguments
expand during resolution, rejected overloads no longer leak argument
errors into diagnostics, and exact callback-forwarding signatures
resolve overloaded callbacks against forwarded arguments for helpers
like <code>asyncio.to_thread</code>.</li>
<li>Enum <code>.value</code> on an enum type now infers as the union of
member literal values instead of widening to the mixed-in data
type.</li>
<li>Lambda parameters are contextually typed more thoroughly. Types are
stored directly rather than resolved through inference variables, and
<code>*args</code>/<code>**kwargs</code> resolve from callable hints to
<code>tuple[...]</code> and <code>dict[str, ...]</code> inside the body
while preserving element types in the signature.</li>
<li>All properties are now treated as data descriptors, and reflected
binary-operation dunders are tried first for proper subclasses, fixing a
class of incorrect attribute and operator results.</li>
<li>Cyclic type aliases reachable from an annotation are now detected
instead of hanging, and class finality is taken into account when
deciding whether a condition is redundant.</li>
<li>Continued basedpyright parity work: class instance truthiness is
recognized, code under <code>if TYPE_CHECKING</code> is handled
consistently, <code>typing_extensions.sentinel</code> is supported with
relaxed naming restrictions, and <code>super(cls, cls)</code> is
accepted.</li>
<li><code>copy.replace</code> is now type-checked like dataclass
replacement, and <code>isinstance(x, type)</code> preserves type
arguments when narrowing unions.</li>
<li>Narrowing a receiver typed as <code>Self</code> to a subclass now
preserves <code>Self</code>, eliminating false return errors in methods
that return the narrowed receiver.</li>
</ul>
<h3>Library Support</h3>
<ul>
<li>Pydantic constructor synthesis now honors
<code>populate_by_name</code> and built-in <code>alias_generator</code>
functions, ignores <code>Field(init=False)</code> to match runtime, and
treats <code>frozen</code> as a readonly field reason.</li>
<li>Django <code>ForeignKey</code> targets now resolve attribute
expressions and string references such as
<code>&quot;app_label.Model&quot;</code>, preserving the generated
relation and <code>&lt;field&gt;_id</code> types.</li>
<li>Bare factory-boy factory calls now return the model type via
<code>FactoryMetaClass</code>.</li>
<li>PEP 561 partial stub packages are now supported in imports. Pyrefly
reads the <code>partial</code> marker from <code>py.typed</code> and
merges the stubs with the runtime package, deferring to the runtime
package for omitted modules while preserving
<code>.pyi</code>-before-<code>.py</code> precedence for provided
ones.</li>
<li>A configured <code>typeshed-path</code> now supplies stdlib stubs as
well as third-party stubs, enabling complete custom-typeshed testing and
overrides.</li>
</ul>
<h3>Language Server</h3>
<ul>
<li>Hover now resolves keyword arguments, renders callable protocols as
their <code>__call__</code> signature, preserves overload docstrings at
call sites, shows enum fields, wraps nested callable and
<code>Concatenate[...]</code> signatures for readability, and covers
<code>and</code>/<code>or</code> operators, augmented assignments, and
union methods.</li>
<li>Auto-import completions respect
<code>python.analysis.autoImportCompletions</code>, rank deprecated
stdlib typing aliases below their modern equivalents, avoid duplicates
for already-imported modules, and preserve import aliases
correctly.</li>
<li>Rename now works on aliased imports and across files for keyword
arguments, and renaming a Protocol class targets the class rather than
<code>__init__</code>.</li>
<li>Go-to-definition now navigates directly to symbols in non-Python
files such as <code>.thrift</code>, including nested attribute and enum
access and intermediate components of multi-dotted imports.</li>
<li>Inlay hints debounce server-side (default 150ms), preventing width
jitter while typing. <code>NewType</code> values now use their callable
constructor signature instead of producing an invalid
<code>type[N]</code> annotation.</li>
<li>Notebook support improved: hover and type lookups work past the
first cell, and inlay hints, document symbols, references, and
diagnostic grouping work in cells following markdown cells.</li>
<li>Document symbols fall back to flat <code>SymbolInformation</code>
for clients such as Helix, semantic tokens cover <code>with ...
as</code> and <code>except ... as</code> bindings, and cross-file
diagnostics refresh on save in strict-spec clients such as Zed.</li>
<li><code>#region</code>/<code>#endregion</code> markers create folding
regions, and selection ranges now follow AST nesting from expression to
statement to scope to document.</li>
<li>Baselined errors now appear as hints instead of errors, making it
easier to distinguish new issues from known technical debt. Baselining
also now applies correctly to unused-ignore diagnostics.</li>
<li>Match captures receive consistent semantic highlighting and preserve
their declaration identity for go-to-definition.</li>
<li><code>lspArguments</code> defaults to <code>[&quot;lsp&quot;]</code>
when empty, preventing startup failures in dev containers and remote
environments.</li>
<li>The VSCode extension adds an &quot;Infer Types for Current
File&quot; command to the command palette.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/facebook/pyrefly/commit/1933169ad8ee9e4d4114112eb56ef0811fb0a094"><code>1933169</code></a>
cut 1.2.0</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/df11f5d1e2e5c1623659ed7b5b6cb36d33cada7e"><code>df11f5d</code></a>
Enforce call-boundary consumption in production</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/e67bc8e7a319e1c01abceed03f35a87ed3ae8cd0"><code>e67bc8e</code></a>
Transfer quantified handles to call boundaries</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/6ba516f98687c37ff72cb76118e2cae12fce3c9b"><code>6ba516f</code></a>
Move deferred call state into its boundary</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/8888e70c5342f24f18c2e2961e2fd68e8e20b7a1"><code>8888e70</code></a>
Scope call contexts to a lexical boundary</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/f8c9e7cf2e6dedcf521c8d6001d171d33fab3f27"><code>f8c9e7c</code></a>
LSP: default lspArguments to [&quot;lsp&quot;] when empty</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/3f0c2285c96579385d1fee8295cd669a76e9b592"><code>3f0c228</code></a>
Remove dead .hgignore</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/335510d760c4e8e8642c32e994886de7e9495519"><code>335510d</code></a>
improve Sandbox: link shortening <a
href="https://redirect.github.com/facebook/pyrefly/issues/1063">#1063</a>
(<a
href="https://redirect.github.com/facebook/pyrefly/issues/4327">#4327</a>)</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/41094b96c71e8da4506745157effeafe21e17e5a"><code>41094b9</code></a>
Keep lambda hint decomposition transactional</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/3193b6a3a17a3995ea244e3cdc383cda227c06d9"><code>3193b6a</code></a>
fix behavior of init=False for pydantic.BaseModel (<a
href="https://redirect.github.com/facebook/pyrefly/issues/4352">#4352</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/facebook/pyrefly/compare/1.1.1...1.2.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: evroon <11857441+evroon@users.noreply.github.com>
2026-09-01 06:10:40 +00:00
dependabot[bot] bf31ad1564 Bump uvicorn from 0.51.0 to 0.52.1 in /backend (#1810)
Bumps [uvicorn](https://github.com/Kludex/uvicorn) from 0.51.0 to
0.52.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Kludex/uvicorn/releases">uvicorn's
releases</a>.</em></p>
<blockquote>
<h2>Version 0.52.1</h2>
<h3>Fixed</h3>
<ul>
<li>Complete the closing handshake on server-initiated WebSocket closes
in the <code>websockets-sansio</code> and <code>wsproto</code>
implementations, waiting for the client's close reply with a 10 second
timeout instead of resetting the connection (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3053">#3053</a>)</li>
<li>Add missing write flow control to the <code>websockets-sansio</code>
implementation, preventing data truncation on server-initiated closes
with large in-flight payloads (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3048">#3048</a>)</li>
<li>Handle connection loss while a WebSocket write is waiting on
backpressure (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3050">#3050</a>)</li>
<li>Remove duplicate <code>Content-Type</code> and
<code>Content-Length</code> headers from WebSocket denial responses on
the <code>websockets-sansio</code> implementation, and deliver non-UTF-8
denial bodies intact (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3041">#3041</a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/uvicorn/compare/0.52.0...0.52.1">https://github.com/Kludex/uvicorn/compare/0.52.0...0.52.1</a></p>
<h2>Version 0.52.0</h2>
<p>This release adds an experimental HTTP/1.1 implementation backed by
<a href="https://zttp.marcelotryle.com/">zttp</a>, a sans-IO HTTP parser
I've been developing on the side: a core written in Zig, with bindings
to Python. It has been running under a fuzzer for some weeks now, and
has been through multiple rounds of security auditing.</p>
<p>It is still <strong>experimental</strong>, so don't put it in front
of production traffic yet. Try it with <code>--http zttp</code>, and
please send any feedback to the <a
href="https://github.com/Kludex/uvicorn/issues">issue tracker</a>.</p>
<h3>Added</h3>
<ul>
<li>Add an experimental <code>zttp</code> HTTP/1.1 implementation,
selectable with <code>--http zttp</code> (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2979">#2979</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Keep non-ASCII WebSocket request headers intact with websockets
17.0, which encodes them with ISO-8859-1 (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3036">#3036</a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/uvicorn/compare/0.51.0...0.52.0">https://github.com/Kludex/uvicorn/compare/0.51.0...0.52.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md">uvicorn's
changelog</a>.</em></p>
<blockquote>
<h2>0.52.1 (August 1, 2026)</h2>
<h3>Fixed</h3>
<ul>
<li>Complete the closing handshake on server-initiated WebSocket closes
in the <code>websockets-sansio</code> and <code>wsproto</code>
implementations, waiting for the client's close reply with a 10 second
timeout instead of resetting the connection (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3053">#3053</a>)</li>
<li>Add missing write flow control to the <code>websockets-sansio</code>
implementation, preventing data truncation on server-initiated closes
with large in-flight payloads (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3048">#3048</a>)</li>
<li>Handle connection loss while a WebSocket write is waiting on
backpressure (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3050">#3050</a>)</li>
<li>Remove duplicate <code>Content-Type</code> and
<code>Content-Length</code> headers from WebSocket denial responses on
the <code>websockets-sansio</code> implementation, and deliver non-UTF-8
denial bodies intact (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3041">#3041</a>)</li>
</ul>
<h2>0.52.0 (July 29, 2026)</h2>
<p>This release adds an experimental HTTP/1.1 implementation backed by
<a href="https://zttp.marcelotryle.com/">zttp</a>, a sans-IO HTTP parser
I've been developing on the side: a core written in Zig, with bindings
to Python. It has been running under a fuzzer for some weeks now, and
has been through multiple rounds of security auditing.</p>
<p>It is still <strong>experimental</strong>, so don't put it in front
of production traffic yet. Try it with <code>--http zttp</code>, and
please send any feedback to the <a
href="https://github.com/Kludex/uvicorn/issues">issue tracker</a>.</p>
<h3>Added</h3>
<ul>
<li>Add an experimental <code>zttp</code> HTTP/1.1 implementation,
selectable with <code>--http zttp</code> (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2979">#2979</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Keep non-ASCII WebSocket request headers intact with websockets
17.0, which encodes them with ISO-8859-1 (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3036">#3036</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Kludex/uvicorn/commit/ee8e45ca472db17b4aef1d539f209539062d002e"><code>ee8e45c</code></a>
Version 0.52.1 (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3056">#3056</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/b57926d3f46348b5773b184cdf53ae8588300b77"><code>b57926d</code></a>
Remove duplicate content headers from WebSocket denial responses on
websocket...</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/49de1b91d497d038d97a0475f7459fbf66b9b8f9"><code>49de1b9</code></a>
chore(deps): bump pymdown-extensions from 10.21.3 to 11.0 (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3042">#3042</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/2f3fa3ab55b945d34d3933ec267be5b6ca41fc14"><code>2f3fa3a</code></a>
Complete server-initiated closes in SansIO WebSocket protocols (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3053">#3053</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/8c59d55b92b94fd5bee5960d1456ff8cb3072a32"><code>8c59d55</code></a>
chore(deps): bump the github-actions group with 5 updates (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3054">#3054</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/e148451dd97c321b71abd029f01e6eabebe4958c"><code>e148451</code></a>
Handle connection loss during WebSocket write backpressure (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3050">#3050</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/e16a69b6c8f186d76ca45b08de2cacba8472edd8"><code>e16a69b</code></a>
Add missing write flow control to <code>websockets-sansio</code> (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3048">#3048</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/ef1dd44319549de33079c0e69ef0d09c48c0a964"><code>ef1dd44</code></a>
Fold the zttp-only tests back into the HTTP test suite (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3046">#3046</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/8f1b884cd4a5298539ce77c44d96c7aebd512dff"><code>8f1b884</code></a>
Version 0.52.0 (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3044">#3044</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/f6833dbac8c3923c6c2915fe996cd06ceecd125b"><code>f6833db</code></a>
Add experimental zttp HTTP/1.1 protocol (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2979">#2979</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/Kludex/uvicorn/compare/0.51.0...0.52.1">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-01 04:17:16 +00:00
dependabot[bot] f3920e7213 Bump fastapi from 0.140.0 to 0.141.1 in /backend (#1809)
Bumps [fastapi](https://github.com/fastapi/fastapi) from 0.140.0 to
0.141.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.141.1</h2>
<h3>Fixes</h3>
<ul>
<li>🐛 Fix support for background tasks and headers from dependencies in
<code>app.frontend()</code>. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/16105">#16105</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
<h3>Docs</h3>
<ul>
<li>📝 Document <code>FASTAPI_ENV</code> in FastAPI CLI guide. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/16104">#16104</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
<h2>0.141.0</h2>
<h3>Features</h3>
<ul>
<li> Add <code>app.frontend(check_dir=&quot;auto&quot;)</code>, to make
local development more convenient with <code>fastapi dev</code>. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/16102">#16102</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
<h2>0.140.13</h2>
<h3>Fixes</h3>
<ul>
<li>🐛 Fix <code>status_code</code> being ignored for SSE and JSONL
streaming endpoints. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15937">#15937</a>
by <a
href="https://github.com/SAURABHSALVE"><code>@​SAURABHSALVE</code></a>.</li>
</ul>
<h3>Docs</h3>
<ul>
<li>📝 Fix <code>format_sse_event</code> docstring rendering of
<code>\n\n</code> terminator. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15613">#15613</a>
by <a
href="https://github.com/AshNicolus"><code>@​AshNicolus</code></a>.</li>
<li>📝 Add API reference page for fastapi.sse. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15930">#15930</a>
by <a
href="https://github.com/SAURABHSALVE"><code>@​SAURABHSALVE</code></a>.</li>
</ul>
<h2>0.140.12</h2>
<h3>Fixes</h3>
<ul>
<li>🐛 Fix line splitting in <code>format_sse_event</code> to comply with
SSE spec. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15515">#15515</a>
by <a
href="https://github.com/Zawwarsami16"><code>@​Zawwarsami16</code></a>.</li>
</ul>
<h2>0.140.11</h2>
<h3>Fixes</h3>
<ul>
<li>🐛 Fix <code>response_model_*</code> params ignored for non-generator
endpoints with <code>Iterable[..]</code> return type. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15093">#15093</a>
by <a
href="https://github.com/YuriiMotov"><code>@​YuriiMotov</code></a>.</li>
</ul>
<h2>0.140.10</h2>
<h3>Fixes</h3>
<ul>
<li>🐛 Fix handling sequences with nested Annotated types. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14874">#14874</a>
by <a
href="https://github.com/YuriiMotov"><code>@​YuriiMotov</code></a>.</li>
</ul>
<h3>Internal</h3>
<ul>
<li>🐛 Accept any base test failure as regression. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/16092">#16092</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🐛 Preserve pytest exit code in regression check. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/16091">#16091</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li> Test PR regressions against base code. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/16090">#16090</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
<h2>0.140.9</h2>
<h3>Fixes</h3>
<ul>
<li>🐛 Fix <code>exclude_defaults</code> not propagated to dict keys and
values in <code>jsonable_encoder</code>. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/16043">#16043</a>
by <a href="https://github.com/MBGrao"><code>@​MBGrao</code></a>.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/fastapi/fastapi/commit/95f8322ee1dcda7ceace7b1c4f6c9915b36d748f"><code>95f8322</code></a>
🔖 Release version 0.141.1 (<a
href="https://redirect.github.com/fastapi/fastapi/issues/16106">#16106</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/f137944c435cff4e4b30ea7d12855ea88ddb868c"><code>f137944</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/d62354434b2e508fe89024213b220ca8e67dea5e"><code>d623544</code></a>
🐛 Fix support for background tasks and headers from dependencies in
`app.fron...</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/1d211b9c1009d577f39fa2b19b10d9a93a72a0ed"><code>1d211b9</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/8a1f8768411e62093e70ce142ea10863a485643c"><code>8a1f876</code></a>
📝 Document <code>FASTAPI_ENV</code> in FastAPI CLI guide (<a
href="https://redirect.github.com/fastapi/fastapi/issues/16104">#16104</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/c7e7b651d6946c07cc9f675f39c9501d08319e57"><code>c7e7b65</code></a>
🔖 Release version 0.141.0 (<a
href="https://redirect.github.com/fastapi/fastapi/issues/16103">#16103</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/6bceb84053eb2405e9c000aad30ea13367b5ee32"><code>6bceb84</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/5429fed84e84e32672c25a953eca3429b841ce90"><code>5429fed</code></a>
 Add <code>app.frontend(check_dir=&quot;auto&quot;)</code>, to make
local development more conven...</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/628663f4f899c465da423bce681c7adf9a218948"><code>628663f</code></a>
🔖 Release version 0.140.13 (<a
href="https://redirect.github.com/fastapi/fastapi/issues/16096">#16096</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/0b54fd00273019034dd30b120ac842e65d80690e"><code>0b54fd0</code></a>
📝 Update release notes</li>
<li>Additional commits viewable in <a
href="https://github.com/fastapi/fastapi/compare/0.140.0...0.141.1">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-01 04:17:01 +00:00
dependabot[bot] 5169542733 Bump ruff from 0.15.0 to 0.16.0 in /backend (#1794)
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.15.0 to 0.16.0.
<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.16.0</h2>
<h2>Release Notes</h2>
<p>Released on 2026-07-23.</p>
<p>Check out the <a href="https://astral.sh/blog/ruff-v0.16.0">blog
post</a> for a migration guide and overview of the changes!</p>
<h3>Breaking changes</h3>
<ul>
<li>
<p>Ruff now enables a much larger set of rules by default (413, up from
59). See the blog post for more details and the new <a
href="https://docs.astral.sh/ruff/default-rules/">Default Rules</a> page
for a full listing of the enabled rules. Note that this is primarily an
expansion, but 18 of the more opinionated pycodestyle (<code>E</code>)
and pyflakes (<code>F</code>) rules have been removed from the default
set: <code>E401</code>, <code>E402</code>, <code>E701</code>,
<code>E702</code>, <code>E703</code>, <code>E711</code>,
<code>E712</code>, <code>E713</code>, <code>E714</code>,
<code>E721</code>, <code>E731</code>, <code>E741</code>,
<code>E742</code>, <code>E743</code>, <code>F403</code>,
<code>F405</code>, <code>F406</code>, and <code>F722</code>.</p>
</li>
<li>
<p>Ruff can now format Python code blocks in Markdown files and will do
this by default. See the <a
href="https://docs.astral.sh/ruff/formatter/#markdown-code-formatting">documentation</a>
for more details.</p>
</li>
<li>
<p>Ruff now supports <code>ruff: ignore</code> comments at the ends of
lines, like <code>noqa</code> comments, or on the line preceding a
diagnostic. For example, these both suppress an <a
href="https://docs.astral.sh/ruff/rules/unused-import/"><code>unused-import</code></a>
(<code>F401</code>) diagnostic:</p>
<pre lang="py"><code>import math  # ruff: ignore[F401]
<h1>ruff: ignore[F401]</h1>
<p>import os
</code></pre></p>
</li>
<li>
<p>Fixes are now shown in <code>check</code> and <code>format
--check</code> output:</p>
<pre lang="console"><code>❯ ruff format --check .
unformatted: File would be reformatted
 --&gt; try.md:1:1
  |
1 | ```python
  - import   math
2 + import math
3 | ```
  |
<p>1 file would be reformatted
</code></pre></p>
<p>This example also shows off the Markdown formatting.</p>
</li>
<li>
<p><code>format --check</code> now supports the same output formats as
the linter, including the <code>github</code> and <code>gitlab</code>
outputs for rendering annotations in CI:</p>
<pre lang="console"><code>❯ ruff format --check --output-format github .
::error title=ruff
(unformatted),file=try.md,line=2,col=8,endLine=2,endColumn=10::try.md:2:8:
unformatted: File would be reformatted
</code></pre>
<p>See the CLI help or <a
href="https://docs.astral.sh/ruff/settings/#output-format">documentation</a>
for the full list of supported formats.</p>
</li>
<li>
<p>The <code>filename</code>, <code>location</code>,
<code>end_location</code>, <code>fix.edits[].location</code>, and
<code>fix.edits[].end_location</code> fields in the JSON output format
may now be <code>null</code> rather than defaulting to the empty string
and row 1, column 1, respectively.</p>
</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.16.0</h2>
<p>Released on 2026-07-23.</p>
<p>Check out the <a href="https://astral.sh/blog/ruff-v0.16.0">blog
post</a> for a migration
guide and overview of the changes!</p>
<h3>Breaking changes</h3>
<ul>
<li>
<p>Ruff now enables a much larger set of rules by default (413, up from
59). See the blog post for
more details and the new <a
href="https://docs.astral.sh/ruff/default-rules/">Default Rules</a> page
for a
full listing of the enabled rules. Note that this is primarily an
expansion, but 18 of the more
opinionated pycodestyle (<code>E</code>) and pyflakes (<code>F</code>)
rules have been removed from the default set:
<code>E401</code>, <code>E402</code>, <code>E701</code>,
<code>E702</code>, <code>E703</code>, <code>E711</code>,
<code>E712</code>, <code>E713</code>, <code>E714</code>,
<code>E721</code>, <code>E731</code>, <code>E741</code>,
<code>E742</code>, <code>E743</code>, <code>F403</code>,
<code>F405</code>, <code>F406</code>, and <code>F722</code>.</p>
</li>
<li>
<p>Ruff can now format Python code blocks in Markdown files and will do
this by default. See the
<a
href="https://docs.astral.sh/ruff/formatter/#markdown-code-formatting">documentation</a>
for more details.</p>
</li>
<li>
<p>Ruff now supports <code>ruff: ignore</code> comments at the ends of
lines, like <code>noqa</code> comments, or on the line preceding a
diagnostic. For example, these both suppress an <a
href="https://docs.astral.sh/ruff/rules/unused-import/"><code>unused-import</code></a>
(<code>F401</code>) diagnostic:</p>
<pre lang="py"><code>import math  # ruff: ignore[F401]
<h1>ruff: ignore[F401]</h1>
<p>import os
</code></pre></p>
</li>
<li>
<p>Fixes are now shown in <code>check</code> and <code>format
--check</code> output:</p>
<pre lang="console"><code>❯ ruff format --check .
unformatted: File would be reformatted
 --&gt; try.md:1:1
  |
1 | ```python
  - import   math
2 + import math
3 | ```
  |
<p>1 file would be reformatted
</code></pre></p>
<p>This example also shows off the Markdown formatting.</p>
</li>
<li>
<p><code>format --check</code> now supports the same output formats as
the linter, including the <code>github</code> and
<code>gitlab</code> outputs for rendering annotations in CI:</p>
<pre lang="console"><code></code></pre>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/astral-sh/ruff/commit/a2635fd8f39e1d34ce8074cb486809426148f3e9"><code>a2635fd</code></a>
Bump 0.16.0 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27136">#27136</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/34334491652f8ceca5246d15c5c5afe0d6bc77ae"><code>3433449</code></a>
[ty] Reuse full call diagnostics for implicit setter calls (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27115">#27115</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/22400709220931375e072ad5d7460b9fc781af78"><code>2240070</code></a>
Reflect <code>ruff: ignore</code> and <code>--add-ignore</code>
stabilization in documentation (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27">#27</a>...</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/17ef71142c52230b923dad46ee5554140fc3fd2e"><code>17ef711</code></a>
Stabilize <code>--add-ignore</code> (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27125">#27125</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/ef912bbbe466856aa4aac10ad2a8856eb3d5aef3"><code>ef912bb</code></a>
Add newly stabilized rules to defaults (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27055">#27055</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/b30f04023281b46f12011f13ce6b45c247e0d2e3"><code>b30f040</code></a>
Stabilize new default rules (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27035">#27035</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/bcd70c5f10ea97ed52a785d70e7f33b83b7c697a"><code>bcd70c5</code></a>
Exclude Markdown files from <code>format-dev</code> runs (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27052">#27052</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/87e51e2cbbaed376fc13dead40fd772361fa07c0"><code>87e51e2</code></a>
Fix <code>format --check</code> spans for syntax errors (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27045">#27045</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/afe2723a348364ac7f4b9abd76fc67779490c05e"><code>afe2723</code></a>
[<code>flake8-gettext</code>] Stabilize qualified-name and built-in
binding resolution (...</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/a9702d8928344f77a41dbe535f655a69fb04e2df"><code>a9702d8</code></a>
[<code>flake8-bandit</code>] Stabilize string literal binding resolution
(<code>S310</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/issues/26944">#26944</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.15.0...0.16.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-25 04:11:52 +00:00
dependabot[bot] 29f4154e32 Bump fastapi from 0.139.0 to 0.140.0 in /backend (#1792)
Bumps [fastapi](https://github.com/fastapi/fastapi) from 0.139.0 to
0.140.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.140.0</h2>
<h3>Refactors</h3>
<ul>
<li>️ Reduce memory usage in dependencies. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/16049">#16049</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
<h3>Docs</h3>
<ul>
<li>📝 Fix links in docs. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15967">#15967</a>
by <a
href="https://github.com/YuriiMotov"><code>@​YuriiMotov</code></a>.</li>
<li>📝 Add Library Skills documentation. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/16041">#16041</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>📝 Update docs to use uv projects by default. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/16032">#16032</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>📝 Restructure FastAPI People and related pages. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/16015">#16015</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
<h3>Internal</h3>
<ul>
<li>👷 Add CI memory benchmark. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/16046">#16046</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>👥 Update FastAPI People - Sponsors. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/16027">#16027</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🔥 Remove now-obsolete scripts to generate data for FastAPI People.
PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/16016">#16016</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
<h2>0.139.2</h2>
<h3>Fixes</h3>
<ul>
<li>🐛 Refactor router route building to make it thread-safe, mainly
relevant for tests running in parallel threads (uncommon). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/16013">#16013</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
<h2>0.139.1</h2>
<h3>Fixes</h3>
<ul>
<li>🐛 Fix frontend fallback support for doted paths like
<code>/users/john.doe</code>. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/16011">#16011</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
<h3>Docs</h3>
<ul>
<li>📝 Fix topic repository list not being displayed and
<code>skip_users</code> not being applied. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15995">#15995</a>
by <a
href="https://github.com/YuriiMotov"><code>@​YuriiMotov</code></a>.</li>
</ul>
<h3>Translations</h3>
<ul>
<li>🌐 Update translations for tr (update-outdated). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/16005">#16005</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for zh-hant (update-outdated). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15996">#15996</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for fr (update-outdated). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/16006">#16006</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for de (update-outdated). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15999">#15999</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for ko (update-outdated). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/16004">#16004</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for zh (update-outdated). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/16001">#16001</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for uk (update-outdated). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/16003">#16003</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for ja (update-outdated). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15998">#15998</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/16000">#16000</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/15997">#15997</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for ru (update-outdated). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/16002">#16002</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for hi (add-missing). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15990">#15990</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for hi (add-missing). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15925">#15925</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for hi (add-missing). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15797">#15797</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update <code>llm-prompt.md</code> for Hindi. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15810">#15810</a>
by <a
href="https://github.com/YuriiMotov"><code>@​YuriiMotov</code></a>.</li>
<li>🌐 Fix language-specific translation prompt for Russian language. PR
<a
href="https://redirect.github.com/fastapi/fastapi/pull/15924">#15924</a>
by <a
href="https://github.com/YuriiMotov"><code>@​YuriiMotov</code></a>.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/fastapi/fastapi/commit/255b912928904e3ba5980425a54d6837c8bd1a1c"><code>255b912</code></a>
🔖 Release version 0.140.0 (<a
href="https://redirect.github.com/fastapi/fastapi/issues/16050">#16050</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/892eacd27dcdcfe6c5ea114543ff473cbbfd7c6f"><code>892eacd</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/027082950068d6e3897b5422ab6cde3168f7d8b0"><code>0270829</code></a>
️ Reduce memory usage in dependencies (<a
href="https://redirect.github.com/fastapi/fastapi/issues/16049">#16049</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/ae031be7b5a2df589f63f4d25389cf07b7b8fc86"><code>ae031be</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/f3644b33cdaf1b14868d77f1c309e0a455c6bac8"><code>f3644b3</code></a>
📝 Fix links in docs (<a
href="https://redirect.github.com/fastapi/fastapi/issues/15967">#15967</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/1e24ca0e12e9a66cecb1e42780b9116374e2618d"><code>1e24ca0</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/513c396322664bcb3bdcb3946c440a8ed8ef080b"><code>513c396</code></a>
👷 Add CI memory benchmark (<a
href="https://redirect.github.com/fastapi/fastapi/issues/16046">#16046</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/a64dfbbd21a445288ff583d58e1f646fe6baf3af"><code>a64dfbb</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/4f155486f0c1465c5e1f8701544acc10cb8a78bb"><code>4f15548</code></a>
📝 Add Library Skills documentation (<a
href="https://redirect.github.com/fastapi/fastapi/issues/16041">#16041</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/704fbe1439341994100622853f515a8af7ccc2eb"><code>704fbe1</code></a>
📝 Update release notes</li>
<li>Additional commits viewable in <a
href="https://github.com/fastapi/fastapi/compare/0.139.0...0.140.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-25 04:10:40 +00:00
dependabot[bot] 02ab76eeea Bump types-simplejson from 3.20.0.20250218 to 4.1.0.20260724 in /backend (#1791)
Bumps [types-simplejson](https://github.com/python/typeshed) from
3.20.0.20250218 to 4.1.0.20260724.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/python/typeshed/commits">compare view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-25 04:10:27 +00:00
dependabot[bot] 6295b1f49a Bump sentry-sdk from 2.64.0 to 2.66.0 in /backend (#1784)
Bumps [sentry-sdk](https://github.com/getsentry/sentry-python) from
2.64.0 to 2.66.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/getsentry/sentry-python/releases">sentry-sdk's
releases</a>.</em></p>
<blockquote>
<h2>2.66.0</h2>
<h3>New Features </h3>
<ul>
<li>(tracing) Promote trace_lifecycle and ignore_spans to top-level
options by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6821">#6821</a></li>
</ul>
<h3>Bug Fixes 🐛</h3>
<h4>Tracing</h4>
<ul>
<li>Skip child span creation in streaming path when no current span
(HTTP clients) by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6811">#6811</a></li>
<li>Skip child span creation in streaming path when no current span
(task queues) by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6814">#6814</a></li>
<li>Skip child span creation in streaming path when no current span
(misc) by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6815">#6815</a></li>
<li>Skip child span creation in streaming path when no current span
(databases) by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6808">#6808</a></li>
<li>Skip child span creation in streaming path when no current span (web
frameworks) by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6810">#6810</a></li>
<li>Skip child span creation in streaming path when no current span
(django) by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6809">#6809</a></li>
</ul>
<h3>Internal Changes 🔧</h3>
<ul>
<li>(logging) Fix flaky test_logging_captured_warnings by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6824">#6824</a></li>
<li>Remove flaky no cyclic garbage test by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6817">#6817</a></li>
<li>Remove Claude permission settings by <a
href="https://github.com/cleptric"><code>@​cleptric</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6806">#6806</a></li>
<li>Move <code>nullcontext</code> to <code>sentry_sdk.utils</code> by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6805">#6805</a></li>
</ul>
<h2>2.65.0</h2>
<h3>New Features </h3>
<h4>Huey</h4>
<ul>
<li>Set <code>messaging.destination.name</code> on consumer spans by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6779">#6779</a></li>
<li>Set <code>messaging.destination.name</code> on producer spans by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6778">#6778</a></li>
</ul>
<h4>Other</h4>
<ul>
<li>(arq) Set <code>messaging.destination.name</code> on consumer spans
by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6767">#6767</a></li>
<li>(dramatiq) Set <code>messaging.destination.name</code> on consumer
spans by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6776">#6776</a></li>
<li>(rq) Set <code>messaging.destination.name</code> on consumer spans
by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6774">#6774</a></li>
</ul>
<h3>Bug Fixes 🐛</h3>
<h4>Tracing</h4>
<ul>
<li>Take first sentry-trace header in case multiple are supplied by <a
href="https://github.com/sl0thentr0py"><code>@​sl0thentr0py</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6722">#6722</a></li>
</ul>
<h4>Other</h4>
<ul>
<li>(django) Avoid <code>ValueError</code> in async middleware
<code>process_*</code> hooks by <a
href="https://github.com/r0ro"><code>@​r0ro</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6698">#6698</a></li>
<li>(scope) Drop None user attribute values in set_user by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6692">#6692</a></li>
<li>(starlette) Don't overwrite user set during request in
AuthenticationMiddleware by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6760">#6760</a></li>
</ul>
<h3>Internal Changes 🔧</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md">sentry-sdk's
changelog</a>.</em></p>
<blockquote>
<h2>2.66.0</h2>
<h3>New Features </h3>
<ul>
<li>(tracing) Promote trace_lifecycle and ignore_spans to top-level
options by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6821">#6821</a></li>
</ul>
<h3>Bug Fixes 🐛</h3>
<h4>Tracing</h4>
<ul>
<li>Skip child span creation in streaming path when no current span
(HTTP clients) by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6811">#6811</a></li>
<li>Skip child span creation in streaming path when no current span
(task queues) by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6814">#6814</a></li>
<li>Skip child span creation in streaming path when no current span
(misc) by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6815">#6815</a></li>
<li>Skip child span creation in streaming path when no current span
(databases) by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6808">#6808</a></li>
<li>Skip child span creation in streaming path when no current span (web
frameworks) by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6810">#6810</a></li>
<li>Skip child span creation in streaming path when no current span
(django) by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6809">#6809</a></li>
</ul>
<h3>Internal Changes 🔧</h3>
<ul>
<li>(logging) Fix flaky test_logging_captured_warnings by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6824">#6824</a></li>
<li>Remove flaky no cyclic garbage test by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6817">#6817</a></li>
<li>Remove Claude permission settings by <a
href="https://github.com/cleptric"><code>@​cleptric</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6806">#6806</a></li>
<li>Move <code>nullcontext</code> to <code>sentry_sdk.utils</code> by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6805">#6805</a></li>
</ul>
<h2>2.65.0</h2>
<h3>New Features </h3>
<h4>Huey</h4>
<ul>
<li>Set <code>messaging.destination.name</code> on consumer spans by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6779">#6779</a></li>
<li>Set <code>messaging.destination.name</code> on producer spans by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6778">#6778</a></li>
</ul>
<h4>Other</h4>
<ul>
<li>(arq) Set <code>messaging.destination.name</code> on consumer spans
by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6767">#6767</a></li>
<li>(dramatiq) Set <code>messaging.destination.name</code> on consumer
spans by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6776">#6776</a></li>
<li>(rq) Set <code>messaging.destination.name</code> on consumer spans
by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6774">#6774</a></li>
</ul>
<h3>Bug Fixes 🐛</h3>
<h4>Tracing</h4>
<ul>
<li>Take first sentry-trace header in case multiple are supplied by <a
href="https://github.com/sl0thentr0py"><code>@​sl0thentr0py</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6722">#6722</a></li>
</ul>
<h4>Other</h4>
<ul>
<li>(django) Avoid <code>ValueError</code> in async middleware
<code>process_*</code> hooks by <a
href="https://github.com/r0ro"><code>@​r0ro</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6698">#6698</a></li>
<li>(scope) Drop None user attribute values in set_user by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6692">#6692</a></li>
<li>(starlette) Don't overwrite user set during request in
AuthenticationMiddleware by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6760">#6760</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/getsentry/sentry-python/commit/5179f60b025693f381d6d93cd69817f32931825b"><code>5179f60</code></a>
update changelog with docs link</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/e4bcb59e5a87772b1a9dee6189889a2dcee8d776"><code>e4bcb59</code></a>
release: 2.66.0</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/5ba869c03908edde69b2c6526bdd5f03a37bfef4"><code>5ba869c</code></a>
fix(tracing): Skip child span creation in streaming path when no current
span...</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/efddaab9211769982e0c1874e2fb77b0db88b4cd"><code>efddaab</code></a>
fix(tracing): Skip child span creation in streaming path when no current
span...</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/b199a9eea34d7107d81714ca2d1c759f3a6e7e0e"><code>b199a9e</code></a>
fix(tracing): Skip child span creation in streaming path when no current
span...</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/d695a6eb6ab6a81251d1abec12b61456b786a566"><code>d695a6e</code></a>
fix(tracing): Skip child span creation in streaming path when no current
span...</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/dbf5d03f30d97cffd12116e09a34df7b4c2fdafe"><code>dbf5d03</code></a>
fix(tracing): Skip child span creation in streaming path when no current
span...</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/5c1403440a25999f7d6ce69fcb106205be0b8322"><code>5c14034</code></a>
fix(tracing): Skip child span creation in streaming path when no current
span...</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/e0d2c4a4c5e01452865d06d4cdcafb5823fef164"><code>e0d2c4a</code></a>
feat(tracing): Promote trace_lifecycle and ignore_spans to top-level
options ...</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/baa423fa766a5ba990ad27b1d3b1231f4b265182"><code>baa423f</code></a>
test(logging): Fix flaky test_logging_captured_warnings (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6824">#6824</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/getsentry/sentry-python/compare/2.64.0...2.66.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 04:11:24 +00:00
dependabot[bot] 70286f2375 Bump mypy from 2.2.0 to 2.3.0 in /backend (#1783)
Bumps [mypy](https://github.com/python/mypy) from 2.2.0 to 2.3.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/python/mypy/blob/master/CHANGELOG.md">mypy's
changelog</a>.</em></p>
<blockquote>
<h1>Mypy Release Notes</h1>
<h2>Next Release</h2>
<h3>Packaging changes</h3>
<ul>
<li>No longer provide mypyc-accelerated wheels for macOS x86_64
[mypyc-wheels <a
href="https://redirect.github.com/python/mypy/issues/119">#119</a>](<a
href="https://redirect.github.com/mypyc/mypy_mypyc-wheels/pull/119">mypyc/mypy_mypyc-wheels#119</a>)</li>
</ul>
<h2>Mypy 2.3</h2>
<p>We've just uploaded mypy 2.3.0 to the Python Package Index (<a
href="https://pypi.org/project/mypy/">PyPI</a>).
Mypy is a static type checker for Python. This release includes new
features, performance
improvements and bug fixes. You can install it as follows:</p>
<pre><code>python3 -m pip install -U mypy
</code></pre>
<p>You can read the full documentation for this release on <a
href="http://mypy.readthedocs.io">Read the Docs</a>.</p>
<h3>The Upcoming Switch to the New Native Parser</h3>
<p>We are planning to enable the new native parser
(<code>--native-parser</code>) by
default soon. We recommend that you test the native parser in your
projects and report
any issues in the <a href="https://github.com/python/mypy/issues">mypy
issue tracker</a>.</p>
<h3>Mypyc Free-threading Memory Safety</h3>
<p>Free-threaded Python builds that don't have the GIL require
additional synchronization
primitives or lock-free algorithms to ensure memory safety when there
are race conditions
(for example, when a thread reads a list item while another thread
writes the same list
item concurrently). This release greatly improves memory safety of free
threading.</p>
<p>List operations are now memory-safe on free threaded Python builds,
even in the presence of
race conditions. This has some performance cost. For list-heavy
workloads, using
<code>librt.vecs.vec</code> instead of list is often significantly
faster, but note that <code>vec</code> is not
(and likely won't be) fully memory safe, and the user is expected to
avoid race conditions.
The newly introduced <code>librt.threading.Lock</code> helps with this.
Using variable-length tuples
can also be more efficient than lists, since tuples are immutable and
don't require
expensive synchronization to ensure memory safety.</p>
<p>Instance attribute access is also (mostly) memory safe now on
free-threaded builds in
the presence of race conditions. We are planning to fix the remaining
unsafe cases in a
future release.</p>
<p>Full list of changes:</p>
<ul>
<li>Make attribute access memory safe on free-threaded builds (Jukka
Lehtosalo, PR <a
href="https://redirect.github.com/python/mypy/pull/21705">21705</a>)</li>
<li>Fix unsafe borrowing of instance attributes with free-threading
(Jukka Lehtosalo, PR <a
href="https://redirect.github.com/python/mypy/pull/21688">21688</a>)</li>
<li>Make list get/set item more memory safe on free-threaded builds
(Jukka Lehtosalo, PR <a
href="https://redirect.github.com/python/mypy/pull/21683">21683</a>)</li>
<li>Don't borrow list items on free-threaded builds (Jukka Lehtosalo, PR
<a
href="https://redirect.github.com/python/mypy/pull/21679">21679</a>)</li>
<li>Make multiple assignment from list memory-safe on free-threaded
builds (Jukka Lehtosalo, PR <a
href="https://redirect.github.com/python/mypy/pull/21684">21684</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/python/mypy/commit/8aabf8435357eaffceca7237f371e293b8168e54"><code>8aabf84</code></a>
Drop +dev from version</li>
<li><a
href="https://github.com/python/mypy/commit/4d8ad2ab5e86c99581b73775f2c00b9b8265b589"><code>4d8ad2a</code></a>
Update changelog for 2.3 release (<a
href="https://redirect.github.com/python/mypy/issues/21728">#21728</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/2c2154672040c52e481f423854d104e6cf172585"><code>2c21546</code></a>
[mypyc] Update documentation of race conditions under free threading (<a
href="https://redirect.github.com/python/mypy/issues/21726">#21726</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/a9f62a3cf98a58a7a2607b7c81695802b39f5edc"><code>a9f62a3</code></a>
[mypyc] Make attribute access memory safe on free-threaded builds (<a
href="https://redirect.github.com/python/mypy/issues/21705">#21705</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/0faa413ebf7c924a864ef5dabd70303d898e7766"><code>0faa413</code></a>
Use <code>PYODIDE</code> environment variable for Emscripten
cross-compilation detection...</li>
<li><a
href="https://github.com/python/mypy/commit/3d75cdb09f0928fa8b83e5ef03572ed878ac8d09"><code>3d75cdb</code></a>
[mypyc] Borrow final attributes more aggressively (<a
href="https://redirect.github.com/python/mypy/issues/21702">#21702</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/24c237d85b48f618e655ffff1dc0f19089d9b599"><code>24c237d</code></a>
[mypyc] Improve documentation of Final (<a
href="https://redirect.github.com/python/mypy/issues/21713">#21713</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/b5be217392b9b2771d1764066b9d600bf93ce7a8"><code>b5be217</code></a>
[mypyc] Update free threading Python compatibility docs (<a
href="https://redirect.github.com/python/mypy/issues/21711">#21711</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/cbcb51add3094ec91b29cdd4c624943bf251b63f"><code>cbcb51a</code></a>
Narrow for frozendict membership check (<a
href="https://redirect.github.com/python/mypy/issues/21709">#21709</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/af2bc0f3cc7f2f129f0c11294158d0c292692c3d"><code>af2bc0f</code></a>
Sync typeshed (<a
href="https://redirect.github.com/python/mypy/issues/21707">#21707</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/python/mypy/compare/v2.2.0...v2.3.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 04:10:50 +00:00
dependabot[bot] 76f3054446 Bump mypy from 2.1.0 to 2.2.0 in /backend (#1777)
Bumps [mypy](https://github.com/python/mypy) from 2.1.0 to 2.2.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/python/mypy/blob/master/CHANGELOG.md">mypy's
changelog</a>.</em></p>
<blockquote>
<h1>Mypy Release Notes</h1>
<h2>Next Release</h2>
<h3>Packaging changes</h3>
<ul>
<li>No longer provide mypyc-accelerated wheels for macOS x86_64
[mypyc-wheels <a
href="https://redirect.github.com/python/mypy/issues/119">#119</a>](<a
href="https://redirect.github.com/mypyc/mypy_mypyc-wheels/pull/119">mypyc/mypy_mypyc-wheels#119</a>)</li>
</ul>
<h2>Mypy 2.3</h2>
<p>We've just uploaded mypy 2.3.0 to the Python Package Index (<a
href="https://pypi.org/project/mypy/">PyPI</a>).
Mypy is a static type checker for Python. This release includes new
features, performance
improvements and bug fixes. You can install it as follows:</p>
<pre><code>python3 -m pip install -U mypy
</code></pre>
<p>You can read the full documentation for this release on <a
href="http://mypy.readthedocs.io">Read the Docs</a>.</p>
<h3>The Upcoming Switch to the New Native Parser</h3>
<p>We are planning to enable the new native parser
(<code>--native-parser</code>) by
default soon. We recommend that you test the native parser in your
projects and report
any issues in the <a href="https://github.com/python/mypy/issues">mypy
issue tracker</a>.</p>
<h3>Mypyc Free-threading Memory Safety</h3>
<p>Free-threaded Python builds that don't have the GIL require
additional synchronization
primitives or lock-free algorithms to ensure memory safety when there
are race conditions
(for example, when a thread reads a list item while another thread
writes the same list
item concurrently). This release greatly improves memory safety of free
threading.</p>
<p>List operations are now memory-safe on free threaded Python builds,
even in the presence of
race conditions. This has some performance cost. For list-heavy
workloads, using
<code>librt.vecs.vec</code> instead of list is often significantly
faster, but note that <code>vec</code> is not
(and likely won't be) fully memory safe, and the user is expected to
avoid race conditions.
The newly introduced <code>librt.threading.Lock</code> helps with this.
Using variable-length tuples
can also be more efficient than lists, since tuples are immutable and
don't require
expensive synchronization to ensure memory safety.</p>
<p>Instance attribute access is also (mostly) memory safe now on
free-threaded builds in
the presence of race conditions. We are planning to fix the remaining
unsafe cases in a
future release.</p>
<p>Full list of changes:</p>
<ul>
<li>Make attribute access memory safe on free-threaded builds (Jukka
Lehtosalo, PR <a
href="https://redirect.github.com/python/mypy/pull/21705">21705</a>)</li>
<li>Fix unsafe borrowing of instance attributes with free-threading
(Jukka Lehtosalo, PR <a
href="https://redirect.github.com/python/mypy/pull/21688">21688</a>)</li>
<li>Make list get/set item more memory safe on free-threaded builds
(Jukka Lehtosalo, PR <a
href="https://redirect.github.com/python/mypy/pull/21683">21683</a>)</li>
<li>Don't borrow list items on free-threaded builds (Jukka Lehtosalo, PR
<a
href="https://redirect.github.com/python/mypy/pull/21679">21679</a>)</li>
<li>Make multiple assignment from list memory-safe on free-threaded
builds (Jukka Lehtosalo, PR <a
href="https://redirect.github.com/python/mypy/pull/21684">21684</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/python/mypy/commit/b3c4a5b93adb49f979ab553fffebae7179cefa74"><code>b3c4a5b</code></a>
Mark release</li>
<li><a
href="https://github.com/python/mypy/commit/396f5082ac677a5115fbd6a0122328a6711f73dd"><code>396f508</code></a>
[Chore] Update changelog for 2.2 (<a
href="https://redirect.github.com/python/mypy/issues/21691">#21691</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/9592a9ea65a9502b14ac3094b28f9e0e3a2e500a"><code>9592a9e</code></a>
Upload wasm wheels to PyPI (<a
href="https://redirect.github.com/python/mypy/issues/21671">#21671</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/1dc69620d9e827b015e6486114e0aaff7ec2d990"><code>1dc6962</code></a>
Bump ast-serialize to 0.6.0 (<a
href="https://redirect.github.com/python/mypy/issues/21664">#21664</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/96a791310d47575827e44d10360505d8e23807b0"><code>96a7913</code></a>
Bump librt to 0.12.0 (<a
href="https://redirect.github.com/python/mypy/issues/21663">#21663</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/5ef090270579013c337a9bcc79e2c58417f09538"><code>5ef0902</code></a>
Fix the exportjson tool (.ff cache to .json conversion) (<a
href="https://redirect.github.com/python/mypy/issues/21628">#21628</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/8d621adb954731ba76b25bf7130275f3cadbb81a"><code>8d621ad</code></a>
Support --shadow-file with --native-parser (<a
href="https://redirect.github.com/python/mypy/issues/21623">#21623</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/74ecdd8ecc9bee271eab49948436af63751ed1ff"><code>74ecdd8</code></a>
Sync typeshed (<a
href="https://redirect.github.com/python/mypy/issues/21612">#21612</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/0cd154158ab2829a2f8c7a2728c7d4ed55e8f193"><code>0cd1541</code></a>
[mypyc] Make function wrappers thread-safe on free-threaded builds (<a
href="https://redirect.github.com/python/mypy/issues/21620">#21620</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/22a9cfd1595798810e27ef145ea4c989ccdcc883"><code>22a9cfd</code></a>
[mypyc] Make list remove and index thread-safe on free-threaded builds
(<a
href="https://redirect.github.com/python/mypy/issues/21614">#21614</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/python/mypy/compare/v2.1.0...v2.2.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-11 04:11:54 +00:00
dependabot[bot] 3063b5ed6f Bump uvicorn from 0.50.0 to 0.51.0 in /backend (#1776)
Bumps [uvicorn](https://github.com/Kludex/uvicorn) from 0.50.0 to
0.51.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Kludex/uvicorn/releases">uvicorn's
releases</a>.</em></p>
<blockquote>
<h2>Version 0.51.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Restart workers with overlap on SIGHUP for near-zero-downtime
reloads by <a href="https://github.com/Kludex"><code>@​Kludex</code></a>
in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/3025">Kludex/uvicorn#3025</a></li>
<li>Remove colorama from the standard extra by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/3027">Kludex/uvicorn#3027</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/uvicorn/compare/0.50.2...0.51.0">https://github.com/Kludex/uvicorn/compare/0.50.2...0.51.0</a></p>
<h2>Version 0.50.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Split comma-separated <code>Sec-WebSocket-Protocol</code> values in
the websockets-sansio implementation by <a
href="https://github.com/Aayush7352"><code>@​Aayush7352</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/3019">Kludex/uvicorn#3019</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/Aayush7352"><code>@​Aayush7352</code></a> made
their first contribution in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/3019">Kludex/uvicorn#3019</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/uvicorn/compare/0.50.0...0.50.1">https://github.com/Kludex/uvicorn/compare/0.50.0...0.50.1</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md">uvicorn's
changelog</a>.</em></p>
<blockquote>
<h2>0.51.0 (July 8, 2026)</h2>
<h3>Added</h3>
<ul>
<li>Restart workers one at a time on <code>SIGHUP</code>, bringing each
replacement up before retiring the old worker, so reloads no longer drop
requests (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3025">#3025</a>)</li>
</ul>
<h3>Removed</h3>
<ul>
<li>Remove <code>colorama</code> from the <code>standard</code> extra
(<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3027">#3027</a>)</li>
</ul>
<h2>0.50.2 (July 6, 2026)</h2>
<h3>Fixed</h3>
<ul>
<li>Require <code>websockets&gt;=13.0</code>, which the default
<code>websockets-sansio</code> implementation needs (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3021">#3021</a>)</li>
</ul>
<h2>0.50.1 (July 6, 2026)</h2>
<h3>Fixed</h3>
<ul>
<li>Split comma-separated <code>Sec-WebSocket-Protocol</code> values in
the <code>websockets-sansio</code> implementation (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3019">#3019</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Kludex/uvicorn/commit/e4d0b05eb8c6459b7ba27ad13a2c2f4f8d4ece50"><code>e4d0b05</code></a>
Version 0.51.0 (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3028">#3028</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/944e43ddbf715aea7c587f2738cd94c3f9106110"><code>944e43d</code></a>
Remove colorama from the standard extra (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3027">#3027</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/2e787704f2610133059e76d56bbd60f48edd34a3"><code>2e78770</code></a>
Restart workers with overlap on SIGHUP for near-zero-downtime reloads
(<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3025">#3025</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/a1b570cf577d512bfd396b64d72313233e9c3325"><code>a1b570c</code></a>
Version 0.50.2 (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3022">#3022</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/83c7da7332ac3100171c258071de40d5dde35e13"><code>83c7da7</code></a>
Require websockets&gt;=13.0 for the default sansio implementation (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3021">#3021</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/b4d011668a75d02370353f34de6dea59692dcad2"><code>b4d0116</code></a>
Version 0.50.1 (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3020">#3020</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/2a9151d0e763df2c56da2bfe8c5dcead4fe5a276"><code>2a9151d</code></a>
Split comma-separated <code>Sec-WebSocket-Protocol</code> values in the
websockets-sansi...</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/1bf3ab42e3aba1cf4acd1ef0c29d8ad9a599d333"><code>1bf3ab4</code></a>
Cover the excluded-directory branch in <code>FileFilter</code> with a
direct test (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3014">#3014</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/837b5f960dbe2f03e9f12feb9955ce2217211ad8"><code>837b5f9</code></a>
Deflake multiprocess, reload, and signal supervisor tests (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2975">#2975</a>)</li>
<li>See full diff in <a
href="https://github.com/Kludex/uvicorn/compare/0.50.0...0.51.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-11 04:11:40 +00:00
dependabot[bot] adbc3ebdb4 Bump fastapi from 0.138.0 to 0.139.0 in /backend (#1766)
Bumps [fastapi](https://github.com/fastapi/fastapi) from 0.138.0 to
0.139.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.139.0</h2>
<h3>Features</h3>
<ul>
<li> Support dependencies in <code>app.frontend()</code>, e.g. for
automatic cookie authentication for the frontend. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15908">#15908</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
<h3>Translations</h3>
<ul>
<li>🌐 Update translations for fr (update-outdated). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15897">#15897</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for ja (update-outdated). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15895">#15895</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for zh-hant (update-outdated). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15896">#15896</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for de (update-outdated). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15899">#15899</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/15892">#15892</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for tr (update-outdated). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15891">#15891</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/15893">#15893</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for zh (update-outdated). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15898">#15898</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for uk (update-outdated). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15900">#15900</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for ko (update-outdated). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15890">#15890</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for ru (update-outdated). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15894">#15894</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for ko (add-missing). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15888">#15888</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/15880">#15880</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for zh-hant (add-missing). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15889">#15889</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for pt (add-missing). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15883">#15883</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for zh (add-missing). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15885">#15885</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for ja (add-missing). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15882">#15882</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for tr (add-missing). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15887">#15887</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for uk (add-missing). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15886">#15886</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for fr (add-missing). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15881">#15881</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for de (add-missing). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15884">#15884</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for ru (add-missing). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15879">#15879</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
<h3>Internal</h3>
<ul>
<li>👥 Update FastAPI People - Experts. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15909">#15909</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/15906">#15906</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/15878">#15878</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>👷 Remove not needed <code>allow-unsafe-pr-checkout: true</code>. PR
<a
href="https://redirect.github.com/fastapi/fastapi/pull/15876">#15876</a>
by <a
href="https://github.com/YuriiMotov"><code>@​YuriiMotov</code></a>.</li>
<li>⬆ Bump the github-actions group with 5 updates. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15872">#15872</a>
by <a
href="https://github.com/apps/dependabot"><code>@​dependabot[bot]</code></a>.</li>
<li>⬆ Bump the python-packages group across 1 directory with 10 updates.
PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15870">#15870</a>
by <a
href="https://github.com/apps/dependabot"><code>@​dependabot[bot]</code></a>.</li>
<li>⬆ Bump CodSpeedHQ/action from 4.17.0 to 4.17.5 in the github-actions
group. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15826">#15826</a>
by <a
href="https://github.com/apps/dependabot"><code>@​dependabot[bot]</code></a>.</li>
</ul>
<h2>0.138.1</h2>
<h3>Refactors</h3>
<ul>
<li>♻️ Refactor Library Skills, make info easier to find for agents. PR
<a
href="https://redirect.github.com/fastapi/fastapi/pull/15841">#15841</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
<h3>Internal</h3>
<ul>
<li>👷 Simplify pull request workflow triggers. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15836">#15836</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>👷 Update issue-manager to 0.7.1. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15833">#15833</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>⬆️ Update issue-manager to 0.7.0. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15831">#15831</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/fastapi/fastapi/commit/cecd96d9c6c318e0df1c40cedbc2e953381ddfd3"><code>cecd96d</code></a>
🔖 Release version 0.139.0 (<a
href="https://redirect.github.com/fastapi/fastapi/issues/15910">#15910</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/aea660936b55fdbd84270d24f892839388922dd6"><code>aea6609</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/319be508ce7db9ee5f52c3b9baa68c6cc1037c10"><code>319be50</code></a>
 Support dependencies in <code>app.frontend()</code>, e.g. for
automatic cookie authent...</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/66a90f6ee9c0cf58ec61b14f8925344d6f16eae5"><code>66a90f6</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/d30a3ebfc7d7fd7851ba4243677266c53cb9f154"><code>d30a3eb</code></a>
👥 Update FastAPI People - Experts (<a
href="https://redirect.github.com/fastapi/fastapi/issues/15909">#15909</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/122f1b58f4e0fabfefef3710a8c8247bb2bd820b"><code>122f1b5</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/fd6ece32eeb27c9ce164bd9170f9d8e1db1dacff"><code>fd6ece3</code></a>
👥 Update FastAPI GitHub topic repositories (<a
href="https://redirect.github.com/fastapi/fastapi/issues/15906">#15906</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/ec2a6adaf14c440bdcd0fd3f4ca203daa8c3ba6a"><code>ec2a6ad</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/9d7d7febd3a66844f948254c1ba4745b6cc16f40"><code>9d7d7fe</code></a>
🌐 Update translations for fr (update-outdated) (<a
href="https://redirect.github.com/fastapi/fastapi/issues/15897">#15897</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/8dc852df4713efa998d126c5194302e9f06e7675"><code>8dc852d</code></a>
📝 Update release notes</li>
<li>Additional commits viewable in <a
href="https://github.com/fastapi/fastapi/compare/0.138.0...0.139.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-04 04:12:29 +00:00
dependabot[bot] d21013794b Bump uvicorn from 0.49.0 to 0.50.0 in /backend (#1765)
Bumps [uvicorn](https://github.com/Kludex/uvicorn) from 0.49.0 to
0.50.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Kludex/uvicorn/releases">uvicorn's
releases</a>.</em></p>
<blockquote>
<h2>Version 0.50.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Memoize trusted host checks to avoid re-parsing the client IP per
request by <a href="https://github.com/Kludex"><code>@​Kludex</code></a>
in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2970">Kludex/uvicorn#2970</a></li>
<li>Cache the <code>asgi</code> scope sub-dict per connection by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2976">Kludex/uvicorn#2976</a></li>
<li>Build a fresh <code>asgi</code> scope dict per request by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2977">Kludex/uvicorn#2977</a></li>
<li>Replace click.style with an internal ANSI style helper by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2981">Kludex/uvicorn#2981</a></li>
<li>Avoid copying single-frame WebSocket payloads in websockets-sansio
by <a href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2983">Kludex/uvicorn#2983</a></li>
<li>Deprecate the legacy websockets implementation and default
<code>auto</code> to websockets-sansio by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2985">Kludex/uvicorn#2985</a></li>
<li>Exit with a dedicated code on startup failure and stop the
supervisor when a worker can't boot by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/3001">Kludex/uvicorn#3001</a></li>
<li>Skip the eager app import in the parent when spawning workers by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/3012">Kludex/uvicorn#3012</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/uvicorn/compare/0.49.0...0.50.0">https://github.com/Kludex/uvicorn/compare/0.49.0...0.50.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md">uvicorn's
changelog</a>.</em></p>
<blockquote>
<h2>0.50.0 (July 4, 2026)</h2>
<p>If you use WebSockets, note that <code>--ws auto</code> now picks the
<code>websockets-sansio</code> implementation. You shouldn't need it,
but you can pin <code>--ws websockets</code> to get the deprecated
legacy one back.</p>
<h3>Changed</h3>
<ul>
<li>Exit with the dedicated code 3 on any startup failure: app loading,
socket bind and lifespan startup errors previously exited with a mix of
0, 1 and 3 (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3001">#3001</a>)</li>
<li>Stop the multiprocess supervisor when a worker exits with code 3
instead of restarting it forever (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3001">#3001</a>)</li>
<li>Default <code>--ws auto</code> to <code>websockets-sansio</code>
when websockets is installed (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2985">#2985</a>)</li>
<li>Skip the eager app import in the parent process with
<code>--reload</code> or <code>--workers</code>, fixing a memory
regression introduced in 0.47.0 (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3012">#3012</a>)</li>
<li>Build a fresh <code>asgi</code> scope dict per request (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2977">#2977</a>)</li>
<li>Cache the <code>asgi</code> scope sub-dict per connection (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2976">#2976</a>)</li>
<li>Avoid copying single-frame WebSocket payloads in
<code>websockets-sansio</code> (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2983">#2983</a>)</li>
<li>Memoize trusted host checks in <code>ProxyHeadersMiddleware</code>
(<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2970">#2970</a>)</li>
<li>Replace <code>click.style</code> with an internal ANSI style helper
(<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2981">#2981</a>)</li>
</ul>
<h3>Deprecated</h3>
<ul>
<li>Deprecate the legacy <code>websockets</code> implementation; use
<code>websockets-sansio</code> or <code>wsproto</code> instead (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2985">#2985</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Kludex/uvicorn/commit/21d2c16fd162ce0e92b5c35f4aadca63a8b12e2d"><code>21d2c16</code></a>
Version 0.50.0 (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3013">#3013</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/6c42e8d63bc41e7b721d30b33ff97c7e2fc27ce4"><code>6c42e8d</code></a>
Skip the eager app import in the parent when spawning workers (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3012">#3012</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/56a4631c98bdfa8f4712214e3910add5e5e7d7ba"><code>56a4631</code></a>
Exit with a dedicated code on startup failure and stop the supervisor
when a ...</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/3314dfcc18835a4d4afbac4b0c4b8f0ee0d5095d"><code>3314dfc</code></a>
chore(deps): bump the github-actions group with 4 updates (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/3007">#3007</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/e8a31bca03254b8457c4c89596e310282cc33edc"><code>e8a31bc</code></a>
chore(deps): bump the python-packages group across 1 directory with 9
updates...</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/8d088b18f1ead0d75a0603d983300717079f9025"><code>8d088b1</code></a>
Deprecate the legacy websockets implementation and default
<code>auto</code> to websocke...</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/5b08cf6374430ce47de74ff2e594b277d09db17e"><code>5b08cf6</code></a>
Avoid copying single-frame WebSocket payloads in websockets-sansio (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2983">#2983</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/bf3f60c28e92178878ecf043b858ab55cd97c223"><code>bf3f60c</code></a>
Replace click.style with an internal ANSI style helper (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2981">#2981</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/eea1bcc895349d0f3c5e2fe8229d6484f801a1c4"><code>eea1bcc</code></a>
Build a fresh <code>asgi</code> scope dict per request (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2977">#2977</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/afed2116795358dee707dbfc890b9eb5106d4720"><code>afed211</code></a>
Cache the <code>asgi</code> scope sub-dict per connection (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2976">#2976</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/Kludex/uvicorn/compare/0.49.0...0.50.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-04 04:11:37 +00:00
dependabot[bot] 1cf528621c Bump sentry-sdk from 2.63.0 to 2.64.0 in /backend (#1763)
Bumps [sentry-sdk](https://github.com/getsentry/sentry-python) from
2.63.0 to 2.64.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/getsentry/sentry-python/releases">sentry-sdk's
releases</a>.</em></p>
<blockquote>
<h2>2.64.0</h2>
<p>The SDK now extracts all <code>gen_ai</code> spans out of a
transaction and sends them as v2 envelope items by default. This
prevents <code>gen_ai</code> spans from being dropped when the
transaction payload exceeds size limits. Because they are no longer
constrained by transaction size limits, AI message data is also no
longer truncated. To keep the previous behavior, set
<code>stream_gen_ai_spans=False</code>.</p>
<p>Self-hosted Sentry users should opt out with
<code>stream_gen_ai_spans=False</code>, since streamed
<code>gen_ai</code> spans may not be ingested by their Sentry
instance.</p>
<h3>Bug Fixes 🐛</h3>
<ul>
<li>(asyncpg) Use distinct span ops for cursor iteration and fetch to
prevent N+1 false positives by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6609">#6609</a></li>
<li>(aiohttp) Gate url.full, url.path, url.query on send_default_pii by
<a href="https://github.com/ericapisani"><code>@​ericapisani</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6650">#6650</a></li>
<li>(asgi) Add url.path to ASGI request span attributes by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6652">#6652</a></li>
<li>(boto3) Gate url.full, url.query, url.fragment behind
send_default_pii by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6674">#6674</a></li>
<li>(httpx) Gate url.full, url.query, and url.fragment behind
send_default_pii by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6668">#6668</a></li>
<li>(httpx2) Gate url.full, url.query on send_default_pii by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6670">#6670</a></li>
<li>(langgraph) Ignore <code>GraphBubbleUp</code> exceptions by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6608">#6608</a></li>
<li>(litellm) Store span off-band, not in forwarded metadata by <a
href="https://github.com/jgreer013"><code>@​jgreer013</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6598">#6598</a></li>
<li>(mcp) Support MCP SDK v2 handler signature and removed request_ctx
by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6583">#6583</a></li>
<li>(pydantic-ai) Stop truncating in the streaming trace lifecycle by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6659">#6659</a></li>
<li>(pymongo) Add db.query.text to streamed query spans by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6637">#6637</a></li>
<li>(pyreqwest) Gate url.full, url.query, url.fragment on
send_default_pii by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6673">#6673</a></li>
<li>(sanic) Gate url.full, url.path, and http.query behind
send_default_pii by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6663">#6663</a></li>
<li>(starlette) Stop duplicating
<code>scope[&quot;root_path&quot;]</code> in URLs by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6579">#6579</a></li>
<li>(stdlib) Gate url.full and http.query behind send_default_pii by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6666">#6666</a></li>
<li>(tests) Fix flaky OTel propagator entry point test by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6655">#6655</a></li>
<li>(tornado) Gate url.full, url.path, url.query on send_default_pii by
<a href="https://github.com/ericapisani"><code>@​ericapisani</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6664">#6664</a></li>
<li>(wsgi) Gate url.full, url.path, and http.query behind
send_default_pii by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6654">#6654</a></li>
<li>Stop unconditionally importing <code>contextvars</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6625">#6625</a></li>
<li>(.agents) Update project agent lockfiles by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6662">#6662</a></li>
</ul>
<h3>Documentation 📚</h3>
<ul>
<li>Add light/dark logos by <a
href="https://github.com/hwhsu1231"><code>@​hwhsu1231</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6627">#6627</a></li>
<li>Fix typos by <a
href="https://github.com/juliosuas"><code>@​juliosuas</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6602">#6602</a></li>
</ul>
<h3>Internal Changes 🔧</h3>
<ul>
<li>(mcp) Pin mcp package to &lt;2.0.0 while alphas are in flight by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6687">#6687</a></li>
<li>🤖 Update test matrix with new releases (06/29) by <a
href="https://github.com/github-actions"><code>@​github-actions</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6682">#6682</a></li>
<li>Make <code>stream_gen_ai_spans</code> opt out by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6658">#6658</a></li>
<li>Remove <code>setuptools</code> from
<code>requirements-testing.txt</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6618">#6618</a></li>
<li>Remove <code>executing</code> from
<code>requirements-testing.txt</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6619">#6619</a></li>
<li>Remove <code>asttokens</code> from
<code>requirements-testing.txt</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6615">#6615</a></li>
<li>Remove <code>responses</code> from
<code>requirements-testing.txt</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6621">#6621</a></li>
<li>Remove <code>pytest-forked</code> from
<code>requirements-testing.txt</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6611">#6611</a></li>
<li>Remove <code>docker</code> from
<code>requirements-testing.txt</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6616">#6616</a></li>
<li>Add <code>--skip-version-update</code> option to
<code>populate_tox.py</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6675">#6675</a></li>
<li>Remove <code>httpcore</code> from
<code>requirements-testing.txt</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6622">#6622</a></li>
<li>Remove <code>pytest-timeout</code> from
<code>requirements-testing.txt</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6613">#6613</a></li>
<li>Remove <code>pytest-localserver</code> from
<code>requirements-testing.txt</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6612">#6612</a></li>
<li>Remove <code>jsonschema</code> from
<code>requirements-testing.txt</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6620">#6620</a></li>
<li>Remove <code>socksio</code> from
<code>requirements-testing.txt</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6617">#6617</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md">sentry-sdk's
changelog</a>.</em></p>
<blockquote>
<h2>2.64.0</h2>
<p>The SDK now extracts all <code>gen_ai</code> spans out of a
transaction and sends them as v2 envelope items by default. This
prevents <code>gen_ai</code> spans from being dropped when the
transaction payload exceeds size limits. Because they are no longer
constrained by transaction size limits, AI message data is also no
longer truncated. To keep the previous behavior, set
<code>stream_gen_ai_spans=False</code>.</p>
<p>Self-hosted Sentry users should opt out with
<code>stream_gen_ai_spans=False</code>, since streamed
<code>gen_ai</code> spans may not be ingested by their Sentry
instance.</p>
<h3>Bug Fixes 🐛</h3>
<ul>
<li>(asyncpg) Use distinct span ops for cursor iteration and fetch to
prevent N+1 false positives by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6609">#6609</a></li>
<li>(aiohttp) Gate url.full, url.path, url.query on send_default_pii by
<a href="https://github.com/ericapisani"><code>@​ericapisani</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6650">#6650</a></li>
<li>(asgi) Add url.path to ASGI request span attributes by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6652">#6652</a></li>
<li>(boto3) Gate url.full, url.query, url.fragment behind
send_default_pii by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6674">#6674</a></li>
<li>(httpx) Gate url.full, url.query, and url.fragment behind
send_default_pii by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6668">#6668</a></li>
<li>(httpx2) Gate url.full, url.query on send_default_pii by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6670">#6670</a></li>
<li>(langgraph) Ignore <code>GraphBubbleUp</code> exceptions by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6608">#6608</a></li>
<li>(litellm) Store span off-band, not in forwarded metadata by <a
href="https://github.com/jgreer013"><code>@​jgreer013</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6598">#6598</a></li>
<li>(mcp) Support MCP SDK v2 handler signature and removed request_ctx
by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6583">#6583</a></li>
<li>(pydantic-ai) Stop truncating in the streaming trace lifecycle by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6659">#6659</a></li>
<li>(pymongo) Add db.query.text to streamed query spans by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6637">#6637</a></li>
<li>(pyreqwest) Gate url.full, url.query, url.fragment on
send_default_pii by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6673">#6673</a></li>
<li>(sanic) Gate url.full, url.path, and http.query behind
send_default_pii by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6663">#6663</a></li>
<li>(starlette) Stop duplicating
<code>scope[&quot;root_path&quot;]</code> in URLs by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6579">#6579</a></li>
<li>(stdlib) Gate url.full and http.query behind send_default_pii by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6666">#6666</a></li>
<li>(tests) Fix flaky OTel propagator entry point test by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6655">#6655</a></li>
<li>(tornado) Gate url.full, url.path, url.query on send_default_pii by
<a href="https://github.com/ericapisani"><code>@​ericapisani</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6664">#6664</a></li>
<li>(wsgi) Gate url.full, url.path, and http.query behind
send_default_pii by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6654">#6654</a></li>
<li>Stop unconditionally importing <code>contextvars</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6625">#6625</a></li>
<li>(.agents) Update project agent lockfiles by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6662">#6662</a></li>
</ul>
<h3>Documentation 📚</h3>
<ul>
<li>Add light/dark logos by <a
href="https://github.com/hwhsu1231"><code>@​hwhsu1231</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6627">#6627</a></li>
<li>Fix typos by <a
href="https://github.com/juliosuas"><code>@​juliosuas</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6602">#6602</a></li>
</ul>
<h3>Internal Changes 🔧</h3>
<ul>
<li>(mcp) Pin mcp package to &lt;2.0.0 while alphas are in flight by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6687">#6687</a></li>
<li>🤖 Update test matrix with new releases (06/29) by <a
href="https://github.com/github-actions"><code>@​github-actions</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6682">#6682</a></li>
<li>Make <code>stream_gen_ai_spans</code> opt out by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6658">#6658</a></li>
<li>Remove <code>setuptools</code> from
<code>requirements-testing.txt</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6618">#6618</a></li>
<li>Remove <code>executing</code> from
<code>requirements-testing.txt</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6619">#6619</a></li>
<li>Remove <code>asttokens</code> from
<code>requirements-testing.txt</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6615">#6615</a></li>
<li>Remove <code>responses</code> from
<code>requirements-testing.txt</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6621">#6621</a></li>
<li>Remove <code>pytest-forked</code> from
<code>requirements-testing.txt</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6611">#6611</a></li>
<li>Remove <code>docker</code> from
<code>requirements-testing.txt</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6616">#6616</a></li>
<li>Add <code>--skip-version-update</code> option to
<code>populate_tox.py</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6675">#6675</a></li>
<li>Remove <code>httpcore</code> from
<code>requirements-testing.txt</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6622">#6622</a></li>
<li>Remove <code>pytest-timeout</code> from
<code>requirements-testing.txt</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6613">#6613</a></li>
<li>Remove <code>pytest-localserver</code> from
<code>requirements-testing.txt</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6612">#6612</a></li>
<li>Remove <code>jsonschema</code> from
<code>requirements-testing.txt</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6620">#6620</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/getsentry/sentry-python/commit/9cb0167cee81bb19686f36adb8e9888248f214af"><code>9cb0167</code></a>
Call out changed stream_gen_ai_spans default value</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/bdbe208f41e8c2dd4615dc64dcd1485497d65d6d"><code>bdbe208</code></a>
Update CHANGELOG.md</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/8966e45ade8bd3036027e7ad8aca2c3402d3e0fa"><code>8966e45</code></a>
release: 2.64.0</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/707464306ca78d4928e4668ba4d383948f7eb7fb"><code>7074643</code></a>
ci: 🤖 Update test matrix with new releases (06/29) (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6682">#6682</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/b0f319f4fb0a33d521a80e27304104b8a992c45e"><code>b0f319f</code></a>
(test): exclude django 6.1 alphas and betas from tox (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6690">#6690</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/a661615a40fa26450e4b4f50cec760733cc858d8"><code>a661615</code></a>
(test): need to include the alpha tag for mcp package inclusion (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6688">#6688</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/9c836062fc6f7244aae5046ce66814f0469c9891"><code>9c83606</code></a>
ci(mcp): Pin mcp package to &lt;2.0.0 while alphas are in flight (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6687">#6687</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/1dd161de3fef199b46342e8c0947a503316e5e99"><code>1dd161d</code></a>
feat: Set <code>sentry.trace_lifecycle</code> attr in span streaming (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6684">#6684</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/5dabd02e83cfb8a4bb8160c766df70864407f569"><code>5dabd02</code></a>
fix(pydantic-ai): Stop truncating in the streaming trace lifecycle (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6659">#6659</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/7991f716a4bdef5c0b01ba5a3c6a3765640e312b"><code>7991f71</code></a>
ref: Make <code>stream_gen_ai_spans</code> opt out (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6658">#6658</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/getsentry/sentry-python/compare/2.63.0...2.64.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-04 04:11:04 +00:00
dependabot[bot] 2b2bd85b0e Bump aiohttp from 3.14.1 to 3.14.3 in /backend in the uv group across 1 directory (#1757)
Bumps the uv group with 1 update in the /backend directory:
[aiohttp](https://github.com/aio-libs/aiohttp).

Updates `aiohttp` from 3.14.1 to 3.14.3

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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/evroon/bracket/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-04 04:07:49 +00:00
Copilot 8fb557aa81 Fix SQLAlchemy and operator misuse causing broken query predicates and cross-tournament access (#1721)
Python's `and` operator is unsafe with SQLAlchemy clause elements: in
SQLAlchemy 2.0 it raises `TypeError` (routes return 500); in older
versions it short-circuits to the right-hand operand, silently dropping
the `id = X` filter and enabling cross-tournament entity access.

## Changes

**`routes/util.py`**
- `team_dependency`: replace `and` with `&`
- `round_dependency` / `match_dependency`: `rounds` and `matches` have
no direct `tournament_id`; replace the broken `and` chain with proper
JOINs through `stage_items → stages` to enforce tournament scoping

**`routes/courts.py`**
- `create_court` post-insert fetch: replace `and` with `&`

**`tests/.../teams_test.py`**
- Add `test_cross_tournament_team_access_denied`: asserts that a `PUT`
on tournament A's URL using a `team_id` belonging to tournament B
returns 404

```python
# Before (BROKEN — evaluates to just the right-hand side)
teams.select().where(teams.c.id == team_id and teams.c.tournament_id == tournament_id)

# After (CORRECT)
teams.select().where((teams.c.id == team_id) & (teams.c.tournament_id == tournament_id))

# round_dependency — no tournament_id on rounds table, use JOIN
rounds.select()
    .join(stage_items, rounds.c.stage_item_id == stage_items.c.id)
    .join(stages, stage_items.c.stage_id == stages.c.id)
    .where((rounds.c.id == round_id) & (stages.c.tournament_id == tournament_id))
```

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-07-28 18:59:46 +00:00
dependabot[bot] 05811b8c14 Bump aiohttp from 3.14.0 to 3.14.1 in /backend (#1748)
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.14.0 to
3.14.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst">aiohttp's
changelog</a>.</em></p>
<blockquote>
<h1>3.14.1 (2026-06-07)</h1>
<h2>Bug fixes</h2>
<ul>
<li>
<p>Fixed a race condition in
:py:class:<code>~aiohttp.TCPConnector</code> where closing the connector
while a DNS resolution was in-flight could raise
:py:exc:<code>AttributeError</code> instead of
:py:exc:<code>~aiohttp.ClientConnectionError</code> -- by
:user:<code>goingforstudying-ctrl</code>.</p>
<p><em>Related issues and pull requests on GitHub:</em>
:issue:<code>12497</code>.</p>
</li>
<li>
<p>Fixed <code>CancelledError</code> not closing a connection -- by
:user:<code>aiolibsbot</code>.</p>
<p><em>Related issues and pull requests on GitHub:</em>
:issue:<code>12795</code>.</p>
</li>
<li>
<p>Tightened up some websocket parser checks -- by
:user:<code>Dreamsorcerer</code>.</p>
<p><em>Related issues and pull requests on GitHub:</em>
:issue:<code>12817</code>.</p>
</li>
<li>
<p>Fixed :class:<code>~aiohttp.CookieJar</code> dropping the host-only
flag of cookies when persisted with
:meth:<code>~aiohttp.CookieJar.save</code> and reloaded with
:meth:<code>~aiohttp.CookieJar.load</code>, so a cookie set without a
<code>Domain</code> attribute is again scoped to the exact host that set
it after a reload; the absolute expiration deadline is now persisted as
well, so a reloaded cookie keeps its original lifetime instead of being
rescheduled from the load time.
:meth:<code>~aiohttp.CookieJar.load</code> now replaces the jar contents
rather than merging onto prior state, and loaded cookies pass through
the same acceptance rules as
:meth:<code>~aiohttp.CookieJar.update_cookies</code>, so a cookie for an
IP-address host is dropped when loaded into a jar created without
<code>unsafe=True</code> -- by :user:<code>bdraco</code>.</p>
<p><em>Related issues and pull requests on GitHub:</em>
:issue:<code>12824</code>.</p>
</li>
<li>
<p>Scoped :class:<code>~aiohttp.DigestAuthMiddleware</code> credentials
to the origin of the first request it handles, so a redirect to a
different origin no longer triggers a digest response computed from the
configured credentials; a challenge from another origin is only answered
when that origin falls within a protection space advertised by the
anchor origin through the RFC 7616 <code>domain</code> directive -- by
:user:<code>bdraco</code>.</p>
<p><em>Related issues and pull requests on GitHub:</em>
:issue:<code>12825</code>.</p>
</li>
<li>
<p>Fixed the C HTTP parser not enforcing <code>max_line_size</code> on a
request target or response reason phrase that is split across multiple
reads; each fragment was checked on its own, so an accumulated line
could exceed the limit without raising <code>LineTooLong</code>. The
accumulated length is now checked, matching the pure-Python parser -- by
:user:<code>bdraco</code>.</p>
<p><em>Related issues and pull requests on GitHub:</em></p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/9c35d03aa5fecd294510196e07f176f1a2e7fa33"><code>9c35d03</code></a>
Release v3.14.1 (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/12864">#12864</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/38b956c617c8529f7e97e55e0390a474c6cb5f8a"><code>38b956c</code></a>
[PR <a
href="https://redirect.github.com/aio-libs/aiohttp/issues/12861">#12861</a>/59684b5c
backport][3.14] Revert &quot;Drop list compression (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/12857">#12857</a>)&quot;
(...</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/8f3100960faba4fea56afa1646aa072c128cc9db"><code>8f31009</code></a>
[PR <a
href="https://redirect.github.com/aio-libs/aiohttp/issues/12857">#12857</a>/69dff14d
backport][3.14] Drop list compression (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/12858">#12858</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/dfdfa9d5aad5d21f91c79fb2ceeba0f8046cb6cf"><code>dfdfa9d</code></a>
[PR <a
href="https://redirect.github.com/aio-libs/aiohttp/issues/12830">#12830</a>/93a2b1c3
backport][3.14] Bound pipelined request queue per connect...</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/0e9cedd995c6ebaa84ae1a9148212599e0e888f4"><code>0e9cedd</code></a>
[PR <a
href="https://redirect.github.com/aio-libs/aiohttp/issues/12827">#12827</a>/ccf218ab
backport][3.14] Numeric ipv4 resolver bypass (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/12849">#12849</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/a762eda5242f6490d6ba667533193f8b473ad587"><code>a762eda</code></a>
[PR <a
href="https://redirect.github.com/aio-libs/aiohttp/issues/12831">#12831</a>/1ac92dae
backport][3.14] Payload close on disconnect (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/12843">#12843</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/a329a7aacad5284f087af36103aff778746da0f2"><code>a329a7a</code></a>
[PR <a
href="https://redirect.github.com/aio-libs/aiohttp/issues/12824">#12824</a>/60b85e98
backport][3.14] Preserve host-only cookie scope across Co...</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/4f7480e474cccc6a8cc2c92ad3f17a31dedf8232"><code>4f7480e</code></a>
[PR <a
href="https://redirect.github.com/aio-libs/aiohttp/issues/12828">#12828</a>/13b635d7
backport][3.14] Bounded unread compressed drain (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/12845">#12845</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/5ab61bb4cd88f19b712f12c7c9295fe262bf804d"><code>5ab61bb</code></a>
[PR <a
href="https://redirect.github.com/aio-libs/aiohttp/issues/12826">#12826</a>/36df6c13
backport][3.14] Enforce max_line_size on fragmented reque...</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/3912667ae5281b5a14c58e04e02a3834534ff0d5"><code>3912667</code></a>
[3.14] Add test that env proxy auth is scoped to the redirect-selected
proxy ...</li>
<li>Additional commits viewable in <a
href="https://github.com/aio-libs/aiohttp/compare/v3.14.0...v3.14.1">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/evroon/bracket/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-28 12:04:35 +00:00
dependabot[bot] 23ebf88d8a Bump python-multipart from 0.0.27 to 0.0.31 in /backend (#1747)
Bumps [python-multipart](https://github.com/Kludex/python-multipart)
from 0.0.27 to 0.0.31.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Kludex/python-multipart/releases">python-multipart's
releases</a>.</em></p>
<blockquote>
<h2>Version 0.0.31</h2>
<h2>What's Changed</h2>
<ul>
<li>Speed up multipart header parsing and callback dispatch by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/python-multipart/pull/295">Kludex/python-multipart#295</a></li>
<li>Bound header field name size before validating by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/python-multipart/pull/296">Kludex/python-multipart#296</a></li>
<li>Validate Content-Length is non-negative in parse_form by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/python-multipart/pull/297">Kludex/python-multipart#297</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/python-multipart/compare/0.0.30...0.0.31">https://github.com/Kludex/python-multipart/compare/0.0.30...0.0.31</a></p>
<h2>Version 0.0.30</h2>
<h2>What's Changed</h2>
<ul>
<li>Treat only <code>&amp;</code> as the urlencoded field separator by
<a href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/python-multipart/pull/290">Kludex/python-multipart#290</a></li>
<li>Ignore RFC 2231 extended parameters in
<code>parse_options_header</code> by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/python-multipart/pull/291">Kludex/python-multipart#291</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/python-multipart/compare/0.0.29...0.0.30">https://github.com/Kludex/python-multipart/compare/0.0.29...0.0.30</a></p>
<h2>Version 0.0.29</h2>
<h2>What's Changed</h2>
<ul>
<li>Handle malformed RFC 2231 continuations in
<code>parse_options_header</code> by <a
href="https://github.com/manunio"><code>@​manunio</code></a> in <a
href="https://redirect.github.com/Kludex/python-multipart/pull/270">Kludex/python-multipart#270</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/python-multipart/compare/0.0.28...0.0.29">https://github.com/Kludex/python-multipart/compare/0.0.28...0.0.29</a></p>
<h2>Version 0.0.28</h2>
<h2>What's Changed</h2>
<ul>
<li>Speed up partial-boundary tail scan via <code>bytes.find</code> by
<a href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/python-multipart/pull/281">Kludex/python-multipart#281</a></li>
<li>Cap multipart boundary length at 256 bytes by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/python-multipart/pull/282">Kludex/python-multipart#282</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/python-multipart/compare/0.0.27...0.0.28">https://github.com/Kludex/python-multipart/compare/0.0.27...0.0.28</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/Kludex/python-multipart/blob/main/CHANGELOG.md">python-multipart's
changelog</a>.</em></p>
<blockquote>
<h2>0.0.31 (2026-06-04)</h2>
<ul>
<li>Speed up multipart header parsing and callback dispatch <a
href="https://redirect.github.com/Kludex/python-multipart/pull/295">#295</a>.</li>
<li>Bound header field name size before validating <a
href="https://redirect.github.com/Kludex/python-multipart/pull/296">#296</a>.</li>
<li>Validate <code>Content-Length</code> is non-negative in
<code>parse_form</code> <a
href="https://redirect.github.com/Kludex/python-multipart/pull/297">#297</a>.</li>
</ul>
<h2>0.0.30 (2026-05-31)</h2>
<ul>
<li>Parse <code>application/x-www-form-urlencoded</code> bodies per the
WHATWG URL standard, treating only <code>&amp;</code> as a field
separator <a
href="https://redirect.github.com/Kludex/python-multipart/pull/290">#290</a>.</li>
<li>Ignore RFC 2231/5987 extended parameters (<code>name*</code>,
<code>filename*</code>) in <code>parse_options_header</code>, keeping
the plain parameter authoritative per <a
href="https://datatracker.ietf.org/doc/html/rfc7578#section-4.2">RFC
7578 §4.2</a> <a
href="https://redirect.github.com/Kludex/python-multipart/pull/291">#291</a>.</li>
</ul>
<h2>0.0.29 (2026-05-17)</h2>
<ul>
<li>Handle malformed RFC 2231 continuations in
<code>parse_options_header</code> <a
href="https://redirect.github.com/Kludex/python-multipart/pull/270">#270</a>.</li>
</ul>
<h2>0.0.28 (2026-05-10)</h2>
<ul>
<li>Speed up partial-boundary tail scan via <code>bytes.find</code> <a
href="https://redirect.github.com/Kludex/python-multipart/pull/281">#281</a>.</li>
<li>Cap multipart boundary length at 256 bytes <a
href="https://redirect.github.com/Kludex/python-multipart/pull/282">#282</a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Kludex/python-multipart/commit/4cffc68a165f7a6f6b7756ce006fabf07a05b7a4"><code>4cffc68</code></a>
Version 0.0.31 (<a
href="https://redirect.github.com/Kludex/python-multipart/issues/298">#298</a>)</li>
<li><a
href="https://github.com/Kludex/python-multipart/commit/c814948acf509cef7881fa75c969969b19239bbf"><code>c814948</code></a>
Reject negative <code>Content-Length</code> in <code>parse_form</code>
(<a
href="https://redirect.github.com/Kludex/python-multipart/issues/297">#297</a>)</li>
<li><a
href="https://github.com/Kludex/python-multipart/commit/6b837d47bc68826ed5cbbcb50c6c6a6093444494"><code>6b837d4</code></a>
Bound header field name size before validating (<a
href="https://redirect.github.com/Kludex/python-multipart/issues/296">#296</a>)</li>
<li><a
href="https://github.com/Kludex/python-multipart/commit/e0c4f9df2e737d1663fbbdd6563f80613a2089f9"><code>e0c4f9d</code></a>
Bump the github-actions group with 3 updates (<a
href="https://redirect.github.com/Kludex/python-multipart/issues/294">#294</a>)</li>
<li><a
href="https://github.com/Kludex/python-multipart/commit/b8a01bb683e8e8675fdb5d831b206a478c8215aa"><code>b8a01bb</code></a>
Bump the python-packages group with 3 updates (<a
href="https://redirect.github.com/Kludex/python-multipart/issues/293">#293</a>)</li>
<li><a
href="https://github.com/Kludex/python-multipart/commit/6732164f30c58e28589a1e22213d2f6b8c6bad9f"><code>6732164</code></a>
Speed up multipart header parsing and callback dispatch (<a
href="https://redirect.github.com/Kludex/python-multipart/issues/295">#295</a>)</li>
<li><a
href="https://github.com/Kludex/python-multipart/commit/9d3ead568a259f222cff6425262ff63e88d930d4"><code>9d3ead5</code></a>
Version 0.0.30 (<a
href="https://redirect.github.com/Kludex/python-multipart/issues/292">#292</a>)</li>
<li><a
href="https://github.com/Kludex/python-multipart/commit/3506c15ce99cb62faf2d5ceb3c4c1e5800cb843d"><code>3506c15</code></a>
Ignore RFC 2231 extended parameters in <code>parse_options_header</code>
(<a
href="https://redirect.github.com/Kludex/python-multipart/issues/291">#291</a>)</li>
<li><a
href="https://github.com/Kludex/python-multipart/commit/d69df35cd2cad9c72794c2c340db646afae957d8"><code>d69df35</code></a>
Treat only <code>&amp;</code> as the urlencoded field separator (<a
href="https://redirect.github.com/Kludex/python-multipart/issues/290">#290</a>)</li>
<li><a
href="https://github.com/Kludex/python-multipart/commit/1e6ff9740b09fb439755f30e2b0e2ada1d297325"><code>1e6ff97</code></a>
Bump idna from 3.11 to 3.15 (<a
href="https://redirect.github.com/Kludex/python-multipart/issues/289">#289</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/Kludex/python-multipart/compare/0.0.27...0.0.31">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/evroon/bracket/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-28 12:03:58 +00:00
dependabot[bot] 5bd2a5bd24 Bump pyrefly from 1.0.0 to 1.1.1 in /backend (#1741)
Bumps [pyrefly](https://github.com/facebook/pyrefly) from 1.0.0 to
1.1.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/facebook/pyrefly/releases">pyrefly's
releases</a>.</em></p>
<blockquote>
<h2>Pyrefly v1.1.1</h2>
<p><em>Release date: June 18, 2026</em></p>
<p>Pyrefly v1.1.1 is a patch release with a single bug fix.</p>
<hr />
<h2>🐛 Bug fixes</h2>
<ul>
<li><strong><a
href="https://redirect.github.com/facebook/pyrefly/issues/3867">#3867</a>:</strong>
Fixed a regression introduced in 1.1.0 where <code>isinstance()</code>
narrowing of a union variable silently stopped working when an earlier
sibling branch in the same
<code>if</code>/<code>elif</code>/<code>else</code> chain narrowed a
different variable with <code>isinstance()</code> and returned. The
later narrowing left the union untouched, producing false
<code>missing-attribute</code> errors on code that checked correctly in
1.0.0.</li>
</ul>
<p>Thank-you to all our contributors who found these bugs and reported
them! Did you know this is one of the most helpful contributions you can
make to an open-source project? If you find any bugs in Pyrefly we want
to know about them! Please open a bug report issue <a
href="https://github.com/facebook/pyrefly/issues">here</a>.</p>
<hr />
<h2>📦 Upgrade</h2>
<pre lang="bash"><code>pip install --upgrade pyrefly==1.1.1
</code></pre>
<h3>How to safely upgrade your codebase</h3>
<p>Upgrading the version of Pyrefly you're using or a third-party
library you depend on can reveal new type errors in your code. Fixing
them all at once is often unrealistic. We've written scripts to help you
temporarily silence them. After upgrading, follow these steps:</p>
<ol>
<li><code>pyrefly check --suppress-errors</code></li>
<li>Run your code formatter of choice</li>
<li><code>pyrefly check --remove-unused-ignores</code></li>
<li>Repeat until you achieve a clean formatting run and a clean type
check.</li>
</ol>
<p>This will add <code># pyrefly: ignore</code> comments to your code,
enabling you to silence errors and return to fix them later. This can
make the process of upgrading a large codebase much more manageable.</p>
<p>Read more about error suppressions in the <a
href="https://pyrefly.org/en/docs/error-suppressions/">Pyrefly
documentation</a>.</p>
<h2>Pyrefly v1.1.0</h2>
<p><em>Release date: June 17, 2026</em></p>
<p>Pyrefly v1.1.0 bundles <strong>250 commits</strong> from <strong>25
contributors</strong>.</p>
<hr />
<h2> New &amp; Improved</h2>
<h3>Type Checking</h3>
<ul>
<li>Pyrefly now correctly narrows <code>TypedDict</code> types after
<code>isinstance(x, dict)</code> checks, treating them as runtime
<code>dict</code> instances while preserving field information in the
positive branch.</li>
<li>Type narrowing for bounded and constrained <code>TypeVar</code>s has
been significantly improved. <code>isinstance</code> checks now
correctly narrow <code>Self</code> and bounded type variables via their
disjoint-base representatives, and negative narrowing on bounded
TypeVars no longer produces false positives.</li>
<li>Constrained <code>TypeVar</code>s are now preserved through method
calls and binary operations, so <code>T &amp; int</code> where <code>T:
(int, str)</code> correctly returns <code>T &amp; int</code> instead of
losing the TypeVar.</li>
<li>Classes decorated with <code>@dataclass(slots=True)</code> are now
recognized as PEP 800 disjoint bases when they synthesize non-empty
<code>__slots__</code>, enabling proper multiple-inheritance conflict
detection and type narrowing.</li>
<li>Pyrefly now detects when methods override parent class methods
without using the <code>@override</code> decorator, and a new quick fix
can automatically add the decorator for you.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/facebook/pyrefly/commit/b87de05834c401898c79fd9686b806c051dd3667"><code>b87de05</code></a>
cut 1.1.1</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/a297847fa0cee3a34b1dd2a055a70c1ebf3c0237"><code>a297847</code></a>
release notes for v1.1.1</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/4be867378805aa33bfe87d12e589561964a61b4f"><code>4be8673</code></a>
Fix isinstance narrowing silently breaking after a sibling branch
narrows ano...</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/67a11d42e5b1f141e3aa5340387da4f94292926d"><code>67a11d4</code></a>
cut 1.1.0</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/6eb38a7c373e760612524ef1803b8029714e08ae"><code>6eb38a7</code></a>
Handle empty name invalid syntax</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/54f61bc1042f368c9ed7b3cab4996a43bae51ec5"><code>54f61bc</code></a>
Resolve type-alias refs against their own module, not typing</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/fc495dc8a74201bcbcb464f092dd3ec5e963c906"><code>fc495dc</code></a>
add test for resolving type alias references</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/33de466bda7bb20fccfb45c3063ae543aa957164"><code>33de466</code></a>
Resolve real source locations by reusing the query transaction (<a
href="https://redirect.github.com/facebook/pyrefly/issues/3829">#3829</a>)</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/3fd550de5b5e01fb42e542e80eba18af7a51de9a"><code>3fd550d</code></a>
Teach the type converter to resolve export locations</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/86f0da71bd5300188f1f3698720616d41d5bf64e"><code>86f0da7</code></a>
Lazy materialize implicit builtins</li>
<li>Additional commits viewable in <a
href="https://github.com/facebook/pyrefly/compare/1.0.0...1.1.1">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-21 04:13:15 +00:00
dependabot[bot] 878d0b4ce2 Bump fastapi from 0.136.0 to 0.138.0 in /backend (#1740)
Bumps [fastapi](https://github.com/fastapi/fastapi) from 0.136.0 to
0.138.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.138.0</h2>
<h3>Features</h3>
<ul>
<li> Add support for <code>app.frontend(&quot;/&quot;,
directory=&quot;dist&quot;)</code> and
<code>router.frontend(&quot;/&quot;, directory=&quot;dist&quot;)</code>.
PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15800">#15800</a>
by <a href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.
<ul>
<li>Read the docs: <a
href="https://fastapi.tiangolo.com/tutorial/frontend/">Frontend</a>.</li>
</ul>
</li>
</ul>
<h3>Docs</h3>
<ul>
<li>📝 Fix typo in release notes. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15807">#15807</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>📝 Add <code>app.frontend()</code> instructions to Agent Library
Skill. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15805">#15805</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>📝 Update release notes link. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15802">#15802</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>✏️ Update white space characters in bigger apps. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15801">#15801</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>✏️ Fix grammar, typos, and broken links in docs. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15694">#15694</a>
by <a
href="https://github.com/YuriiMotov"><code>@​YuriiMotov</code></a>.</li>
</ul>
<h3>Translations</h3>
<ul>
<li>🌐 Enable Hindi docs translations. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15554">#15554</a>
by <a
href="https://github.com/YuriiMotov"><code>@​YuriiMotov</code></a>.</li>
</ul>
<h3>Internal</h3>
<ul>
<li>🐛 Fix failing test, update format for raised errors. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15804">#15804</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>👷 Fix test-alls-green. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15803">#15803</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🔧 Enable checking <code>release-notes.md</code> for typos. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15796">#15796</a>
by <a
href="https://github.com/YuriiMotov"><code>@​YuriiMotov</code></a>.</li>
<li>📝 Tweak wording about deploying to FastAPI Cloud. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15793">#15793</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🔨 Use <code>gpt-5.5</code> model in <code>translate.py</code>,
specify <code>-chat</code> to avoid warnings. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15792">#15792</a>
by <a
href="https://github.com/YuriiMotov"><code>@​YuriiMotov</code></a>.</li>
</ul>
<h2>0.137.2</h2>
<h3>Features</h3>
<ul>
<li> Add <code>iter_route_contexts()</code> for advanced use cases that
used to use <code>router.routes</code> (e.g. Jupyverse). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15785">#15785</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
<h3>Translations</h3>
<ul>
<li>🌐 Fix broken Markdown in Korean custom response docs. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15774">#15774</a>
by <a href="https://github.com/kooqooo"><code>@​kooqooo</code></a>.</li>
<li>🌐 Update translations for fr (update-outdated). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15761">#15761</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for zh-hant (update-outdated). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15760">#15760</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for de (update-outdated). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15759">#15759</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for ko (update-outdated). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15757">#15757</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for uk (update-outdated). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15756">#15756</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for zh (update-outdated). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15755">#15755</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for tr (update-outdated). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15754">#15754</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/15753">#15753</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/15752">#15752</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for ja (update-outdated). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15751">#15751</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🌐 Update translations for ru (update-outdated). PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15758">#15758</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
<h3>Internal</h3>
<ul>
<li>🔧 Update sponsors: add BairesDev. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15787">#15787</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🔨 Update sponsors script to simplify previews. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15786">#15786</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/fastapi/fastapi/commit/4b83b0d409009c8de9df4070fe163838b1a700c7"><code>4b83b0d</code></a>
🔖 Release version 0.138.0 (<a
href="https://redirect.github.com/fastapi/fastapi/issues/15808">#15808</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/041cb0cdfa2d0f705d14ed07c2c2e0f92ef5f32c"><code>041cb0c</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/10393846ede7a2947cec594d15a43f813001cab4"><code>1039384</code></a>
📝 Fix typo in release notes (<a
href="https://redirect.github.com/fastapi/fastapi/issues/15807">#15807</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/0303491b69ff84a4632c0314e6db4df74f2f93f9"><code>0303491</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/190f6e2033c8b886b25027be284d8c8c1893f28c"><code>190f6e2</code></a>
📝 Add Frontend instructions to Agent Library Skill (<a
href="https://redirect.github.com/fastapi/fastapi/issues/15805">#15805</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/17945e5ab7f25234340c152a40d232a98857e079"><code>17945e5</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/2260afaf433103c8104b34d256cf0b96b058823b"><code>2260afa</code></a>
🐛 Fix failing test, update format for raised errors (<a
href="https://redirect.github.com/fastapi/fastapi/issues/15804">#15804</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/0cd5001d0ef80a07e2d775c5c75522391a3e06d7"><code>0cd5001</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/7cb1ab6264bc03319832f553730b511192a0c0d3"><code>7cb1ab6</code></a>
👷 Fix test-alls-green (<a
href="https://redirect.github.com/fastapi/fastapi/issues/15803">#15803</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/9c7eceb00ff6e1d37980954418f7c9dab30a4cd5"><code>9c7eceb</code></a>
📝 Update release notes</li>
<li>Additional commits viewable in <a
href="https://github.com/fastapi/fastapi/compare/0.136.0...0.138.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-21 04:12:52 +00:00
dependabot[bot] 4ad9494c7e Bump sentry-sdk from 2.62.0 to 2.63.0 in /backend (#1739)
Bumps [sentry-sdk](https://github.com/getsentry/sentry-python) from
2.62.0 to 2.63.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/getsentry/sentry-python/releases">sentry-sdk's
releases</a>.</em></p>
<blockquote>
<h2>2.63.0</h2>
<h3>Bug Fixes 🐛</h3>
<h4>Fastapi</h4>
<ul>
<li>Prevent double wrapping of sync handlers on FastAPI &gt;= 0.137 by
<a href="https://github.com/jhonny-on"><code>@​jhonny-on</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6569">#6569</a></li>
<li>Use effective_route_context path for prefixed routers by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6572">#6572</a></li>
</ul>
<h4>Other</h4>
<ul>
<li>(asgi) Gate query string and client IP behind send_default_pii by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6501">#6501</a></li>
<li>(serializer) Avoid creating reference cycles on every call by <a
href="https://github.com/Malkiz223"><code>@​Malkiz223</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6563">#6563</a></li>
<li>(user) Set <code>user.ip_address</code> on telemetry if present by
<a href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6555">#6555</a></li>
<li>Remove 0000 trace_id fallbacks by <a
href="https://github.com/sl0thentr0py"><code>@​sl0thentr0py</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6570">#6570</a></li>
<li>MANIFEST.in: Graft tests directory. by <a
href="https://github.com/charlesroelli"><code>@​charlesroelli</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6237">#6237</a></li>
</ul>
<h3>Internal Changes 🔧</h3>
<ul>
<li>(fastapi) Verify request info capture with POST endpoints by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6287">#6287</a></li>
<li>(starlette) Verify request info capture with POST endpoints by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6269">#6269</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md">sentry-sdk's
changelog</a>.</em></p>
<blockquote>
<h2>2.63.0</h2>
<h3>Bug Fixes 🐛</h3>
<h4>Fastapi</h4>
<ul>
<li>Prevent double wrapping of sync handlers on FastAPI &gt;= 0.137 by
<a href="https://github.com/jhonny-on"><code>@​jhonny-on</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6569">#6569</a></li>
<li>Use effective_route_context path for prefixed routers by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6572">#6572</a></li>
</ul>
<h4>Other</h4>
<ul>
<li>(asgi) Gate query string and client IP behind send_default_pii by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6501">#6501</a></li>
<li>(serializer) Avoid creating reference cycles on every call by <a
href="https://github.com/Malkiz223"><code>@​Malkiz223</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6563">#6563</a></li>
<li>(user) Set <code>user.ip_address</code> on telemetry if present by
<a href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6555">#6555</a></li>
<li>Remove 0000 trace_id fallbacks by <a
href="https://github.com/sl0thentr0py"><code>@​sl0thentr0py</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6570">#6570</a></li>
<li>MANIFEST.in: Graft tests directory. by <a
href="https://github.com/charlesroelli"><code>@​charlesroelli</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6237">#6237</a></li>
</ul>
<h3>Internal Changes 🔧</h3>
<ul>
<li>(fastapi) Verify request info capture with POST endpoints by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6287">#6287</a></li>
<li>(starlette) Verify request info capture with POST endpoints by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6269">#6269</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/getsentry/sentry-python/commit/44b008a336bd9c64bf54ab8318bffbf9cc015bd1"><code>44b008a</code></a>
update changelog</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/0b2af511fd1b28208b8f8860c68efcab85e81970"><code>0b2af51</code></a>
Update CHANGELOG.md</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/250caadc80033e975e7b4746ee1411bcf7fa98f3"><code>250caad</code></a>
release: 2.63.0</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/72a57de789777a7b0b836ef1225463478cb7df6a"><code>72a57de</code></a>
fix(flask): Set user data on scope at request start (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6566">#6566</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/6a4c3a1cb84a94b30ff1c0648e127dcf80bd83f8"><code>6a4c3a1</code></a>
fix: Remove 0000 trace_id fallbacks (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6570">#6570</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/1df9835e485a346f670ca5615106536a20212795"><code>1df9835</code></a>
feat(falcon): Set name and source on request span when streaming (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6562">#6562</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/77874bdb80039de5521830a88b133015e3c0b7a0"><code>77874bd</code></a>
test(falcon): Support span streaming (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6561">#6561</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/6bcfb9cf7e8e00a009bcd5ba4e1cb00f3fffe2d9"><code>6bcfb9c</code></a>
fix(fastapi): Prevent double wrapping of sync handlers on FastAPI &gt;=
0.137 (#...</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/72d972c176a1d41a8179b6666ca723de665399b5"><code>72d972c</code></a>
fix(fastapi): use effective_route_context path for prefixed routers (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6572">#6572</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/cc802f6fcedcbd50f76afe2fc902d4d21b6691d6"><code>cc802f6</code></a>
feat(chalice): Add span streaming support to Chalice integration (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6503">#6503</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/getsentry/sentry-python/compare/2.62.0...2.63.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-21 04:12:34 +00:00
dependabot[bot] edce9f8b43 Bump starlette from 1.2.1 to 1.3.1 in /backend (#1737)
Bumps [starlette](https://github.com/Kludex/starlette) from 1.2.1 to
1.3.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Kludex/starlette/releases">starlette's
releases</a>.</em></p>
<blockquote>
<h2>Version 1.3.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Use <code>StarletteDeprecationWarning</code> instead of
<code>DeprecationWarning</code> by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/starlette/pull/3119">Kludex/starlette#3119</a></li>
<li>Enforce <code>max_fields</code> and <code>max_part_size</code> in
<code>FormParser</code> by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/starlette/pull/3329">Kludex/starlette#3329</a></li>
<li>Enforce <code>FormParser</code> limits in parser callbacks by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/starlette/pull/3331">Kludex/starlette#3331</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/starlette/compare/1.3.0...1.3.1">https://github.com/Kludex/starlette/compare/1.3.0...1.3.1</a></p>
<h2>Version 1.3.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Clamp oversized suffix ranges in <code>FileResponse</code> by <a
href="https://github.com/jiyujie2006"><code>@​jiyujie2006</code></a> in
<a
href="https://redirect.github.com/Kludex/starlette/pull/3307">Kludex/starlette#3307</a></li>
<li>Catch <code>OSError</code> alongside <code>MultiPartException</code>
when closing temp files by <a
href="https://github.com/N3XT3R1337"><code>@​N3XT3R1337</code></a> in <a
href="https://redirect.github.com/Kludex/starlette/pull/3191">Kludex/starlette#3191</a></li>
<li>Add <code>httpx2</code> to the <code>full</code> extra by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/starlette/pull/3323">Kludex/starlette#3323</a></li>
<li>Adjust testclient typing and warnings by <a
href="https://github.com/waketzheng"><code>@​waketzheng</code></a> in <a
href="https://redirect.github.com/Kludex/starlette/pull/3322">Kludex/starlette#3322</a></li>
<li>Fix IndexError in URL.replace() on a URL with no authority by <a
href="https://github.com/LeSingh1"><code>@​LeSingh1</code></a> in <a
href="https://redirect.github.com/Kludex/starlette/pull/3317">Kludex/starlette#3317</a></li>
<li>Annotate URLPath protocol parameter with Literal by <a
href="https://github.com/Chang-LeHung"><code>@​Chang-LeHung</code></a>
in <a
href="https://redirect.github.com/Kludex/starlette/pull/3285">Kludex/starlette#3285</a></li>
<li>avoid collapsing exception groups from user code by <a
href="https://github.com/graingert"><code>@​graingert</code></a> in <a
href="https://redirect.github.com/Kludex/starlette/pull/2830">Kludex/starlette#2830</a></li>
<li>Use <code>removeprefix</code> to strip weak ETag indicator in
<code>is_not_modified</code> by <a
href="https://github.com/gnosyslambda"><code>@​gnosyslambda</code></a>
in <a
href="https://redirect.github.com/Kludex/starlette/pull/3193">Kludex/starlette#3193</a></li>
<li>Build <code>request.url</code> from structured components by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/starlette/pull/3326">Kludex/starlette#3326</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/jiyujie2006"><code>@​jiyujie2006</code></a>
made their first contribution in <a
href="https://redirect.github.com/Kludex/starlette/pull/3307">Kludex/starlette#3307</a></li>
<li><a
href="https://github.com/N3XT3R1337"><code>@​N3XT3R1337</code></a> made
their first contribution in <a
href="https://redirect.github.com/Kludex/starlette/pull/3191">Kludex/starlette#3191</a></li>
<li><a
href="https://github.com/leestana01"><code>@​leestana01</code></a> made
their first contribution in <a
href="https://redirect.github.com/Kludex/starlette/pull/3319">Kludex/starlette#3319</a></li>
<li><a href="https://github.com/LeSingh1"><code>@​LeSingh1</code></a>
made their first contribution in <a
href="https://redirect.github.com/Kludex/starlette/pull/3317">Kludex/starlette#3317</a></li>
<li><a
href="https://github.com/EmmanuelNiyonshuti"><code>@​EmmanuelNiyonshuti</code></a>
made their first contribution in <a
href="https://redirect.github.com/Kludex/starlette/pull/3204">Kludex/starlette#3204</a></li>
<li><a
href="https://github.com/Chang-LeHung"><code>@​Chang-LeHung</code></a>
made their first contribution in <a
href="https://redirect.github.com/Kludex/starlette/pull/3285">Kludex/starlette#3285</a></li>
<li><a
href="https://github.com/gnosyslambda"><code>@​gnosyslambda</code></a>
made their first contribution in <a
href="https://redirect.github.com/Kludex/starlette/pull/3193">Kludex/starlette#3193</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/starlette/compare/1.2.1...1.3.0">https://github.com/Kludex/starlette/compare/1.2.1...1.3.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/Kludex/starlette/blob/main/docs/release-notes.md">starlette's
changelog</a>.</em></p>
<blockquote>
<h2>1.3.1 (June 12, 2026)</h2>
<h4>Fixed</h4>
<ul>
<li>Enforce <code>max_fields</code> and <code>max_part_size</code> in
<code>FormParser</code> <a
href="https://redirect.github.com/encode/starlette/pull/3329">#3329</a>.</li>
<li>Enforce <code>FormParser</code> limits in parser callbacks <a
href="https://redirect.github.com/encode/starlette/pull/3331">#3331</a>.</li>
</ul>
<h2>1.3.0 (June 11, 2026)</h2>
<h4>Added</h4>
<ul>
<li>Add <code>httpx2</code> to the <code>full</code> extra <a
href="https://redirect.github.com/encode/starlette/pull/3323">#3323</a>.</li>
<li>Annotate the <code>URLPath</code> <code>protocol</code> parameter
with <code>Literal</code> <a
href="https://redirect.github.com/encode/starlette/pull/3285">#3285</a>.</li>
</ul>
<h4>Fixed</h4>
<ul>
<li>Build <code>request.url</code> from structured components <a
href="https://redirect.github.com/encode/starlette/pull/3326">#3326</a>.</li>
<li>Clamp oversized suffix ranges in <code>FileResponse</code> <a
href="https://redirect.github.com/encode/starlette/pull/3307">#3307</a>.</li>
<li>Catch <code>OSError</code> alongside <code>MultiPartException</code>
when closing temp files <a
href="https://redirect.github.com/encode/starlette/pull/3191">#3191</a>.</li>
<li>Avoid collapsing exception groups raised from user code <a
href="https://redirect.github.com/encode/starlette/pull/2830">#2830</a>.</li>
<li>Use <code>removeprefix</code> to strip the weak <code>ETag</code>
indicator in <code>is_not_modified</code> <a
href="https://redirect.github.com/encode/starlette/pull/3193">#3193</a>.</li>
<li>Fix <code>IndexError</code> in <code>URL.replace()</code> on a URL
with no authority <a
href="https://redirect.github.com/encode/starlette/pull/3317">#3317</a>.</li>
<li>Adjust <code>testclient</code> typing and warnings <a
href="https://redirect.github.com/encode/starlette/pull/3322">#3322</a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Kludex/starlette/commit/8ebffd0678570ddd5d5bb11c6f3c3c7fd4682ab9"><code>8ebffd0</code></a>
Version 1.3.1 (<a
href="https://redirect.github.com/Kludex/starlette/issues/3330">#3330</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/25b8e179d8d7ed86769c02f648772dd5fb43dc3c"><code>25b8e17</code></a>
Enforce <code>FormParser</code> limits in parser callbacks (<a
href="https://redirect.github.com/Kludex/starlette/issues/3331">#3331</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/dba1c4babc4f99ad2622bb913d87045775dda735"><code>dba1c4b</code></a>
Enforce <code>max_fields</code> and <code>max_part_size</code> in
<code>FormParser</code> (<a
href="https://redirect.github.com/Kludex/starlette/issues/3329">#3329</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/45e51dcf99f3a270b0bcec1aec5410b4345863a9"><code>45e51dc</code></a>
Use <code>StarletteDeprecationWarning</code> instead of
<code>DeprecationWarning</code> (<a
href="https://redirect.github.com/Kludex/starlette/issues/3119">#3119</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/5f8610c386e13de1d80d36efa961e1486a1d2d01"><code>5f8610c</code></a>
Version 1.3.0 (<a
href="https://redirect.github.com/Kludex/starlette/issues/3327">#3327</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/167b5850e809f38b27fbfed62d58bf6442855975"><code>167b585</code></a>
Build <code>request.url</code> from structured components (<a
href="https://redirect.github.com/Kludex/starlette/issues/3326">#3326</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/37309255b4c1b9c381a2d24a1eaf83100984a16a"><code>3730925</code></a>
Use <code>removeprefix</code> to strip weak ETag indicator in
<code>is_not_modified</code> (<a
href="https://redirect.github.com/Kludex/starlette/issues/3193">#3193</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/e6f7ad1ab85efb27ab7910d8007b3f4531f7b083"><code>e6f7ad1</code></a>
avoid collapsing exception groups from user code (<a
href="https://redirect.github.com/Kludex/starlette/issues/2830">#2830</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/115228fcdca0e0ef5bf4a95a40ddce5a9fced428"><code>115228f</code></a>
Annotate URLPath protocol parameter with Literal (<a
href="https://redirect.github.com/Kludex/starlette/issues/3285">#3285</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/113f193a34353c9153857028c1074351d22fad07"><code>113f193</code></a>
docs: replace inline ASGI server list with link to canonical implemen…
(<a
href="https://redirect.github.com/Kludex/starlette/issues/3204">#3204</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/Kludex/starlette/compare/1.2.1...1.3.1">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-14 04:12:53 +00:00
dependabot[bot] 9ee493a8b2 Bump sentry-sdk from 2.61.0 to 2.62.0 in /backend (#1736)
Bumps [sentry-sdk](https://github.com/getsentry/sentry-python) from
2.61.0 to 2.62.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/getsentry/sentry-python/releases">sentry-sdk's
releases</a>.</em></p>
<blockquote>
<h2>2.62.0</h2>
<h3>New Features </h3>
<ul>
<li>
<p>Add integration for <code>aiomysql</code> by <a
href="https://github.com/tonal"><code>@​tonal</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/4703">#4703</a></p>
<p>We're adding support for the <code>aiomysql</code> package. To enable
the integration, add it to your <code>integrations</code> list:</p>
<pre lang="python"><code>import sentry_sdk
from sentry_sdk.integrations.aiomysql import AioMySQLIntegration
<p>sentry_sdk.init(
traces_sample_rate=1.0,
integrations=[AioMySQLIntegration()],
)
</code></pre></p>
</li>
<li>
<p>Support HTTPX2 by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6463">#6463</a></p>
<p>We're adding out-of-the-box support for HTTPX2. As long as use the
package, the Sentry integration
will be enabled automatically and you should see your requests
instrumented in Sentry.</p>
<pre lang="python"><code>import httpx2
import sentry_sdk
<p>sentry_sdk.init(...)</p>
<p>with sentry_sdk.start_transaction(name=&quot;testing_sentry&quot;):
httpx2.get(&quot;<a
href="https://sentry.io/">https://sentry.io/</a>&quot;)
</code></pre></p>
</li>
</ul>
<h3>Bug Fixes 🐛</h3>
<ul>
<li>(arq) Never capture control flow exceptions by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6507">#6507</a></li>
<li>(client) Guard against dotless qualified_name in
_setup_instrumentation by <a
href="https://github.com/devteamaegis"><code>@​devteamaegis</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6452">#6452</a></li>
<li>(pydantic-ai) Only use hooks when
<code>ModelRequestContext.model</code> exists by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6480">#6480</a></li>
<li>(rq) Restore <code>functools.wraps()</code> for patched functions by
<a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6532">#6532</a></li>
<li>(tracing_utils) Handle baggage values containing '=' in
from_incoming_header by <a
href="https://github.com/devteamaegis"><code>@​devteamaegis</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6450">#6450</a></li>
<li>(utils) Handle image_url string shorthand in
_is_image_type_with_blob_content by <a
href="https://github.com/devteamaegis"><code>@​devteamaegis</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6478">#6478</a></li>
</ul>
<h3>Internal Changes 🔧</h3>
<ul>
<li>(arq) Only pin <code>fakeredis&lt;2.36.0</code> in tests by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6444">#6444</a></li>
<li>(flaky) Change env for flaky test detector by <a
href="https://github.com/sl0thentr0py"><code>@​sl0thentr0py</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6492">#6492</a></li>
<li>(pydantic-ai) Create event loop before invoking sync methods by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6475">#6475</a></li>
<li>Use <code>package-ecosystem: uv</code> in dependabot by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6522">#6522</a></li>
<li>🤖 Update test matrix with new releases (06/08) by <a
href="https://github.com/github-actions"><code>@​github-actions</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6519">#6519</a></li>
<li>Raise minimum supported <code>aiomysql</code> version and update
text matrix by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6496">#6496</a></li>
<li>Deprecate OpenTelemetryIntegration in favor of OTLPIntegration and
no-op for span first by <a
href="https://github.com/sl0thentr0py"><code>@​sl0thentr0py</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6494">#6494</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md">sentry-sdk's
changelog</a>.</em></p>
<blockquote>
<h2>2.62.0</h2>
<h3>New Features </h3>
<ul>
<li>
<p>Add integration for <code>aiomysql</code> by <a
href="https://github.com/tonal"><code>@​tonal</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/4703">#4703</a></p>
<p>We're adding support for the <code>aiomysql</code> package. To enable
the integration, add it to your <code>integrations</code> list:</p>
<pre lang="python"><code>import sentry_sdk
from sentry_sdk.integrations.aiomysql import AioMySQLIntegration
<p>sentry_sdk.init(
traces_sample_rate=1.0,
integrations=[AioMySQLIntegration()],
)
</code></pre></p>
</li>
<li>
<p>Support HTTPX2 by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6463">#6463</a></p>
<p>We're adding out-of-the-box support for HTTPX2. As long as use the
package, the Sentry integration
will be enabled automatically and you should see your requests
instrumented in Sentry.</p>
<pre lang="python"><code>import httpx2
import sentry_sdk
<p>sentry_sdk.init(...)</p>
<p>with sentry_sdk.start_transaction(name=&quot;testing_sentry&quot;):
httpx2.get(&quot;<a
href="https://sentry.io/">https://sentry.io/</a>&quot;)
</code></pre></p>
</li>
</ul>
<h3>Bug Fixes 🐛</h3>
<ul>
<li>(arq) Never capture control flow exceptions by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6507">#6507</a></li>
<li>(client) Guard against dotless qualified_name in
_setup_instrumentation by <a
href="https://github.com/devteamaegis"><code>@​devteamaegis</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6452">#6452</a></li>
<li>(pydantic-ai) Only use hooks when
<code>ModelRequestContext.model</code> exists by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6480">#6480</a></li>
<li>(rq) Restore <code>functools.wraps()</code> for patched functions by
<a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6532">#6532</a></li>
<li>(tracing_utils) Handle baggage values containing '=' in
from_incoming_header by <a
href="https://github.com/devteamaegis"><code>@​devteamaegis</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6450">#6450</a></li>
<li>(utils) Handle image_url string shorthand in
_is_image_type_with_blob_content by <a
href="https://github.com/devteamaegis"><code>@​devteamaegis</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6478">#6478</a></li>
</ul>
<h3>Internal Changes 🔧</h3>
<ul>
<li>(arq) Only pin <code>fakeredis&lt;2.36.0</code> in tests by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6444">#6444</a></li>
<li>(flaky) Change env for flaky test detector by <a
href="https://github.com/sl0thentr0py"><code>@​sl0thentr0py</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6492">#6492</a></li>
<li>(pydantic-ai) Create event loop before invoking sync methods by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6475">#6475</a></li>
<li>Use <code>package-ecosystem: uv</code> in dependabot by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6522">#6522</a></li>
<li>🤖 Update test matrix with new releases (06/08) by <a
href="https://github.com/github-actions"><code>@​github-actions</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6519">#6519</a></li>
<li>Raise minimum supported <code>aiomysql</code> version and update
text matrix by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6496">#6496</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/getsentry/sentry-python/commit/0bac65a1c046e6eb7125d6413c29a188144e875b"><code>0bac65a</code></a>
Update CHANGELOG.md</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/4a53c102d7a9dc4144900058ab456bcd82aaf17b"><code>4a53c10</code></a>
release: 2.62.0</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/afff0e23a44e0f264fdd7c50aa0d1af63c1aca41"><code>afff0e2</code></a>
fix(rq): Restore <code>functools.wraps()</code> for patched functions
(<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6532">#6532</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/33ca589e7b36f0bc33ba470506d5668704912d59"><code>33ca589</code></a>
build(deps-dev): bump openfeature-sdk from 0.9.0 to 0.10.0 (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6528">#6528</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/4fdd8e042b0c35cb0193e1aec825d3e5b11c4ce1"><code>4fdd8e0</code></a>
build(deps): bump pip from 26.1.1 to 26.1.2 (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6530">#6530</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/b466c279d7e2416d4374922ece59190de01c0ffb"><code>b466c27</code></a>
build(deps-dev): bump httpx2 from 2.2.0 to 2.3.0 (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6523">#6523</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/0be028f9ac82dbb3f5fdede5c03a8900148fbe7b"><code>0be028f</code></a>
build(deps-dev): bump typer from 0.26.2 to 0.26.7 (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6526">#6526</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/344c013951a5feaf9b07db91ce4d2969b20103a9"><code>344c013</code></a>
build(deps-dev): bump ruff from 0.15.14 to 0.15.16 (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6529">#6529</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/7d38a49af058d46299e1e01ec0086ff05f585866"><code>7d38a49</code></a>
ci: Use package-ecosystem: uv in dependabot (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6522">#6522</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/8c50017e5ad90f413ec7b70a2622ebfc007c9ff4"><code>8c50017</code></a>
build(deps): bump
getsentry/craft/.github/workflows/changelog-preview.yml fro...</li>
<li>Additional commits viewable in <a
href="https://github.com/getsentry/sentry-python/compare/2.61.0...2.62.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-14 04:12:40 +00:00
dependabot[bot] 279f66be12 Bump pytest from 9.0.3 to 9.1.0 in /backend (#1735)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 9.0.3 to
9.1.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pytest-dev/pytest/releases">pytest's
releases</a>.</em></p>
<blockquote>
<h2>9.1.0</h2>
<h1>pytest 9.1.0 (2026-06-13)</h1>
<h2>Removals and backward incompatible breaking changes</h2>
<ul>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/14533">#14533</a>:
When using <code>--doctest-modules</code>, autouse fixtures with
<code>module</code>, <code>package</code> or <code>session</code> scope
that are defined inline in Python test modules (not plugins or
conftests) will now possibly execute twice.</p>
<p>If this is undesirable, move the fixture definition to a
<code>conftest.py</code> file if possible.</p>
<p>Technical explanation for those interested:
When using <!-- raw HTML omitted -->--doctest-modules<!-- raw HTML
omitted -->, pytest possibly collects Python modules twice, once as
<code>pytest.Module</code> and once as a <code>DoctestModule</code>
(depending on the configuration).
Due to improvements in pytest's fixture implementation, if e.g. the
<code>DoctestModule</code> collects a fixture, it is now visible to it
only, and not to the <code>Module</code>.
This means that both need to register the fixtures independently.</p>
</li>
</ul>
<h2>Deprecations (removal in next major release)</h2>
<ul>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/10819">#10819</a>:
Added a deprecation warning for class-scoped fixtures defined as
instance methods (without <code>@classmethod</code>). Such fixtures set
attributes on a different instance than the test methods use, leading to
unexpected behavior. Use <code>@classmethod</code> decorator instead --
by <code>yastcher</code>.</p>
<p>See <code>10819</code> and <code>14011</code>.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/12882">#12882</a>:
Calling <code>request.getfixturevalue()
&lt;pytest.FixtureRequest.getfixturevalue&gt;</code> during teardown to
request a fixture that was not already requested is now deprecated and
will become an error in pytest 10.</p>
<p>See <code>dynamic-fixture-request-during-teardown</code> for
details.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/13409">#13409</a>:
Using non-<code>~collections.abc.Collection</code> iterables (such as
generators, iterators, or custom iterable objects) for the
<code>argvalues</code> parameter in <code>@pytest.mark.parametrize
&lt;pytest.mark.parametrize ref&gt;</code> and
<code>metafunc.parametrize &lt;pytest.Metafunc.parametrize&gt;</code> is
now deprecated.</p>
<p>These iterables get exhausted after the first iteration,
leading to tests getting unexpectedly skipped in cases such as running
<code>pytest.main()</code> multiple times,
using class-level parametrize decorators,
or collecting tests multiple times.</p>
<p>See <code>parametrize-iterators</code> for details and
suggestions.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/13946">#13946</a>:
The private <code>config.inicfg</code> attribute is now deprecated.
Use <code>config.getini() &lt;pytest.Config.getini&gt;</code> to access
configuration values instead.</p>
<p>See <code>config-inicfg</code> for more details.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/14004">#14004</a>:
Passing <code>baseid</code> to <code>~pytest.FixtureDef</code> or
<code>nodeid</code> strings to fixture registration APIs is now
deprecated. These are internal pytest APIs that are used by some
plugins.</p>
<p>Use the <code>node</code> parameter instead for fixture scoping. This
enables more robust node-based
matching instead of string prefix matching.
If you've used <code>nodeid=None</code>, pass <code>node=session</code>
instead.</p>
<p>This will be removed in pytest 10.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/14335">#14335</a>:
The method of configuring hooks using markers, deprecated since pytest
7.2, is now scheduled to be removed in pytest 10.
See <code>hook-markers</code> for more details.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/14434">#14434</a>:
The <code>--pastebin</code> option is now deprecated.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pytest-dev/pytest/commit/b2522cf0b11fb33ecc1f4895fa1dffbb9252a63d"><code>b2522cf</code></a>
Prepare release version 9.1.0</li>
<li><a
href="https://github.com/pytest-dev/pytest/commit/368d2fca78e86ac79ec269bb078fcb1259a94fed"><code>368d2fc</code></a>
[refactor] Tighten <code>SetComparisonFunction</code> to
<code>Iterator[str]</code> (<a
href="https://redirect.github.com/pytest-dev/pytest/issues/14587">#14587</a>)</li>
<li><a
href="https://github.com/pytest-dev/pytest/commit/ff77cd8b66b43a88c26ca54384bbcab72d079497"><code>ff77cd8</code></a>
[refactor] Make base assertion comparisons return an iterator instead of
a li...</li>
<li><a
href="https://github.com/pytest-dev/pytest/commit/0d8491a4ecf971800de0479ef55c7f5292c54937"><code>0d8491a</code></a>
build(deps): Bump actions/stale from 10.2.0 to 10.3.0</li>
<li><a
href="https://github.com/pytest-dev/pytest/commit/4a809d9c892f6abb5ba92b77b06f1dd878f4660a"><code>4a809d9</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14568">#14568</a>
from pytest-dev/register-fixture</li>
<li><a
href="https://github.com/pytest-dev/pytest/commit/5dfa38541becfb77d0f52cac4cc8cce71849ab61"><code>5dfa385</code></a>
Fix recursion traceback test to cover all styles (<a
href="https://redirect.github.com/pytest-dev/pytest/issues/14582">#14582</a>)</li>
<li><a
href="https://github.com/pytest-dev/pytest/commit/f52ff0c1778c15038cf2bbb00b7668dac674cc26"><code>f52ff0c</code></a>
Add <code>pytest.register_fixture</code></li>
<li><a
href="https://github.com/pytest-dev/pytest/commit/a8ac094e80df788aec844794170b126eab0be7a4"><code>a8ac094</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14567">#14567</a>
from pytest-dev/more-visibility-deprecate</li>
<li><a
href="https://github.com/pytest-dev/pytest/commit/e5620cd21ec62f5a5f9a5141a3c76fb3953729b6"><code>e5620cd</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/pytest-dev/pytest/issues/14577">#14577</a>)</li>
<li><a
href="https://github.com/pytest-dev/pytest/commit/2ce9c6d94eb691ea4da7f91f330602cbb67a6daf"><code>2ce9c6d</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/14540">#14540</a>
from minbang930/fix-14533-doctest-module-fixtures</li>
<li>Additional commits viewable in <a
href="https://github.com/pytest-dev/pytest/compare/9.0.3...9.1.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-14 04:12:05 +00:00
dependabot[bot] d5f5a40986 Bump aiohttp from 3.13.4 to 3.14.0 in /backend (#1732)
[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aiohttp&package-manager=uv&previous-version=3.13.4&new-version=3.14.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-07 04:11:19 +00:00
dependabot[bot] 7cb4638f61 Bump uvicorn from 0.48.0 to 0.49.0 in /backend (#1733)
Bumps [uvicorn](https://github.com/Kludex/uvicorn) from 0.48.0 to
0.49.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Kludex/uvicorn/releases">uvicorn's
releases</a>.</em></p>
<blockquote>
<h2>Version 0.49.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Bump httptools minimum version to 0.8.0 by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2962">Kludex/uvicorn#2962</a></li>
<li>Consume duplicate forwarding headers in ProxyHeadersMiddleware
(reverses the 0.48.0 behavior of ignoring them) by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2971">Kludex/uvicorn#2971</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/uvicorn/compare/0.48.0...0.49.0">https://github.com/Kludex/uvicorn/compare/0.48.0...0.49.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md">uvicorn's
changelog</a>.</em></p>
<blockquote>
<h2>0.49.0 (June 3, 2026)</h2>
<h3>Changed</h3>
<ul>
<li>Bump <code>httptools</code> minimum version to 0.8.0 (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2962">#2962</a>)</li>
<li>Consume duplicate forwarding headers in
<code>ProxyHeadersMiddleware</code> (reverses the 0.48.0 behavior of
ignoring them) (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2971">#2971</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Kludex/uvicorn/commit/3ef2e3e08e3d9ad9572800f8bc54f3eaed9eab0a"><code>3ef2e3e</code></a>
Version 0.49.0 (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2973">#2973</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/eeb64b1d1c95a14096ed3313377c74b485f558fc"><code>eeb64b1</code></a>
Consume duplicate forwarding headers in ProxyHeadersMiddleware (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2971">#2971</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/630f4aca14e79183617c71be714030842a1041c5"><code>630f4ac</code></a>
Make the watchfiles reload tests deterministic (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2972">#2972</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/9154922e3730f7aba68ecc3ecbf536680ee8fd1c"><code>9154922</code></a>
chore(deps): bump the github-actions group across 1 directory with 6
updates ...</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/739727a1d80e468d1e47e98bbd824ee9e3c9554b"><code>739727a</code></a>
Migrate docs deploy from Cloudflare Pages to Workers (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2967">#2967</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/be4a240488d3fb678a11b8e8f83505266f5f1de7"><code>be4a240</code></a>
Gate docs preview deploy on Cloudflare token presence (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2966">#2966</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/c489d7e10dfe653a2bba914feedf2a632a026e6f"><code>c489d7e</code></a>
Bump httptools minimum version to 0.8.0 (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2962">#2962</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/9f547bd82ef52bcba206e04170b359bd6daa25b3"><code>9f547bd</code></a>
Skip docs preview deploy for Dependabot PRs (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2961">#2961</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/44446b894e37ca76830d6aa83df4349795400ed4"><code>44446b8</code></a>
Migrate documentation from MkDocs Material to Zensical (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2959">#2959</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/cfd659c4f18b526adce9c255c96707bab20af40c"><code>cfd659c</code></a>
Bump pymdown-extensions to 10.21.3 (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2958">#2958</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/Kludex/uvicorn/compare/0.48.0...0.49.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-07 04:11:02 +00:00
dependabot[bot] 8a6d86980f Bump uvicorn from 0.47.0 to 0.48.0 in /backend (#1726)
Bumps [uvicorn](https://github.com/Kludex/uvicorn) from 0.47.0 to
0.48.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Kludex/uvicorn/releases">uvicorn's
releases</a>.</em></p>
<blockquote>
<h2>Version 0.48.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Default <code>ssl_ciphers</code> to <code>None</code> and use
OpenSSL defaults by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2940">Kludex/uvicorn#2940</a></li>
<li>Ignore duplicate forwarding headers in
<code>ProxyHeadersMiddleware</code> by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2944">Kludex/uvicorn#2944</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/uvicorn/compare/0.47.0...0.48.0">https://github.com/Kludex/uvicorn/compare/0.47.0...0.48.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md">uvicorn's
changelog</a>.</em></p>
<blockquote>
<h2>0.48.0 (May 24, 2026)</h2>
<h3>Changed</h3>
<ul>
<li>Default <code>ssl_ciphers</code> to <code>None</code> and use
OpenSSL defaults (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2940">#2940</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Ignore duplicate forwarding headers in
<code>ProxyHeadersMiddleware</code> (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2944">#2944</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Kludex/uvicorn/commit/73e84e58d7f6b8b3dfd8a9e3e42d716862250f33"><code>73e84e5</code></a>
Version 0.48.0 (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2951">#2951</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/45ea11690b4a62fa6df339d2b6ee3b8545a418e0"><code>45ea116</code></a>
Ignore duplicate forwarding headers in
<code>ProxyHeadersMiddleware</code> (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2944">#2944</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/dd4394c3cbfd9f27a696a7b08047149690058158"><code>dd4394c</code></a>
chore(deps): bump idna from 3.11 to 3.15 (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2941">#2941</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/abe07818a191cd036dc3824d802d052207e01c7e"><code>abe0781</code></a>
Default <code>ssl_ciphers</code> to <code>None</code> and use OpenSSL
defaults (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2940">#2940</a>)</li>
<li>See full diff in <a
href="https://github.com/Kludex/uvicorn/compare/0.47.0...0.48.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-30 04:11:21 +00:00
dependabot[bot] 8376072d5f Bump starlette from 1.1.0 to 1.2.1 in /backend (#1725)
Bumps [starlette](https://github.com/Kludex/starlette) from 1.1.0 to
1.2.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Kludex/starlette/releases">starlette's
releases</a>.</em></p>
<blockquote>
<h2>Version 1.2.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Use <code>httpx2</code> for type checking in the
<code>testclient</code> module by <a
href="https://github.com/leifwar"><code>@​leifwar</code></a> in <a
href="https://redirect.github.com/Kludex/starlette/pull/3304">Kludex/starlette#3304</a></li>
<li>Add assert error for requires() when request param is not Request
type by <a
href="https://github.com/KeeganOP"><code>@​KeeganOP</code></a> in <a
href="https://redirect.github.com/Kludex/starlette/pull/3298">Kludex/starlette#3298</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/leifwar"><code>@​leifwar</code></a> made
their first contribution in <a
href="https://redirect.github.com/Kludex/starlette/pull/3304">Kludex/starlette#3304</a></li>
<li><a href="https://github.com/diskeu"><code>@​diskeu</code></a> made
their first contribution in <a
href="https://redirect.github.com/Kludex/starlette/pull/3243">Kludex/starlette#3243</a></li>
<li><a href="https://github.com/KeeganOP"><code>@​KeeganOP</code></a>
made their first contribution in <a
href="https://redirect.github.com/Kludex/starlette/pull/3298">Kludex/starlette#3298</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/starlette/compare/1.2.0...1.2.1">https://github.com/Kludex/starlette/compare/1.2.0...1.2.1</a></p>
<h2>Version 1.2.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Support httpx2 in the test client by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/starlette/pull/3291">Kludex/starlette#3291</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/starlette/compare/1.1.0...1.2.0">https://github.com/Kludex/starlette/compare/1.1.0...1.2.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/Kludex/starlette/blob/main/docs/release-notes.md">starlette's
changelog</a>.</em></p>
<blockquote>
<h2>1.2.1 (May 31, 2026)</h2>
<h4>Fixed</h4>
<ul>
<li>Use <code>httpx2</code> for type checking in the
<code>testclient</code> module <a
href="https://redirect.github.com/encode/starlette/pull/3304">#3304</a>.</li>
<li>Add assert error for <code>requires()</code> when the request
parameter is not a <code>Request</code> type <a
href="https://redirect.github.com/encode/starlette/pull/3298">#3298</a>.</li>
</ul>
<h2>1.2.0 (May 28, 2026)</h2>
<h4>Added</h4>
<ul>
<li>Support httpx2 in the test client <a
href="https://redirect.github.com/encode/starlette/pull/3291">#3291</a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Kludex/starlette/commit/ef773fe9fe86d452ea014a39c6ede1029b341e73"><code>ef773fe</code></a>
Version 1.2.1 (<a
href="https://redirect.github.com/Kludex/starlette/issues/3306">#3306</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/3fc68a7e394cb938bd202774b9d6f5c33a237a66"><code>3fc68a7</code></a>
Add sponsors section to docs sidebar (<a
href="https://redirect.github.com/Kludex/starlette/issues/3305">#3305</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/b053f7bbf194c3fac77d87c6033ec6181eb4cd90"><code>b053f7b</code></a>
chore(deps): bump the python-packages group across 1 directory with 6
updates...</li>
<li><a
href="https://github.com/Kludex/starlette/commit/14787751400853cc21853983a02d84bbfb4da45d"><code>1478775</code></a>
Add assert error for requires() when request param is not Request type
(<a
href="https://redirect.github.com/Kludex/starlette/issues/3298">#3298</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/65765470827be550cdbc1a2e7165da494da7f6e8"><code>6576547</code></a>
Describe disconnected-after-response behavior in test docstring (<a
href="https://redirect.github.com/Kludex/starlette/issues/3243">#3243</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/9cb1553be6ff3d18a0d30a18e3b623ea86edeef0"><code>9cb1553</code></a>
Use same module (httpx|httpx2) for type checking as for runtime (<a
href="https://redirect.github.com/Kludex/starlette/issues/3304">#3304</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/4060987466412dcdb3e5a0f05973b4208dddb6f0"><code>4060987</code></a>
Version 1.2.0 (<a
href="https://redirect.github.com/Kludex/starlette/issues/3300">#3300</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/1e289ca3f957370122fb3bf7e046db65f6675037"><code>1e289ca</code></a>
Migrate docs deploy from Cloudflare Pages to Workers Static Assets (<a
href="https://redirect.github.com/Kludex/starlette/issues/3282">#3282</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/100f05a66bf3ff5643540164ae95fc3ad9ed3443"><code>100f05a</code></a>
Add <code>httpx2</code> as a dev dependency (<a
href="https://redirect.github.com/Kludex/starlette/issues/3295">#3295</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/508023b488b649d97c091eb60da1d8ef3636ee06"><code>508023b</code></a>
Support httpx2 in the test client (<a
href="https://redirect.github.com/Kludex/starlette/issues/3291">#3291</a>)</li>
<li>See full diff in <a
href="https://github.com/Kludex/starlette/compare/1.1.0...1.2.1">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-30 04:10:59 +00:00
dependabot[bot] 0c8f1eb2de Bump sentry-sdk from 2.60.0 to 2.61.0 in /backend (#1724)
Bumps [sentry-sdk](https://github.com/getsentry/sentry-python) from
2.60.0 to 2.61.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/getsentry/sentry-python/releases">sentry-sdk's
releases</a>.</em></p>
<blockquote>
<h2>2.61.0</h2>
<h3>New Features </h3>
<ul>
<li>
<p>Add <code>server.address</code> to transformed spans when
<code>stream_gen_ai_spans=True</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6307">#6307</a></p>
</li>
<li>
<p>Allow integrations to define control flow exceptions by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6425">#6425</a></p>
</li>
<li>
<p>Disable string truncation for events by default by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6290">#6290</a></p>
<p>Following a previous significant increase of the string truncation
limit, we've now completely removed the limit by default.
In case you have large strings in your events, you should now be able to
see them.</p>
<p>In rare cases, if you have really long strings (or a lot of them),
you might see envelopes being dropped because of their size.
If that happens, you can set the <code>max_value_length</code>
<code>init</code> option to the previous value of
<code>100_000</code>:</p>
<pre lang="python"><code>sentry_sdk.init(
    ...,
    max_value_length=100_000,
)
</code></pre>
</li>
</ul>
<h3>Bug Fixes 🐛</h3>
<h4>Langchain</h4>
<ul>
<li>Stop setting transaction status when child span fails by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6301">#6301</a></li>
<li>Catch <code>TypeError</code> on <code>langchain.agents</code> import
by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6268">#6268</a></li>
</ul>
<h4>Openai Agents</h4>
<ul>
<li>Handle <code>starting_agent</code> keyword argument in runner
patches by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6428">#6428</a></li>
<li>Remove hosted MCP tool spans by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6391">#6391</a></li>
<li>Use <code>name</code>, not <code>description</code> in
<code>start_span</code> by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6323">#6323</a></li>
<li>Stop setting transaction status when child span fails by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6303">#6303</a></li>
</ul>
<h4>Pydantic AI</h4>
<ul>
<li>Stop setting tokens on Invoke Agent spans by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6320">#6320</a></li>
<li>Stop setting transaction status when child span fails by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6302">#6302</a></li>
<li>Remove <code>Agent.run_stream_events()</code> patch by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6281">#6281</a></li>
</ul>
<h4>Strawberry</h4>
<ul>
<li>Wrap yields in try-except to ensure span cleanup by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6381">#6381</a></li>
<li>Fix <code>AttributeError</code> on <code>graphql_span</code> in
<code>resolve</code> by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6289">#6289</a></li>
</ul>
<h4>Other</h4>
<ul>
<li>(anthropic) Do not set <code>gen_ai.response.model</code> to
<code>None</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6312">#6312</a></li>
<li>(asyncpg) Use Sentry span attribute name conventions by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6306">#6306</a></li>
<li>(boto3) Guard setting method by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6288">#6288</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md">sentry-sdk's
changelog</a>.</em></p>
<blockquote>
<h2>2.61.0</h2>
<h3>New Features </h3>
<ul>
<li>
<p>Add <code>server.address</code> to transformed spans when
<code>stream_gen_ai_spans=True</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6307">#6307</a></p>
</li>
<li>
<p>Allow integrations to define control flow exceptions by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6425">#6425</a></p>
</li>
<li>
<p>Disable string truncation for events by default by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6290">#6290</a></p>
<p>Following a previous significant increase of the string truncation
limit, we've now completely removed the limit by default.
In case you have large strings in your events, you should now be able to
see them.</p>
<p>In rare cases, if you have really long strings (or a lot of them),
you might see envelopes being dropped because of their size.
If that happens, you can set the <code>max_value_length</code>
<code>init</code> option to the previous value of
<code>100_000</code>:</p>
<pre lang="python"><code>sentry_sdk.init(
    ...,
    max_value_length=100_000,
)
</code></pre>
</li>
</ul>
<h3>Bug Fixes 🐛</h3>
<h4>Langchain</h4>
<ul>
<li>Stop setting transaction status when child span fails by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6301">#6301</a></li>
<li>Catch <code>TypeError</code> on <code>langchain.agents</code> import
by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6268">#6268</a></li>
</ul>
<h4>Openai Agents</h4>
<ul>
<li>Handle <code>starting_agent</code> keyword argument in runner
patches by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6428">#6428</a></li>
<li>Remove hosted MCP tool spans by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6391">#6391</a></li>
<li>Use <code>name</code>, not <code>description</code> in
<code>start_span</code> by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6323">#6323</a></li>
<li>Stop setting transaction status when child span fails by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6303">#6303</a></li>
</ul>
<h4>Pydantic AI</h4>
<ul>
<li>Stop setting tokens on Invoke Agent spans by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6320">#6320</a></li>
<li>Stop setting transaction status when child span fails by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6302">#6302</a></li>
<li>Remove <code>Agent.run_stream_events()</code> patch by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6281">#6281</a></li>
</ul>
<h4>Strawberry</h4>
<ul>
<li>Wrap yields in try-except to ensure span cleanup by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6381">#6381</a></li>
<li>Fix <code>AttributeError</code> on <code>graphql_span</code> in
<code>resolve</code> by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6289">#6289</a></li>
</ul>
<h4>Other</h4>
<ul>
<li>(anthropic) Do not set <code>gen_ai.response.model</code> to
<code>None</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6312">#6312</a></li>
<li>(asyncpg) Use Sentry span attribute name conventions by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6306">#6306</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/getsentry/sentry-python/commit/53df8783b8961e2cba32d932b78c79e4408c7ed6"><code>53df878</code></a>
Update CHANGELOG.md</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/24f6bf7a81aeb554f9ed1459d6a386bec6878ab1"><code>24f6bf7</code></a>
Update CHANGELOG.md</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/f50bec574650d3c09b14683491219d458f72c13b"><code>f50bec5</code></a>
Update CHANGELOG.md</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/35469462b9d672ec6be408a3292447252ea23712"><code>3546946</code></a>
release: 2.61.0</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/54f768680cad8a40ab97be4dddd16c12c9cba493"><code>54f7686</code></a>
feat(span-streaming): Add more attrs to segment spans (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6432">#6432</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/7e27e34fd05b337574a93352c773b1d4a2885d13"><code>7e27e34</code></a>
feat(openai): Support span streaming (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6431">#6431</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/139a9a176f732ba7f1456510c2f0f00930e38558"><code>139a9a1</code></a>
feat: Add <code>server.address</code> to transformed spans when
`stream_gen_ai_spans=Tru...</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/7bf1d6ee4ba0069e074c462c256f8a88b8b450a0"><code>7bf1d6e</code></a>
fix(openai_agents): Handle starting_agent keyword argument in runner
patches ...</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/5662d86fd9ac8ddf635c0da489b275093c0feb08"><code>5662d86</code></a>
test(langchain): Deduplicate by removing <code>node.callspec.id</code>
matching (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6426">#6426</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/fb9def2f53ec65bbf70d1d8a63acb1a6a2f4e195"><code>fb9def2</code></a>
feat(huey): Migrate Huey integration to spans-first tracing (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6399">#6399</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/getsentry/sentry-python/compare/2.60.0...2.61.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-30 04:10:41 +00:00
dependabot[bot] 8aa1bb1c36 Bump pytest-asyncio from 1.3.0 to 1.4.0 in /backend (#1723)
Bumps [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio)
from 1.3.0 to 1.4.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pytest-dev/pytest-asyncio/releases">pytest-asyncio's
releases</a>.</em></p>
<blockquote>
<h2>pytest-asyncio v1.4.0</h2>
<h1><a
href="https://github.com/pytest-dev/pytest-asyncio/tree/1.4.0">1.4.0</a>
- 2026-05-26</h1>
<h2>Deprecated</h2>
<ul>
<li>Overriding the <em>event_loop_policy</em> fixture is deprecated. Use
the <code>pytest_asyncio_loop_factories</code> hook instead. (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1419">#1419</a>)</li>
</ul>
<h2>Added</h2>
<ul>
<li>
<p>Added the <code>pytest_asyncio_loop_factories</code> hook to
parametrize asyncio tests with custom event loop factories.</p>
<p>The hook returns a mapping of factory names to loop factories, and
<code>pytest.mark.asyncio(loop_factories=[...])</code> selects a subset
of configured factories per test. When a single factory is configured,
test names are unchanged.</p>
<p>Synchronous <code>@pytest_asyncio.fixture</code> functions now see
the correct event loop when custom loop factories are configured, even
when test code disrupts the current event loop (e.g., via
<code>asyncio.run()</code> or
<code>asyncio.set_event_loop(None)</code>). (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1164">#1164</a>)</p>
</li>
</ul>
<h2>Changed</h2>
<ul>
<li>Improved the readability of the warning message that is displayed
when <code>asyncio_default_fixture_loop_scope</code> is unset (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1298">#1298</a>)</li>
<li>Only import <code>asyncio.AbstractEventLoopPolicy</code> for type
checking to avoid raising
a DeprecationWarning. (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1394">#1394</a>)</li>
<li>Updated minimum supported pytest version to v8.4.0. (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1397">#1397</a>)</li>
</ul>
<h2>Fixed</h2>
<ul>
<li>Fixed a <code>ResourceWarning: unclosed event loop</code> warning
that could occur when a synchronous test called
<code>asyncio.run()</code> or otherwise unset the current event loop
after pytest-asyncio had run an async test or fixture. (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/724">#724</a>)</li>
</ul>
<h2>Notes for Downstream Packagers</h2>
<ul>
<li>Added dependency on <code>sphinx-tabs &gt;= 3.5</code> to organize
documentation examples into tabs. (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1395">#1395</a>)</li>
</ul>
<h2>pytest-asyncio v1.4.0a2</h2>
<h1><a
href="https://github.com/pytest-dev/pytest-asyncio/tree/1.4.0a2">1.4.0a2</a>
- 2026-05-02</h1>
<h2>Deprecated</h2>
<ul>
<li>Overriding the <em>event_loop_policy</em> fixture is deprecated. Use
the <code>pytest_asyncio_loop_factories</code> hook instead. (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1419">#1419</a>)</li>
</ul>
<h2>Added</h2>
<ul>
<li>
<p>Added the <code>pytest_asyncio_loop_factories</code> hook to
parametrize asyncio tests with custom event loop factories.</p>
<p>The hook returns a mapping of factory names to loop factories, and
<code>pytest.mark.asyncio(loop_factories=[...])</code> selects a subset
of configured factories per test. When a single factory is configured,
test names are unchanged on pytest 8.4+.</p>
<p>Synchronous <code>@pytest_asyncio.fixture</code> functions now see
the correct event loop when custom loop factories are configured, even
when test code disrupts the current event loop (e.g., via
<code>asyncio.run()</code> or
<code>asyncio.set_event_loop(None)</code>). (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1164">#1164</a>)</p>
</li>
</ul>
<h2>Changed</h2>
<ul>
<li>Improved the readability of the warning message that is displayed
when <code>asyncio_default_fixture_loop_scope</code> is unset (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1298">#1298</a>)</li>
<li>Only import <code>asyncio.AbstractEventLoopPolicy</code> for type
checking to avoid raising
a DeprecationWarning. (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1394">#1394</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/6e14cd2af9292dca1fa2b027a06bbc40b0e0e425"><code>6e14cd2</code></a>
chore: Prepare release of v1.4.0.</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/4b900fb5d0c30949c574e55dd904ee179f858a5e"><code>4b900fb</code></a>
Build(deps): Bump codecov/codecov-action from 6.0.0 to 6.0.1</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/ab9f63245094865c42c940a34af724b0dec1debf"><code>ab9f632</code></a>
Build(deps): Bump zipp from 3.23.1 to 4.1.0</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/a56fc77ecd59f781d8471b0f6a82bf58e08c95fa"><code>a56fc77</code></a>
Build(deps): Bump hypothesis from 6.152.6 to 6.152.8</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/e8bae9bc1f197731fc1a210c0da557af7b698e6d"><code>e8bae9b</code></a>
Build(deps): Bump requests from 2.34.0 to 2.34.2</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/fc433402c570fd36a7a227ef4bc3abd4579299de"><code>fc43340</code></a>
Build(deps): Bump idna from 3.14 to 3.15</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/762eaf5033b798b965c92afdbb2cebefa8fc3a8b"><code>762eaf5</code></a>
Build(deps): Bump jaraco-functools from 4.4.0 to 4.5.0</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/b62e2228c80070977baf6b77ba89d5c148af920f"><code>b62e222</code></a>
Build(deps): Bump click from 8.3.3 to 8.4.0</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/919044700627889d25ca63b6e7a3bc785f3137eb"><code>9190447</code></a>
Build(deps): Bump pydantic from 2.13.3 to 2.13.4</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/82a393c5e31b6ebbbd8ec2a8dafc5f35b9cf1236"><code>82a393c</code></a>
ci: Remove unnecessary debug output.</li>
<li>Additional commits viewable in <a
href="https://github.com/pytest-dev/pytest-asyncio/compare/v1.3.0...v1.4.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-30 04:10:15 +00:00
dependabot[bot] 1d5e71fc20 Bump starlette from 1.0.1 to 1.1.0 in /backend (#1720)
Bumps [starlette](https://github.com/Kludex/starlette) from 1.0.1 to
1.1.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Kludex/starlette/releases">starlette's
releases</a>.</em></p>
<blockquote>
<h2>Version 1.1.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Use <code>&quot;application/octet-stream&quot;</code> as the
<code>FileResponse</code> media type fallback by <a
href="https://github.com/ATOM00blue"><code>@​ATOM00blue</code></a> in <a
href="https://redirect.github.com/Kludex/starlette/pull/3283">Kludex/starlette#3283</a></li>
<li>Only dispatch standard HTTP verbs in <code>HTTPEndpoint</code> by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/starlette/pull/3286">Kludex/starlette#3286</a></li>
<li>Reject absolute paths in <code>StaticFiles.lookup_path</code> by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/starlette/pull/3287">Kludex/starlette#3287</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/ATOM00blue"><code>@​ATOM00blue</code></a> made
their first contribution in <a
href="https://redirect.github.com/Kludex/starlette/pull/3283">Kludex/starlette#3283</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/starlette/compare/1.0.1...1.1.0">https://github.com/Kludex/starlette/compare/1.0.1...1.1.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/Kludex/starlette/blob/main/docs/release-notes.md">starlette's
changelog</a>.</em></p>
<blockquote>
<h2>1.1.0 (May 23, 2026)</h2>
<h4>Added</h4>
<ul>
<li>Use <code>&quot;application/octet-stream&quot;</code> as the
<code>FileResponse</code> media type fallback <a
href="https://redirect.github.com/encode/starlette/pull/3283">#3283</a>.</li>
</ul>
<h4>Fixed</h4>
<ul>
<li>Only dispatch standard HTTP verbs in <code>HTTPEndpoint</code> <a
href="https://redirect.github.com/encode/starlette/pull/3286">#3286</a>.</li>
<li>Reject absolute paths in <code>StaticFiles.lookup_path</code> <a
href="https://redirect.github.com/encode/starlette/pull/3287">#3287</a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Kludex/starlette/commit/a4ff83b1aacaf8955e241dd00444c27823be163a"><code>a4ff83b</code></a>
Version 1.1.0 (<a
href="https://redirect.github.com/Kludex/starlette/issues/3289">#3289</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/fd53168a7767b6b55ba5af787fd88f49e33cabc5"><code>fd53168</code></a>
Reject absolute paths in <code>StaticFiles.lookup_path</code> (<a
href="https://redirect.github.com/Kludex/starlette/issues/3287">#3287</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/e3f972225adb1d84b80dba132f520cc24cb84229"><code>e3f9722</code></a>
Only dispatch standard HTTP verbs in <code>HTTPEndpoint</code> (<a
href="https://redirect.github.com/Kludex/starlette/issues/3286">#3286</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/348f86dc92fed6e3c0314154e38deec90a6bcabd"><code>348f86d</code></a>
Use <code>&quot;application/octet-stream&quot;</code> as the
<code>FileResponse</code> media type fallback (#...</li>
<li>See full diff in <a
href="https://github.com/Kludex/starlette/compare/1.0.1...1.1.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-23 04:10:53 +00:00
dependabot[bot] 611dfdbcfc Bump pydantic-settings from 2.14.0 to 2.14.2 in /backend (#1719)
Bumps [pydantic-settings](https://github.com/pydantic/pydantic-settings)
from 2.14.0 to 2.14.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pydantic/pydantic-settings/releases">pydantic-settings's
releases</a>.</em></p>
<blockquote>
<h2>v2.14.2</h2>
<h2>What's Changed</h2>
<p>This is a security patch release.</p>
<ul>
<li>Prevent <code>NestedSecretsSettingsSource</code> from following
symlinks outside <code>secrets_dir</code> by <a
href="https://github.com/hramezani"><code>@​hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/889">pydantic/pydantic-settings#889</a></li>
<li>Prepare release 2.14.2 by <a
href="https://github.com/hramezani"><code>@​hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/890">pydantic/pydantic-settings#890</a></li>
</ul>
<h3>Security</h3>
<p>Fixes <a
href="https://github.com/pydantic/pydantic-settings/security/advisories/GHSA-4xgf-cpjx-pc3j">GHSA-4xgf-cpjx-pc3j</a>:
<code>NestedSecretsSettingsSource</code> with
<code>secrets_nested_subdir=True</code> could follow a symbolic link
inside <code>secrets_dir</code> pointing outside it, reading out-of-tree
files into settings values and bypassing the
<code>secrets_dir_max_size</code> cap. Affected versions: <code>&gt;=
2.12.0, &lt; 2.14.2</code>.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/pydantic/pydantic-settings/compare/v2.14.1...v2.14.2">https://github.com/pydantic/pydantic-settings/compare/v2.14.1...v2.14.2</a></p>
<h2>v2.14.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Bump the python-packages group with 4 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/850">pydantic/pydantic-settings#850</a></li>
<li>Bump the python-packages group with 5 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/854">pydantic/pydantic-settings#854</a></li>
<li>Bump the github-actions group with 3 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/853">pydantic/pydantic-settings#853</a></li>
<li>Bump the python-packages group with 2 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/856">pydantic/pydantic-settings#856</a></li>
<li>Fix field named <code>cls</code> conflicting with classmethod
parameter by <a
href="https://github.com/hramezani"><code>@​hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/858">pydantic/pydantic-settings#858</a></li>
<li>Prepare release 2.14.1 by <a
href="https://github.com/hramezani"><code>@​hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/859">pydantic/pydantic-settings#859</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/pydantic/pydantic-settings/compare/v2.14.0...v2.14.1">https://github.com/pydantic/pydantic-settings/compare/v2.14.0...v2.14.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/d703bd717e5e07439fa89da2245eee6139413e9e"><code>d703bd7</code></a>
Prepare release 2.14.2 (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/890">#890</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/e95c30bec8cfaee88ee275138c064aea97a25bdf"><code>e95c30b</code></a>
Prepare release 2.14.1 (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/859">#859</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/0c8734581b6cf70a995afad603ac456631d00621"><code>0c87345</code></a>
Fix field named <code>cls</code> conflicting with classmethod parameter
(<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/858">#858</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/7bd0072795a800065b42210b6dca90fc9b83daf7"><code>7bd0072</code></a>
Bump the python-packages group with 2 updates (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/856">#856</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/b03e573d017ed48e1c2774a5e0b715db9766c76b"><code>b03e573</code></a>
Bump the github-actions group with 3 updates (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/853">#853</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/eaa3b434938411ec8a3717ea646614561e713f51"><code>eaa3b43</code></a>
Bump the python-packages group with 5 updates (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/854">#854</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/9f95615c24c6813c1d7d203576581a79cb6d9e8e"><code>9f95615</code></a>
Bump the python-packages group with 4 updates (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/850">#850</a>)</li>
<li>See full diff in <a
href="https://github.com/pydantic/pydantic-settings/compare/v2.14.0...v2.14.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pydantic-settings&package-manager=uv&previous-version=2.14.0&new-version=2.14.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 show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/evroon/bracket/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-19 23:42:20 +00:00
dependabot[bot] 9077b2d0a0 Bump uvicorn from 0.46.0 to 0.47.0 in /backend (#1718)
Bumps [uvicorn](https://github.com/Kludex/uvicorn) from 0.46.0 to
0.47.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Kludex/uvicorn/releases">uvicorn's
releases</a>.</em></p>
<blockquote>
<h2>Version 0.47.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Eagerly import the ASGI app in the parent process by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2919">Kludex/uvicorn#2919</a></li>
<li>Add <code>ssl_context_factory</code> for custom
<code>SSLContext</code> configuration by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2920">Kludex/uvicorn#2920</a></li>
<li>Treat <code>fd=0</code> as a valid file descriptor with
reload/workers by <a
href="https://github.com/eltoder"><code>@​eltoder</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2927">Kludex/uvicorn#2927</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/uvicorn/compare/0.46.0...0.47.0">https://github.com/Kludex/uvicorn/compare/0.46.0...0.47.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md">uvicorn's
changelog</a>.</em></p>
<blockquote>
<h2>0.47.0 (May 14, 2026)</h2>
<h3>Added</h3>
<ul>
<li>Add <code>ssl_context_factory</code> for custom
<code>SSLContext</code> configuration (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2920">#2920</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Eagerly import the ASGI app in the parent process (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2919">#2919</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Treat <code>fd=0</code> as a valid file descriptor with
reload/workers (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2927">#2927</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Kludex/uvicorn/commit/479a2c0c89186714f1aac52aecdebebf271395ac"><code>479a2c0</code></a>
Version 0.47.0 (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2937">#2937</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/89347fd166ebedf98fb3f806ce8ea44e93b1c2b5"><code>89347fd</code></a>
Add 7-day cooldown for dependency resolution via uv exclude-newer (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2936">#2936</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/767315b38ae509cee9fe8ee9d09f6da920536096"><code>767315b</code></a>
Drop unused contents/actions permissions from zizmor workflow (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2935">#2935</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/f25ee43e68a9678453cbca99ad96f1a447ff34af"><code>f25ee43</code></a>
chore(deps): bump urllib3 from 2.6.3 to 2.7.0 (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2933">#2933</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/8782666189a3d36c978de5698620db705659bf44"><code>8782666</code></a>
Fix typo in <code>docs/deployment/index.md</code>. (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2932">#2932</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/ad5ff87c869e8a34e9b04fcd5ca38d65c526893c"><code>ad5ff87</code></a>
Treat <code>fd=0</code> as a valid file descriptor with reload/workers
(<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2927">#2927</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/6761b2c8f9272fa0e908d0b9cdcb3cb0aa11382f"><code>6761b2c</code></a>
Remove Hugging Face sponsor block from docs (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2923">#2923</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/438f64834de00708a9bb3548a36090e7a924ad84"><code>438f648</code></a>
Surface sponsors on welcome page and sidebar (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2921">#2921</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/10ddc6dd296cb6e432a00835abe27f1c822373c1"><code>10ddc6d</code></a>
Add <code>ssl_context_factory</code> for custom <code>SSLContext</code>
configuration (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2920">#2920</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/b499bc45101d920e691e384025d728507215d4d1"><code>b499bc4</code></a>
Eagerly import the ASGI app in the parent process (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2919">#2919</a>)</li>
<li>See full diff in <a
href="https://github.com/Kludex/uvicorn/compare/0.46.0...0.47.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-16 04:13:02 +00:00
dependabot[bot] 8c80246c97 Bump mypy from 2.0.0 to 2.1.0 in /backend (#1717)
Bumps [mypy](https://github.com/python/mypy) from 2.0.0 to 2.1.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/python/mypy/blob/master/CHANGELOG.md">mypy's
changelog</a>.</em></p>
<blockquote>
<h1>Mypy Release Notes</h1>
<h2>Next Release</h2>
<h2>Mypy 2.1</h2>
<p>We’ve just uploaded mypy 2.1.0 to the Python Package Index (<a
href="https://pypi.org/project/mypy/">PyPI</a>).
Mypy is a static type checker for Python. This release includes new
features, performance
improvements and bug fixes. You can install it as follows:</p>
<pre><code>python3 -m pip install -U mypy
</code></pre>
<p>You can read the full documentation for this release on <a
href="http://mypy.readthedocs.io">Read the Docs</a>.</p>
<h3>librt.vecs: Fast Growable Array Type for Mypyc</h3>
<p>The new <code>librt.vecs</code> module provides an efficient growable
array type <code>vec</code> that is
optimized for mypyc use. It provides fast, packed arrays with integer
and floating point
value types, which can be <strong>several times faster</strong> than
<code>list</code>, and tens of times faster
than <code>array.array</code> in code compiled using mypyc. It also
supports nested <code>vec</code> objects and
non-value-type items, such as <code>vec[vec[str]]</code>.</p>
<p>Refer to the <a
href="https://mypyc.readthedocs.io/en/latest/librt_vecs.html">documentation</a>
for
the details.</p>
<p>Contributed by Jukka Lehtosalo.</p>
<h3>librt.random: Fast Pseudo-Random Number Generation</h3>
<p>The new <code>librt.random</code> module provides fast pseudo-random
number generation that is
optimized for code compiled using mypyc. It can be 3x to 10x faster than
the stdlib
<code>random</code> module in compiled code.</p>
<p>Refer to the <a
href="https://mypyc.readthedocs.io/en/latest/librt_random.html">documentation</a>
for
the details.</p>
<p>Contributed by Jukka Lehtosalo (PR <a
href="https://redirect.github.com/python/mypy/pull/21433">21433</a>).</p>
<h3>Mypyc Improvements</h3>
<ul>
<li>Enable incremental self-compilation (Vaggelis Danias, PR <a
href="https://redirect.github.com/python/mypy/pull/21369">21369</a>)</li>
<li>Make compilation order with multiple files consistent (Piotr
Sawicki, PR <a
href="https://redirect.github.com/python/mypy/pull/21419">21419</a>)</li>
<li>Fix crash on accessing <code>StopAsyncIteration</code> (Piotr
Sawicki, PR <a
href="https://redirect.github.com/python/mypy/pull/21406">21406</a>)</li>
<li>Fix incremental compilation with <code>separate</code> flag
(Vaggelis Danias, PR <a
href="https://redirect.github.com/python/mypy/pull/21299">21299</a>)</li>
</ul>
<h3>Fixes to Crashes</h3>
<ul>
<li>Fix crash on partial type with <code>--allow-redefinition</code> and
<code>global</code> declaration (Jukka Lehtosalo, PR <a
href="https://redirect.github.com/python/mypy/pull/21428">21428</a>)</li>
<li>Fix broken awaitable generator patching (Ivan Levkivskyi, PR <a
href="https://redirect.github.com/python/mypy/pull/21435">21435</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/python/mypy/commit/c1c336d7e34eb313080c79b156518c58d27c7234"><code>c1c336d</code></a>
Remove +dev from version</li>
<li><a
href="https://github.com/python/mypy/commit/74df14b7cbf08140236aa45bbb7f42219b0b1df7"><code>74df14b</code></a>
Add changelog for mypy 2.1 (<a
href="https://redirect.github.com/python/mypy/issues/21464">#21464</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/022d9bc96f86c40f338a5cf150f1806cc8f300ff"><code>022d9bc</code></a>
Revert &quot;TypeForm: Enable by default (<a
href="https://redirect.github.com/python/mypy/issues/21262">#21262</a>)&quot;</li>
<li><a
href="https://github.com/python/mypy/commit/8826288214f1cb31496e610667481221e025359c"><code>8826288</code></a>
[mypyc] Document librt.random (<a
href="https://redirect.github.com/python/mypy/issues/21463">#21463</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/3f4067b699dbe52d08e42ef3b3ebfdebdc06bd96"><code>3f4067b</code></a>
Bump librt version to 0.11.0 (<a
href="https://redirect.github.com/python/mypy/issues/21458">#21458</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/2b1eb58a250c5f1eb4ef5fb1f312ff528c5a1d4e"><code>2b1eb58</code></a>
[mypyc] Enable incremental self-compilation (<a
href="https://redirect.github.com/python/mypy/issues/21369">#21369</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/8152f4af3f6c03beaf2660026240f0fdce7feecc"><code>8152f4a</code></a>
Respect file config comments for stale modules (<a
href="https://redirect.github.com/python/mypy/issues/21444">#21444</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/116d60bdd3fdfe8d97c6afe99370910db56f1b92"><code>116d60b</code></a>
Fix nondeterminism from nonassociativity of overload joins (<a
href="https://redirect.github.com/python/mypy/issues/21455">#21455</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/6c4af8e42110cea3f84bc02add2ca7b89c268210"><code>6c4af8e</code></a>
Fix function call message change for small number of args (<a
href="https://redirect.github.com/python/mypy/issues/21432">#21432</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/4b8fdcaf24032592510e8f15421fb32d82a71800"><code>4b8fdca</code></a>
[mypyc] Add librt.random module (<a
href="https://redirect.github.com/python/mypy/issues/21433">#21433</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/python/mypy/compare/v2.0.0...v2.1.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-16 04:13:00 +00:00
dependabot[bot] 284d2eceb6 Bump pyrefly from 0.64.1 to 1.0.0 in /backend (#1716)
Bumps [pyrefly](https://github.com/facebook/pyrefly) from 0.64.1 to
1.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/facebook/pyrefly/releases">pyrefly's
releases</a>.</em></p>
<blockquote>
<h2>Pyrefly v1.0.0</h2>
<p><strong>Status: STABLE</strong>
<em>Release date: 12 May 2026</em></p>
<h2>Pyrefly v1.0.0 is here!</h2>
<p>We're thrilled to announce that Pyrefly has reached its stable 1.0.0
release! Since our <a
href="https://github.com/facebook/pyrefly/releases/tag/0.42.0">beta
release</a> in November 2025, we've fixed hundreds of bugs, improved
performance, and added lots of new functionality. Pyrefly is already the
default type checker for Instagram at Meta and has been adopted by other
large production codebases like PyTorch and JAX. Today, we're making it
official: Pyrefly is production ready.</p>
<p>This would not have been possible without our amazing open-source
community. To everyone who filed GitHub issues, submitted pull requests,
gave us feedback at conferences, or joined us on Discord: thank you.
Your contributions shaped this release.</p>
<p>These release notes cover the major highlights since our beta
release. For the full history, see our <a
href="https://github.com/facebook/pyrefly/releases">past weekly release
notes</a>.</p>
<hr />
<h2>Performance Improvements</h2>
<p>We've continued to push Pyrefly's performance since the <a
href="https://pyrefly.org/blog/2026/02/06/performance-improvements/">speed
improvements we shared in February</a>. Since beta:</p>
<ul>
<li><strong>2–125x faster updated diagnostics</strong> after saving a
file (no, that’s not a typo!). Thanks to fine-grained dependency
tracking and streaming diagnostics, updates now consistently arrive in
milliseconds</li>
<li><strong>20–36% faster full type checking</strong> on large projects
like PyTorch and Pandas</li>
<li><strong>2–3x faster initial indexing</strong> when Pyrefly first
scans your project</li>
<li><strong>40–60% less memory usage</strong> during both indexing and
incremental type checking</li>
</ul>
<p>(Tested on an M4 Macbook Pro using open-source benchmarks from <a
href="https://github.com/lolpack/type_coverage_py">type_coverage_py</a>
and <a
href="https://github.com/astral-sh/ruff/tree/e990dfd069fceef96f797b46161ef78862608449/scripts/ty_benchmark">ty_benchmark</a>.)</p>
<p>Compare the performance of Pyrefly and other Python type checkers on
our regularly updated <a
href="https://python-type-checking.com/typecheck_benchmark/">benchmarking
suite</a>, which runs against 53 popular Python packages.</p>
<hr />
<h2>Configuration Presets</h2>
<p>A new <code>preset</code> configuration option provides named bundles
of error severities and behavior settings.</p>
<table>
<thead>
<tr>
<th align="left">Preset</th>
<th align="left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left"><code>off</code></td>
<td align="left">Silences all diagnostics. Useful for IDE-only users or
if you want total control of which errors are enabled.</td>
</tr>
<tr>
<td align="left"><code>basic</code></td>
<td align="left">Low-noise, high-confidence diagnostics only (syntax
errors, missing imports, unknown names, etc.). Ideal for unconfigured
projects or IDE-first users.</td>
</tr>
<tr>
<td align="left"><code>legacy</code></td>
<td align="left">For codebases migrating from mypy. Disables checks mypy
doesn't have. <code>pyrefly init</code> now emits this preset
automatically when migrating from a mypy config.</td>
</tr>
<tr>
<td align="left"><code>default</code></td>
<td align="left">The standard Pyrefly experience. Equivalent to having
no preset.</td>
</tr>
<tr>
<td align="left"><code>strict</code></td>
<td align="left">Enables additional strict checks on top of the
<code>default</code> preset. For users who want to avoid
<code>Any</code> types in their codebase.</td>
</tr>
</tbody>
</table>
<p>See the <a
href="https://pyrefly.org/en/docs/configuration/#preset">configuration
docs</a> for details.</p>
<hr />
<h2>Onboarding Experience</h2>
<p>We’ve made improvements to the out-of-the-box experience for projects
without a <code>pyrefly.toml</code>.</p>
<ul>
<li><strong>Automatic config synthesis</strong> — if you have a mypy or
pyright config, Pyrefly automatically migrates your settings and
synthesizes an appropriate in-memory Pyrefly config. (This is the same
migration that <code>pyrefly init</code> would commit to disk.)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/facebook/pyrefly/commit/2362c071caa576f9112781b5571f9e283cd52920"><code>2362c07</code></a>
Bump to version 1.0.0 with release notes</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/471bb8316cf40e9d29cbc79d5c701a7dec3ab6b5"><code>471bb83</code></a>
Prep README.md and pyproject.toml for V1</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/f2c6df4c66c726af4c7603272da47b65d91d4d4c"><code>f2c6df4</code></a>
Use vanity URLs for unconfigured-config upsell</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/d5bf386fd24f8969506f2edd0e06c3896962dbce"><code>d5bf386</code></a>
Fix TSP extra IPC connection shutdown hang (<a
href="https://redirect.github.com/facebook/pyrefly/issues/3287">#3287</a>)</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/e0a91be41640e70e0cd45a57eae98eecf86459a4"><code>e0a91be</code></a>
do not send snapshotchanged to extra connections</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/3df562c8165ea2ac69b389eb1552f9dbf5c18573"><code>3df562c</code></a>
extract TypeErrorDisplayStatus into its own module</li>
<li>See full diff in <a
href="https://github.com/facebook/pyrefly/compare/0.64.1...1.0.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-16 04:12:41 +00:00
dependabot[bot] 0de812c8b9 Bump sentry-sdk from 2.59.0 to 2.60.0 in /backend (#1715)
Bumps [sentry-sdk](https://github.com/getsentry/sentry-python) from
2.59.0 to 2.60.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/getsentry/sentry-python/releases">sentry-sdk's
releases</a>.</em></p>
<blockquote>
<h2>2.60.0</h2>
<p>Adds a new <code>stream_gen_ai_spans</code> option that controls how
<code>gen_ai</code> spans are
sent to Sentry. When set, the SDK extracts all <code>gen_ai</code> spans
out of a
transaction and sends them as v2 envelope items.</p>
<p>Enable this option if <code>gen_ai</code> spans are being dropped
because the transaction payload exceeds size limits.</p>
<pre lang="python"><code>import sentry_sdk
<p>sentry_sdk.init(<br />
dsn='https://<a
href="mailto:examplePublicKey@o0.ingest.sentry.io">examplePublicKey@o0.ingest.sentry.io</a>/0',<br
/>
stream_gen_ai_spans=True,<br />
)<br />
</code></pre></p>
<h3>New Features </h3>
<ul>
<li>(asyncpg) Add cursor span support via BaseCursor method patching by
<a href="https://github.com/ericapisani"><code>@​ericapisani</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6252">#6252</a></li>
<li>(integrations) Pass along the conversation ID for openai
<code>responses</code> calls by <a
href="https://github.com/constantinius"><code>@​constantinius</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6199">#6199</a></li>
<li>(wsgi,asgi) Introduce substitute values for filtered fields in
span-streaming mode by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6178">#6178</a></li>
<li>Remove truncation when <code>stream_gen_ai_spans</code> is enabled
by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6260">#6260</a></li>
<li>Add option to send GenAI spans in the new span format by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6079">#6079</a></li>
</ul>
<h3>Bug Fixes 🐛</h3>
<h4>Openai</h4>
<ul>
<li>Guard against <code>choices=None</code> by <a
href="https://github.com/cla7aye15I4nd"><code>@​cla7aye15I4nd</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6216">#6216</a></li>
<li>Stop setting transaction status when child span fails by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6192">#6192</a></li>
<li>Only finish relevant spans in Responses patches by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6191">#6191</a></li>
<li>Only finish relevant spans in Chat Completions patches by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6190">#6190</a></li>
</ul>
<h4>Other</h4>
<ul>
<li>(stdlib) Instrument response body read for chunked HTTP responses by
<a href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6202">#6202</a></li>
<li>(typing) Add <code>@sentry_sdk.traces.trace</code> overloads to fix
typing by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6236">#6236</a></li>
<li>Use proto version 2 to fix backfilled user agent and IP by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6256">#6256</a></li>
<li>Make sure <code>http.server</code> spans are segments by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6230">#6230</a></li>
<li>Handle mypy 2.0 related failures by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6218">#6218</a></li>
</ul>
<h3>Internal Changes 🔧</h3>
<h4>Django</h4>
<ul>
<li>Check transaction annotations on transaction events by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6251">#6251</a></li>
<li>Reload middleware on test teardown by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6249">#6249</a></li>
</ul>
<h4>Openai</h4>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md">sentry-sdk's
changelog</a>.</em></p>
<blockquote>
<h2>2.60.0</h2>
<p>Adds a new <code>stream_gen_ai_spans</code> option that controls how
<code>gen_ai</code> spans are
sent to Sentry. When set, the SDK extracts all <code>gen_ai</code> spans
out of a
transaction and sends them as v2 envelope items.</p>
<p>Enable this option if <code>gen_ai</code> spans are being dropped
because the transaction payload exceeds size limits.</p>
<pre lang="python"><code>import sentry_sdk
<p>sentry_sdk.init(<br />
dsn='https://<a
href="mailto:examplePublicKey@o0.ingest.sentry.io">examplePublicKey@o0.ingest.sentry.io</a>/0',<br
/>
stream_gen_ai_spans=True,<br />
)<br />
</code></pre></p>
<h3>New Features </h3>
<ul>
<li>(asyncpg) Add cursor span support via BaseCursor method patching by
<a href="https://github.com/ericapisani"><code>@​ericapisani</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6252">#6252</a></li>
<li>(integrations) Pass along the conversation ID for openai
<code>responses</code> calls by <a
href="https://github.com/constantinius"><code>@​constantinius</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6199">#6199</a></li>
<li>(wsgi,asgi) Introduce substitute values for filtered fields in
span-streaming mode by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6178">#6178</a></li>
<li>Remove truncation when <code>stream_gen_ai_spans</code> is enabled
by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6260">#6260</a></li>
<li>Add option to send GenAI spans in the new span format by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6079">#6079</a></li>
</ul>
<h3>Bug Fixes 🐛</h3>
<h4>Openai</h4>
<ul>
<li>Guard against <code>choices=None</code> by <a
href="https://github.com/cla7aye15I4nd"><code>@​cla7aye15I4nd</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6216">#6216</a></li>
<li>Stop setting transaction status when child span fails by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6192">#6192</a></li>
<li>Only finish relevant spans in Responses patches by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6191">#6191</a></li>
<li>Only finish relevant spans in Chat Completions patches by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6190">#6190</a></li>
</ul>
<h4>Other</h4>
<ul>
<li>(stdlib) Instrument response body read for chunked HTTP responses by
<a href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6202">#6202</a></li>
<li>(typing) Add <code>@sentry_sdk.traces.trace</code> overloads to fix
typing by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6236">#6236</a></li>
<li>Use proto version 2 to fix backfilled user agent and IP by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6256">#6256</a></li>
<li>Make sure <code>http.server</code> spans are segments by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6230">#6230</a></li>
<li>Handle mypy 2.0 related failures by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6218">#6218</a></li>
</ul>
<h3>Internal Changes 🔧</h3>
<h4>Django</h4>
<ul>
<li>Check transaction annotations on transaction events by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6251">#6251</a></li>
<li>Reload middleware on test teardown by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6249">#6249</a></li>
</ul>
<h4>Openai</h4>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/getsentry/sentry-python/commit/e30caaa97793fd37b782d8c48b7727a43428fafd"><code>e30caaa</code></a>
Update CHANGELOG.md</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/d31ac85a92def5d6f2395fe2bfa8a9133c581323"><code>d31ac85</code></a>
release: 2.60.0</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/fcb93051c5b85f28ee6dc623dd67736d430ef432"><code>fcb9305</code></a>
feat: Remove truncation when <code>stream_gen_ai_spans</code> is enabled
(<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6260">#6260</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/253a4d42b13bb5b54cb3b623a32d9fc99639b226"><code>253a4d4</code></a>
feat: Add option to send GenAI spans in the new span format (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6079">#6079</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/619d803d82f7bbf2a15a80432334c863e4c206eb"><code>619d803</code></a>
test(langchain): Inline global state (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6261">#6261</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/f92c8036a8ed166ab3be8a48f6344fd98d1761dd"><code>f92c803</code></a>
Revert &quot;fix: Work around compromised transitive dependency (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6257">#6257</a>)&quot;
(<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6262">#6262</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/7a303dcbf0e4bc6aa701446d79e847d56db26137"><code>7a303dc</code></a>
Add option to drop scrubbed user IP addresses (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6241">#6241</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/edaa6d6d142e430e1dd0a1097e0b77506cf159e9"><code>edaa6d6</code></a>
feat(pymongo): Add span streaming support (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6253">#6253</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/0e47eadedea808a4ca7865a480552872208be890"><code>0e47ead</code></a>
feat(asyncpg): Add cursor span support via BaseCursor method patching
(<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6252">#6252</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/17cc8c7b2c31c2df130418bb49137814d4d35f7b"><code>17cc8c7</code></a>
fix: Use proto version 2 to fix backfilled user agent and IP (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6256">#6256</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/getsentry/sentry-python/compare/2.59.0...2.60.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-16 04:12:38 +00:00
dependabot[bot] d9c06d0d5d Bump click from 8.3.0 to 8.4.0 in /backend (#1714)
Bumps [click](https://github.com/pallets/click) from 8.3.0 to 8.4.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pallets/click/releases">click's
releases</a>.</em></p>
<blockquote>
<h2>8.4.0</h2>
<p>This is the Click 8.4.0 feature release. A feature release may
include new features, remove previously deprecated code, add new
deprecation, or introduce potentially breaking changes.</p>
<p>We encourage everyone to upgrade. You can read more about our <a
href="https://palletsprojects.com/versions">Version Support Policy</a>
on our website.</p>
<p>PyPI: <a
href="https://pypi.org/project/click/8.4.0/">https://pypi.org/project/click/8.4.0/</a>
Changes: <a
href="https://click.palletsprojects.com/page/changes/#version-8-4-0">https://click.palletsprojects.com/page/changes/#version-8-4-0</a>
Milestone <a
href="https://github.com/pallets/click/milestone/30">https://github.com/pallets/click/milestone/30</a></p>
<ul>
<li>
<p><code>ParamType</code> typing improvements. <a
href="https://redirect.github.com/pallets/click/issues/3371">#3371</a></p>
<ul>
<li>:class:<code>ParamType</code> is now a generic abstract base class,
parameterized by its converted value type.</li>
<li>:meth:<code>~ParamType.convert</code> return types are narrowed on
all
concrete types (<code>str</code> for :class:<code>STRING</code>,
<code>int</code> for
:class:<code>INT</code>, etc.).</li>
<li>:meth:<code>~ParamType.to_info_dict</code> returns specific
:class:<code>~typing.TypedDict</code> subclasses instead of
<code>dict[str, Any]</code>.</li>
<li>:class:<code>CompositeParamType</code> and the number-range base are
now
generic with abstract methods.</li>
</ul>
</li>
<li>
<p>Refactor <code>convert_type</code> to extract type inference into a
private
<code>_guess_type</code> helper, and add
:func:<code>typing.overload</code> signatures.
<a
href="https://redirect.github.com/pallets/click/issues/3372">#3372</a></p>
</li>
<li>
<p><code>Parameter</code> typing improvements. <a
href="https://redirect.github.com/pallets/click/issues/2805">#2805</a></p>
<ul>
<li>:class:<code>Parameter</code> is now an abstract base class, making
explicit
that it cannot be instantiated directly.</li>
<li>:attr:<code>Parameter.name</code> is now <code>str</code> instead of
<code>str | None</code>.
When <code>expose_value=False</code>, the name is set to
<code>&quot;&quot;</code> instead
of <code>None</code>.</li>
<li>The <code>ctx</code> parameter of
:meth:<code>Parameter.get_error_hint</code> is now
typed as <code>Context | None</code>, matching the runtime
behavior.</li>
</ul>
</li>
<li>
<p>Split string values from <code>default_map</code> for parameters with
<code>nargs &gt; 1</code>
or :class:<code>Tuple</code> type, matching environment variable
behavior.
<a
href="https://redirect.github.com/pallets/click/issues/2745">#2745</a>
<a
href="https://redirect.github.com/pallets/click/issues/3364">#3364</a></p>
</li>
<li>
<p>Auto-detect <code>type=UNPROCESSED</code> for <code>flag_value</code>
of non-basic types
(not <code>str</code>, <code>int</code>, <code>float</code>, or
<code>bool</code>), so programmer-provided
Python objects like classes and enum members are passed through
unchanged
instead of being stringified. Previously
<code>type=click.UNPROCESSED</code> had
to be set explicitly. <a
href="https://redirect.github.com/pallets/click/issues/2012">#2012</a>
<a
href="https://redirect.github.com/pallets/click/issues/3363">#3363</a></p>
</li>
<li>
<p>The error hint now uses <code>Command.get_help_option_names</code> to
pick
non-shadowed help option names, so <code>Try '... -h'</code> no longer
points to a
subcommand option that shadows <code>-h</code>. All surviving names are
shown
(<code>-h/--help</code>). <a
href="https://redirect.github.com/pallets/click/issues/2790">#2790</a>
<a
href="https://redirect.github.com/pallets/click/issues/3208">#3208</a></p>
</li>
<li>
<p>Fix readline functionality on non-Windows platforms. Prompt text is
now
passed directly to readline instead of being printed separately,
allowing
proper backspace, line editing, and line wrapping behavior. <a
href="https://redirect.github.com/pallets/click/issues/2968">#2968</a></p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pallets/click/blob/main/CHANGES.md">click's
changelog</a>.</em></p>
<blockquote>
<h2>Version 8.4.0</h2>
<p>Released 2026-05-17</p>
<ul>
<li>
<p>{class}<code>ParamType</code> typing improvements.
{pr}<code>3371</code></p>
<ul>
<li>{class}<code>ParamType</code> is now a generic abstract base class,
parameterized by its converted value type.</li>
<li>{meth}<code>~ParamType.convert</code> return types are narrowed on
all
concrete types (<code>str</code> for {class}<code>STRING</code>,
<code>int</code> for
{class}<code>INT</code>, etc.).</li>
<li>{meth}<code>~ParamType.to_info_dict</code> returns specific
{class}<code>~typing.TypedDict</code> subclasses instead of
<code>dict[str, Any]</code>.</li>
<li>{class}<code>CompositeParamType</code> and the number-range base are
now
generic with abstract methods.</li>
</ul>
</li>
<li>
<p>Refactor <code>convert_type</code> to extract type inference into a
private
<code>_guess_type</code> helper, and add
{func}<code>typing.overload</code> signatures.
{pr}<code>3372</code></p>
</li>
<li>
<p>{class}<code>Parameter</code> typing improvements.
{pr}<code>2805</code></p>
<ul>
<li>{class}<code>Parameter</code> is now an abstract base class, making
explicit
that it cannot be instantiated directly.</li>
<li>{attr}<code>Parameter.name</code> is now <code>str</code> instead of
<code>str | None</code>.
When <code>expose_value=False</code>, the name is set to
<code>&quot;&quot;</code> instead
of <code>None</code>.</li>
<li>The <code>ctx</code> parameter of
{meth}<code>Parameter.get_error_hint</code> is now
typed as <code>Context | None</code>, matching the runtime
behavior.</li>
</ul>
</li>
<li>
<p>Split string values from <code>default_map</code> for parameters with
<code>nargs &gt; 1</code>
or {class}<code>Tuple</code> type, matching environment variable
behavior.
{issue}<code>2745</code> {pr}<code>3364</code></p>
</li>
<li>
<p>Auto-detect <code>type=UNPROCESSED</code> for <code>flag_value</code>
of non-basic types
(not <code>str</code>, <code>int</code>, <code>float</code>, or
<code>bool</code>), so programmer-provided
Python objects like classes and enum members are passed through
unchanged
instead of being stringified. Previously
<code>type=click.UNPROCESSED</code> had
to be set explicitly. {issue}<code>2012</code> {pr}<code>3363</code></p>
</li>
<li>
<p>The error hint now uses
{meth}<code>Command.get_help_option_names</code> to pick
non-shadowed help option names, so <code>Try '... -h'</code> no longer
points to a
subcommand option that shadows <code>-h</code>. The longest surviving
name is
shown (<code>--help</code> over <code>-h</code>) for readability.
{issue}<code>2790</code> {pr}<code>3208</code></p>
</li>
<li>
<p>Fix readline functionality on non-Windows platforms. Prompt text is
now
passed directly to readline instead of being printed separately,
allowing
proper backspace, line editing, and line wrapping behavior.
{issue}<code>2968</code>
{pr}<code>2969</code></p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pallets/click/commit/41f410fb7528305d7e87c8cfa704f6c2456f57fc"><code>41f410f</code></a>
Release 8.4.0</li>
<li><a
href="https://github.com/pallets/click/commit/e3e69e3bf8d749ac1a632f2ece4d38ec7f6588f5"><code>e3e69e3</code></a>
Add type annotations for instance attributes in <code>utils</code> (<a
href="https://redirect.github.com/pallets/click/issues/3422">#3422</a>)</li>
<li><a
href="https://github.com/pallets/click/commit/3bb230dcd5d751f8605b46e9df5a541639d5fd4e"><code>3bb230d</code></a>
WIP: Fix <code>HelpFormatter.write_usage</code> producing spurious
characters (<a
href="https://redirect.github.com/pallets/click/issues/3434">#3434</a>)</li>
<li><a
href="https://github.com/pallets/click/commit/63274a79d08fdc5c19220696144489f7144a8547"><code>63274a7</code></a>
<code>click.get_pager_file</code>: add tests (<a
href="https://redirect.github.com/pallets/click/issues/1572">#1572</a>
followup) (<a
href="https://redirect.github.com/pallets/click/issues/3405">#3405</a>)</li>
<li><a
href="https://github.com/pallets/click/commit/0551bf53588ae87f462d336f24f853a156fefe3a"><code>0551bf5</code></a>
Fix <code>HelpFormatter.write_usage</code> producing spurious
characters</li>
<li><a
href="https://github.com/pallets/click/commit/fc41aa1d0b62494eb93e92ff3929601221e3abf4"><code>fc41aa1</code></a>
Apply class-body annotations to <code>KeepOpenFile</code> for
consistency</li>
<li><a
href="https://github.com/pallets/click/commit/b761eda3bad977ec2f485451d85fd8ec365f0bf4"><code>b761eda</code></a>
Skip some tests on Windows</li>
<li><a
href="https://github.com/pallets/click/commit/98302ac4f49e443a48abd3fbb95c86202b89547d"><code>98302ac</code></a>
Check <code>PAGER</code> usage, color preservation and edge-cases</li>
<li><a
href="https://github.com/pallets/click/commit/dbdae170879d460e78963f8af35c5cb9c5b86e89"><code>dbdae17</code></a>
Fix documentation</li>
<li><a
href="https://github.com/pallets/click/commit/1aa2d53d63ff68bf14b35931177aac9270e39713"><code>1aa2d53</code></a>
Redesigned tests and get_pager_file branching to be more clear and not
set color</li>
<li>Additional commits viewable in <a
href="https://github.com/pallets/click/compare/8.3.0...8.4.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-16 04:12:13 +00:00
dependabot[bot] 3ccaafd6cd Bump pyjwt from 2.12.0 to 2.13.0 in /backend (#1712)
Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.12.0 to 2.13.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jpadilla/pyjwt/releases">pyjwt's
releases</a>.</em></p>
<blockquote>
<h2>2.13.0</h2>
<h1>PyJWT 2.13.0 — Security Release</h1>
<p>This release bundles five security fixes plus three additional
hardening / spec-compliance changes. We recommend all users upgrade.</p>
<h2>Security</h2>
<ul>
<li>
<p><strong><a
href="https://github.com/jpadilla/pyjwt/security/advisories/GHSA-xgmm-8j9v-c9wx"><code>GHSA-xgmm-8j9v-c9wx</code></a>
— JWK JSON accepted as HMAC secret (algorithm confusion).</strong>
<code>HMACAlgorithm.prepare_key</code> previously rejected PEM- and
SSH-formatted asymmetric keys but did not catch a JWK passed as a raw
JSON string. In a verifier configured with both symmetric and asymmetric
algorithms in <code>algorithms=[…]</code> and a raw-JSON JWK as the key,
an attacker could forge HS256 tokens using the JWK text as the HMAC
secret. The guard has been extended to reject any JWK-shaped JSON.
<em>Reported by <a
href="https://github.com/aradona91"><code>@​aradona91</code></a>.</em></p>
</li>
<li>
<p><strong><a
href="https://github.com/jpadilla/pyjwt/security/advisories/GHSA-jq35-7prp-9v3f"><code>GHSA-jq35-7prp-9v3f</code></a>
— Algorithm allow-list bypass with <code>PyJWK</code> /
<code>PyJWKClient</code>.</strong> When verifying with a
<code>PyJWK</code>, the caller's <code>algorithms=[…]</code> allow-list
was checked against the token header <code>alg</code> as a string only;
actual verification used the algorithm bound to the <code>PyJWK</code>.
An attacker who controlled a registered JWKS key could sign with one
algorithm and advertise another on the header. PyJWT now requires the
token header <code>alg</code> to match the <code>PyJWK</code>'s
algorithm before verification. <em>Reported by <a
href="https://github.com/sushi-gif"><code>@​sushi-gif</code></a>.</em></p>
</li>
<li>
<p><strong><a
href="https://github.com/jpadilla/pyjwt/security/advisories/GHSA-w7vc-732c-9m39"><code>GHSA-w7vc-732c-9m39</code></a>
— DoS via base64 decode of unused payload segment when
<code>b64=false</code>.</strong> For detached-payload JWS
(<code>b64=false</code>), the compact-form payload segment was
base64-decoded before being discarded in favor of the caller-supplied
<code>detached_payload</code>. An attacker could inflate the unused
segment to force CPU + memory cost without holding a valid signature.
The segment is now required to be empty per RFC 7515 Appendix F, and is
no longer decoded. <em>Reported by <a
href="https://github.com/thesmartshadow"><code>@​thesmartshadow</code></a>.</em></p>
</li>
<li>
<p><strong><a
href="https://github.com/jpadilla/pyjwt/security/advisories/GHSA-993g-76c3-p5m4"><code>GHSA-993g-76c3-p5m4</code></a>
— <code>PyJWKClient</code> accepts non-HTTP(S) URIs.</strong>
<code>PyJWKClient.fetch_data</code> passed its URI to
<code>urllib.request.urlopen</code>, which by default also handles
<code>file://</code>, <code>ftp://</code>, and <code>data:</code>
schemes. An application that fed an attacker-influenced URI into
<code>PyJWKClient</code> could be coerced into reading local files or
reaching other unintended schemes. <code>PyJWKClient</code> now rejects
any URI whose scheme isn't <code>http</code> or <code>https</code>.
<em>Reported by <a
href="https://github.com/KEIJOT"><code>@​KEIJOT</code></a>.</em></p>
</li>
<li>
<p><strong><a
href="https://github.com/jpadilla/pyjwt/security/advisories/GHSA-fhv5-28vv-h8m8"><code>GHSA-fhv5-28vv-h8m8</code></a>
— <code>PyJWKClient</code> cache wiped on fetch error.</strong> A
<code>finally</code>-block <code>put(jwk_set=None)</code> cleared the
JWK Set cache whenever a fetch raised, turning a transient JWKS-endpoint
outage into application-wide auth failure. The cache write was moved
into the success path; transient errors no longer evict valid cached
keys. <em>Reported by <a
href="https://github.com/eddieran"><code>@​eddieran</code></a>.</em></p>
</li>
</ul>
<h2>Fixed</h2>
<ul>
<li>Reject empty HMAC keys outright in
<code>HMACAlgorithm.prepare_key</code> with <code>InvalidKeyError</code>
instead of accepting them with only a warning. Defends against the
<code>os.getenv(&quot;JWT_SECRET&quot;, &quot;&quot;)</code> footgun.
<em>Thanks to <a
href="https://github.com/SnailSploit"><code>@​SnailSploit</code></a> and
<a href="https://github.com/spartan8806"><code>@​spartan8806</code></a>
for the reports.</em></li>
<li>Forward per-call <code>options</code> (including
<code>enforce_minimum_key_length</code>) from <code>PyJWT.decode</code>
through to <code>PyJWS._verify_signature</code>. The option was
previously silently dropped between the two layers, so it only took
effect when set on the <code>PyJWT</code> instance. <em>Thanks to <a
href="https://github.com/WLUB"><code>@​WLUB</code></a> for the
report.</em></li>
<li><strong>RFC 7797 §3 compliance for <code>b64=false</code>:</strong>
the encoder now auto-adds <code>&quot;b64&quot;</code> to
<code>crit</code>, and the decoder rejects tokens that set
<code>b64=false</code> without listing it in <code>crit</code>.
<em>Thanks to <a
href="https://github.com/MachineLearning-Nerd"><code>@​MachineLearning-Nerd</code></a>
for the report.</em></li>
</ul>
<h2>Changed</h2>
<ul>
<li>Migrate the <code>dev</code>, <code>docs</code>, and
<code>tests</code> package extras to dependency groups, by <a
href="https://github.com/kurtmckee"><code>@​kurtmckee</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1152">#1152</a>.</li>
</ul>
<h2>Upgrade notes</h2>
<p>Most fixes are invisible to correctly-configured callers. A few
behavioral changes you may encounter:</p>
<ul>
<li><strong>Empty HMAC keys now raise.</strong> If your app passed
<code>&quot;&quot;</code> or <code>b&quot;&quot;</code> as a secret
(often via a missing env var, e.g.
<code>os.getenv(&quot;JWT_SECRET&quot;, &quot;&quot;)</code>),
<code>encode</code>/<code>decode</code> will now raise
<code>InvalidKeyError</code>. This is the intended behavior — fix the
configuration.</li>
<li><strong><code>PyJWK</code> decoding now requires the token's
<code>alg</code> to match the JWK's algorithm.</strong> Previously a
mismatch was silently honored if the header <code>alg</code> appeared in
the allow-list. Tokens that relied on this mismatch will now fail with
<code>InvalidAlgorithmError</code>.</li>
<li><strong><code>PyJWKClient</code> now rejects non-HTTP(S) URIs at
construction time.</strong> Tests or dev environments that fetched JWKS
from <code>file://</code> URIs need to switch to a local HTTP server or
load the JWKS by other means (e.g. construct
<code>PyJWKSet.from_dict(...)</code> directly).</li>
<li><strong><code>b64=false</code> tokens are now strictly RFC 7515 /
7797 compliant.</strong> Tokens with a non-empty compact-form payload
segment, or that omit <code>&quot;b64&quot;</code> from
<code>crit</code>, will be rejected. PyJWT-produced tokens always
satisfy both invariants, so round-trips through PyJWT are
unaffected.</li>
<li><strong><code>enforce_minimum_key_length</code> set per-call now
takes effect.</strong> Callers who passed
<code>options={&quot;enforce_minimum_key_length&quot;: True}</code> to
<code>jwt.decode()</code> previously got no enforcement; they will now
get <code>InvalidKeyError</code> on undersized keys, as documented.</li>
</ul>
<p><strong>Full changelog:</strong> <a
href="https://github.com/jpadilla/pyjwt/compare/2.12.1...2.13.0">https://github.com/jpadilla/pyjwt/compare/2.12.1...2.13.0</a></p>
<h2>2.12.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Add typing_extensions dependency for Python &lt; 3.11 by <a
href="https://github.com/jpadilla"><code>@​jpadilla</code></a> in <a
href="https://redirect.github.com/jpadilla/pyjwt/pull/1151">jpadilla/pyjwt#1151</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/jpadilla/pyjwt/compare/2.12.0...2.12.1">https://github.com/jpadilla/pyjwt/compare/2.12.0...2.12.1</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst">pyjwt's
changelog</a>.</em></p>
<blockquote>
<h2><code>v2.13.0
&lt;https://github.com/jpadilla/pyjwt/compare/2.12.1...2.13.0&gt;</code>__</h2>
<p>Security</p>
<pre><code>
- Reject JWK JSON documents passed as raw HMAC secrets in
  ``HMACAlgorithm.prepare_key`` to close an algorithm-confusion gap that
  the existing PEM/SSH guard did not cover. Reported by @aradona91 in
`GHSA-xgmm-8j9v-c9wx
&lt;https://github.com/jpadilla/pyjwt/security/advisories/GHSA-xgmm-8j9v-c9wx&gt;`__.
- Bind the JWT header ``alg`` to ``PyJWK.algorithm_name`` during
  verification so the caller's ``algorithms=[...]`` allow-list cannot be
bypassed when decoding with a ``PyJWK`` / ``PyJWKClient`` key. Reported
by @sushi-gif in `GHSA-jq35-7prp-9v3f
&lt;https://github.com/jpadilla/pyjwt/security/advisories/GHSA-jq35-7prp-9v3f&gt;`__.
- Reject non-``http(s)`` URI schemes in ``PyJWKClient`` so attacker-
influenced URIs cannot read local files or reach unintended schemes via
urllib's default ``file://`` / ``ftp://`` / ``data:`` handlers. Reported
by @KEIJOT in `GHSA-993g-76c3-p5m4
&lt;https://github.com/jpadilla/pyjwt/security/advisories/GHSA-993g-76c3-p5m4&gt;`__.
- Preserve the cached JWK Set on fetch errors in
``PyJWKClient.fetch_data``.
  The previous ``finally``-block ``put(None)`` pattern cleared the cache
on any transient outage, turning one bad JWKS request into application-
wide auth failure. Reported by @eddieran in `GHSA-fhv5-28vv-h8m8
&lt;https://github.com/jpadilla/pyjwt/security/advisories/GHSA-fhv5-28vv-h8m8&gt;`__.
- Skip the unconditional base64 decode of the compact-form payload
segment
  when ``b64=false`` is set in the protected header, and require that
  segment to be empty (RFC 7515 Appendix F detached form). Closes an
  unauthenticated DoS amplifier. Reported by @thesmartshadow in
`GHSA-w7vc-732c-9m39
&lt;https://github.com/jpadilla/pyjwt/security/advisories/GHSA-w7vc-732c-9m39&gt;`__.
<p>Fixed</p>
<pre><code>
- Reject empty HMAC keys outright in ``HMACAlgorithm.prepare_key`` with
  ``InvalidKeyError`` instead of accepting them with only a warning.
  Thanks to @SnailSploit and @spartan8806 for independently flagging the
  footgun.
- Forward per-call ``options`` (including
``enforce_minimum_key_length``)
  from ``PyJWT.decode`` through to ``PyJWS._verify_signature`` so the
option actually takes effect when set at the call site rather than only
  on the ``PyJWT`` instance. Thanks to @WLUB for the report.
- RFC 7797 §3 compliance for ``b64=false``: the encoder now auto-adds
``&amp;quot;b64&amp;quot;`` to the ``crit`` header parameter, and the
decoder rejects
tokens that set ``b64=false`` without listing it in ``crit``. Thanks to
  @MachineLearning-Nerd for the report.

Changed
</code></pre>
<ul>
<li>Migrate the <code>dev</code>, <code>docs</code>, and
<code>tests</code> package extras to dependency groups by <a
href="https://github.com/kurtmckee"><code>@​kurtmckee</code></a> in
<code>[#1152](https://github.com/jpadilla/pyjwt/issues/1152)
&amp;lt;https://github.com/jpadilla/pyjwt/pull/1152&amp;gt;</code>__</li>
</ul>
<p><code>v2.12.1
&amp;lt;https://github.com/jpadilla/pyjwt/compare/2.12.0...2.12.1&amp;gt;</code>__
&lt;/tr&gt;&lt;/table&gt;
</code></pre></p>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/jpadilla/pyjwt/commit/7144e4534c34810f4525dc4578a32addd8212cff"><code>7144e45</code></a>
Apply ruff format</li>
<li><a
href="https://github.com/jpadilla/pyjwt/commit/d2f4bec4963897c0ef96ef64a875894f2c8542ab"><code>d2f4bec</code></a>
Restore <code>cast()</code> calls with cross-version <code>type:
ignore</code> for <code>prepare_key</code></li>
<li><a
href="https://github.com/jpadilla/pyjwt/commit/22f478cebddd8294259c30f037ecb92b0b348774"><code>22f478c</code></a>
Remove redundant casts in <code>RSAAlgorithm.prepare_key</code> and
`ECAlgorithm.prepare...</li>
<li><a
href="https://github.com/jpadilla/pyjwt/commit/95791b1759b8aa4f2203575d344d5c78564cdc81"><code>95791b1</code></a>
Bundle security fixes and hardening into 2.13.0</li>
<li><a
href="https://github.com/jpadilla/pyjwt/commit/dcc27a9d3182a2349c30b160758785c6ce7a6508"><code>dcc27a9</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1155">#1155</a>)</li>
<li><a
href="https://github.com/jpadilla/pyjwt/commit/9d08a9a1896845ed8eaf88e6f6ac61e5800c3e7a"><code>9d08a9a</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1146">#1146</a>)</li>
<li><a
href="https://github.com/jpadilla/pyjwt/commit/b87c10014d4109f0214fea188d00faaaf8a80e64"><code>b87c100</code></a>
Bump codecov/codecov-action from 5 to 6 (<a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1154">#1154</a>)</li>
<li><a
href="https://github.com/jpadilla/pyjwt/commit/40e3147eb5f790d8d041772e5fc00728a176c812"><code>40e3147</code></a>
Migrate development extras to dependency groups (<a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1152">#1152</a>)</li>
<li><a
href="https://github.com/jpadilla/pyjwt/commit/a4e1a3d1218b01c5806420b8f16d9308ac4adc30"><code>a4e1a3d</code></a>
Add typing_extensions dependency for Python &lt; 3.11 (<a
href="https://redirect.github.com/jpadilla/pyjwt/issues/1151">#1151</a>)</li>
<li>See full diff in <a
href="https://github.com/jpadilla/pyjwt/compare/2.12.0...2.13.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/evroon/bracket/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-16 03:16:52 +00:00
dependabot[bot] e0a455995f Bump mypy from 1.20.0 to 2.0.0 in /backend (#1709)
Bumps [mypy](https://github.com/python/mypy) from 1.20.0 to 2.0.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/python/mypy/blob/master/CHANGELOG.md">mypy's
changelog</a>.</em></p>
<blockquote>
<h1>Mypy Release Notes</h1>
<h2>Next Release</h2>
<h2>Mypy 2.1</h2>
<p>We’ve just uploaded mypy 2.1.0 to the Python Package Index (<a
href="https://pypi.org/project/mypy/">PyPI</a>).
Mypy is a static type checker for Python. This release includes new
features, performance
improvements and bug fixes. You can install it as follows:</p>
<pre><code>python3 -m pip install -U mypy
</code></pre>
<p>You can read the full documentation for this release on <a
href="http://mypy.readthedocs.io">Read the Docs</a>.</p>
<h3>librt.vecs: Fast Growable Array Type for Mypyc</h3>
<p>The new <code>librt.vecs</code> module provides an efficient growable
array type <code>vec</code> that is
optimized for mypyc use. It provides fast, packed arrays with integer
and floating point
value types, which can be <strong>several times faster</strong> than
<code>list</code>, and tens of times faster
than <code>array.array</code> in code compiled using mypyc. It also
supports nested <code>vec</code> objects and
non-value-type items, such as <code>vec[vec[str]]</code>.</p>
<p>Refer to the <a
href="https://mypyc.readthedocs.io/en/latest/librt_vecs.html">documentation</a>
for
the details.</p>
<p>Contributed by Jukka Lehtosalo.</p>
<h3>librt.random: Fast Pseudo-Random Number Generation</h3>
<p>The new <code>librt.random</code> module provides fast pseudo-random
number generation that is
optimized for code compiled using mypyc. It can be 3x to 10x faster than
the stdlib
<code>random</code> module in compiled code.</p>
<p>Refer to the <a
href="https://mypyc.readthedocs.io/en/latest/librt_random.html">documentation</a>
for
the details.</p>
<p>Contributed by Jukka Lehtosalo (PR <a
href="https://redirect.github.com/python/mypy/pull/21433">21433</a>).</p>
<h3>Mypyc Improvements</h3>
<ul>
<li>Enable incremental self-compilation (Vaggelis Danias, PR <a
href="https://redirect.github.com/python/mypy/pull/21369">21369</a>)</li>
<li>Make compilation order with multiple files consistent (Piotr
Sawicki, PR <a
href="https://redirect.github.com/python/mypy/pull/21419">21419</a>)</li>
<li>Fix crash on accessing <code>StopAsyncIteration</code> (Piotr
Sawicki, PR <a
href="https://redirect.github.com/python/mypy/pull/21406">21406</a>)</li>
<li>Fix incremental compilation with <code>separate</code> flag
(Vaggelis Danias, PR <a
href="https://redirect.github.com/python/mypy/pull/21299">21299</a>)</li>
</ul>
<h3>Fixes to Crashes</h3>
<ul>
<li>Fix crash on partial type with <code>--allow-redefinition</code> and
<code>global</code> declaration (Jukka Lehtosalo, PR <a
href="https://redirect.github.com/python/mypy/pull/21428">21428</a>)</li>
<li>Fix broken awaitable generator patching (Ivan Levkivskyi, PR <a
href="https://redirect.github.com/python/mypy/pull/21435">21435</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/python/mypy/commit/7a765008a138ec46c579bfc6ef608860cab36033"><code>7a76500</code></a>
Remove +dev from version</li>
<li><a
href="https://github.com/python/mypy/commit/5a3ab3b29f03d8baafeced3761e1afc8bd58be79"><code>5a3ab3b</code></a>
Changelog for mypy 2.0 (<a
href="https://redirect.github.com/python/mypy/issues/21422">#21422</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/f9c86e21e88f96806c65790d604bf1264db39434"><code>f9c86e2</code></a>
Some changelog updates for 2.0 (<a
href="https://redirect.github.com/python/mypy/issues/21413">#21413</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/519eaf15e0ceafae30337083577a54c7d3f3b4fe"><code>519eaf1</code></a>
Bump librt to 0.10.0 (<a
href="https://redirect.github.com/python/mypy/issues/21415">#21415</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/158a6207d6e221cc403e1d556097b5abf5157cdd"><code>158a620</code></a>
Fix negative narrowing for containers (<a
href="https://redirect.github.com/python/mypy/issues/21411">#21411</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/e556eb93a3c551a320a536879ce0a1608d14d490"><code>e556eb9</code></a>
Try fixing mypy mypyc wheels (<a
href="https://redirect.github.com/python/mypy/issues/21392">#21392</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/f2c97971f5f4dcd749cf87df1e1308ab5754490a"><code>f2c9797</code></a>
Expose --num-workers and --native-parser (<a
href="https://redirect.github.com/python/mypy/issues/21387">#21387</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/db0cb2f7c68b0f9d43d6ee1ab68117c1550dac39"><code>db0cb2f</code></a>
Bump ast-serialize cache version (<a
href="https://redirect.github.com/python/mypy/issues/21388">#21388</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/1090ca6d476f629c566250a41204450043a47cf5"><code>1090ca6</code></a>
Bump ast-serialize version to 0.3.0 only (<a
href="https://redirect.github.com/python/mypy/issues/21391">#21391</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/714ca9f2ac76e7c6dd56e26fd555f69313ba47ab"><code>714ca9f</code></a>
[mypyc] Add note about librt.strings thread safety (<a
href="https://redirect.github.com/python/mypy/issues/21383">#21383</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/python/mypy/compare/v1.20.0...v2.0.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-09 04:12:38 +00:00
dependabot[bot] 4f1dc6ae80 Bump pyrefly from 0.63.1 to 0.64.1 in /backend (#1710)
Bumps [pyrefly](https://github.com/facebook/pyrefly) from 0.63.1 to
0.64.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/facebook/pyrefly/releases">pyrefly's
releases</a>.</em></p>
<blockquote>
<h2>Pyrefly v0.64.1</h2>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/facebook/pyrefly/compare/0.64.0...0.64.1">https://github.com/facebook/pyrefly/compare/0.64.0...0.64.1</a></p>
<h2>Pyrefly v0.64.0</h2>
<p><strong>Status : BETA</strong>
<em>Release date: May 05, 2026</em></p>
<p>Pyrefly v0.64.0 bundles <strong>190 commits</strong> from <strong>20
contributors</strong>.</p>
<hr />
<h2> New &amp; Improved</h2>
<table>
<thead>
<tr>
<th>Area</th>
<th>What's new</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Type Checking</strong></td>
<td>- You can now pass generic or overloaded callables to higher-order
functions and Pyrefly will preserve their structure in the return type.
For example, <code>identity(identity)</code> now correctly returns a
generic callable instead of degrading to <code>Unknown</code>. <!-- raw
HTML omitted --><!-- raw HTML omitted -->- Same-scope class rebinds
(like <code>Real = Dummy</code> after <code>class Real</code>) are now
checked against the original class as if it were an implicit
<code>type[Real]</code> annotation, preventing silent type changes and
fixing spurious constructor-call errors. <!-- raw HTML omitted --><!--
raw HTML omitted -->- Generic classes with missing type arguments in lax
mode now default to <code>Any</code> instead of raising variance errors,
improving consistency with how we handle other incomplete types. <!--
raw HTML omitted --><!-- raw HTML omitted -->- Pydantic
<code>field_validator</code> decorators with <code>mode='before'</code>
and <code>mode='plain'</code> are now supported, allowing validators to
accept broader input types before coercion. <!-- raw HTML omitted
--><!-- raw HTML omitted -->- Spurious unpack diagnostics are no longer
emitted when the right-hand side involves <code>Never</code> (e.g.
<code>a, b, c = never()</code> or <code>a, b = (never(), 1)</code>). The
unpack solver is now <code>Never</code>-aware, recognizing that the
producing expression cannot complete and any error message at the unpack
site would be misleading. <!-- raw HTML omitted --><!-- raw HTML omitted
-->- <code>assert</code> statements now check that <code>__bool__</code>
is callable on the test expression, matching the behavior already in
place for <code>if</code>, <code>while</code>, and ternary expressions
(and aligning with mypy and pyright).</td>
</tr>
<tr>
<td><strong>Language Server</strong></td>
<td>- The language server now advertises both <code>source.fixAll</code>
and <code>source.fixAll.pyrefly</code> code action kinds, enabling
selective fix-on-save configuration across editors that implement the
LSP protocol. <!-- raw HTML omitted --><!-- raw HTML omitted -->-
Document highlights now correctly distinguish between read and write
references, setting <code>DocumentHighlightKind::WRITE</code> for
assignments and declarations. <!-- raw HTML omitted --><!-- raw HTML
omitted -->- Go-to-definition on relative imports in site-packages files
now correctly resolves to the package source instead of returning null
when a <code>pyproject.toml</code> exists at the project root. <!-- raw
HTML omitted --><!-- raw HTML omitted -->- Notebook cell index
resolution has been fixed to prevent mismatches between code cells and
markdown cells, eliminating panics and incorrect byte offset
calculations in Jupyter notebooks. <!-- raw HTML omitted --><!-- raw
HTML omitted -->- Cross-module &quot;find references&quot; (external
references) is now enabled by default, returning references across the
entire project rather than just the current file. <!-- raw HTML omitted
--><!-- raw HTML omitted -->- A new quick fix turns the existing
&quot;Did you mean <code>Foo.BAR</code>?&quot; diagnostic note for
missing enum members into a code action that replaces the offending
string literal with the proper enum member access. <!-- raw HTML omitted
--><!-- raw HTML omitted -->- A new <code># pyrefly: ignore</code> quick
fix inserts a suppression comment for the diagnostic at the cursor,
automatically merging into an existing pyrefly-ignore directive on the
same line or on a comment-only line above when present. <!-- raw HTML
omitted --><!-- raw HTML omitted -->- Numeric parameter defaults now
preserve their source spelling (e.g. <code>0o777</code>,
<code>0xFF</code>, <code>0b101</code>) in hover and signature display
rather than being normalized to decimal. <!-- raw HTML omitted --><!--
raw HTML omitted -->- Code actions documentation has been added to the
IDE Supported Features page, covering quick fixes and
<code>source.fixAll.pyrefly</code> configuration.</td>
</tr>
<tr>
<td><strong>Onboarding &amp; VS Code Extension</strong></td>
<td>- A redesigned unconfigured-project experience: when no
<code>pyrefly.toml</code> is found, Pyrefly auto-detects nearby
<code>mypy.ini</code>, <code>pyrightconfig.json</code>, or
<code>[tool.mypy]</code>/<code>[tool.pyright]</code> sections in
<code>pyproject.toml</code> and synthesizes an in-memory configuration
migrated from those settings (using the <code>legacy</code> or
<code>default</code> preset respectively). With no detectable
configuration, the new <code>basic</code> preset is used. <!-- raw HTML
omitted --><!-- raw HTML omitted -->- A new
<code>python.pyrefly.typeCheckingMode</code> workspace setting (auto /
off / basic / legacy / default / strict, default <code>auto</code>) lets
users pick a preset for files not covered by an explicit Pyrefly
configuration, directly from the VS Code settings UI. The legacy
<code>python.pyrefly.displayTypeErrors</code> setting is now deprecated,
with values transparently mapped to the new model. <!-- raw HTML omitted
--><!-- raw HTML omitted -->- A new
<code>python.pyrefly.disableTypeErrors</code> workspace setting provides
a clean per-workspace kill switch for diagnostics, independent of the
type-checking mode. <!-- raw HTML omitted --><!-- raw HTML omitted -->-
The VS Code status bar has been redesigned: it now shows the active
preset (e.g. &quot;Pyrefly (Legacy)&quot;, &quot;Pyrefly (Basic)&quot;)
and the tooltip explains why that preset was chosen and links to the
relevant docs. <!-- raw HTML omitted --><!-- raw HTML omitted -->- After
a <code>pyrefly check</code> on an unconfigured project, the CLI now
prints a short upsell to <strong>stderr</strong> explaining what
configuration was synthesized and pointing at <code>pyrefly init</code>.
The message is routed to stderr so machine-readable stdout formats (e.g.
<code>--output-format json</code>) remain untouched.</td>
</tr>
<tr>
<td><strong>Configuration</strong></td>
<td>- Configuration presets (<code>off</code>, <code>basic</code>,
<code>legacy</code>, <code>default</code>, <code>strict</code>) are now
available via the <code>preset</code> option, providing named
collections of error severities and behavior settings as a base
configuration that user settings can override. <!-- raw HTML omitted
--><!-- raw HTML omitted -->- The <code>legacy</code> preset is now used
by <code>pyrefly init</code> for mypy migration, disabling checks mypy
doesn't have and setting looser inference defaults. <!-- raw HTML
omitted --><!-- raw HTML omitted -->- The <code>implicit-any</code>
error code has been split into sub-kinds
(<code>implicit-any-attribute</code>,
<code>implicit-any-empty-container</code>,
<code>implicit-any-parameter</code>,
<code>implicit-any-type-argument</code>) with <code>implicit-any</code>
as the parent, allowing finer-grained control over where implicit
<code>Any</code> is flagged. <!-- raw HTML omitted --><!-- raw HTML
omitted -->- The <code>unbound-name</code> error is now disabled in the
<code>legacy</code> preset to match mypy's default behavior, which does
not flag possibly-undefined variables.</td>
</tr>
<tr>
<td><strong>Error Reporting</strong></td>
<td>- A new <code>incompatible-overload-residual</code> error kind has
been introduced for cases where all branches of an overloaded callable
are pruned during higher-order function analysis, making it easier to
configure these errors independently. <!-- raw HTML omitted --><!-- raw
HTML omitted -->- Error messages for all-pruned overload residuals now
describe the incompatibility in terms of &quot;solved type
variables&quot; rather than &quot;solved type constraints&quot; for
better clarity. <!-- raw HTML omitted --><!-- raw HTML omitted -->- The
<code>pyrefly suppress</code> command now correctly handles removal of
unused ignores via the <code>--remove-unused</code> flag, which was
previously broken.</td>
</tr>
<tr>
<td><strong>Factory Boy Support</strong></td>
<td>- Pyrefly now infers the correct model return types for
<code>create()</code>, <code>build()</code>,
<code>create_batch()</code>, and <code>build_batch()</code> methods on
<code>DjangoModelFactory</code> subclasses by reading the inner
<code>Meta.model</code> attribute. <!-- raw HTML omitted --><!-- raw
HTML omitted -->- False-positive <code>bad-override</code> errors on the
inner <code>Meta</code> class in factory-boy factories are now
suppressed, matching how we handle Django and Marshmallow.</td>
</tr>
<tr>
<td><strong>Reporting</strong></td>
<td>- The <code>pyrefly report</code> JSON output now includes a
<code>path</code> field on each <code>ModuleReport</code>, for
compatibility with typestats and similar tooling.</td>
</tr>
<tr>
<td><strong>Performance</strong></td>
<td>- Deeply-nested dict literals no longer cause exponential memory
growth during type inference. A depth-25 dict literal that previously
consumed ~7.7 GB now uses ~239 MB by computing the union of field types
on demand instead of storing it redundantly. <!-- raw HTML omitted
--><!-- raw HTML omitted -->- Callable residual finalization has been
optimized to avoid redundant type cloning and traversals, reducing
memory churn in attribute-heavy code. <!-- raw HTML omitted --><!-- raw
HTML omitted -->- Eliminated some bugs that caused Pyrefly to
unnecessarily analyze dependencies, improving latency and memory use,
especially in the IDE.</td>
</tr>
</tbody>
</table>
<hr />
<h2>🐛 bug fixes</h2>
<p>We closed <strong>15</strong> bug issues this release 👏</p>
<ul>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3057">#3057</a>:
Fixed an issue where string concatenation with the <code>+</code>
operator was incorrectly flagging <code>str</code> as not assignable to
<code>LiteralString</code> attributes. Pyrefly now preserves
<code>LiteralString</code> style when adding two explicit string
literals and uses implicit style otherwise.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/105">#105</a>:
Fixed premature type pinning in function calls where arguments were
incorrectly narrowed before all constraints were solved. For example,
<code>foo(x, y)</code> with <code>x: int | None</code> and <code>y: int
| None</code> no longer incorrectly narrows <code>x</code> to
<code>None</code> when passed to a generic
<code>foo[T](https://github.com/facebook/pyrefly/blob/HEAD/a: T, b:
T)</code>.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3198">#3198</a>:
Fixed <code>pyrefly suppress --remove-unused</code> which was not
actually removing unused error suppressions. The command now correctly
processes the <code>--remove-unused</code> flag.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3024">#3024</a>:
The language server now advertises <code>source.fixAll.pyrefly</code> in
addition to <code>source.fixAll</code>, allowing users to selectively
enable or disable Pyrefly's fix-all actions in editors that support LSP
code action kinds.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/2819">#2819</a>:
Fixed incorrect variance errors when using generic classes like
Pydantic's <code>RootModel</code> in lax mode. Missing type arguments
now degrade to <code>Any</code> instead of raising errors, matching our
handling of other incomplete types.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3000">#3000</a>:
Fixed &quot;find references&quot; failures in Cursor and other editors
caused by relative imports in site-packages not resolving correctly when
a <code>pyproject.toml</code> existed at the project root.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/2563">#2563</a>:
Fixed go-to-definition on relative imports in virtual environment
site-packages, which was returning null because the project root's
import path was matching before the more specific site-package
prefix.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3193">#3193</a>:
Fixed an error where <code>list[&quot;A|B&quot;]</code> was incorrectly
rejected as <code>not-a-type</code>. Type argument subscripts are now
bound as type expressions even in value context, allowing forward-ref
strings to be parsed.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3286">#3286</a>:
Fixed exponential memory blowup when type-checking deeply-nested dict
literals, which could cause VSCode to be killed by the OS. Memory usage
for a depth-25 dict dropped from ~7.7 GB to ~239 MB.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3261">#3261</a>:
Fixed a false positive <code>bad-class-definition</code> when a
dataclass field was assigned inside a <code>@classmethod</code> or
<code>__init_subclass__</code>. Pyrefly was incorrectly extracting these
as dataclass fields, even though Python's
<code>dataclasses.dataclass</code> ignores them at runtime.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/2914">#2914</a>:
<code>assert</code> statements now flag a non-callable
<code>__bool__</code> on the test expression, closing a gap that
previously only caught the issue inside <code>if</code>,
<code>while</code>, and ternary expressions.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/2867">#2867</a>:
Fixed <code>urlunparse</code> being inferred as returning
<code>Literal[b'']</code> instead of <code>str</code>. The fix reworks
<code>as_superclass</code> so tuple-like <code>NamedTuple</code>
subclasses are upcast through their erased tuple element types, which
stops <code>ParseResult</code> from spuriously matching
<code>Iterable[None]</code> and selecting the bytes overload.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3266">#3266</a>:
Added a quick fix for the existing &quot;Did you mean
<code>Foo.BAR</code>?&quot; diagnostic note for missing enum members,
turning the suggestion into a code action that rewrites the surrounding
string literal.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3230">#3230</a>:
Numeric parameter defaults now preserve their original spelling (e.g.
<code>0o777</code>) in hover and signature display rather than being
normalized to a decimal value.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3302">#3302</a>:
Added a <code>path</code> field to the <code>pyrefly report</code> JSON
<code>ModuleReport</code>, restoring compatibility with typestats.</li>
</ul>
<p>Thank-you to all our contributors who found these bugs and reported
them! Did you know this is one of the most helpful contributions you can
make to an open-source project? If you find any bugs in Pyrefly we want
to know about them! Please open a bug report issue <a
href="https://github.com/facebook/pyrefly/issues">here</a></p>
<hr />
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/facebook/pyrefly/commit/71ff2a5cbc7ce9a82e758174fe25274256728c28"><code>71ff2a5</code></a>
upgrade</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/b3d41027a20764fd076c7af89d9dbb45e64dd458"><code>b3d4102</code></a>
Strip debuginfo from release binaries to reduce binary size</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/ccb904d47281c22195839bcc714eb1c38256e690"><code>ccb904d</code></a>
Fix Pyrefly regression with imported TypeVars via attribute access (<a
href="https://redirect.github.com/facebook/pyrefly/issues/3333">#3333</a>)</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/fb2ef608a2bb9b896a0232be0783338eea3b028a"><code>fb2ef60</code></a>
support vscode-python-environments extension (<a
href="https://redirect.github.com/facebook/pyrefly/issues/3327">#3327</a>)</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/e63fa8d7d9160d3d319569ee2a4439883eaa4c9e"><code>e63fa8d</code></a>
remove extensionDependency on ms-python.python (<a
href="https://redirect.github.com/facebook/pyrefly/issues/3326">#3326</a>)</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/15b8f817923a9b3efb8f5192a8ba1359878c3e58"><code>15b8f81</code></a>
abstract away python-environment from extension (<a
href="https://redirect.github.com/facebook/pyrefly/issues/3325">#3325</a>)</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/e267ba6974db6d041c1fe74975c08d938d8ae3d1"><code>e267ba6</code></a>
Fix provide_type race condition with config recheck cancellation (<a
href="https://redirect.github.com/facebook/pyrefly/issues/3316">#3316</a>)</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/fe26ba3ace3c39794b19b8220f35c56a19d0b9cf"><code>fe26ba3</code></a>
Fix failing quick fix test</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/6d9611de431d43e26d47b5e97e4499cf9a94e931"><code>6d9611d</code></a>
Use <code>FuncMetadata::def</code> to reduce code duplication</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/a545b3a13cac916b4d92b69ee82bb936c3432eb0"><code>a545b3a</code></a>
Add a more general <code>FuncMetadata::def</code> helper</li>
<li>Additional commits viewable in <a
href="https://github.com/facebook/pyrefly/compare/0.63.1...0.64.1">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-09 04:12:28 +00:00
dependabot[bot] 9a47d9cf6a Bump gunicorn from 25.3.0 to 26.0.0 in /backend (#1708)
Bumps [gunicorn](https://github.com/benoitc/gunicorn) from 25.3.0 to
26.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/benoitc/gunicorn/releases">gunicorn's
releases</a>.</em></p>
<blockquote>
<h2>26.0.0</h2>
<h2>Breaking Changes</h2>
<ul>
<li><strong>Eventlet worker removed</strong>: The <code>eventlet</code>
worker class has been dropped. Migrate to <code>gevent</code>,
<code>gthread</code>, or <code>tornado</code>.</li>
</ul>
<h2>New Features</h2>
<ul>
<li><strong>ASGI Framework Compatibility Suite</strong>: New end-to-end
compatibility test harness covering Starlette, FastAPI, Litestar, Quart,
Sanic, and BlackSheep. Current grid passes 438/444 tests (98%).</li>
<li><strong>ASGI Test Suite Expansion</strong>: 134 additional ASGI unit
tests covering protocol semantics, lifespan, websockets, and chunked
framing.</li>
</ul>
<h2>Security</h2>
<ul>
<li><strong>HTTP/1.1 Request-Target Validation</strong> (RFC 9112
sections 3.2.3, 3.2.4):
<ul>
<li>Reject <code>authority-form</code> request-target outside
<code>CONNECT</code></li>
<li>Reject <code>asterisk-form</code> request-target outside
<code>OPTIONS</code></li>
<li>Reject <code>relative-reference</code> request-targets</li>
</ul>
</li>
<li><strong>Header Field Hardening</strong> (RFC 9110):
<ul>
<li>Reject control characters in header field-value (section 5.5)</li>
<li>Reject forbidden trailer field-names (section 6.5.1)</li>
<li>Reject <code>Content-Length</code> list form (RFC 9112 section
6.3)</li>
</ul>
</li>
<li><strong>Request Smuggling Hardening</strong>:
<ul>
<li>Tighten keepalive gate and scope <code>finish_body</code> byte
cap</li>
<li>Keep <code>_body_receiver</code> alive across the keepalive
smuggling gate so pipelined requests cannot re-enter a closed body</li>
<li>Address parser/protocol findings from a six-point WSGI/ASGI
audit</li>
</ul>
</li>
<li><strong>PROXY Protocol (ASGI)</strong>: Enforce
<code>proxy_allow_ips</code> and tighten v1/v2 parsing in the ASGI
callback parser.</li>
<li><strong>Connection Draining</strong>: Drain the connection on close
per RFC 9112 section 9.6 to prevent reset-on-close truncation.</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li><strong>Body Framing on HEAD/204/304</strong>:
<ul>
<li>Keep <code>Content-Length</code> on HEAD and 304 responses (<a
href="https://redirect.github.com/benoitc/gunicorn/issues/3621">#3621</a>)</li>
<li>Drop body framing on HEAD/204/304 even when the framework set
it</li>
<li>Warn once when an ASGI app emits a body for a no-body response</li>
</ul>
</li>
<li><strong>HTTP/2 ASGI</strong>:
<ul>
<li>Fix <code>_handle_stream_ended</code> to set
<code>_body_complete</code> in the async HTTP/2 handler so request
bodies finalize correctly on stream end</li>
<li>Add <code>InvalidChunkExtension</code> mapping and fast-parser
support in ASGI tests (<a
href="https://redirect.github.com/benoitc/gunicorn/issues/3565">#3565</a>)</li>
</ul>
</li>
<li><strong>HTTP/1.1 100-Continue</strong>: Stop adding
<code>Transfer-Encoding: chunked</code> to 100-Continue interim
responses.</li>
<li><strong>WebSocket Close Handshake</strong> (RFC 6455):
<ul>
<li>Comply with the close handshake state machine</li>
<li>Close the transport after the close handshake completes</li>
<li>Fix binary send when the <code>text</code> key is
<code>None</code></li>
</ul>
</li>
<li><strong>Early Hints</strong>: Validate headers in the
<code>early_hints</code> callback to match <code>process_headers</code>;
pass only the header name to <code>InvalidHeader</code> (<a
href="https://redirect.github.com/benoitc/gunicorn/issues/3588">#3588</a>).</li>
<li><strong>ASGI Framework Fixes</strong>:
<ul>
<li>Fix ASGI disconnect handling for Django-style apps</li>
<li>Fix Litestar request handling (use raw ASGI receive for
body/headers)</li>
<li>Fix Litestar HTTP endpoints for compatibility tests</li>
<li>Fix Quart headers endpoint to normalize keys to lowercase</li>
<li>Fix Quart WebSocket close test app (missing
<code>accept()</code>)</li>
<li>Fix duplicate <code>Transfer-Encoding</code> header for BlackSheep
streaming</li>
</ul>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/benoitc/gunicorn/commit/5d819cf36040f6cc6175fcc804d703fb899509dd"><code>5d819cf</code></a>
release: 26.0.0</li>
<li><a
href="https://github.com/benoitc/gunicorn/commit/b45c70df105f7d5dcbc5abfb732804d6464edc21"><code>b45c70d</code></a>
Merge pull request <a
href="https://redirect.github.com/benoitc/gunicorn/issues/3611">#3611</a>
from zc-mattcen/docs-typo</li>
<li><a
href="https://github.com/benoitc/gunicorn/commit/99c8d48acf453deb5c49fe12e195dbc00d888d1e"><code>99c8d48</code></a>
Merge pull request <a
href="https://redirect.github.com/benoitc/gunicorn/issues/3623">#3623</a>
from benoitc/chore/drop-eventlet-add-h2-uvloop-test-...</li>
<li><a
href="https://github.com/benoitc/gunicorn/commit/5a655af50f20e005dd9e32e6078dc82fa45f3d4b"><code>5a655af</code></a>
Merge pull request <a
href="https://redirect.github.com/benoitc/gunicorn/issues/3622">#3622</a>
from benoitc/test/docker-port-and-ipv4-fixes</li>
<li><a
href="https://github.com/benoitc/gunicorn/commit/201df19a8011c0a1d6a0e75ebe22e89d48eb935e"><code>201df19</code></a>
chore: remove eventlet worker; add h2 and uvloop to test deps</li>
<li><a
href="https://github.com/benoitc/gunicorn/commit/f4ac8e1f1bf1d365e77f41915da55bec31873f84"><code>f4ac8e1</code></a>
test: pass action name to dirty client and stabilize after TTOU
spam</li>
<li><a
href="https://github.com/benoitc/gunicorn/commit/54d38afddf1f0db0c15b5f4ff63f3c7bfad96961"><code>54d38af</code></a>
test: unblock docker fixtures on macOS hosts</li>
<li><a
href="https://github.com/benoitc/gunicorn/commit/68843c8893dd938456f0a2da62085ab5776f8871"><code>68843c8</code></a>
Merge pull request <a
href="https://redirect.github.com/benoitc/gunicorn/issues/3621">#3621</a>
from benoitc/fix/asgi-preserve-content-length-on-hea...</li>
<li><a
href="https://github.com/benoitc/gunicorn/commit/31f2618f733cc0c78690df63f4e344aaf3f56b20"><code>31f2618</code></a>
Merge pull request <a
href="https://redirect.github.com/benoitc/gunicorn/issues/3620">#3620</a>
from benoitc/fix/asgi-proxy-protocol-trust-and-parsing</li>
<li><a
href="https://github.com/benoitc/gunicorn/commit/41ec7527dbd8a9e52728477700707ad40e41d9dc"><code>41ec752</code></a>
fix: keep Content-Length on HEAD and 304 responses</li>
<li>Additional commits viewable in <a
href="https://github.com/benoitc/gunicorn/compare/25.3.0...26.0.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-09 04:12:08 +00:00
dependabot[bot] 280a573976 Bump starlette from 1.0.0 to 1.0.1 in /backend (#1706)
Bumps [starlette](https://github.com/Kludex/starlette) from 1.0.0 to
1.0.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Kludex/starlette/releases">starlette's
releases</a>.</em></p>
<blockquote>
<h2>Version 1.0.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Ignore malformed <code>Host</code> header when constructing
<code>request.url</code> by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/starlette/pull/3279">Kludex/starlette#3279</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/starlette/compare/1.0.0...1.0.1">https://github.com/Kludex/starlette/compare/1.0.0...1.0.1</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/Kludex/starlette/blob/main/docs/release-notes.md">starlette's
changelog</a>.</em></p>
<blockquote>
<h2>1.0.1 (May 21, 2026)</h2>
<h4>Fixed</h4>
<ul>
<li>Ignore malformed <code>Host</code> header when constructing
<code>request.url</code> <a
href="https://redirect.github.com/encode/starlette/pull/3279">#3279</a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Kludex/starlette/commit/48f8e331b23ca692f4713ac1f370bff1b5cd034c"><code>48f8e33</code></a>
Version 1.0.1 (<a
href="https://redirect.github.com/Kludex/starlette/issues/3281">#3281</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/f078832be1aa27ab0e7ec3153479a347749e967a"><code>f078832</code></a>
Remove Hugging Face sponsor block from docs (<a
href="https://redirect.github.com/Kludex/starlette/issues/3280">#3280</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/472951eba8f6e35be845fd1b91625a1b5488294b"><code>472951e</code></a>
chore(deps): bump the github-actions group with 2 updates (<a
href="https://redirect.github.com/Kludex/starlette/issues/3277">#3277</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/764dab0dcfb9033d75442d7a359645c9f94648c6"><code>764dab0</code></a>
Ignore malformed <code>Host</code> header when constructing
<code>request.url</code> (<a
href="https://redirect.github.com/Kludex/starlette/issues/3279">#3279</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/19d08115ce56da8d4da2838ecdd9c5882cb2b365"><code>19d0811</code></a>
Harden GitHub Actions workflows and Dependabot config (<a
href="https://redirect.github.com/Kludex/starlette/issues/3276">#3276</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/01f46378120fe2c6312074ed7e997e3b5f7d8c20"><code>01f4637</code></a>
chore(deps): bump idna from 3.10 to 3.15 (<a
href="https://redirect.github.com/Kludex/starlette/issues/3274">#3274</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/b8fa5140d2ef9f22483d777e936ab4c2df897179"><code>b8fa514</code></a>
docs: fix typos in TestClient docs and test_requests comment (<a
href="https://redirect.github.com/Kludex/starlette/issues/3266">#3266</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/e935b6b5d4616c2317bbdadfb4cf07a8e7637955"><code>e935b6b</code></a>
fix uvicorn domain (<a
href="https://redirect.github.com/Kludex/starlette/issues/3269">#3269</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/96af9521a7e46bc0d00b5227186f03b70b6d242f"><code>96af952</code></a>
Add 7-day cooldown for dependency resolution via uv exclude-newer (<a
href="https://redirect.github.com/Kludex/starlette/issues/3265">#3265</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/61e385bd6dc438a90493c50f65ed232430f873fb"><code>61e385b</code></a>
Add zizmor GitHub Actions security analysis workflow (<a
href="https://redirect.github.com/Kludex/starlette/issues/3264">#3264</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/Kludex/starlette/compare/1.0.0...1.0.1">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/evroon/bracket/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-04 17:35:37 +00:00
dependabot[bot] 0b8e32af0a Bump sentry-sdk from 2.58.0 to 2.59.0 in /backend (#1704)
Bumps [sentry-sdk](https://github.com/getsentry/sentry-python) from
2.58.0 to 2.59.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/getsentry/sentry-python/releases">sentry-sdk's
releases</a>.</em></p>
<blockquote>
<h2>2.59.0</h2>
<h3>New Features </h3>
<h4>Langchain</h4>
<ul>
<li>Record <code>run_name</code> as <code>gen_ai.function_id</code> on
Invoke Agent Spans by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/5926">#5926</a></li>
<li>Record <code>run_name</code> in <code>on_tool_start</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/5925">#5925</a></li>
<li>Record <code>run_name</code> in <code>on_chat_model_start</code> by
<a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/5924">#5924</a></li>
</ul>
<h4>Other</h4>
<ul>
<li>(ci) Cancel in-progress PR workflows on new commit push by <a
href="https://github.com/joshuarli"><code>@​joshuarli</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/5994">#5994</a></li>
<li>(consts) Add updated span convention constants to SPANDATA by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6093">#6093</a></li>
<li>(fastapi) Support span streaming in active thread tracking by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6118">#6118</a></li>
<li>(httpx) Migrate to span first by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6084">#6084</a></li>
<li>(huggingface_hub) Migrate to span first by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6124">#6124</a></li>
<li>(mcp) Migrate to span first by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6131">#6131</a></li>
<li>Add <code>db.driver.name</code> spans to database integrations by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6082">#6082</a></li>
</ul>
<h3>Bug Fixes 🐛</h3>
<p>We've put additional data that might contain sensitive information,
like GraphQL documents, behind the <code>send_default_pii</code>
option.</p>
<h4>Httpx</h4>
<ul>
<li>Consistently early-exit when adding request source by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6151">#6151</a></li>
<li>Set <code>code.namespace</code> and <code>code.function</code>
instead of <code>code.function.name</code> in span streaming by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6150">#6150</a></li>
</ul>
<h4>Langchain</h4>
<ul>
<li>Record <code>run_name</code> as <code>gen_ai.function_id</code> for
text completions by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6073">#6073</a></li>
<li>Set agent name as <code>gen_ai.agent.name</code> for chat and tool
spans by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/5877">#5877</a></li>
</ul>
<h4>Other</h4>
<ul>
<li>(asgi) Use <code>inspect.iscoroutinefunction</code> on Python 3.14+
by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6135">#6135</a></li>
<li>(batcher) Reset lock and flusher in child after fork by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6163">#6163</a></li>
<li>(google_genai) Redact binary data in inline_data and fix multi-part
message extraction by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/5977">#5977</a></li>
<li>(grpc) Add isolation_scope to async server interceptor by <a
href="https://github.com/robinvd"><code>@​robinvd</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/5940">#5940</a></li>
<li>(metrics,logs) Don't attach <code>span_id</code> if no active span
by <a href="https://github.com/sentrivana"><code>@​sentrivana</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6162">#6162</a></li>
<li>(monitor) Release <code>Monitor._thread_lock</code> after fork (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6148">#6148</a>)
by <a href="https://github.com/vokracko"><code>@​vokracko</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6159">#6159</a></li>
<li>(openai-agents) Resolve agent from <code>bindings</code> for
openai-agents &gt;= 0.14 by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6102">#6102</a></li>
<li>(profiler) Stop nulling buffer on teardown by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6075">#6075</a></li>
<li>(quart) Use <code>inspect.iscoroutinefunction</code> when Quart does
by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6133">#6133</a></li>
<li>(security) Prevent GitHub script injection in update-tox workflow by
<a
href="https://github.com/fix-it-felix-sentry"><code>@​fix-it-felix-sentry</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6171">#6171</a></li>
<li>(starlette/fastapi) Use <code>inspect.iscoroutinefunction</code>
when Starlette does by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6134">#6134</a></li>
<li>(tornado) Make sure context manager doesn't double yield by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6152">#6152</a></li>
<li>Introduce <code>_get_current_streamed_span()</code> to keep types
backwards compatible by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6177">#6177</a></li>
</ul>
<h3>Internal Changes 🔧</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md">sentry-sdk's
changelog</a>.</em></p>
<blockquote>
<h2>2.59.0</h2>
<h3>New Features </h3>
<h4>Langchain</h4>
<ul>
<li>Record <code>run_name</code> as <code>gen_ai.function_id</code> on
Invoke Agent Spans by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/5926">#5926</a></li>
<li>Record <code>run_name</code> in <code>on_tool_start</code> by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/5925">#5925</a></li>
<li>Record <code>run_name</code> in <code>on_chat_model_start</code> by
<a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/5924">#5924</a></li>
</ul>
<h4>Other</h4>
<ul>
<li>(ci) Cancel in-progress PR workflows on new commit push by <a
href="https://github.com/joshuarli"><code>@​joshuarli</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/5994">#5994</a></li>
<li>(consts) Add updated span convention constants to SPANDATA by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6093">#6093</a></li>
<li>(fastapi) Support span streaming in active thread tracking by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6118">#6118</a></li>
<li>(httpx) Migrate to span first by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6084">#6084</a></li>
<li>(huggingface_hub) Migrate to span first by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6124">#6124</a></li>
<li>(mcp) Migrate to span first by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6131">#6131</a></li>
<li>Add <code>db.driver.name</code> spans to database integrations by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6082">#6082</a></li>
</ul>
<h3>Bug Fixes 🐛</h3>
<p>We've put additional data that might contain sensitive information,
like GraphQL documents, behind the <code>send_default_pii</code>
option.</p>
<h4>Httpx</h4>
<ul>
<li>Consistently early-exit when adding request source by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6151">#6151</a></li>
<li>Set <code>code.namespace</code> and <code>code.function</code>
instead of <code>code.function.name</code> in span streaming by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6150">#6150</a></li>
</ul>
<h4>Langchain</h4>
<ul>
<li>Record <code>run_name</code> as <code>gen_ai.function_id</code> for
text completions by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6073">#6073</a></li>
<li>Set agent name as <code>gen_ai.agent.name</code> for chat and tool
spans by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/5877">#5877</a></li>
</ul>
<h4>Other</h4>
<ul>
<li>(asgi) Use <code>inspect.iscoroutinefunction</code> on Python 3.14+
by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6135">#6135</a></li>
<li>(batcher) Reset lock and flusher in child after fork by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6163">#6163</a></li>
<li>(google_genai) Redact binary data in inline_data and fix multi-part
message extraction by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/5977">#5977</a></li>
<li>(grpc) Add isolation_scope to async server interceptor by <a
href="https://github.com/robinvd"><code>@​robinvd</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/5940">#5940</a></li>
<li>(metrics,logs) Don't attach <code>span_id</code> if no active span
by <a href="https://github.com/sentrivana"><code>@​sentrivana</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6162">#6162</a></li>
<li>(monitor) Release <code>Monitor._thread_lock</code> after fork (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6148">#6148</a>)
by <a href="https://github.com/vokracko"><code>@​vokracko</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6159">#6159</a></li>
<li>(openai-agents) Resolve agent from <code>bindings</code> for
openai-agents &gt;= 0.14 by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6102">#6102</a></li>
<li>(profiler) Stop nulling buffer on teardown by <a
href="https://github.com/ericapisani"><code>@​ericapisani</code></a> in
<a
href="https://redirect.github.com/getsentry/sentry-python/pull/6075">#6075</a></li>
<li>(quart) Use <code>inspect.iscoroutinefunction</code> when Quart does
by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6133">#6133</a></li>
<li>(security) Prevent GitHub script injection in update-tox workflow by
<a
href="https://github.com/fix-it-felix-sentry"><code>@​fix-it-felix-sentry</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6171">#6171</a></li>
<li>(starlette/fastapi) Use <code>inspect.iscoroutinefunction</code>
when Starlette does by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6134">#6134</a></li>
<li>(tornado) Make sure context manager doesn't double yield by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a> in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6152">#6152</a></li>
<li>Introduce <code>_get_current_streamed_span()</code> to keep types
backwards compatible by <a
href="https://github.com/alexander-alderman-webb"><code>@​alexander-alderman-webb</code></a>
in <a
href="https://redirect.github.com/getsentry/sentry-python/pull/6177">#6177</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/getsentry/sentry-python/commit/689cb97e333534f093f16f75f2c212a986bab7e5"><code>689cb97</code></a>
Update CHANGELOG.md</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/397dda917fa40782e48e24ac01ecf822de0771fc"><code>397dda9</code></a>
release: 2.59.0</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/c0c254a8f8bbd2009c409b12c50d6075e262c6f8"><code>c0c254a</code></a>
test: Rename file (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6194">#6194</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/d90a9238ccf84dd49b2c994e8cbc9cc7b8fdbf80"><code>d90a923</code></a>
ref(batcher): Only flush the bucket that triggered the flush event (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6168">#6168</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/6436518b21943881122e0cc6e0e49fe1355fd23f"><code>6436518</code></a>
ci: 🤖 Update test matrix with new releases (05/04) (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6186">#6186</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/98294ceeb77376237ce9c4cac66b1925adb37f54"><code>98294ce</code></a>
fix: Introduce <code>_get_current_streamed_span()</code> to keep types
backwards compati...</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/66b3c6b8178dd6fa8e2e976481a642b53db27319"><code>66b3c6b</code></a>
test(fastmcp): Span streaming tests (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6167">#6167</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/b5735abb51b21dba8cee1f35a918dbe51babf038"><code>b5735ab</code></a>
fix(batcher): Reset lock and flusher in child after fork (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6163">#6163</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/fc3eab43a6ee9af6fced602d5c56467e2d690603"><code>fc3eab4</code></a>
fix(metrics,logs): Don't attach <code>span_id</code> if no active span
(<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6162">#6162</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/8e5bd96c7a21839b54849f813d834d46969abd2a"><code>8e5bd96</code></a>
test: Assert presence of profile chunks after shutdown (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/6174">#6174</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/getsentry/sentry-python/compare/2.58.0...2.59.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-03 22:00:53 +00:00
dependabot[bot] 119d097795 Bump pyrefly from 0.62.0 to 0.63.1 in /backend (#1703)
Bumps [pyrefly](https://github.com/facebook/pyrefly) from 0.62.0 to
0.63.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/facebook/pyrefly/releases">pyrefly's
releases</a>.</em></p>
<blockquote>
<h2>Pyrefly v0.63.1</h2>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/facebook/pyrefly/compare/0.63.0...0.63.1">https://github.com/facebook/pyrefly/compare/0.63.0...0.63.1</a></p>
<h2>Pyrefly v0.63.0</h2>
<p><strong>Status : BETA</strong>
<em>Release date: April 27, 2026</em></p>
<p>Pyrefly v0.63.0 bundles <strong>129 commits</strong> from <strong>26
contributors</strong>.</p>
<hr />
<h2> New &amp; Improved</h2>
<table>
<thead>
<tr>
<th>Area</th>
<th>What's new</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Type Checking</strong></td>
<td>- Enum member types are preserved even when the metaclass conflicts
with <code>EnumMeta</code>, reducing noise in projects using custom
metaclasses with enums. <!-- raw HTML omitted --><!-- raw HTML omitted
-->- Constrained <code>TypeVar</code>s no longer get pinned to a
specific constraint when matched against <code>Any</code>, preventing
false positives. <!-- raw HTML omitted --><!-- raw HTML omitted -->-
Self/cls annotations on all methods and classmethods are validated to
ensure they reference the defining class or a superclass, catching more
annotation errors.</td>
</tr>
<tr>
<td><strong>Language Server</strong></td>
<td>- The LSP now reports <code>unused-ignore</code> diagnostics when
configured to do so, helping you clean up stale suppression comments.
<!-- raw HTML omitted --><!-- raw HTML omitted -->- Completions for
attribute override definitions are available in class bodies, surfacing
base-class members filtered by fuzzy match. <!-- raw HTML omitted
--><!-- raw HTML omitted -->- The LSP server no longer crashes on
Jupyter notebook cell URIs (<code>vscode-notebook-cell:</code>), with
full support for resolving notebook cell paths and position offsets.
<!-- raw HTML omitted --><!-- raw HTML omitted -->- Workspace symbol
search uses the correct location for re-exported symbols, preventing
panics on multi-byte UTF-8 characters. <!-- raw HTML omitted --><!-- raw
HTML omitted -->- Inlay hints are clickable for built-in types like
<code>tuple</code>, <code>dict</code>, and <code>str</code>, enabling
go-to-definition directly from hint overlays.</td>
</tr>
<tr>
<td><strong>Error Messages</strong></td>
<td>- A new <code>unnecessary-type-conversion</code> lint warns when
<code>str()</code>, <code>int()</code>, or <code>float()</code> is
called on an argument that is already of that exact type.</td>
</tr>
<tr>
<td><strong>Reporting &amp; Coverage</strong></td>
<td>- Public symbol filtering is available via <code>pyrefly report
--public-only</code>, using cross-module tracing to report only public
symbols.</td>
</tr>
<tr>
<td><strong>Performance</strong></td>
<td>- TypedDict subset checks are now cached on the Solver, reducing CPU
time by ~5.3x and wall time by ~6.7x on pydantic (from 9.5s to
1.4s).</td>
</tr>
<tr>
<td><strong>Configuration &amp; Initialization</strong></td>
<td>- <code>pyrefly init</code> supports <code>--dry-run</code> for safe
previews without writing files, and <code>--print-config</code> for
machine-readable TOML output.</td>
</tr>
</tbody>
</table>
<hr />
<h2>🐛 bug fixes</h2>
<p>We closed <strong>9</strong> bug issues this release 👏</p>
<ul>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3099">#3099</a>:
Fixed an issue where property setters and deleters inflated typable
counts in <code>pyrefly report</code> by incorrectly counting their
trivial <code>-&gt; None</code> return types.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3098">#3098</a>:
Fixed an issue where overloads in <code>pyrefly report</code> were not
deduplicated, causing parameters and callable signatures to be counted
multiple times and inflate coverage metrics.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3067">#3067</a>:
Fixed an issue where the type display path was dropping the unpack
marker (<code>*</code>) for direct <code>TypeVarTuple</code> arguments,
causing <code>Shape</code> to render bare instead of
<code>*Shape</code>.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3040">#3040</a>:
Fixed an issue where properties on metaclasses were not taking
precedence over properties on the class during class-level attribute
access, causing false <code>bad-assignment</code> and
<code>bad-return</code> errors.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3150">#3150</a>:
Fixed an issue where type aliases were inflating type coverage in
<code>pyrefly report</code> by being counted as typable entities.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3041">#3041</a>:
Fixed a panic during workspace/symbol requests on re-exported symbols
with multi-byte UTF-8 characters, caused by using the canonical module's
byte offset against the re-exporting file's buffer.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3109">#3109</a>:
Added a new <code>unnecessary-type-conversion</code> lint that warns
when <code>str()</code>, <code>int()</code>, or <code>float()</code> is
called on an argument that is already of that exact type, making the
conversion redundant.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3187">#3187</a>:
Fixed a panic in <code>pyrefly report</code> when
<code>@no_type_check</code> decorator was used, caused by a missing key
lookup for skipped parameter annotations.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3090">#3090</a>:
Improved the unused-coroutine error message when an <code>await</code>
expression already has <code>await</code> but produces a coroutine due
to an incorrect return type annotation on the function definition.</li>
</ul>
<p>Thank-you to all our contributors who found these bugs and reported
them! Did you know this is one of the most helpful contributions you can
make to an open-source project? If you find any bugs in Pyrefly we want
to know about them! Please open a bug report issue <a
href="https://github.com/facebook/pyrefly/issues">here</a></p>
<hr />
<h2>📦 Upgrade</h2>
<pre lang="bash"><code>pip install --upgrade pyrefly==0.63.0
</code></pre>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/facebook/pyrefly/commit/e765bc651ba4017f8e83872c62e497054edd922d"><code>e765bc6</code></a>
bump version</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/599bee32312972878756d0f54b36c161bad9598f"><code>599bee3</code></a>
better inlay hints docs</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/a4ff846acb0ce215b7a15c0253f150b0a506b099"><code>a4ff846</code></a>
Add module uri to module tsp types (<a
href="https://redirect.github.com/facebook/pyrefly/issues/3250">#3250</a>)</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/625877be165908162f4b875fba99daa61cb3e9cf"><code>625877b</code></a>
Implement multi-connection architecture (<a
href="https://redirect.github.com/facebook/pyrefly/issues/3218">#3218</a>)</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/252c52a3f8d0cbe902eb58aee929028f9375cff6"><code>252c52a</code></a>
move process_event into own block</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/18bb101c9061de6f42a698bd827f6e9248de6bed"><code>18bb101</code></a>
factor out snapshot_changed_notification</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/447f5f97e8badeff4a55e329d83fe4e67dc6ca8b"><code>447f5f9</code></a>
add set_experimental to server</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/84bdff6a151aec92969eea662a52cb24c1641a5b"><code>84bdff6</code></a>
Consolidate response helpers and extract parse_tsp_request</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/66b487bf83de7b00b0f615966c70b7ec290c4a2e"><code>66b487b</code></a>
Rename TspServer to TspConnection</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/43ec5ac1260b56cea8c9be45548751fb949c34d6"><code>43ec5ac</code></a>
Add IPC transport for TSP connections (<a
href="https://redirect.github.com/facebook/pyrefly/issues/3217">#3217</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/facebook/pyrefly/compare/0.62.0...0.63.1">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-03 22:00:28 +00:00
dependabot[bot] 1e1e1788e6 Bump uvicorn from 0.44.0 to 0.46.0 in /backend (#1698)
Bumps [uvicorn](https://github.com/Kludex/uvicorn) from 0.44.0 to
0.46.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Kludex/uvicorn/releases">uvicorn's
releases</a>.</em></p>
<blockquote>
<h2>Version 0.46.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Support <code>ws_max_size</code> in <code>wsproto</code>
implementation by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2915">Kludex/uvicorn#2915</a></li>
<li>Support <code>ws_ping_interval</code> and
<code>ws_ping_timeout</code> in <code>wsproto</code> implementation by
<a href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2916">Kludex/uvicorn#2916</a></li>
<li>Use <code>bytearray</code> for incoming WebSocket message buffer in
websockets-sansio by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2917">Kludex/uvicorn#2917</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/uvicorn/compare/0.45.0...0.46.0">https://github.com/Kludex/uvicorn/compare/0.45.0...0.46.0</a></p>
<h2>Version 0.45.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Preserve forwarded client ports in proxy headers middleware by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2903">Kludex/uvicorn#2903</a></li>
<li>Accept <code>os.PathLike</code> for <code>log_config</code> by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2905">Kludex/uvicorn#2905</a></li>
<li>Accept <code>log_level</code> strings case-insensitively by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2907">Kludex/uvicorn#2907</a></li>
<li>Raise helpful <code>ImportError</code> when PyYAML is missing for
YAML log config by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2906">Kludex/uvicorn#2906</a></li>
<li>Revert empty context for ASGI runs by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2911">Kludex/uvicorn#2911</a></li>
<li>Add <code>--reset-contextvars</code> flag to isolate ASGI request
context by <a href="https://github.com/Kludex"><code>@​Kludex</code></a>
in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2912">Kludex/uvicorn#2912</a></li>
<li>Revert &quot;Emit <code>http.disconnect</code> on server shutdown
for streaming responses&quot; (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2829">#2829</a>)
by <a href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2913">Kludex/uvicorn#2913</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/Krishnachaitanyakc"><code>@​Krishnachaitanyakc</code></a>
made their first contribution in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2870">Kludex/uvicorn#2870</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/uvicorn/compare/0.44.0...0.45.0">https://github.com/Kludex/uvicorn/compare/0.44.0...0.45.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md">uvicorn's
changelog</a>.</em></p>
<blockquote>
<h2>0.46.0 (April 23, 2026)</h2>
<h3>Added</h3>
<ul>
<li>Support <code>ws_max_size</code> in <code>wsproto</code>
implementation (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2915">#2915</a>)</li>
<li>Support <code>ws_ping_interval</code> and
<code>ws_ping_timeout</code> in <code>wsproto</code> implementation (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2916">#2916</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Use <code>bytearray</code> for incoming WebSocket message buffer in
<code>websockets-sansio</code> (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2917">#2917</a>)</li>
</ul>
<h2>0.45.0 (April 21, 2026)</h2>
<h3>Added</h3>
<ul>
<li>Add <code>--reset-contextvars</code> flag to isolate ASGI request
context (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2912">#2912</a>)</li>
<li>Accept <code>os.PathLike</code> for <code>log_config</code> (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2905">#2905</a>)</li>
<li>Accept <code>log_level</code> strings case-insensitively (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2907">#2907</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Revert &quot;Emit <code>http.disconnect</code> on server shutdown
for streaming responses&quot; (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2913">#2913</a>)</li>
<li>Revert &quot;Explicitly start ASGI run with empty context&quot; (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2911">#2911</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Preserve forwarded client ports in proxy headers middleware (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2903">#2903</a>)</li>
<li>Raise helpful <code>ImportError</code> when PyYAML is missing for
YAML log config (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2906">#2906</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Kludex/uvicorn/commit/b224045f5900b7f766743bcb16ba9fc3adea2606"><code>b224045</code></a>
Version 0.46.0 (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2918">#2918</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/7375b5bf66d962186d663e85615d4b4d956bf880"><code>7375b5b</code></a>
Use <code>bytearray</code> for incoming WebSocket message buffer in
websockets-sansio (#...</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/d438fb16fe2d23c7bbc2ca7094645cff1f116458"><code>d438fb1</code></a>
Support <code>ws_ping_interval</code> and <code>ws_ping_timeout</code>
in <code>wsproto</code> implementation ...</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/3e6b96446653d0156434bce529a14c80764c9eda"><code>3e6b964</code></a>
Support <code>ws_max_size</code> in <code>wsproto</code> implementation
(<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2915">#2915</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/2c423bd82be169459ea254a61476de34767e0326"><code>2c423bd</code></a>
Version 0.45.0 (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2914">#2914</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/7f027f8e25e47668a9c2ce8b5c21b35054c48d02"><code>7f027f8</code></a>
Revert &quot;Emit <code>http.disconnect</code> on server shutdown for
streaming responses&quot; (#...</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/73a80c3cc87de269ed016e584a25e585ae6f2b44"><code>73a80c3</code></a>
Add <code>--reset-contextvars</code> flag to isolate ASGI request
context (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2912">#2912</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/45c0b568d38e9bf4f2f036bc2d79eb98b0e72f72"><code>45c0b56</code></a>
Revert empty context for ASGI runs (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2911">#2911</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/850d92656de0cb5859ee5f6ba252e19ad3d38989"><code>850d926</code></a>
Raise helpful <code>ImportError</code> when PyYAML is missing for YAML
log config (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2906">#2906</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/fdcacb4b83bc686ea1ba9e50ffe5b8cfe49b3e00"><code>fdcacb4</code></a>
Accept <code>log_level</code> strings case-insensitively (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2907">#2907</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/Kludex/uvicorn/compare/0.44.0...0.46.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-26 09:48:31 +00:00
dependabot[bot] 38efd1e2b9 Bump pydantic-settings from 2.13.0 to 2.14.0 in /backend (#1697)
Bumps [pydantic-settings](https://github.com/pydantic/pydantic-settings)
from 2.13.0 to 2.14.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pydantic/pydantic-settings/releases">pydantic-settings's
releases</a>.</em></p>
<blockquote>
<h2>v2.14.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix parsing env vars into Optional Strict types by <a
href="https://github.com/hramezani"><code>@​hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/792">pydantic/pydantic-settings#792</a></li>
<li>Fix RecursionError with mutually recursive models in CLI by <a
href="https://github.com/hramezani"><code>@​hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/794">pydantic/pydantic-settings#794</a></li>
<li>Fix env_file from model_config ignored in CliApp.run() (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/795">#795</a>)
by <a href="https://github.com/hramezani"><code>@​hramezani</code></a>
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/796">pydantic/pydantic-settings#796</a></li>
<li>Update dependencies by <a
href="https://github.com/hramezani"><code>@​hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/798">pydantic/pydantic-settings#798</a></li>
<li>Add Dependabot configuration by <a
href="https://github.com/hramezani"><code>@​hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/801">pydantic/pydantic-settings#801</a></li>
<li>Bump samuelcolvin/check-python-version from 4.1 to 5 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/802">pydantic/pydantic-settings#802</a></li>
<li>Bump actions/upload-artifact from 4 to 7 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/803">pydantic/pydantic-settings#803</a></li>
<li>Bump actions/checkout from 4 to 6 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/804">pydantic/pydantic-settings#804</a></li>
<li>Bump astral-sh/setup-uv from 5 to 7 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/805">pydantic/pydantic-settings#805</a></li>
<li>Bump actions/setup-python from 5 to 6 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/806">pydantic/pydantic-settings#806</a></li>
<li>Ignore chardet and group GitHub Actions in Dependabot by <a
href="https://github.com/hramezani"><code>@​hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/808">pydantic/pydantic-settings#808</a></li>
<li>Bump actions/download-artifact from 4 to 8 in the github-actions
group by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/809">pydantic/pydantic-settings#809</a></li>
<li>Bump the python-packages group with 2 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/810">pydantic/pydantic-settings#810</a></li>
<li>Support reading .env files from FIFOs (e.g. 1Password Environments)
by <a href="https://github.com/JacobHayes"><code>@​JacobHayes</code></a>
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/776">pydantic/pydantic-settings#776</a></li>
<li>Fix AliasChoices ignored when changing provider priority by <a
href="https://github.com/hramezani"><code>@​hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/813">pydantic/pydantic-settings#813</a></li>
<li>fix: resolve KeyError in run_subcommand for underscore field names
by <a
href="https://github.com/bradykieffer"><code>@​bradykieffer</code></a>
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/799">pydantic/pydantic-settings#799</a></li>
<li>Bump the python-packages group with 3 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/814">pydantic/pydantic-settings#814</a></li>
<li>Fix <code>Literal[numeric Enum]</code> coercion for CLI and env vars
by <a href="https://github.com/m9810223"><code>@​m9810223</code></a> in
<a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/811">pydantic/pydantic-settings#811</a></li>
<li>Fix nested discriminated unions not discovered by env/CLI providers
by <a href="https://github.com/hramezani"><code>@​hramezani</code></a>
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/816">pydantic/pydantic-settings#816</a></li>
<li>Bump the python-packages group with 3 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/820">pydantic/pydantic-settings#820</a></li>
<li>CLI ensure env nested max split internally. by <a
href="https://github.com/kschwab"><code>@​kschwab</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/821">pydantic/pydantic-settings#821</a></li>
<li>Bump the python-packages group with 4 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/824">pydantic/pydantic-settings#824</a></li>
<li>Migrate <code>boto3-stubs</code> to <code>types-boto3</code> by <a
href="https://github.com/hramezani"><code>@​hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/831">pydantic/pydantic-settings#831</a></li>
<li>Fix CLI not recognizing field name with validate_by_name and
AliasChoices by <a
href="https://github.com/hramezani"><code>@​hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/826">pydantic/pydantic-settings#826</a></li>
<li>Allow customisation of the dotevn setting source to filter variables
by <a href="https://github.com/CaselIT"><code>@​CaselIT</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/832">pydantic/pydantic-settings#832</a></li>
<li>Bump the python-packages group with 3 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/833">pydantic/pydantic-settings#833</a></li>
<li>Introduce yamlfmt by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/836">pydantic/pydantic-settings#836</a></li>
<li>Bump boto3 from 1.42.82 to 1.42.83 in the python-packages group by
<a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/837">pydantic/pydantic-settings#837</a></li>
<li>Introduce zizmor by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/838">pydantic/pydantic-settings#838</a></li>
<li>Fix CliPositionalArg[list[CustomType]] crash for custom types by <a
href="https://github.com/hramezani"><code>@​hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/839">pydantic/pydantic-settings#839</a></li>
<li>Add note about Mypy plugin for <code>BaseSettings.__init__()</code>
by <a href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/842">pydantic/pydantic-settings#842</a></li>
<li>Fix <code>cli_ignore_unknown_args=True</code> not working on
subcommands by <a
href="https://github.com/hramezani"><code>@​hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/844">pydantic/pydantic-settings#844</a></li>
<li>Bump the python-packages group with 4 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/847">pydantic/pydantic-settings#847</a></li>
<li>Fix CLI descriptions lost under <code>python -OO</code> by falling
back to <code>json_schema_extra</code> by <a
href="https://github.com/hramezani"><code>@​hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/843">pydantic/pydantic-settings#843</a></li>
<li>Prepare release 2.14.0 by <a
href="https://github.com/hramezani"><code>@​hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/848">pydantic/pydantic-settings#848</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
made their first contribution in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/802">pydantic/pydantic-settings#802</a></li>
<li><a
href="https://github.com/JacobHayes"><code>@​JacobHayes</code></a> made
their first contribution in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/776">pydantic/pydantic-settings#776</a></li>
<li><a
href="https://github.com/bradykieffer"><code>@​bradykieffer</code></a>
made their first contribution in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/799">pydantic/pydantic-settings#799</a></li>
<li><a href="https://github.com/CaselIT"><code>@​CaselIT</code></a> made
their first contribution in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/832">pydantic/pydantic-settings#832</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/pydantic/pydantic-settings/compare/v2.13.1...v2.14.0">https://github.com/pydantic/pydantic-settings/compare/v2.13.1...v2.14.0</a></p>
<h2>v2.13.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix regression for bool fields since 2.13.0 by <a
href="https://github.com/hramezani"><code>@​hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/784">pydantic/pydantic-settings#784</a></li>
<li>Fix RecursionError with self-referential models in CliApp by <a
href="https://github.com/hramezani"><code>@​hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/783">pydantic/pydantic-settings#783</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/8916beeecc6d0510e3d0532a0ed839937400ddc3"><code>8916bee</code></a>
Prepare release 2.14.0 (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/848">#848</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/39e551c0910c85505b608ff85a103b2c9f7396c5"><code>39e551c</code></a>
Fix CLI descriptions lost under <code>python -OO</code> by falling back
to `json_schema_...</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/9ed7f48ea2c90f436a03b01f721fe6656c869b14"><code>9ed7f48</code></a>
Bump the python-packages group with 4 updates (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/847">#847</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/617c690fb16c95eb0fb98fc88c0d6d82b9af4fa9"><code>617c690</code></a>
Fix <code>cli_ignore_unknown_args=True</code> not working on subcommands
(<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/844">#844</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/577c05f7e8ac25904da2381db51ed4ddd4b3e4fe"><code>577c05f</code></a>
Add note about Mypy plugin for <code>BaseSettings.__init__()</code> (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/842">#842</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/2355bc54e9d442ca7916f02de28d0c936e75441c"><code>2355bc5</code></a>
Fix CliPositionalArg[list[CustomType]] crash for custom types (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/839">#839</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/16bd6fd230d6280d52db6ce2a0ffef8f908cc89d"><code>16bd6fd</code></a>
Introduce zizmor (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/838">#838</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/df8b239fe09ba712767bdf378bc90627df375f04"><code>df8b239</code></a>
Bump boto3 from 1.42.82 to 1.42.83 in the python-packages group (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/837">#837</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/c5401a27999cd6c0e93925deb0660cd51013c8b1"><code>c5401a2</code></a>
Introduce yamlfmt (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/836">#836</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic-settings/commit/953e28e6cfe9a9e536375d771a4ffd48535a4ab2"><code>953e28e</code></a>
Bump the python-packages group with 3 updates (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/833">#833</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pydantic/pydantic-settings/compare/v2.13.0...v2.14.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-26 09:48:21 +00:00
dependabot[bot] 4fb0d150f5 Bump pyrefly from 0.61.1 to 0.62.0 in /backend (#1696)
Bumps [pyrefly](https://github.com/facebook/pyrefly) from 0.61.1 to
0.62.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/facebook/pyrefly/releases">pyrefly's
releases</a>.</em></p>
<blockquote>
<h2>Pyrefly v0.62.0</h2>
<p><strong>Status : BETA</strong>
<em>Release date: April 20, 2026</em></p>
<p>Pyrefly v0.62.0 bundles <strong>87 commits</strong> from <strong>23
contributors</strong>.</p>
<hr />
<h2> New &amp; Improved</h2>
<table>
<thead>
<tr>
<th>Area</th>
<th>What's new</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Type Checking</strong></td>
<td>- <code>TypeVarTuple</code> inference has been changed to be
consistent with <code>TypeVar</code>, per a recent change to the typing
spec. <!-- raw HTML omitted --><!-- raw HTML omitted -->- Errors logged
during speculative union checks and overload calls are now reverted,
eliminating a source of confusing false positives. <!-- raw HTML omitted
--><!-- raw HTML omitted -->- Union-typed decorators that return fully
unknown types (either <code>Unknown</code> or callables with all-unknown
signatures) preserve the original function signature instead of
replacing it with <code>Unknown</code>, reducing false positives by ~23%
on TensorFlow.</td>
</tr>
<tr>
<td><strong>Language Server</strong></td>
<td>- Semantic tokens and completions work for <code>inmemory://</code>
documents on Windows. <!-- raw HTML omitted --><!-- raw HTML omitted
-->- LSP server crashes from out-of-range line numbers in client
requests are prevented by clamping positions to the buffer's valid
range.</td>
</tr>
<tr>
<td><strong>Error Reporting</strong></td>
<td>- Error kinds can now have sub-kinds that can be disabled using
their shared prefix. <!-- raw HTML omitted --><!-- raw HTML omitted -->-
Invariance checks for mutable attributes (corresponding to mypy's
<code>mutable-override</code> opt-in behavior) have been moved to a new
<code>bad-override-mutable-attribute</code> error code that is a
sub-kind of <code>bad-override</code>. <!-- raw HTML omitted --><!-- raw
HTML omitted -->- The <code>bad-param-name-override</code> error has
been renamed to <code>bad-override-param-name</code> and made a sub-kind
of <code>bad-override</code>. <!-- raw HTML omitted --><!-- raw HTML
omitted -->- Sub-configs that define <code>[errors]</code> inherit the
root config's error severity overrides for any codes they don't
explicitly set.</td>
</tr>
<tr>
<td><strong>Configuration</strong></td>
<td>- When migrating from mypy via <code>pyrefly init</code>,
<code>bad-override-mutable-attribute</code> is disabled by default to
match mypy's behavior. <!-- raw HTML omitted --><!-- raw HTML omitted
-->- Project excludes (e.g., <code>project-excludes =
[&quot;**/*.ipynb&quot;]</code>) no longer block discovery of
<code>.py</code> files when the default <code>project-includes</code>
contains both <code>**/*.py*</code> and <code>**/*.ipynb</code>.</td>
</tr>
</tbody>
</table>
<hr />
<h2>🐛 bug fixes</h2>
<p>We closed 12 bug issues this release 👏</p>
<ul>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3118">#3118</a>:
Fixed incorrect stub package recommendations for typeshed third-party
libraries. Pyrefly now suggests the correct package name (e.g.,
<code>types-python-dateutil</code> for the <code>dateutil</code> module,
not <code>types-dateutil</code>) by extracting the module→package
mapping from the bundled typeshed archive, preventing potential
typosquatting.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3081">#3081</a>:
Fixed NewType wrappers with NoneType bases being incorrectly rejected or
treated inconsistently. <code>NewType(&quot;NewNoneType&quot;,
NoneType)</code> is now accepted as a valid nominal type declaration,
and plain <code>None</code> is correctly rejected where
<code>NewNoneType</code> is required.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3052">#3052</a>:
Fixed false positive <code>unexpected-keyword</code> errors for named
parameters before <code>*args: P.args</code>. Functions like
<code>call_with_retry(f, max_attempts=10, *args: P.args, **kwargs:
P.kwargs)</code> now correctly allow <code>max_attempts</code> to be
passed as a keyword argument, matching mypy and pyright behavior.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3110">#3110</a>:
Fixed LSP server crashes when the client sends a position with a line
number beyond the end of the buffer (e.g., after a
<code>DidChangeTextDocument</code> race where the file was truncated).
Out-of-range positions now map to EOF instead of panicking.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/2912">#2912</a>:
Fixed false positive <code>bad-argument-type</code> for
<code>list(null_values.items())</code> when the return type hint is a
union like <code>Sequence[str] | list[tuple[str, str]]</code>. Pyrefly
now tries constructing the class with each union member independently
and unions the results, ensuring the inferred type is assignable to the
hint.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/2644">#2644</a>:
Fixed false positive <code>bad-argument-type</code> when calling a
method with <code>AnyStr</code>. Placeholder variables used during
overload resolution are now saved and restored around overload calls,
preventing <code>AnyStr</code> from being incorrectly specialized to
<code>str</code> and polluting subsequent checks.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/2872">#2872</a>:
Fixed false positive <code>invalid-type-var</code> for generic functions
captured as closure default arguments. The <code>Visit</code>
implementation for <code>DefaultValue</code> now calls
<code>visit</code> instead of <code>recurse</code>, ensuring type-level
visitors see the <code>Type</code> node stored in the default
value.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3159">#3159</a>:
Fixed incorrect type inference for <code>.value</code> on enum members
with non-data-type mixins. Mixins that don't define <code>__new__</code>
(e.g., <code>class Meta: pass</code>) are no longer treated as data type
mixins, so <code>Foo.bar.value</code> correctly returns
<code>Literal[1]</code> instead of <code>Meta</code>.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3161">#3161</a>:
Fixed false positive <code>bad-argument-type</code> for overloaded
functions with vararg unpacking (e.g., <code>*args: *tuple[int,
str]</code>). Type check errors for unpacked varargs are now sent to
<code>call_errors</code> instead of <code>arg_errors</code>, so they
don't cause the overload to be incorrectly rejected.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3047">#3047</a>:
Fixed false positive <code>bad-specialization</code> when matching a
type variable against a union like <code>N | Iterable[N]</code>. Pyrefly
now uses snapshot-based rollback when trying each union member, ensuring
specialization errors from one branch don't leak into the final result
if another branch succeeds without errors.</li>
<li>And more! <a
href="https://redirect.github.com/facebook/pyrefly/issues/3122">#3122</a>,
<a
href="https://redirect.github.com/facebook/pyrefly/issues/3080">#3080</a>,
<a
href="https://redirect.github.com/facebook/pyrefly/issues/3074">#3074</a></li>
</ul>
<p>Thank-you to all our contributors who found these bugs and reported
them! Did you know this is one of the most helpful contributions you can
make to an open-source project? If you find any bugs in Pyrefly we want
to know about them! Please open a bug report issue <a
href="https://github.com/facebook/pyrefly/issues">here</a></p>
<hr />
<h2>📦 Upgrade</h2>
<pre lang="bash"><code>pip install --upgrade pyrefly==0.62.0
</code></pre>
<h3>How to safely upgrade your codebase</h3>
<p>Upgrading the version of Pyrefly you're using or a third-party
library you depend on can reveal new type errors in your code. Fixing
them all at once is often unrealistic. We've written scripts to help you
temporarily silence them. After upgrading, follow these steps:</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/facebook/pyrefly/commit/de2839344133e9cab81fcec5947a4c890a3564b4"><code>de28393</code></a>
Update pyrefly version</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/05a213c7ebe0674b284c8c9e4433ccc47399d481"><code>05a213c</code></a>
upgrade provenant to 0.0.22</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/141dd714f9755a11979d3ee36453d9dbd0272277"><code>141dd71</code></a>
Fix lint issues</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/4707a8fd6984811e52b41c0f61f51ce23b5cd7d9"><code>4707a8f</code></a>
Assume unannotated <code>__new__</code> returns <code>Self</code> (<a
href="https://redirect.github.com/facebook/pyrefly/issues/3139">#3139</a>)</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/05b3e73d044792017fe0edb8ec22eb201c4d34cb"><code>05b3e73</code></a>
Add provenant-cli binary dependency</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/593495be0eff4ed0356e9862a86aafc122e1f233"><code>593495b</code></a>
Bump semver 1.0.27 -&gt; 1.0.28</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/2dbb18dace24e8c7aa8469b61fcc4dd6458f4bfb"><code>2dbb18d</code></a>
Fix incorrect type inference for enum member .value with mixin</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/69bb0219795dad3be71c1288814b0b7595ebaec6"><code>69bb021</code></a>
Fix false positive invalid-type-var for generic functions used as
closure def...</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/9bc95b4747a8fe351ceb16e0b2e12977990c080c"><code>9bc95b4</code></a>
include a schema version in <code>pyrefly report</code> <a
href="https://redirect.github.com/facebook/pyrefly/issues/3103">#3103</a>
(<a
href="https://redirect.github.com/facebook/pyrefly/issues/3163">#3163</a>)</li>
<li><a
href="https://github.com/facebook/pyrefly/commit/24c22be0646f31120c4cf6da548c8ba0b1a3def8"><code>24c22be</code></a>
Fix(<a
href="https://redirect.github.com/facebook/pyrefly/issues/2918">#2918</a>):
<code>NotImplemented</code> being incorrectly accepted as a callable (<a
href="https://redirect.github.com/facebook/pyrefly/issues/3101">#3101</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/facebook/pyrefly/compare/0.61.1...0.62.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-26 09:47:44 +00:00