Conversation
Bumps the github-actions group with 3 updates: [jakebailey/pyright-action](https://github.com/jakebailey/pyright-action), [actions/upload-artifact](https://github.com/actions/upload-artifact) and [actions/download-artifact](https://github.com/actions/download-artifact). Updates `jakebailey/pyright-action` from 2 to 3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/jakebailey/pyright-action/releases">jakebailey/pyright-action's releases</a>.</em></p> <blockquote> <h2>v3.0.0</h2> <ul> <li>Update github actions (<a href="https://redirect.github.com/jakebailey/pyright-action/issues/208">#208</a>) (5ceb87e)</li> <li>Update actions/cache action to v5 (<a href="https://redirect.github.com/jakebailey/pyright-action/issues/210">#210</a>) (49e6fb4)</li> <li>Disable type lint of build script (d991920)</li> <li>Fix tests (1edc551)</li> <li>Update action related deps (ce79cd6)</li> <li>Update non-action deps (88a1ce8)</li> <li>More v24 updates (c45be15)</li> <li>Bump to v3, node24 (7dc11cf)</li> <li>Update deps (f8c6100)</li> <li>Update github actions (<a href="https://redirect.github.com/jakebailey/pyright-action/issues/191">#191</a>) (e20b42a)</li> <li>Update github actions to v6 (<a href="https://redirect.github.com/jakebailey/pyright-action/issues/195">#195</a>) (f5686a6)</li> <li>Update deps (e058033)</li> </ul> <h2>v2.3.3</h2> <ul> <li>Fix lint (4599f31)</li> <li>Replace jest-path-serializer (1349f1a)</li> <li>Fix deps (f701448)</li> <li>fmt (ec50111)</li> <li>Update engines (41972b7)</li> <li>Update github actions (<a href="https://redirect.github.com/jakebailey/pyright-action/issues/180">#180</a>) (86e183a)</li> <li>Update actions/checkout action to v5 (<a href="https://redirect.github.com/jakebailey/pyright-action/issues/190">#190</a>) (8b711b9)</li> <li>Update deps (9631dc2)</li> <li>Update deps (fa0d678)</li> <li>Update github actions (<a href="https://redirect.github.com/jakebailey/pyright-action/issues/163">#163</a>) (623784a)</li> <li>Fix eslint (73a65bd)</li> <li>Update deps (dee7200)</li> <li>Update deps (ea37d1c)</li> <li>Update nvmrc (fb32d81)</li> <li>Update eslint (b0c5af5)</li> <li>Update deps (f4851c1)</li> <li>Update actions/cache action to v4.2.0 (<a href="https://redirect.github.com/jakebailey/pyright-action/issues/159">#159</a>) (57f6678)</li> <li>Update codecov/codecov-action action to v5 (<a href="https://redirect.github.com/jakebailey/pyright-action/issues/154">#154</a>) (f572338)</li> <li>Update github actions (<a href="https://redirect.github.com/jakebailey/pyright-action/issues/146">#146</a>) (b7d7f8e)</li> <li>Update deps (b721321)</li> <li>Update deps (4156862)</li> <li>Update github actions (<a href="https://redirect.github.com/jakebailey/pyright-action/issues/121">#121</a>) (ec480a0)</li> <li>Update deps (bfe39b3)</li> </ul> <h2>v2.3.2</h2> <ul> <li>Support explicit "latest" version (f6f691c)</li> <li>Update deps (c1dc810)</li> <li>Update node to latest runner version (0b5777b)</li> <li>Update deps (66bf589)</li> <li>Fix lint fmt (222ed7c)</li> <li>Fix compile for now (fa845b7)</li> <li>Update deps (d7583ac)</li> <li>Update vitest (64b81cd)</li> <li>Update deps (a084e58)</li> <li>Update deps (cbcd89c)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/jakebailey/pyright-action/commit/8ec14b5cfe41f26e5f41686a31eb6012758217ef"><code>8ec14b5</code></a> Release v3.0.2</li> <li><a href="https://github.com/jakebailey/pyright-action/commit/03fd2c0c594f76acd9e4472e00361d0ac371d3c8"><code>03fd2c0</code></a> Update mentioned checkout in readme</li> <li><a href="https://github.com/jakebailey/pyright-action/commit/9fb0169fdc561233dc09859a051595e53957b9ca"><code>9fb0169</code></a> Update mentioned setup-python in readme</li> <li><a href="https://github.com/jakebailey/pyright-action/commit/19c6c236fc5e080abdd5561f14f026ca883378c5"><code>19c6c23</code></a> Switch to tiny-jsonc</li> <li><a href="https://github.com/jakebailey/pyright-action/commit/12964857f8310c85319bcada3388572b1f5cf412"><code>1296485</code></a> fix lint</li> <li><a href="https://github.com/jakebailey/pyright-action/commit/20b106db9ef172e8c30782f0a3c4d9a99afa6eee"><code>20b106d</code></a> output metafile in build</li> <li><a href="https://github.com/jakebailey/pyright-action/commit/9b73e5f097fdaa21dcce526700dcf7415e09d3e6"><code>9b73e5f</code></a> Release v3.0.1</li> <li><a href="https://github.com/jakebailey/pyright-action/commit/c781035d4810ccba2ce648980dcc58eb7169468a"><code>c781035</code></a> Make docs reference v3</li> <li><a href="https://github.com/jakebailey/pyright-action/commit/61e7045315c3d22664d21e4fed96f366a9459e06"><code>61e7045</code></a> Release v3.0.0</li> <li><a href="https://github.com/jakebailey/pyright-action/commit/5ceb87eecfe07b8c6b4c1aa53086b343fde0db9c"><code>5ceb87e</code></a> Update github actions (<a href="https://redirect.github.com/jakebailey/pyright-action/issues/208">#208</a>)</li> <li>Additional commits viewable in <a href="https://github.com/jakebailey/pyright-action/compare/v2...v3">compare view</a></li> </ul> </details> <br /> Updates `actions/upload-artifact` from 6 to 7 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/upload-artifact/releases">actions/upload-artifact's releases</a>.</em></p> <blockquote> <h2>v7.0.0</h2> <h2>v7 What's new</h2> <h3>Direct Uploads</h3> <p>Adds support for uploading single files directly (unzipped). Callers can set the new <code>archive</code> parameter to <code>false</code> to skip zipping the file during upload. Right now, we only support single files. The action will fail if the glob passed resolves to multiple files. The <code>name</code> parameter is also ignored with this setting. Instead, the name of the artifact will be the name of the uploaded file.</p> <h3>ESM</h3> <p>To support new versions of the <code>@actions/*</code> packages, we've upgraded the package to ESM.</p> <h2>What's Changed</h2> <ul> <li>Add proxy integration test by <a href="https://github.com/Link"><code>@Link</code></a>- in <a href="https://redirect.github.com/actions/upload-artifact/pull/754">actions/upload-artifact#754</a></li> <li>Upgrade the module to ESM and bump dependencies by <a href="https://github.com/danwkennedy"><code>@danwkennedy</code></a> in <a href="https://redirect.github.com/actions/upload-artifact/pull/762">actions/upload-artifact#762</a></li> <li>Support direct file uploads by <a href="https://github.com/danwkennedy"><code>@danwkennedy</code></a> in <a href="https://redirect.github.com/actions/upload-artifact/pull/764">actions/upload-artifact#764</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/Link"><code>@Link</code></a>- made their first contribution in <a href="https://redirect.github.com/actions/upload-artifact/pull/754">actions/upload-artifact#754</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/upload-artifact/compare/v6...v7.0.0">https://github.com/actions/upload-artifact/compare/v6...v7.0.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/upload-artifact/commit/bbbca2ddaa5d8feaa63e36b76fdaad77386f024f"><code>bbbca2d</code></a> Support direct file uploads (<a href="https://redirect.github.com/actions/upload-artifact/issues/764">#764</a>)</li> <li><a href="https://github.com/actions/upload-artifact/commit/589182c5a4cec8920b8c1bce3e2fab1c97a02296"><code>589182c</code></a> Upgrade the module to ESM and bump dependencies (<a href="https://redirect.github.com/actions/upload-artifact/issues/762">#762</a>)</li> <li><a href="https://github.com/actions/upload-artifact/commit/47309c993abb98030a35d55ef7ff34b7fa1074b5"><code>47309c9</code></a> Merge pull request <a href="https://redirect.github.com/actions/upload-artifact/issues/754">#754</a> from actions/Link-/add-proxy-integration-tests</li> <li><a href="https://github.com/actions/upload-artifact/commit/02a8460834e70dab0ce194c64360c59dc1475ef0"><code>02a8460</code></a> Add proxy integration test</li> <li>See full diff in <a href="https://github.com/actions/upload-artifact/compare/v6...v7">compare view</a></li> </ul> </details> <br /> Updates `actions/download-artifact` from 7 to 8 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/download-artifact/releases">actions/download-artifact's releases</a>.</em></p> <blockquote> <h2>v8.0.0</h2> <h2>v8 - What's new</h2> <h3>Direct downloads</h3> <p>To support direct uploads in <code>actions/upload-artifact</code>, the action will no longer attempt to unzip all downloaded files. Instead, the action checks the <code>Content-Type</code> header ahead of unzipping and skips non-zipped files. Callers wishing to download a zipped file as-is can also set the new <code>skip-decompress</code> parameter to <code>false</code>.</p> <h3>Enforced checks (breaking)</h3> <p>A previous release introduced digest checks on the download. If a download hash didn't match the expected hash from the server, the action would log a warning. Callers can now configure the behavior on mismatch with the <code>digest-mismatch</code> parameter. To be secure by default, we are now defaulting the behavior to <code>error</code> which will fail the workflow run.</p> <h3>ESM</h3> <p>To support new versions of the @actions/* packages, we've upgraded the package to ESM.</p> <h2>What's Changed</h2> <ul> <li>Don't attempt to un-zip non-zipped downloads by <a href="https://github.com/danwkennedy"><code>@danwkennedy</code></a> in <a href="https://redirect.github.com/actions/download-artifact/pull/460">actions/download-artifact#460</a></li> <li>Add a setting to specify what to do on hash mismatch and default it to <code>error</code> by <a href="https://github.com/danwkennedy"><code>@danwkennedy</code></a> in <a href="https://redirect.github.com/actions/download-artifact/pull/461">actions/download-artifact#461</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/download-artifact/compare/v7...v8.0.0">https://github.com/actions/download-artifact/compare/v7...v8.0.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/download-artifact/commit/70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3"><code>70fc10c</code></a> Merge pull request <a href="https://redirect.github.com/actions/download-artifact/issues/461">#461</a> from actions/danwkennedy/digest-mismatch-behavior</li> <li><a href="https://github.com/actions/download-artifact/commit/f258da9a506b755b84a09a531814700b86ccfc62"><code>f258da9</code></a> Add change docs</li> <li><a href="https://github.com/actions/download-artifact/commit/ccc058e5fbb0bb2352213eaec3491e117cbc4a5c"><code>ccc058e</code></a> Fix linting issues</li> <li><a href="https://github.com/actions/download-artifact/commit/bd7976ba57ecea96e6f3df575eb922d11a12a9fd"><code>bd7976b</code></a> Add a setting to specify what to do on hash mismatch and default it to <code>error</code></li> <li><a href="https://github.com/actions/download-artifact/commit/ac21fcf45e0aaee541c0f7030558bdad38d77d6c"><code>ac21fcf</code></a> Merge pull request <a href="https://redirect.github.com/actions/download-artifact/issues/460">#460</a> from actions/danwkennedy/download-no-unzip</li> <li><a href="https://github.com/actions/download-artifact/commit/15999bff51058bc7c19b50ebbba518eaef7c26c0"><code>15999bf</code></a> Add note about package bumps</li> <li><a href="https://github.com/actions/download-artifact/commit/974686ed5098c7f9c9289ec946b9058e496a2561"><code>974686e</code></a> Bump the version to <code>v8</code> and add release notes</li> <li><a href="https://github.com/actions/download-artifact/commit/fbe48b1d2756394be4cd4358ed3bc1343b330e75"><code>fbe48b1</code></a> Update test names to make it clearer what they do</li> <li><a href="https://github.com/actions/download-artifact/commit/96bf374a614d4360e225874c3efd6893a3f285e7"><code>96bf374</code></a> One more test fix</li> <li><a href="https://github.com/actions/download-artifact/commit/b8c4819ef592cbe04fd93534534b38f853864332"><code>b8c4819</code></a> Fix skip decompress test</li> <li>Additional commits viewable in <a href="https://github.com/actions/download-artifact/compare/v7...v8">compare view</a></li> </ul> </details> <br /> 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 </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps the all group with 13 updates:
| Package | From | To |
| --- | --- | --- |
| [google-api-core](https://github.com/googleapis/google-cloud-python) |
`2.29.0` | `2.30.0` |
| [fastapi](https://github.com/fastapi/fastapi) | `0.128.0` | `0.134.0`
|
| [sse-starlette](https://github.com/sysid/sse-starlette) | `3.2.0` |
`3.3.2` |
| [starlette](https://github.com/Kludex/starlette) | `0.50.0` | `0.52.1`
|
| [grpcio](https://github.com/grpc/grpc) | `1.76.0` | `1.78.0` |
| [grpcio-tools](https://github.com/grpc/grpc) | `1.76.0` | `1.78.0` |
| [grpcio-reflection](https://grpc.io) | `1.76.0` | `1.78.0` |
|
[datamodel-code-generator](https://github.com/koxudaxi/datamodel-code-generator)
| `0.53.0` | `0.54.0` |
| [ruff](https://github.com/astral-sh/ruff) | `0.14.14` | `0.15.4` |
| [types-protobuf](https://github.com/typeshed-internal/stub_uploader) |
`6.32.1.20251210` | `6.32.1.20260221` |
| [autoflake](https://github.com/PyCQA/autoflake) | `2.3.1` | `2.3.3` |
| [trio](https://github.com/python-trio/trio) | `0.32.0` | `0.33.0` |
| [uvicorn](https://github.com/Kludex/uvicorn) | `0.40.0` | `0.41.0` |
Updates `google-api-core` from 2.29.0 to 2.30.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/google-cloud-python/releases">google-api-core's
releases</a>.</em></p>
<blockquote>
<h2>google-api-core: v2.30.0</h2>
<h2><a
href="https://github.com/googleapis/google-cloud-python/compare/google-api-core-v2.29.0...google-api-core-v2.30.0">2.30.0</a>
(2026-02-17)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>preserve exception cause (<a
href="https://github.com/googleapis/google-cloud-python/commit/c7fc19303e0f1d7357109a73c13f875a5ced7606">c7fc19303e0f1d7357109a73c13f875a5ced7606</a>)</li>
<li>require Python ≥ 3.9, protobuf ≥ 4.25.8 (<a
href="https://github.com/googleapis/google-cloud-python/commit/2d1aa4288c222b247fc49ea0da03c126c051e079">2d1aa4288c222b247fc49ea0da03c126c051e079</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/googleapis/google-cloud-python/commit/f0841b187388e1a63dcc258d48497b4356a60f3a"><code>f0841b1</code></a>
chore: librarian release pull request: 20260217T210947Z (<a
href="https://redirect.github.com/googleapis/google-cloud-python/issues/15573">#15573</a>)</li>
<li><a
href="https://github.com/googleapis/google-cloud-python/commit/fd22688dd38fffffeebdb8590541c79a4d5995c2"><code>fd22688</code></a>
chore: librarian onboard pull request: 20260218T181744Z (<a
href="https://redirect.github.com/googleapis/google-cloud-python/issues/15579">#15579</a>)</li>
<li><a
href="https://github.com/googleapis/google-cloud-python/commit/930dc0fd0425a221cf30b9b2e68a69726a3864ec"><code>930dc0f</code></a>
docs: update the list of available APIs (<a
href="https://redirect.github.com/googleapis/google-cloud-python/issues/15571">#15571</a>)</li>
<li><a
href="https://github.com/googleapis/google-cloud-python/commit/085a9fa86d6e4189b5dc495712457391d3a8575f"><code>085a9fa</code></a>
chores: add .repo-metadata.json for google-cloud-vectorsearch (<a
href="https://redirect.github.com/googleapis/google-cloud-python/issues/15574">#15574</a>)</li>
<li><a
href="https://github.com/googleapis/google-cloud-python/commit/4ca6f9e2f825c185d092f9879c05098659b1a871"><code>4ca6f9e</code></a>
chore: librarian generate pull request: 20260218T081656Z (<a
href="https://redirect.github.com/googleapis/google-cloud-python/issues/15577">#15577</a>)</li>
<li><a
href="https://github.com/googleapis/google-cloud-python/commit/e1b43528a2848c91a53b907474a7f787208995bf"><code>e1b4352</code></a>
chore(migration): Migrate code from googleapis/python-api-core into
packages/...</li>
<li><a
href="https://github.com/googleapis/google-cloud-python/commit/5f4fbded13aaf8e81b813297370038a259315d2c"><code>5f4fbde</code></a>
chore: revert changes to scripts</li>
<li><a
href="https://github.com/googleapis/google-cloud-python/commit/485bd6063b5143d287f8f1e8cbc5526c4c242ac0"><code>485bd60</code></a>
chore: clean up</li>
<li><a
href="https://github.com/googleapis/google-cloud-python/commit/452f5d8b33ebce54d229512855a34ca923040205"><code>452f5d8</code></a>
chore: update librarian state.yaml</li>
<li><a
href="https://github.com/googleapis/google-cloud-python/commit/d8e1a9abf6a581d3bc10bef2cfba788e3bdc3baa"><code>d8e1a9a</code></a>
chore: clean up</li>
<li>Additional commits viewable in <a
href="https://github.com/googleapis/google-cloud-python/compare/google-api-core-v2.29.0...google-api-core-v2.30.0">compare
view</a></li>
</ul>
</details>
<br />
Updates `fastapi` from 0.128.0 to 0.134.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.134.0</h2>
<h3>Features</h3>
<ul>
<li>✨ Add support for streaming JSON Lines and binary data with
<code>yield</code>. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15022">#15022</a>
by <a href="https://github.com/tiangolo"><code>@tiangolo</code></a>.
<ul>
<li>This also upgrades Starlette from <code>>=0.40.0</code> to
<code>>=0.46.0</code>, as it's needed to properly unrwap and re-raise
exceptions from exception groups.</li>
<li>New docs: <a
href="https://fastapi.tiangolo.com/tutorial/stream-json-lines/">Stream
JSON Lines</a>.</li>
<li>And new docs: <a
href="https://fastapi.tiangolo.com/advanced/stream-data/">Stream
Data</a>.</li>
</ul>
</li>
</ul>
<h3>Docs</h3>
<ul>
<li>📝 Update Library Agent Skill with streaming responses. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15024">#15024</a>
by <a
href="https://github.com/tiangolo"><code>@tiangolo</code></a>.</li>
<li>📝 Update docs for responses and new stream with <code>yield</code>.
PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15023">#15023</a>
by <a
href="https://github.com/tiangolo"><code>@tiangolo</code></a>.</li>
<li>📝 Add <code>await</code> in <code>StreamingResponse</code> code
example to allow cancellation. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14681">#14681</a>
by <a
href="https://github.com/casperdcl"><code>@casperdcl</code></a>.</li>
<li>📝 Rename <code>docs_src/websockets</code> to
<code>docs_src/websockets_</code> to avoid import errors. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14979">#14979</a>
by <a
href="https://github.com/YuriiMotov"><code>@YuriiMotov</code></a>.</li>
</ul>
<h3>Internal</h3>
<ul>
<li>🔨 Run tests with <code>pytest-xdist</code> and
<code>pytest-cov</code>. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14992">#14992</a>
by <a
href="https://github.com/YuriiMotov"><code>@YuriiMotov</code></a>.</li>
</ul>
<h2>0.133.1</h2>
<h3>Features</h3>
<ul>
<li>🔧 Add FastAPI Agent Skill. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14982">#14982</a>
by <a href="https://github.com/tiangolo"><code>@tiangolo</code></a>.
<ul>
<li>Read more about it in <a
href="https://tiangolo.com/ideas/library-agent-skills/">Library Agent
Skills</a>.</li>
</ul>
</li>
</ul>
<h3>Internal</h3>
<ul>
<li>✅ Fix all tests are skipped on Windows. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14994">#14994</a>
by <a
href="https://github.com/YuriiMotov"><code>@YuriiMotov</code></a>.</li>
</ul>
<h2>0.133.0</h2>
<h3>Upgrades</h3>
<ul>
<li>⬆️ Add support for Starlette 1.0.0+. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14987">#14987</a>
by <a
href="https://github.com/tiangolo"><code>@tiangolo</code></a>.</li>
</ul>
<h2>0.132.1</h2>
<h3>Refactors</h3>
<ul>
<li>♻️ Refactor logic to handle OpenAPI and Swagger UI escaping data. PR
<a
href="https://redirect.github.com/fastapi/fastapi/pull/14986">#14986</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/14972">#14972</a>
by <a
href="https://github.com/tiangolo"><code>@tiangolo</code></a>.</li>
<li>👷 Allow skipping <code>benchmark</code> job in <code>test</code>
workflow. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14974">#14974</a>
by <a
href="https://github.com/YuriiMotov"><code>@YuriiMotov</code></a>.</li>
</ul>
<h2>0.132.0</h2>
<h3>Breaking Changes</h3>
<ul>
<li>🔒️ Add <code>strict_content_type</code> checking for JSON requests.
PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/14978">#14978</a>
by <a href="https://github.com/tiangolo"><code>@tiangolo</code></a>.
<ul>
<li>Now FastAPI checks, by default, that JSON requests have a
<code>Content-Type</code> header with a valid JSON value, like
<code>application/json</code>, and rejects requests that don't.</li>
<li>If the clients for your app don't send a valid
<code>Content-Type</code> header you can disable this with
<code>strict_content_type=False</code>.</li>
</ul>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/fastapi/fastapi/commit/48d58ae3b6ef4ded5a4794618c00345667256d98"><code>48d58ae</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/d3b1d6cbd4d2429334bc07b735851d02c8a25631"><code>d3b1d6c</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/d98eb74da906e39e8fc9573b33fe5eefb1ea07e4"><code>d98eb74</code></a>
🔖 Release version 0.134.0</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/d33ad3f90fe193688d054782c056cab8cee2e003"><code>d33ad3f</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/b7fefb147e42004a0a2ecfa1b44c581cd7b4edd8"><code>b7fefb1</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/c01dc8b03c069650aaae702ef96eb648cd05dc38"><code>c01dc8b</code></a>
📝 Update Library Agent Skill with streaming responses (<a
href="https://redirect.github.com/fastapi/fastapi/issues/15024">#15024</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/8344d078e2fa39365ec71d6d9ad4ddd9c583c8f1"><code>8344d07</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/1377052c6cc5eff92a6bcbb54c0fcb66e14e06d7"><code>1377052</code></a>
📝 Update docs for responses and new stream with <code>yield</code> (<a
href="https://redirect.github.com/fastapi/fastapi/issues/15023">#15023</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/c0836dc1b7f4ba91e9563c8c4ccd0ebe655bc914"><code>c0836dc</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/c3f54a0794d8acadb0059c55edbb314678253921"><code>c3f54a0</code></a>
📝 Add <code>await</code> in <code>StreamingResponse</code> code example
to allow cancellation (<a
href="https://redirect.github.com/fastapi/fastapi/issues/14681">#14681</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/fastapi/fastapi/compare/0.128.0...0.134.0">compare
view</a></li>
</ul>
</details>
<br />
Updates `sse-starlette` from 3.2.0 to 3.3.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sysid/sse-starlette/releases">sse-starlette's
releases</a>.</em></p>
<blockquote>
<h2>v3.3.2</h2>
<h2>What's Changed</h2>
<ul>
<li>chore(deps): bump cryptography from 46.0.3 to 46.0.5 by <a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/sysid/sse-starlette/pull/166">sysid/sse-starlette#166</a></li>
<li>chore(deps): bump filelock from 3.20.1 to 3.20.3 by <a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/sysid/sse-starlette/pull/170">sysid/sse-starlette#170</a></li>
<li>Consolidate examples into 7 self-contained scripts by <a
href="https://github.com/sysid"><code>@sysid</code></a> in <a
href="https://redirect.github.com/sysid/sse-starlette/pull/171">sysid/sse-starlette#171</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/sysid/sse-starlette/compare/v3.3.1...v3.3.2">https://github.com/sysid/sse-starlette/compare/v3.3.1...v3.3.2</a></p>
<h2>v3.3.1</h2>
<h2>What's Changed</h2>
<ul>
<li>chore: modernize project infrastructure by <a
href="https://github.com/sysid"><code>@sysid</code></a> in <a
href="https://redirect.github.com/sysid/sse-starlette/pull/169">sysid/sse-starlette#169</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/sysid/sse-starlette/compare/v3.3.0...v3.3.1">https://github.com/sysid/sse-starlette/compare/v3.3.0...v3.3.1</a></p>
<h2>v3.3.0</h2>
<h2>What's Changed</h2>
<ul>
<li>feat: expose shutdown event for cooperative generator shutdown (<a
href="https://redirect.github.com/sysid/sse-starlette/issues/167">#167</a>)</li>
</ul>
<ul>
<li>chore(deps): 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/sysid/sse-starlette/pull/155">sysid/sse-starlette#155</a></li>
<li>chore(deps): bump virtualenv from 20.35.4 to 20.36.1 by <a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/sysid/sse-starlette/pull/162">sysid/sse-starlette#162</a></li>
<li>chore(deps): bump urllib3 from 2.6.2 to 2.6.3 by <a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/sysid/sse-starlette/pull/161">sysid/sse-starlette#161</a></li>
<li>chore(deps): bump cbor2 from 5.7.1 to 5.8.0 by <a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/sysid/sse-starlette/pull/163">sysid/sse-starlette#163</a></li>
<li>chore(deps): bump pyasn1 from 0.6.1 to 0.6.2 by <a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/sysid/sse-starlette/pull/160">sysid/sse-starlette#160</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/sysid/sse-starlette/compare/v3.2.0...v3.3.0">https://github.com/sysid/sse-starlette/compare/v3.2.0...v3.3.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/sysid/sse-starlette/commit/de9ed5d65813dde81dd541f0fcf066d743e4756d"><code>de9ed5d</code></a>
Bump version to 3.3.2</li>
<li><a
href="https://github.com/sysid/sse-starlette/commit/cc74bc86df8ef0763b7d39639cec7fc4196838b4"><code>cc74bc8</code></a>
Merge pull request <a
href="https://redirect.github.com/sysid/sse-starlette/issues/171">#171</a>
from sysid/001-cleanup-examples</li>
<li><a
href="https://github.com/sysid/sse-starlette/commit/0a3d0084b29f86efbf0703491c1e1f9d790c33fb"><code>0a3d008</code></a>
docs: consolidate examples into 7 self-contained scripts with PEP 723
metadata</li>
<li><a
href="https://github.com/sysid/sse-starlette/commit/dc238b5c878b598be463d69732aa1169c3e14b94"><code>dc238b5</code></a>
Merge pull request <a
href="https://redirect.github.com/sysid/sse-starlette/issues/170">#170</a>
from sysid/dependabot/uv/filelock-3.20.3</li>
<li><a
href="https://github.com/sysid/sse-starlette/commit/d9338992a427f1eaac9809ef4dd6b4b63ac32e28"><code>d933899</code></a>
Merge pull request <a
href="https://redirect.github.com/sysid/sse-starlette/issues/166">#166</a>
from sysid/dependabot/uv/cryptography-46.0.5</li>
<li><a
href="https://github.com/sysid/sse-starlette/commit/ff8bae4b825304290eba5e07bda005ce4cf4ebba"><code>ff8bae4</code></a>
fix: correct version to 3.3.1 (PR <a
href="https://redirect.github.com/sysid/sse-starlette/issues/168">#168</a>
merge reverted 3.3.0 to 3.2.0)</li>
<li><a
href="https://github.com/sysid/sse-starlette/commit/5ed4e200dfed59443240361ad9ac62e6ec4e0f93"><code>5ed4e20</code></a>
chore(deps): bump filelock from 3.20.1 to 3.20.3</li>
<li><a
href="https://github.com/sysid/sse-starlette/commit/ed680ded16daa59e91c4179b8cbe1563cd64fa92"><code>ed680de</code></a>
Bump version to 3.2.1</li>
<li><a
href="https://github.com/sysid/sse-starlette/commit/610af8e92bbf1ecb7335cfc9254d91183501fe74"><code>610af8e</code></a>
Merge pull request <a
href="https://redirect.github.com/sysid/sse-starlette/issues/169">#169</a>
from sysid/chore/maintenance</li>
<li><a
href="https://github.com/sysid/sse-starlette/commit/a46cce7cf4be11322b94de13e13ce82a369b70f8"><code>a46cce7</code></a>
chore: modernize project infrastructure</li>
<li>Additional commits viewable in <a
href="https://github.com/sysid/sse-starlette/compare/v3.2.0...v3.3.2">compare
view</a></li>
</ul>
</details>
<br />
Updates `starlette` from 0.50.0 to 0.52.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 0.52.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Only use <code>typing_extensions</code> in older Python versions by
<a href="https://github.com/Kludex"><code>@Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/starlette/pull/3109">Kludex/starlette#3109</a></li>
</ul>
<hr />
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/starlette/compare/0.52.0...0.52.1">https://github.com/Kludex/starlette/compare/0.52.0...0.52.1</a></p>
<h2>Version 0.52.0</h2>
<p>In this release, <code>State</code> can be accessed using
dictionary-style syntax for improved type safety (<a
href="https://redirect.github.com/Kludex/starlette/pull/3036">#3036</a>).</p>
<pre lang="python"><code>from collections.abc import AsyncIterator
from contextlib import asynccontextmanager
from typing import TypedDict
<p>import httpx</p>
<p>from starlette.applications import Starlette
from starlette.requests import Request</p>
<p>class State(TypedDict):
http_client: httpx.AsyncClient</p>
<p><a
href="https://github.com/asynccontextmanager"><code>@asynccontextmanager</code></a>
async def lifespan(app: Starlette) -> AsyncIterator[State]:
async with httpx.AsyncClient() as client:
yield {"http_client": client}</p>
<p>async def homepage(request: Request[State]):
client = request.state["http_client"]
# If you run the below line with mypy or pyright, it will reveal the
correct type.
reveal_type(client) # Revealed type is 'httpx.AsyncClient'
</code></pre></p>
<p>See <a
href="https://github.com/Kludex/starlette/blob/HEAD/lifespan.md#accessing-state">Accessing
State</a> for more details.</p>
<hr />
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/starlette/compare/0.51.0...0.52.0">https://github.com/Kludex/starlette/compare/0.51.0...0.52.0</a></p>
<h2>Version 0.51.0</h2>
<h2>Added</h2>
<ul>
<li>Add <code>allow_private_network</code> in
<code>CORSMiddleware</code> <a
href="https://redirect.github.com/Kludex/starlette/pull/3065">#3065</a>.</li>
</ul>
<h2>Changed</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</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>0.52.1 (January 18, 2026)</h2>
<h4>Fixed</h4>
<ul>
<li>Only use <code>typing_extensions</code> in older Python versions <a
href="https://redirect.github.com/Kludex/starlette/pull/3109">#3109</a>.</li>
</ul>
<h2>0.52.0 (January 18, 2026)</h2>
<p>In this release, <code>State</code> can be accessed using
dictionary-style syntax for improved type
safety (<a
href="https://redirect.github.com/Kludex/starlette/pull/3036">#3036</a>).</p>
<pre lang="python"><code>from collections.abc import AsyncIterator
from contextlib import asynccontextmanager
from typing import TypedDict
<p>import httpx</p>
<p>from starlette.applications import Starlette
from starlette.requests import Request</p>
<p>class State(TypedDict):
http_client: httpx.AsyncClient</p>
<p><a
href="https://github.com/asynccontextmanager"><code>@asynccontextmanager</code></a>
async def lifespan(app: Starlette) -> AsyncIterator[State]:
async with httpx.AsyncClient() as client:
yield {"http_client": client}</p>
<p>async def homepage(request: Request[State]):
client = request.state["http_client"]
# If you run the below line with mypy or pyright, it will reveal the
correct type.
reveal_type(client) # Revealed type is 'httpx.AsyncClient'
</code></pre></p>
<p>See <a
href="https://github.com/Kludex/starlette/blob/main/docs/lifespan.md#accessing-state">Accessing
State</a> for more details.</p>
<h2>0.51.0 (January 10, 2026)</h2>
<h4>Added</h4>
<ul>
<li>Add <code>allow_private_network</code> in
<code>CORSMiddleware</code> <a
href="https://redirect.github.com/Kludex/starlette/pull/3065">#3065</a>.</li>
</ul>
<h4>Changed</h4>
<ul>
<li>Increase warning stacklevel on <code>DeprecationWarning</code> for
wsgi module <a
href="https://redirect.github.com/Kludex/starlette/pull/3082">#3082</a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Kludex/starlette/commit/e5b8a5d200504a2608bed11fe6f66b1d20b9ae2c"><code>e5b8a5d</code></a>
Version 0.52.1 (<a
href="https://redirect.github.com/Kludex/starlette/issues/3110">#3110</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/d02eadecb5409e9553922081ac123757849335e7"><code>d02eade</code></a>
Only use <code>typing_extensions</code> in older Python versions (<a
href="https://redirect.github.com/Kludex/starlette/issues/3109">#3109</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/f490b42f5fa0808ead53115a45d907c6d8e16a47"><code>f490b42</code></a>
Version 0.52.0 (<a
href="https://redirect.github.com/Kludex/starlette/issues/3107">#3107</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/d8c7cf9aca95b31c7a70473d03c26bc8ce33cd74"><code>d8c7cf9</code></a>
Turn <code>State</code> into a <code>Mapping</code> (<a
href="https://redirect.github.com/Kludex/starlette/issues/3036">#3036</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/cfce146611f7cc2b14c524b26d7e1d6cf0ddcd9f"><code>cfce146</code></a>
chore: bump coverage (<a
href="https://redirect.github.com/Kludex/starlette/issues/3103">#3103</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/9138e5597285c6120821a6ad862880d479f329f3"><code>9138e55</code></a>
fix: setup github pages for deployment (<a
href="https://redirect.github.com/Kludex/starlette/issues/3102">#3102</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/aff6df756b231c42ca088788db4bf4b193f7cc5b"><code>aff6df7</code></a>
docs: add environment for github docs (<a
href="https://redirect.github.com/Kludex/starlette/issues/3101">#3101</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/434bab94749b8522b08bbef3eff5fb742629d4fd"><code>434bab9</code></a>
docS: fix gh pages deploy (<a
href="https://redirect.github.com/Kludex/starlette/issues/3100">#3100</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/03426be1d41fc3963cd2dab5f10992e137eaf5f4"><code>03426be</code></a>
docs: replace mkdocs by zensical (<a
href="https://redirect.github.com/Kludex/starlette/issues/3098">#3098</a>)</li>
<li><a
href="https://github.com/Kludex/starlette/commit/df2ee22bc072dc19962120a7559f8fc0de7a094e"><code>df2ee22</code></a>
Version 0.51.0 (<a
href="https://redirect.github.com/Kludex/starlette/issues/3097">#3097</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/Kludex/starlette/compare/0.50.0...0.52.1">compare
view</a></li>
</ul>
</details>
<br />
Updates `grpcio` from 1.76.0 to 1.78.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/grpc/grpc/releases">grpcio's
releases</a>.</em></p>
<blockquote>
<h2>Release v1.78.0</h2>
<p>This is release 1.78.0 (<a
href="https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md">gutsy</a>)
of gRPC Core.</p>
<p>For gRPC documentation, see <a href="https://grpc.io/">grpc.io</a>.
For previous releases, see <a
href="https://github.com/grpc/grpc/releases">Releases</a>.</p>
<p>This release contains refinements, improvements, and bug fixes, with
highlights listed below.</p>
<h2>C++</h2>
<ul>
<li>adding address_sorting dep in naming test build. (<a
href="https://redirect.github.com/grpc/grpc/pull/41045">#41045</a>)</li>
</ul>
<h2>Objective-C</h2>
<ul>
<li>[Backport][v1.78.x][Fix][Compiler] Plugins fall back to the edition
2023 for older protobuf. (<a
href="https://redirect.github.com/grpc/grpc/pull/41358">#41358</a>)</li>
</ul>
<h2>Python</h2>
<ul>
<li>[python] aio: fix race condition causing <code>asyncio.run()</code>
to hang forever during the shutdown process. (<a
href="https://redirect.github.com/grpc/grpc/pull/40989">#40989</a>)</li>
<li>[Python] Migrate to pyproject.toml build system from setup.py
builds. (<a
href="https://redirect.github.com/grpc/grpc/pull/40833">#40833</a>)</li>
<li>[Python] Log error details when ExecuteBatchError occurs (at DEBUG
level). (<a
href="https://redirect.github.com/grpc/grpc/pull/40921">#40921</a>)</li>
<li>[Python] Update setuptools min version to 77.0.1 . (<a
href="https://redirect.github.com/grpc/grpc/pull/40931">#40931</a>)</li>
</ul>
<h2>Ruby</h2>
<ul>
<li>[ruby] Fix version comparison for the ruby_abi_version symbol for
ruby 4 compatibility. (<a
href="https://redirect.github.com/grpc/grpc/pull/41061">#41061</a>)</li>
</ul>
<h2>Release v1.78.0-pre2</h2>
<p>This is a prerelease of gRPC Core 1.78.0 (gutsy).</p>
<p>For gRPC documentation, see <a href="https://grpc.io/">grpc.io</a>.
For previous releases, see <a
href="https://github.com/grpc/grpc/releases">Releases</a>.</p>
<p>This prerelease contains refinements, improvements, and bug
fixes.</p>
<h2>Release v1.78.0-pre1</h2>
<p>This is a prerelease of gRPC Core 1.78.0 (gutsy).</p>
<p>For gRPC documentation, see <a href="https://grpc.io/">grpc.io</a>.
For previous releases, see <a
href="https://github.com/grpc/grpc/releases">Releases</a>.</p>
<p>This prerelease contains refinements, improvements, and bug
fixes.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/grpc/grpc/commit/5e6ba94242b92e363220bc2163d55ce3554d4ecc"><code>5e6ba94</code></a>
[build] add missing includes (backport to 1.78.x) (<a
href="https://redirect.github.com/grpc/grpc/issues/41518">#41518</a>)</li>
<li><a
href="https://github.com/grpc/grpc/commit/e364c5ca7f28da753be233b4f1966ab309c01ed3"><code>e364c5c</code></a>
[PHP] ignore PHPUnit security advisory in Mac build (backport to 1.78.x)
(<a
href="https://redirect.github.com/grpc/grpc/issues/41">#41</a>...</li>
<li><a
href="https://github.com/grpc/grpc/commit/ea4d6271b2a3e94c1549317cc1e523be8f294dee"><code>ea4d627</code></a>
[Release] Bump version to 1.78.0 (on v1.78.x branch) (<a
href="https://redirect.github.com/grpc/grpc/issues/41489">#41489</a>)</li>
<li><a
href="https://github.com/grpc/grpc/commit/9840ecd84d075e53d5a01b93e3ea7c71cb641944"><code>9840ecd</code></a>
[Release] Bump version to 1.78.0-pre2 (on v1.78.x branch) (<a
href="https://redirect.github.com/grpc/grpc/issues/41397">#41397</a>)</li>
<li><a
href="https://github.com/grpc/grpc/commit/ea1d162a851c178dad9e8f90d7172c44228a93cb"><code>ea1d162</code></a>
[Backport][v1.78.x][Fix][Compiler] Plugins fall back to the edition 2023
for ...</li>
<li><a
href="https://github.com/grpc/grpc/commit/818a08f379de39de0dc594ac063b0ce99875ec47"><code>818a08f</code></a>
[Backport][v1.78.x][PHP] Fix runtime error with PHp8.5 alpha because
zend_exc...</li>
<li><a
href="https://github.com/grpc/grpc/commit/f7f13023412c1a589af7558eb0b9f8f664a76431"><code>f7f1302</code></a>
[Backport][v1.78.x][Fix][Build] Move xds-protos templates to the new
path (<a
href="https://redirect.github.com/grpc/grpc/issues/4">#4</a>...</li>
<li><a
href="https://github.com/grpc/grpc/commit/a38203462e4e64bc847942f08b6dffb780e5e70b"><code>a382034</code></a>
[Release] Bump version to 1.78.0-pre1 (on v1.78.x branch) (<a
href="https://redirect.github.com/grpc/grpc/issues/41290">#41290</a>)</li>
<li><a
href="https://github.com/grpc/grpc/commit/8d22d6239230b9f3c446f0bac719e46460cbdb30"><code>8d22d62</code></a>
[Release] Bump core version to 52.0.0 for upcoming release (<a
href="https://redirect.github.com/grpc/grpc/issues/41288">#41288</a>)</li>
<li><a
href="https://github.com/grpc/grpc/commit/ad19eab6500686839bb7ff14ec8f2a8463a32a57"><code>ad19eab</code></a>
[PH2][Settings][Security]</li>
<li>Additional commits viewable in <a
href="https://github.com/grpc/grpc/compare/v1.76.0...v1.78.0">compare
view</a></li>
</ul>
</details>
<br />
Updates `grpcio-tools` from 1.76.0 to 1.78.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/grpc/grpc/releases">grpcio-tools's
releases</a>.</em></p>
<blockquote>
<h2>Release v1.78.0</h2>
<p>This is release 1.78.0 (<a
href="https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md">gutsy</a>)
of gRPC Core.</p>
<p>For gRPC documentation, see <a href="https://grpc.io/">grpc.io</a>.
For previous releases, see <a
href="https://github.com/grpc/grpc/releases">Releases</a>.</p>
<p>This release contains refinements, improvements, and bug fixes, with
highlights listed below.</p>
<h2>C++</h2>
<ul>
<li>adding address_sorting dep in naming test build. (<a
href="https://redirect.github.com/grpc/grpc/pull/41045">#41045</a>)</li>
</ul>
<h2>Objective-C</h2>
<ul>
<li>[Backport][v1.78.x][Fix][Compiler] Plugins fall back to the edition
2023 for older protobuf. (<a
href="https://redirect.github.com/grpc/grpc/pull/41358">#41358</a>)</li>
</ul>
<h2>Python</h2>
<ul>
<li>[python] aio: fix race condition causing <code>asyncio.run()</code>
to hang forever during the shutdown process. (<a
href="https://redirect.github.com/grpc/grpc/pull/40989">#40989</a>)</li>
<li>[Python] Migrate to pyproject.toml build system from setup.py
builds. (<a
href="https://redirect.github.com/grpc/grpc/pull/40833">#40833</a>)</li>
<li>[Python] Log error details when ExecuteBatchError occurs (at DEBUG
level). (<a
href="https://redirect.github.com/grpc/grpc/pull/40921">#40921</a>)</li>
<li>[Python] Update setuptools min version to 77.0.1 . (<a
href="https://redirect.github.com/grpc/grpc/pull/40931">#40931</a>)</li>
</ul>
<h2>Ruby</h2>
<ul>
<li>[ruby] Fix version comparison for the ruby_abi_version symbol for
ruby 4 compatibility. (<a
href="https://redirect.github.com/grpc/grpc/pull/41061">#41061</a>)</li>
</ul>
<h2>Release v1.78.0-pre2</h2>
<p>This is a prerelease of gRPC Core 1.78.0 (gutsy).</p>
<p>For gRPC documentation, see <a href="https://grpc.io/">grpc.io</a>.
For previous releases, see <a
href="https://github.com/grpc/grpc/releases">Releases</a>.</p>
<p>This prerelease contains refinements, improvements, and bug
fixes.</p>
<h2>Release v1.78.0-pre1</h2>
<p>This is a prerelease of gRPC Core 1.78.0 (gutsy).</p>
<p>For gRPC documentation, see <a href="https://grpc.io/">grpc.io</a>.
For previous releases, see <a
href="https://github.com/grpc/grpc/releases">Releases</a>.</p>
<p>This prerelease contains refinements, improvements, and bug
fixes.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/grpc/grpc/commit/5e6ba94242b92e363220bc2163d55ce3554d4ecc"><code>5e6ba94</code></a>
[build] add missing includes (backport to 1.78.x) (<a
href="https://redirect.github.com/grpc/grpc/issues/41518">#41518</a>)</li>
<li><a
href="https://github.com/grpc/grpc/commit/e364c5ca7f28da753be233b4f1966ab309c01ed3"><code>e364c5c</code></a>
[PHP] ignore PHPUnit security advisory in Mac build (backport to 1.78.x)
(<a
href="https://redirect.github.com/grpc/grpc/issues/41">#41</a>...</li>
<li><a
href="https://github.com/grpc/grpc/commit/ea4d6271b2a3e94c1549317cc1e523be8f294dee"><code>ea4d627</code></a>
[Release] Bump version to 1.78.0 (on v1.78.x branch) (<a
href="https://redirect.github.com/grpc/grpc/issues/41489">#41489</a>)</li>
<li><a
href="https://github.com/grpc/grpc/commit/9840ecd84d075e53d5a01b93e3ea7c71cb641944"><code>9840ecd</code></a>
[Release] Bump version to 1.78.0-pre2 (on v1.78.x branch) (<a
href="https://redirect.github.com/grpc/grpc/issues/41397">#41397</a>)</li>
<li><a
href="https://github.com/grpc/grpc/commit/ea1d162a851c178dad9e8f90d7172c44228a93cb"><code>ea1d162</code></a>
[Backport][v1.78.x][Fix][Compiler] Plugins fall back to the edition 2023
for ...</li>
<li><a
href="https://github.com/grpc/grpc/commit/818a08f379de39de0dc594ac063b0ce99875ec47"><code>818a08f</code></a>
[Backport][v1.78.x][PHP] Fix runtime error with PHp8.5 alpha because
zend_exc...</li>
<li><a
href="https://github.com/grpc/grpc/commit/f7f13023412c1a589af7558eb0b9f8f664a76431"><code>f7f1302</code></a>
[Backport][v1.78.x][Fix][Build] Move xds-protos templates to the new
path (<a
href="https://redirect.github.com/grpc/grpc/issues/4">#4</a>...</li>
<li><a
href="https://github.com/grpc/grpc/commit/a38203462e4e64bc847942f08b6dffb780e5e70b"><code>a382034</code></a>
[Release] Bump version to 1.78.0-pre1 (on v1.78.x branch) (<a
href="https://redirect.github.com/grpc/grpc/issues/41290">#41290</a>)</li>
<li><a
href="https://github.com/grpc/grpc/commit/8d22d6239230b9f3c446f0bac719e46460cbdb30"><code>8d22d62</code></a>
[Release] Bump core version to 52.0.0 for upcoming release (<a
href="https://redirect.github.com/grpc/grpc/issues/41288">#41288</a>)</li>
<li><a
href="https://github.com/grpc/grpc/commit/ad19eab6500686839bb7ff14ec8f2a8463a32a57"><code>ad19eab</code></a>
[PH2][Settings][Security]</li>
<li>Additional commits viewable in <a
href="https://github.com/grpc/grpc/compare/v1.76.0...v1.78.0">compare
view</a></li>
</ul>
</details>
<br />
Updates `grpcio-reflection` from 1.76.0 to 1.78.0
Updates `datamodel-code-generator` from 0.53.0 to 0.54.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/koxudaxi/datamodel-code-generator/releases">datamodel-code-generator's
releases</a>.</em></p>
<blockquote>
<h2>0.54.0</h2>
<h2>Breaking Changes</h2>
<h3>Code Generation Changes</h3>
<ul>
<li>Enum member names from oneOf/anyOf const constructs now use
<code>title</code> field when provided - Previously, when creating enums
from <code>oneOf</code>/<code>anyOf</code> constructs with
<code>const</code> values, the <code>title</code> field was incorrectly
ignored and enum member names were generated using the pattern
<code>{type}_{value}</code> (e.g., <code>integer_200</code>). Now, when
a <code>title</code> is specified, it is correctly used as the enum
member name (e.g., <code>OK</code> instead of <code>integer_200</code>).
Users who have code depending on the previously generated enum member
names will need to update their references. (<a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/issues/2975">#2975</a>)
Before:
<pre lang="python"><code>class StatusCode(IntEnum):
integer_200 = 200
integer_404 = 404
integer_500 = 500
</code></pre>
After:
<pre lang="python"><code>class StatusCode(IntEnum):
OK = 200
Not_Found = 404
Server_Error = 500
</code></pre>
</li>
<li>Field names matching Python builtins are now automatically sanitized
- When a field name matches a Python builtin type AND the field's type
annotation uses that same builtin (e.g., <code>int: int</code>,
<code>list: list[str]</code>, <code>dict: dict[str, Any]</code>), the
field is now renamed with a trailing underscore (e.g.,
<code>int_</code>) and an alias is added to preserve the original JSON
field name. This prevents Python syntax issues and shadowing of builtin
types. Previously, such fields were generated as-is (e.g., <code>int:
int | None = None</code>), which could cause code that shadows Python
builtins. After this change, the same field becomes <code>int_: int |
None = Field(None, alias='int')</code>. This affects fields named:
<code>int</code>, <code>float</code>, <code>bool</code>,
<code>str</code>, <code>bytes</code>, <code>list</code>,
<code>dict</code>, <code>set</code>, <code>frozenset</code>,
<code>tuple</code>, and other Python builtins when their type annotation
uses the matching builtin type. (<a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/issues/2968">#2968</a>)</li>
<li>$ref with non-standard metadata fields no longer triggers schema
merging - Previously, when a <code>$ref</code> was combined with
non-standard fields like <code>markdownDescription</code>,
<code>if</code>, <code>then</code>, <code>else</code>, or other extras
not in the whitelist, the generator would merge schemas and potentially
create duplicate models (e.g., <code>UserWithExtra</code> alongside
<code>User</code>). Now, only whitelisted schema-affecting extras
(currently just <code>const</code>) trigger merging. This means:
<ul>
<li>Fewer merged/duplicate models will be generated</li>
<li>References are preserved directly instead of being expanded</li>
<li>Field types may change from inline merged types to direct references
Example schema:</li>
</ul>
<pre lang="yaml"><code>properties:
user:
$ref: "#/definitions/User"
nullable: true
markdownDescription: "A user object"
</code></pre>
Before: Could generate a merged <code>UserWithMarkdownDescription</code>
model
After: Directly uses <code>User | None</code> reference (<a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/issues/2993">#2993</a>)</li>
<li>Enum member names no longer get underscore suffix with
<code>--capitalise-enum-members</code> - Previously, enum values like
<code>replace</code>, <code>count</code>, <code>index</code> would
generate <code>REPLACE_</code>, <code>COUNT_</code>, <code>INDEX_</code>
when using <code>--capitalise-enum-members</code>. Now they correctly
generate <code>REPLACE</code>, <code>COUNT</code>, <code>INDEX</code>.
The underscore suffix is only added when
<code>--use-subclass-enum</code> is also used AND the lowercase name
conflicts with builtin type methods. Users relying on the previous
naming (e.g., referencing <code>MyEnum.REPLACE_</code> in code) will
need to update to use the new names without trailing underscores. (<a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/issues/2999">#2999</a>)</li>
<li>Fields using <code>$ref</code> with inline keywords now include
merged metadata - When a schema property uses <code>$ref</code>
alongside additional keywords (e.g., <code>const</code>,
<code>enum</code>, <code>readOnly</code>, constraints), the generator
now correctly merges metadata (description, title, constraints,
defaults, readonly/writeOnly) from the referenced schema into the field
definition. Previously, this metadata was lost. For example, a field
like <code>type: Type</code> may now become <code>type: Type =
Field(..., description='Type of this object.', title='type')</code> when
the referenced schema includes those attributes. This also affects
<code>additionalProperties</code> and OpenAPI parameter schemas. (<a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/issues/2997">#2997</a>)</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>Refactor ruff check+format to use sequential subprocess calls by <a
href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/pull/2967">koxudaxi/datamodel-code-generator#2967</a></li>
<li>Fix title ignored when creating enums from merging
<code>allOf</code>'s or <code>anyOf</code>'s objects by <a
href="https://github.com/ilovelinux"><code>@ilovelinux</code></a> in <a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/pull/2975">koxudaxi/datamodel-code-generator#2975</a></li>
<li>Fix aliased imports not applied to base classes and non-matching
fields by <a
href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/pull/2981">koxudaxi/datamodel-code-generator#2981</a></li>
<li>Fix handling of falsy default values for enums in
set-default-enum-member option by <a
href="https://github.com/kkinugasa"><code>@kkinugasa</code></a> in <a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/pull/2977">koxudaxi/datamodel-code-generator#2977</a></li>
<li>Fix use_union_operator with Python builtin type field names by <a
href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/pull/2968">koxudaxi/datamodel-code-generator#2968</a></li>
<li>Support $recursiveRef/$dynamicRef in JSON Schema and OpenAPI by <a
href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/pull/2982">koxudaxi/datamodel-code-generator#2982</a></li>
<li>Address review feedback for recursive/dynamic ref support by <a
href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/pull/2985">koxudaxi/datamodel-code-generator#2985</a></li>
<li>Fix RecursionError in _merge_ref_with_schema for circular $ref by <a
href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/pull/2983">koxudaxi/datamodel-code-generator#2983</a></li>
<li>Fix missing Field import with multiple aliases on required fields by
<a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/pull/2992">koxudaxi/datamodel-code-generator#2992</a></li>
<li>Fix patternProperties/propertyNames key constraints lost with
field_constraints by <a
href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/pull/2994">koxudaxi/datamodel-code-generator#2994</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/koxudaxi/datamodel-code-generator/blob/main/CHANGELOG.md">datamodel-code-generator's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/koxudaxi/datamodel-code-generator/releases/tag/0.54.0">0.54.0</a>
- 2026-02-14</h2>
<h2>Breaking Changes</h2>
<h3>Code Generation Changes</h3>
<ul>
<li>Enum member names from oneOf/anyOf const constructs now use
<code>title</code> field when provided - Previously, when creating enums
from <code>oneOf</code>/<code>anyOf</code> constructs with
<code>const</code> values, the <code>title</code> field was incorrectly
ignored and enum member names were generated using the pattern
<code>{type}_{value}</code> (e.g., <code>integer_200</code>). Now, when
a <code>title</code> is specified, it is correctly used as the enum
member name (e.g., <code>OK</code> instead of <code>integer_200</code>).
Users who have code depending on the previously generated enum member
names will need to update their references. (<a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/issues/2975">#2975</a>)
Before:
<pre lang="python"><code>class StatusCode(IntEnum):
integer_200 = 200
integer_404 = 404
integer_500 = 500
</code></pre>
After:
<pre lang="python"><code>class StatusCode(IntEnum):
OK = 200
Not_Found = 404
Server_Error = 500
</code></pre>
</li>
<li>Field names matching Python builtins are now automatically sanitized
- When a field name matches a Python builtin type AND the field's type
annotation uses that same builtin (e.g., <code>int: int</code>,
<code>list: list[str]</code>, <code>dict: dict[str, Any]</code>), the
field is now renamed with a trailing underscore (e.g.,
<code>int_</code>) and an alias is added to preserve the original JSON
field name. This prevents Python syntax issues and shadowing of builtin
types. Previously, such fields were generated as-is (e.g., <code>int:
int | None = None</code>), which could cause code that shadows Python
builtins. After this change, the same field becomes <code>int_: int |
None = Field(None, alias='int')</code>. This affects fields named:
<code>int</code>, <code>float</code>, <code>bool</code>,
<code>str</code>, <code>bytes</code>, <code>list</code>,
<code>dict</code>, <code>set</code>, <code>frozenset</code>,
<code>tuple</code>, and other Python builtins when their type annotation
uses the matching builtin type. (<a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/issues/2968">#2968</a>)</li>
<li>$ref with non-standard metadata fields no longer triggers schema
merging - Previously, when a <code>$ref</code> was combined with
non-standard fields like <code>markdownDescription</code>,
<code>if</code>, <code>then</code>, <code>else</code>, or other extras
not in the whitelist, the generator would merge schemas and potentially
create duplicate models (e.g., <code>UserWithExtra</code> alongside
<code>User</code>). Now, only whitelisted schema-affecting extras
(currently just <code>const</code>) trigger merging. This means:
<ul>
<li>Fewer merged/duplicate models will be generated</li>
<li>References are preserved directly instead of being expanded</li>
<li>Field types may change from inline merged types to direct references
Example schema:</li>
</ul>
<pre lang="yaml"><code>properties:
user:
$ref: "#/definitions/User"
nullable: true
markdownDescription: "A user object"
</code></pre>
Before: Could generate a merged <code>UserWithMarkdownDescription</code>
model
After: Directly uses <code>User | None</code> reference (<a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/issues/2993">#2993</a>)</li>
<li>Enum member names no longer get underscore suffix with
<code>--capitalise-enum-members</code> - Previously, enum values like
<code>replace</code>, <code>count</code>, <code>index</code> would
generate <code>REPLACE_</code>, <code>COUNT_</code>, <code>INDEX_</code>
when using <code>--capitalise-enum-members</code>. Now they correctly
generate <code>REPLACE</code>, <code>COUNT</code>, <code>INDEX</code>.
The underscore suffix is only added when
<code>--use-subclass-enum</code> is also used AND the lowercase name
conflicts with builtin type methods. Users relying on the previous
naming (e.g., referencing <code>MyEnum.REPLACE_</code> in code) will
need to update to use the new names without trailing underscores. (<a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/issues/2999">#2999</a>)</li>
<li>Fields using <code>$ref</code> with inline keywords now include
merged metadata - When a schema property uses <code>$ref</code>
alongside additional keywords (e.g., <code>const</code>,
<code>enum</code>, <code>readOnly</code>, constraints), the generator
now correctly merges metadata (description, title, constraints,
defaults, readonly/writeOnly) from the referenced schema into the field
definition. Previously, this metadata was lost. For example, a field
like <code>type: Type</code> may now become <code>type: Type =
Field(..., description='Type of this object.', title='type')</code> when
the referenced schema includes those attributes. This also affects
<code>additionalProperties</code> and OpenAPI parameter schemas. (<a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/issues/2997">#2997</a>)</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>Refactor ruff check+format to use sequential subprocess calls by <a
href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/pull/2967">koxudaxi/datamodel-code-generator#2967</a></li>
<li>Fix title ignored when creating enums from merging
<code>allOf</code>'s or <code>anyOf</code>'s objects by <a
href="https://github.com/ilovelinux"><code>@ilovelinux</code></a> in <a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/pull/2975">koxudaxi/datamodel-code-generator#2975</a></li>
<li>Fix aliased imports not applied to base classes and non-matching
fields by <a
href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/pull/2981">koxudaxi/datamodel-code-generator#2981</a></li>
<li>Fix handling of falsy default values for enums in
set-default-enum-member option by <a
href="https://github.com/kkinugasa"><code>@kkinugasa</code></a> in <a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/pull/2977">koxudaxi/datamodel-code-generator#2977</a></li>
<li>Fix use_union_operator with Python builtin type field names by <a
href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/pull/2968">koxudaxi/datamodel-code-generator#2968</a></li>
<li>Support $recursiveRef/$dynamicRef in JSON Schema and OpenAPI by <a
href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/pull/2982">koxudaxi/datamodel-code-generator#2982</a></li>
<li>Address review feedback for recursive/dynamic ref support by <a
href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/pull/2985">koxudaxi/datamodel-code-generator#2985</a></li>
<li>Fix RecursionError in _merge_ref_with_schema for circular $ref by <a
href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/pull/2983">koxudaxi/datamodel-code-generator#2983</a></li>
<li>Fix missing Field import with multiple aliases on required fields by
<a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/pull/2992">koxudaxi/datamodel-code-generator#2992</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/koxudaxi/datamodel-code-generator/commit/2ea62449515940d2af05e0723f8db2fd1b3cc11e"><code>2ea6244</code></a>
Fix incorrect relative imports with --use-exact-imports and
--collapse-root-m...</li>
<li><a
href="https://github.com/koxudaxi/datamodel-code-generator/commit/34b7d29a52765b2c6f3da920bc525bf37f0db624"><code>34b7d29</code></a>
fix codespeed python version (<a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/issues/3000">#3000</a>)</li>
<li><a
href="https://github.com/koxudaxi/datamodel-code-generator/commit/f3ef9c619a010ed4a30c2f7f6b514053f251a8e2"><code>f3ef9c6</code></a>
Fix merged result in parse_item not passed back to parse_object_fields
(<a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/issues/2997">#2997</a>)</li>
<li><a
href="https://github.com/koxudaxi/datamodel-code-generator/commit/501190398d5717a936301f550b61ecec520c8cb7"><code>5011903</code></a>
Fix extra underscore on enum members like replace with
--capitalise-enum-memb...</li>
<li><a
href="https://github.com/koxudaxi/datamodel-code-generator/commit/907a1a8cec66c4e25ef5dfe2128d131a5a9811f2"><code>907a1a8</code></a>
Fix exact imports with module/class name collision (<a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/issues/2998">#2998</a>)</li>
<li><a
href="https://github.com/koxudaxi/datamodel-code-generator/commit/2b659f001e744e1e95e464ab0d613fae0122bc01"><code>2b659f0</code></a>
Fix missing | None for nullable enum literals in TypedDict (<a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/issues/2991">#2991</a>)</li>
<li><a
href="https://github.com/koxudaxi/datamodel-code-generator/commit/992af20312420a2d8b8975fb9ee6e22430f5144f"><code>992af20</code></a>
Fix type loss when $ref is used with non-standard metadata fields (<a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/issues/2993">#2993</a>)</li>
<li><a
href="https://github.com/koxudaxi/datamodel-code-generator/commit/0f1bc0f41d758cfda02d4438cdbbd3c3b4265102"><code>0f1bc0f</code></a>
Fix patternProperties/propertyNames key constraints lost with
field_constrain...</li>
<li><a
href="https://github.com/koxudaxi/datamodel-code-generator/commit/24b576e5e514802f45fbfc39af29f6d53a983e49"><code>24b576e</code></a>
Fix missing Field import with multiple aliases on required fields (<a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/issues/2992">#2992</a>)</li>
<li><a
href="https://github.com/koxudaxi/datamodel-code-generator/commit/b58970a43c51805241fd93ce54deb23f2391052f"><code>b58970a</code></a>
Fix RecursionError in _merge_ref_with_schema for circular $ref (<a
href="https://redirect.github.com/koxudaxi/datamodel-code-generator/issues/2983">#2983</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/koxudaxi/datamodel-code-generator/compare/0.53.0...0.54.0">compare
view</a></li>
</ul>
</details>
<br />
Updates `ruff` from 0.14.14 to 0.15.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/releases">ruff's
releases</a>.</em></p>
<blockquote>
<h2>0.15.4</h2>
<h2>Release Notes</h2>
<p>Released on 2026-02-26.</p>
<p>This is a follow-up release to 0.15.3 that resolves a panic when the
new rule <code>PLR1712</code> was enabled with any rule that analyzes
definitions, such as many of the <code>ANN</code> or <code>D</code>
rules.</p>
<h3>Bug fixes</h3>
<ul>
<li>Fix panic on access to definitions after analyzing definitions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23588">#23588</a>)</li>
<li>[<code>pyflakes</code>] Suppress false positive in <code>F821</code>
for names used before <code>del</code> in stub files (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23550">#23550</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Clarify first-party import detection in Ruff (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23591">#23591</a>)</li>
<li>Fix incorrect <code>import-heading</code> example (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23568">#23568</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/stakeswky"><code>@stakeswky</code></a></li>
<li><a href="https://github.com/ntBre"><code>@ntBre</code></a></li>
<li><a
href="https://github.com/thejcannon"><code>@thejcannon</code></a></li>
<li><a href="https://github.com/GeObts"><code>@GeObts</code></a></li>
</ul>
<h2>Install ruff 0.15.4</h2>
<h3>Install prebuilt binaries via shell script</h3>
<pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf
https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-installer.sh
| sh
</code></pre>
<h3>Install prebuilt binaries via powershell script</h3>
<pre lang="sh"><code>powershell -ExecutionPolicy Bypass -c "irm
https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-installer.ps1
| iex"
</code></pre>
<h2>Download ruff 0.15.4</h2>
<table>
<thead>
<tr>
<th>File</th>
<th>Platform</th>
<th>Checksum</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-apple-darwin.tar.gz">ruff-aarch64-apple-darwin.tar.gz</a></td>
<td>Apple Silicon macOS</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-apple-darwin.tar.gz.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-x86_64-apple-darwin.tar.gz">ruff-x86_64-apple-darwin.tar.gz</a></td>
<td>Intel macOS</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-x86_64-apple-darwin.tar.gz.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-pc-windows-msvc.zip">ruff-aarch64-pc-windows-msvc.zip</a></td>
<td>ARM64 Windows</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-pc-windows-msvc.zip.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-i686-pc-windows-msvc.zip">ruff-i686-pc-windows-msvc.zip</a></td>
<td>x86 Windows</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-i686-pc-windows-msvc.zip.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-x86_64-pc-windows-msvc.zip">ruff-x86_64-pc-windows-msvc.zip</a></td>
<td>x64 Windows</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-x86_64-pc-windows-msvc.zip.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-unknown-linux-gnu.tar.gz">ruff-aarch64-unknown-linux-gnu.tar.gz</a></td>
<td>ARM64 Linux</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-unknown-linux-gnu.tar.gz.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-i686-unknown-linux-gnu.tar.gz">ruff-i686-unknown-linux-gnu.tar.gz</a></td>
<td>x86 Linux</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-i686-unknown-linux-gnu.tar.gz.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-powerpc64-unknown-linux-gnu.tar.gz">ruff-powerpc64-unknown-linux-gnu.tar.gz</a></td>
<td>PPC64 Linux</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-powerpc64-unknown-linux-gnu.tar.gz.sha256">checksum</a></td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md">ruff's
changelog</a>.</em></p>
<blockquote>
<h2>0.15.4</h2>
<p>Released on 2026-02-26.</p>
<p>This is a follow-up release to 0.15.3 that resolves a panic when the
new rule <code>PLR1712</code> was enabled with any rule that analyzes
definitions, such as many of the <code>ANN</code> or <code>D</code>
rules.</p>
<h3>Bug fixes</h3>
<ul>
<li>Fix panic on access to definitions after analyzing definitions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23588">#23588</a>)</li>
<li>[<code>pyflakes</code>] Suppress false positive in <code>F821</code>
for names used before <code>del</code> in stub files (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23550">#23550</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Clarify first-party import detection in Ruff (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23591">#23591</a>)</li>
<li>Fix incorrect <code>import-heading</code> example (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23568">#23568</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/stakeswky"><code>@stakeswky</code></a></li>
<li><a href="https://github.com/ntBre"><code>@ntBre</code></a></li>
<li><a
href="https://github.com/thejcannon"><code>@thejcannon</code></a></li>
<li><a href="https://github.com/GeObts"><code>@GeObts</code></a></li>
</ul>
<h2>0.15.3</h2>
<p>Released on 2026-02-26.</p>
<h3>Preview features</h3>
<ul>
<li>
<p>Drop explicit support for <code>.qmd</code> file extension (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23572">#23572</a>)</p>
<p>This can now be enabled instead by setting the <a
href="https://docs.astral.sh/ruff/settings/#extension"><code>extension</code></a>
option:</p>
<pre lang="toml"><code># ruff.toml
extension = { qmd = "markdown" }
<h1>pyproject.toml</h1>
<p>[tool.ruff]
extension = { qmd = "markdown" }
</code></pre></p>
</li>
<li>
<p>Include configured extensions in file discovery (<a
href="https://redirect.github.com/astral-sh/ruff/pull/23400">#23400</a>)</p>
</li>
<li>
<p>[<code>flake8-bandit</code>] Allow suspicious imports in
<code>TYPE_CHECKING</code> blocks (<code>S401</code>-<code>S415</code>)
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/23441">#23441</a>)</p>
</li>
<li>
<p>[<code>flake8-bugbear</code>] Allow <code>B901</code> in pytest hook
wrappers (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21931">#21931</a>)</p>
</li>
<li>
<p>[<code>flake8-import-conventions</code>] Add missing conventions from
upstream (<code>ICN001</code>, <code>ICN002</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21373">#21373</a>)</p>
</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/f14edd8661e2803254f89265548c7487f47a09f6"><code>f14edd8</code></a>
Bump 0.15.4 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23595">#23595</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/fd09d370076ab585444fd39f0fee79bf29280b68"><code>fd09d37</code></a>
Fix panic on access to definitions after analyzing definitions (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23588">#23588</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/81d655fadce087b792e524ed1964e9bcc31b73cd"><code>81d655f</code></a>
[<code>pyflakes</code>] suppress false positive in <code>F821</code> for
names used before <code>del</code> in...</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/625b4f5a672d1baaa6f25e0999ca428f3f2522f1"><code>625b4f5</code></a>
[ruff] docs: Clarify first-party import detection in Ruff (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23591">#23591</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/60facfa0bc02689637e25237f0df5abfc2f27054"><code>60facfa</code></a>
one word typo fix in a <code>while_loop.md</code> test case (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23589">#23589</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/fbb9fa75cc1915973a739da0ec469094176bfdc6"><code>fbb9fa7</code></a>
docs: fix incorrect import-heading example (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23568">#23568</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/5bc49a941279c9100ff834edae1cb63053aeec93"><code>5bc49a9</code></a>
Increase the ruleset size to 16 bits (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23586">#23586</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/a62ba8c6e2bac0b899d90fd30a1b26c07aac44bb"><code>a62ba8c</code></a>
[ty] Fix overloaded callable assignability for unary Callable targets
(<a
href="https://redirect.github.com/astral-sh/ruff/issues/23277">#23277</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/e5f2f36a3f49b45fd7506d42b12c495c2517e936"><code>e5f2f36</code></a>
Bump 0.15.3 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23585">#23585</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/0e19fc9a61477e71abc4eb76f05a129b6b9ab873"><code>0e19fc9</code></a>
[ty] defer calculating conjunctions in narrowing constraints (<a
href="https://redirect.github.com/astral-sh/ruff/issues/23552">#23552</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.14.14...0.15.4">compare
view</a></li>
</ul>
</details>
<br />
Updates `types-protobuf` from 6.32.1.20251210 to 6.32.1.20260221
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/typeshed-internal/stub_uploader/commits">compare
view</a></li>
</ul>
</details>
<br />
Updates `autoflake` from 2.3.1 to 2.3.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/PyCQA/autoflake/releases">autoflake's
releases</a>.</em></p>
<blockquote>
<h2>v2.3.3</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>pyproject: fix packaging by <a
href="https://github.com/fsouza"><code>@fsouza</code></a> in <a
href="https://redirect.github.com/PyCQA/autoflake/pull/342">PyCQA/autoflake#342</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/PyCQA/autoflake/compare/v2.3.2...v2.3.3">https://github.com/PyCQA/autoflake/compare/v2.3.2...v2.3.3</a></p>
<h2>v2.3.2</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Update README.md by <a
href="https://github.com/arkadybag"><code>@arkadybag</code></a> in <a
href="https://redirect.github.com/PyCQA/autoflake/pull/310">PyCQA/autoflake#310</a></li>
<li>Drop Python 3.8 by <a
href="https://github.com/fsouza"><code>@fsouza</code></a> in <a
href="https://redirect.github.com/PyCQA/autoflake/pull/312">PyCQA/autoflake#312</a></li>
<li>pre-commit-config: <code>--py39-plus</code> by <a
href="https://github.com/fsouza"><code>@fsouza</code></a> in <a
href="https://redirect.github.com/PyCQA/autoflake/pull/313">PyCQA/autoflake#313</a></li>
<li>github/workflows: add Python 3.13 to the test matrix by <a
href="https://github.com/fsouza"><code>@fsouza</code></a> in <a
href="https://redirect.github.com/PyCQA/autoflake/pull/316">PyCQA/autoflake#316</a></li>
<li>Fix TypeError in <code>is_literal_or_name</code> on unhashable set
literals by <a
href="https://github.com/Fridayai700"><code>@Fridayai700</code></a> in
<a
href="https://redirect.github.com/PyCQA/autoflake/pull/339">PyCQA/autoflake#339</a></li>
<li>Fix IndexError in <code>extract_package_name</code> on malformed
import lines by <a
href="https://github.com/Fridayai700"><code>@Fridayai700</code></a> in
<a
href="https://redirect.github.com/PyCQA/autoflake/pull/338">PyCQA/autof…
Create a task store adapter that uses the Vertex Managed Task Store as a backend. Fixes #751
…event GC (#775) # Description ResultAggregator.consume_and_break_on_interrupt creates a background asyncio.Task to continue consuming events after an interruption (non-blocking or auth_required), but discards the task reference. On Python 3.12+ the event loop only holds weak references to tasks, so the garbage collector can silently collect the task before it completes — dropping remaining events (completed/failed status) and push notification callbacks. Return the background task as a third tuple element so callers can hold a strong reference. DefaultRequestHandler.on_message_send now tracks it via _track_background_task(), the same mechanism already used for other background work. - [x] Follow the [`CONTRIBUTING` Guide](https://github.com/a2aproject/a2a-python/blob/main/CONTRIBUTING.md). - [x] Make your Pull Request title in the <https://www.conventionalcommits.org/> specification. - Important Prefixes for [release-please](https://github.com/googleapis/release-please): - `fix:` which represents bug fixes, and correlates to a [SemVer](https://semver.org/) patch. - `feat:` represents a new feature, and correlates to a SemVer minor. - `feat!:`, or `fix!:`, `refactor!:`, etc., which represent a breaking change (indicated by the `!`) and will result in a SemVer major. - [x] Ensure the tests and linter pass (Run `bash scripts/format.sh` from the repository root to format) Fixes #774 🦕 --------- Co-authored-by: Ivan Shymko <ishymko@google.com>
…ext (#744) ## summary - replace `default={}` and `default=UnauthenticatedUser()` with `default_factory=dict` and `default_factory=UnauthenticatedUser` in `ServerCallContext` to prevent shared mutable default instances across all instances.
🤖 I have created a release *beep* *boop* --- ## [0.3.25](v0.3.24...v0.3.25) (2026-03-10) ### Features * Implement a vertex based task store ([#752](#752)) ([fa14dbf](fa14dbf)) ### Bug Fixes * return background task from consume_and_break_on_interrupt to prevent GC ([#775](#775)) ([a236d4d](a236d4d)) * use default_factory for mutable field defaults in ServerCallContext ([#744](#744)) ([22b25d6](22b25d6)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request merges recent changes from the Highlights
Changelog
Ignored Files
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request introduces several improvements, most notably refactoring the handling of background asyncio tasks to ensure they are not prematurely garbage collected. The consume_and_break_on_interrupt function now correctly returns the created background task, making the caller responsible for tracking it. This change enhances the application's robustness. Other changes include fixing the use of mutable default arguments in a Pydantic model and refactoring for better testability. The accompanying test updates are thorough and align with the code changes. The overall quality of the changes is high, and I did not find any issues to report.
No description provided.