chore: bump the langchain-deps group across 3 directories with 7 updates (#35513)
Bumps the langchain-deps group with 2 updates in the /libs/core
directory: [langsmith](https://github.com/langchain-ai/langsmith-sdk)
and [ruff](https://github.com/astral-sh/ruff).
Bumps the langchain-deps group with 6 updates in the /libs/langchain
directory:
| Package | From | To |
| --- | --- | --- |
| [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.7.6` |
`0.7.9` |
| [ruff](https://github.com/astral-sh/ruff) | `0.15.2` | `0.15.4` |
| [langchain-aws](https://github.com/langchain-ai/langchain-aws) |
`1.3.0` | `1.3.1` |
| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1`
| `1.2.2` |
| langchainhub | `0.1.18` | `0.1.21` |
| [fastapi](https://github.com/fastapi/fastapi) | `0.133.0` | `0.135.1`
|
Bumps the langchain-deps group with 4 updates in the /libs/langchain_v1
directory: [ruff](https://github.com/astral-sh/ruff),
[langchain-aws](https://github.com/langchain-ai/langchain-aws),
[python-dotenv](https://github.com/theskumar/python-dotenv) and
[langgraph](https://github.com/langchain-ai/langgraph).
Updates `langsmith` from 0.7.6 to 0.7.9
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langsmith-sdk/releases">langsmith's
releases</a>.</em></p>
<blockquote>
<h2>v0.7.9</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: catch blocksize typeError by <a
href="https://github.com/ericdong-langchain"><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2499">langchain-ai/langsmith-sdk#2499</a></li>
<li>chore: bump py ver by <a
href="https://github.com/ericdong-langchain"><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2501">langchain-ai/langsmith-sdk#2501</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.8...v0.7.9">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.8...v0.7.9</a></p>
<h2>v0.7.8</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(ci): replace mistakenly pinned Node 22.4.1 with 22.x by <a
href="https://github.com/jkennedyvz"><code>@jkennedyvz</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2477">langchain-ai/langsmith-sdk#2477</a></li>
<li>chore: bump GitHub workflow Node.js versions to 24.x by <a
href="https://github.com/jkennedyvz"><code>@jkennedyvz</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2485">langchain-ai/langsmith-sdk#2485</a></li>
<li>chore(deps): bump the py-minor-and-patch group across 1 directory
with 15 updates by <a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2475">langchain-ai/langsmith-sdk#2475</a></li>
<li>chore(deps): bump rollup from 4.57.1 to 4.59.0 in
/js/internal/environment_tests/test-exports-vite in the npm_and_yarn
group across 1 directory by <a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2483">langchain-ai/langsmith-sdk#2483</a></li>
<li>feat(sandbox): add retry mechanism for python client by <a
href="https://github.com/DanielKneipp"><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2486">langchain-ai/langsmith-sdk#2486</a></li>
<li>chore(deps): bump rollup from 4.40.2 to 4.59.0 in /js by <a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2484">langchain-ai/langsmith-sdk#2484</a></li>
<li>Description change for read_dataset_version by <a
href="https://github.com/catherine-langchain"><code>@catherine-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2487">langchain-ai/langsmith-sdk#2487</a></li>
<li>feat(sandbox): async sandbox creation by <a
href="https://github.com/DanielKneipp"><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2493">langchain-ai/langsmith-sdk#2493</a></li>
<li>docs: rm pytest beta docstring by <a
href="https://github.com/baskaryan"><code>@baskaryan</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2496">langchain-ai/langsmith-sdk#2496</a></li>
<li>fix(anthropic): Add usage_metadata to metadata by <a
href="https://github.com/angus-langchain"><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2497">langchain-ai/langsmith-sdk#2497</a></li>
<li>Bump version: 0.7.7 → 0.7.8 by <a
href="https://github.com/angus-langchain"><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2498">langchain-ai/langsmith-sdk#2498</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/catherine-langchain"><code>@catherine-langchain</code></a>
made their first contribution in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2487">langchain-ai/langsmith-sdk#2487</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.7...v0.7.8">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.7...v0.7.8</a></p>
<h2>v0.7.7</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(js): subagent tool calls tracking for latest claude agent sdk by
<a href="https://github.com/dqbd"><code>@dqbd</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2463">langchain-ai/langsmith-sdk#2463</a></li>
<li>release(js): 0.5.5 by <a
href="https://github.com/dqbd"><code>@dqbd</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2464">langchain-ai/langsmith-sdk#2464</a></li>
<li>fix(js): Respect traceRawHttp for tracing streaming AI SDK calls by
<a href="https://github.com/jacoblee93"><code>@jacoblee93</code></a> in
<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2466">langchain-ai/langsmith-sdk#2466</a></li>
<li>release(js): 0.5.6 by <a
href="https://github.com/jacoblee93"><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2467">langchain-ai/langsmith-sdk#2467</a></li>
<li>feat(python): add WebSocket transport for sandbox commands by <a
href="https://github.com/DanielKneipp"><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2443">langchain-ai/langsmith-sdk#2443</a></li>
<li>test(python): add tests for WebSocket transport layer by <a
href="https://github.com/DanielKneipp"><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2445">langchain-ai/langsmith-sdk#2445</a></li>
<li>feat(python): use WebSocket transport by default with HTTP fallback
by <a
href="https://github.com/DanielKneipp"><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2446">langchain-ai/langsmith-sdk#2446</a></li>
<li>feat(python): add CommandHandle for streaming, kill, stdin, and
reconnect by <a
href="https://github.com/DanielKneipp"><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2450">langchain-ai/langsmith-sdk#2450</a></li>
<li>test(python): add tests for CommandHandle and sandbox streaming
integration by <a
href="https://github.com/DanielKneipp"><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2448">langchain-ai/langsmith-sdk#2448</a></li>
<li>docs(python): document sandbox streaming, kill, stdin, and reconnect
by <a
href="https://github.com/DanielKneipp"><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2449">langchain-ai/langsmith-sdk#2449</a></li>
<li>chore(deps): bump google-cloud-aiplatform from 1.126.1 to 1.133.0 in
/python by <a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2465">langchain-ai/langsmith-sdk#2465</a></li>
<li>fix(js): Fix list commits endpoint for private prompts by <a
href="https://github.com/jacoblee93"><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2479">langchain-ai/langsmith-sdk#2479</a></li>
<li>feat: persist failed trace payloads to disk for later replay by <a
href="https://github.com/angus-langchain"><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2476">langchain-ai/langsmith-sdk#2476</a></li>
<li>feat: add native thread querying support by <a
href="https://github.com/ericdong-langchain"><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2455">langchain-ai/langsmith-sdk#2455</a></li>
<li>feat: add raw response parsing for responses api to openai wrapper
by <a href="https://github.com/victorm-lc"><code>@victorm-lc</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2480">langchain-ai/langsmith-sdk#2480</a></li>
<li>fix: add integration and version num by <a
href="https://github.com/samecrowder"><code>@samecrowder</code></a> in
<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2481">langchain-ai/langsmith-sdk#2481</a></li>
<li>release(py): 0.5.7 by <a
href="https://github.com/samecrowder"><code>@samecrowder</code></a> in
<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2482">langchain-ai/langsmith-sdk#2482</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/samecrowder"><code>@samecrowder</code></a>
made their first contribution in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2481">langchain-ai/langsmith-sdk#2481</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/52339a4d73367f0dbf62f95aa5610dddc737eec9"><code>52339a4</code></a>
chore: bump py ver (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2501">#2501</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/8d464b565f76a3d7830e83477f3337083c0704b5"><code>8d464b5</code></a>
fix: catch blocksize typeError (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2499">#2499</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/d442f952cafa94044ce30d3671697d511e915ce1"><code>d442f95</code></a>
Bump version: 0.7.7 → 0.7.8 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2498">#2498</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/498536f09dd6faabe72cf79d8cf920e74f122c0c"><code>498536f</code></a>
fix(anthropic): Add usage_metadata to metadata (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2497">#2497</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/96a6801ac308ffcfe4725d03cba2803e11bea0cf"><code>96a6801</code></a>
docs: rm pytest beta docstring (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2496">#2496</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/b3141e3e4becea361fceede4917e1f39e2979595"><code>b3141e3</code></a>
feat(sandbox): async sandbox creation (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2493">#2493</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/430999bedb36b0891a114b5342d5dd45f5d458f0"><code>430999b</code></a>
Description change for read_dataset_version (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2487">#2487</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/b20cf2a7bd24496927adc8c3db1acfadb91f9d61"><code>b20cf2a</code></a>
chore(deps): bump rollup from 4.40.2 to 4.59.0 in /js (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2484">#2484</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/3c15041afa39de7e2ec43b9284dbe1c13cb62f04"><code>3c15041</code></a>
feat(sandbox): add retry mechanism for python client (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2486">#2486</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/1d29f1ce9b21dbb604a21afa1a1e67df1246dcc9"><code>1d29f1c</code></a>
chore(deps): bump rollup from 4.57.1 to 4.59.0 in
/js/internal/environment_te...</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.6...v0.7.9">compare
view</a></li>
</ul>
</details>
<br />
Updates `ruff` from 0.15.2 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.15.2...0.15.4">compare
view</a></li>
</ul>
</details>
<br />
Updates `langsmith` from 0.7.6 to 0.7.9
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langsmith-sdk/releases">langsmith's
releases</a>.</em></p>
<blockquote>
<h2>v0.7.9</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: catch blocksize typeError by <a
href="https://github.com/ericdong-langchain"><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2499">langchain-ai/langsmith-sdk#2499</a></li>
<li>chore: bump py ver by <a
href="https://github.com/ericdong-langchain"><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2501">langchain-ai/langsmith-sdk#2501</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.8...v0.7.9">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.8...v0.7.9</a></p>
<h2>v0.7.8</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(ci): replace mistakenly pinned Node 22.4.1 with 22.x by <a
href="https://github.com/jkennedyvz"><code>@jkennedyvz</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2477">langchain-ai/langsmith-sdk#2477</a></li>
<li>chore: bump GitHub workflow Node.js versions to 24.x by <a
href="https://github.com/jkennedyvz"><code>@jkennedyvz</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2485">langchain-ai/langsmith-sdk#2485</a></li>
<li>chore(deps): bump the py-minor-and-patch group across 1 directory
with 15 updates by <a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2475">langchain-ai/langsmith-sdk#2475</a></li>
<li>chore(deps): bump rollup from 4.57.1 to 4.59.0 in
/js/internal/environment_tests/test-exports-vite in the npm_and_yarn
group across 1 directory by <a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2483">langchain-ai/langsmith-sdk#2483</a></li>
<li>feat(sandbox): add retry mechanism for python client by <a
href="https://github.com/DanielKneipp"><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2486">langchain-ai/langsmith-sdk#2486</a></li>
<li>chore(deps): bump rollup from 4.40.2 to 4.59.0 in /js by <a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2484">langchain-ai/langsmith-sdk#2484</a></li>
<li>Description change for read_dataset_version by <a
href="https://github.com/catherine-langchain"><code>@catherine-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2487">langchain-ai/langsmith-sdk#2487</a></li>
<li>feat(sandbox): async sandbox creation by <a
href="https://github.com/DanielKneipp"><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2493">langchain-ai/langsmith-sdk#2493</a></li>
<li>docs: rm pytest beta docstring by <a
href="https://github.com/baskaryan"><code>@baskaryan</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2496">langchain-ai/langsmith-sdk#2496</a></li>
<li>fix(anthropic): Add usage_metadata to metadata by <a
href="https://github.com/angus-langchain"><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2497">langchain-ai/langsmith-sdk#2497</a></li>
<li>Bump version: 0.7.7 → 0.7.8 by <a
href="https://github.com/angus-langchain"><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2498">langchain-ai/langsmith-sdk#2498</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/catherine-langchain"><code>@catherine-langchain</code></a>
made their first contribution in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2487">langchain-ai/langsmith-sdk#2487</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.7...v0.7.8">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.7...v0.7.8</a></p>
<h2>v0.7.7</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(js): subagent tool calls tracking for latest claude agent sdk by
<a href="https://github.com/dqbd"><code>@dqbd</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2463">langchain-ai/langsmith-sdk#2463</a></li>
<li>release(js): 0.5.5 by <a
href="https://github.com/dqbd"><code>@dqbd</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2464">langchain-ai/langsmith-sdk#2464</a></li>
<li>fix(js): Respect traceRawHttp for tracing streaming AI SDK calls by
<a href="https://github.com/jacoblee93"><code>@jacoblee93</code></a> in
<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2466">langchain-ai/langsmith-sdk#2466</a></li>
<li>release(js): 0.5.6 by <a
href="https://github.com/jacoblee93"><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2467">langchain-ai/langsmith-sdk#2467</a></li>
<li>feat(python): add WebSocket transport for sandbox commands by <a
href="https://github.com/DanielKneipp"><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2443">langchain-ai/langsmith-sdk#2443</a></li>
<li>test(python): add tests for WebSocket transport layer by <a
href="https://github.com/DanielKneipp"><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2445">langchain-ai/langsmith-sdk#2445</a></li>
<li>feat(python): use WebSocket transport by default with HTTP fallback
by <a
href="https://github.com/DanielKneipp"><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2446">langchain-ai/langsmith-sdk#2446</a></li>
<li>feat(python): add CommandHandle for streaming, kill, stdin, and
reconnect by <a
href="https://github.com/DanielKneipp"><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2450">langchain-ai/langsmith-sdk#2450</a></li>
<li>test(python): add tests for CommandHandle and sandbox streaming
integration by <a
href="https://github.com/DanielKneipp"><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2448">langchain-ai/langsmith-sdk#2448</a></li>
<li>docs(python): document sandbox streaming, kill, stdin, and reconnect
by <a
href="https://github.com/DanielKneipp"><code>@DanielKneipp</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2449">langchain-ai/langsmith-sdk#2449</a></li>
<li>chore(deps): bump google-cloud-aiplatform from 1.126.1 to 1.133.0 in
/python by <a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2465">langchain-ai/langsmith-sdk#2465</a></li>
<li>fix(js): Fix list commits endpoint for private prompts by <a
href="https://github.com/jacoblee93"><code>@jacoblee93</code></a> in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2479">langchain-ai/langsmith-sdk#2479</a></li>
<li>feat: persist failed trace payloads to disk for later replay by <a
href="https://github.com/angus-langchain"><code>@angus-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2476">langchain-ai/langsmith-sdk#2476</a></li>
<li>feat: add native thread querying support by <a
href="https://github.com/ericdong-langchain"><code>@ericdong-langchain</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2455">langchain-ai/langsmith-sdk#2455</a></li>
<li>feat: add raw response parsing for responses api to openai wrapper
by <a href="https://github.com/victorm-lc"><code>@victorm-lc</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2480">langchain-ai/langsmith-sdk#2480</a></li>
<li>fix: add integration and version num by <a
href="https://github.com/samecrowder"><code>@samecrowder</code></a> in
<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2481">langchain-ai/langsmith-sdk#2481</a></li>
<li>release(py): 0.5.7 by <a
href="https://github.com/samecrowder"><code>@samecrowder</code></a> in
<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2482">langchain-ai/langsmith-sdk#2482</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/samecrowder"><code>@samecrowder</code></a>
made their first contribution in <a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2481">langchain-ai/langsmith-sdk#2481</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/52339a4d73367f0dbf62f95aa5610dddc737eec9"><code>52339a4</code></a>
chore: bump py ver (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2501">#2501</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/8d464b565f76a3d7830e83477f3337083c0704b5"><code>8d464b5</code></a>
fix: catch blocksize typeError (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2499">#2499</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/d442f952cafa94044ce30d3671697d511e915ce1"><code>d442f95</code></a>
Bump version: 0.7.7 → 0.7.8 (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2498">#2498</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/498536f09dd6faabe72cf79d8cf920e74f122c0c"><code>498536f</code></a>
fix(anthropic): Add usage_metadata to metadata (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2497">#2497</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/96a6801ac308ffcfe4725d03cba2803e11bea0cf"><code>96a6801</code></a>
docs: rm pytest beta docstring (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2496">#2496</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/b3141e3e4becea361fceede4917e1f39e2979595"><code>b3141e3</code></a>
feat(sandbox): async sandbox creation (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2493">#2493</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/430999bedb36b0891a114b5342d5dd45f5d458f0"><code>430999b</code></a>
Description change for read_dataset_version (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2487">#2487</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/b20cf2a7bd24496927adc8c3db1acfadb91f9d61"><code>b20cf2a</code></a>
chore(deps): bump rollup from 4.40.2 to 4.59.0 in /js (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2484">#2484</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/3c15041afa39de7e2ec43b9284dbe1c13cb62f04"><code>3c15041</code></a>
feat(sandbox): add retry mechanism for python client (<a
href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2486">#2486</a>)</li>
<li><a
href="https://github.com/langchain-ai/langsmith-sdk/commit/1d29f1ce9b21dbb604a21afa1a1e67df1246dcc9"><code>1d29f1c</code></a>
chore(deps): bump rollup from 4.57.1 to 4.59.0 in
/js/internal/environment_te...</li>
<li>Additional commits viewable in <a
href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.6...v0.7.9">compare
view</a></li>
</ul>
</details>
<br />
Updates `ruff` from 0.15.2 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.15.2...0.15.4">compare
view</a></li>
</ul>
</details>
<br />
Updates `langchain-aws` from 1.3.0 to 1.3.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langchain-aws/releases">langchain-aws's
releases</a>.</em></p>
<blockquote>
<h2>langchain-aws==1.3.1</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(aws): handle video blocks in _format_data_content_block by <a
href="https://github.com/sharyar"><code>@sharyar</code></a> in <a
href="https://redirect.github.com/langchain-ai/langchain-aws/pull/898">langchain-ai/langchain-aws#898</a></li>
<li>feat(aws): Support strict parameter in ChatBedrockConverse
bind_tools by <a
href="https://github.com/michaelnchin"><code>@michaelnchin</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langchain-aws/pull/882">langchain-ai/langchain-aws#882</a></li>
<li>fix(aws): Preserve input format of ChatBedrockConverse
additional_model_request_fields keys by <a
href="https://github.com/michaelnchin"><code>@michaelnchin</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langchain-aws/pull/886">langchain-ai/langchain-aws#886</a></li>
<li>release(aws): 1.3.1 by <a
href="https://github.com/michaelnchin"><code>@michaelnchin</code></a>
in <a
href="https://redirect.github.com/langchain-ai/langchain-aws/pull/902">langchain-ai/langchain-aws#902</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/sharyar"><code>@sharyar</code></a> made
their first contribution in <a
href="https://redirect.github.com/langchain-ai/langchain-aws/pull/898">langchain-ai/langchain-aws#898</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/langchain-aws/compare/langchain-aws==1.3.0...langchain-aws==1.3.1">https://github.com/langchain-ai/langchain-aws/compare/langchain-aws==1.3.0...langchain-aws==1.3.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/langchain-ai/langchain-aws/commit/2bec09d097ecbb1df487e9a20eeee868e9bcdaba"><code>2bec09d</code></a>
release(aws): 1.3.1 (<a
href="https://redirect.github.com/langchain-ai/langchain-aws/issues/902">#902</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchain-aws/commit/7166abca9f693070531923b744058d36122b1e9e"><code>7166abc</code></a>
fix(aws): Preserve input format of ChatBedrockConverse
additional_model_reque...</li>
<li><a
href="https://github.com/langchain-ai/langchain-aws/commit/81fdf3423762ada8f4bd21a86b35bff37206b85c"><code>81fdf34</code></a>
feat(aws): Support strict parameter in ChatBedrockConverse bind_tools
(<a
href="https://redirect.github.com/langchain-ai/langchain-aws/issues/882">#882</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchain-aws/commit/b0cab4705cf0529d37c87456c030001268851db5"><code>b0cab47</code></a>
fix(aws): handle video blocks in _format_data_content_block (<a
href="https://redirect.github.com/langchain-ai/langchain-aws/issues/898">#898</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchain-aws/commit/42edadb0e850da96ca93b3c32add33741eb644ab"><code>42edadb</code></a>
fix(langgraph-checkpoint-aws): shorten session_id when checkpoint_ns is
set t...</li>
<li><a
href="https://github.com/langchain-ai/langchain-aws/commit/558aeeaceae0fda4734d265af4cc338c01301616"><code>558aeea</code></a>
fix(langgraph-checkpoint-aws): Update to work with parallelized
integration t...</li>
<li>See full diff in <a
href="https://github.com/langchain-ai/langchain-aws/compare/langchain-aws==1.3.0...langchain-aws==1.3.1">compare
view</a></li>
</ul>
</details>
<br />
Updates `python-dotenv` from 1.2.1 to 1.2.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/theskumar/python-dotenv/releases">python-dotenv's
releases</a>.</em></p>
<blockquote>
<h2>v1.2.2</h2>
<h3>Added</h3>
<ul>
<li>Support for Python 3.14, including the free-threaded (3.14t) build.
(#)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>The <code>dotenv run</code> command now forwards flags directly to
the specified command by <a
href="https://github.com/bbc2"><code>@bbc2</code></a> in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/607">theskumar/python-dotenv#607</a></li>
<li>Improved documentation clarity regarding override behavior and the
reference page.</li>
<li>Updated PyPy support to version 3.11.</li>
<li>Documentation for FIFO file support.</li>
<li>Support for Python 3.9.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Improved <code>set_key</code> and <code>unset_key</code> behavior
when interacting with symlinks by <a
href="https://github.com/bbc2"><code>@bbc2</code></a> in <a
href="https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311">#790c5</a></li>
<li>Corrected the license specifier and added missing Python 3.14
classifiers in package metadata by <a
href="https://github.com/JYOuyang"><code>@JYOuyang</code></a> in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/590">theskumar/python-dotenv#590</a></li>
</ul>
<h3>Breaking Changes</h3>
<ul>
<li>
<p><code>dotenv.set_key</code> and <code>dotenv.unset_key</code> used to
follow symlinks in some
situations. This is no longer the case. For that behavior to be restored
in
all cases, <code>follow_symlinks=True</code> should be used.</p>
</li>
<li>
<p>In the CLI, <code>set</code> and <code>unset</code> used to follow
symlinks in some situations. This
is no longer the case.</p>
</li>
<li>
<p><code>dotenv.set_key</code>, <code>dotenv.unset_key</code> and the
CLI commands <code>set</code> and <code>unset</code>
used to reset the file mode of the modified .env file to
<code>0o600</code> in some
situations. This is no longer the case: The original mode of the file is
now
preserved. Is the file needed to be created or wasn't a regular file,
mode
<code>0o600</code> is used.</p>
</li>
</ul>
<h3>Misc</h3>
<ul>
<li>skip 000 permission tests for root user by <a
href="https://github.com/burnout-projects"><code>@burnout-projects</code></a>
in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/561">theskumar/python-dotenv#561</a></li>
<li>Bump actions/checkout from 5 to 6 in the github-actions group by <a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/593">theskumar/python-dotenv#593</a></li>
<li>Add Windows testing to CI by <a
href="https://github.com/bbc2"><code>@bbc2</code></a> in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/604">theskumar/python-dotenv#604</a></li>
<li>Improve workflow efficiency with best practices by <a
href="https://github.com/theskumar"><code>@theskumar</code></a> in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/609">theskumar/python-dotenv#609</a></li>
<li>Remove the use of <code>sh</code> in tests by <a
href="https://github.com/bbc2"><code>@bbc2</code></a> in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/612">theskumar/python-dotenv#612</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/JYOuyang"><code>@JYOuyang</code></a>
made their first contribution in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/590">theskumar/python-dotenv#590</a></li>
<li><a
href="https://github.com/burnout-projects"><code>@burnout-projects</code></a>
made their first contribution in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/561">theskumar/python-dotenv#561</a></li>
<li><a
href="https://github.com/cpackham-atlnz"><code>@cpackham-atlnz</code></a>
made their first contribution in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/597">theskumar/python-dotenv#597</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2">https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md">python-dotenv's
changelog</a>.</em></p>
<blockquote>
<h2>[1.2.2] - 2026-03-01</h2>
<h3>Added</h3>
<ul>
<li>Support for Python 3.14, including the free-threaded (3.14t) build.
(<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/588">#588</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>The <code>dotenv run</code> command now forwards flags directly to
the specified command by [<a
href="https://github.com/bbc2"><code>@bbc2</code></a>] in <a
href="https://redirect.github.com/theskumar/python-dotenv/issues/607">#607</a></li>
<li>Improved documentation clarity regarding override behavior and the
reference page.</li>
<li>Updated PyPy support to version 3.11.</li>
<li>Documentation for FIFO file support.</li>
<li>Dropped Support for Python 3.9.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Improved <code>set_key</code> and <code>unset_key</code> behavior
when interacting with symlinks by [<a
href="https://github.com/bbc2"><code>@bbc2</code></a>] in
[790c5c0]</li>
<li>Corrected the license specifier and added missing Python 3.14
classifiers in package metadata by [<a
href="https://github.com/JYOuyang"><code>@JYOuyang</code></a>] in <a
href="https://redirect.github.com/theskumar/python-dotenv/issues/590">#590</a></li>
</ul>
<h3>Breaking Changes</h3>
<ul>
<li>
<p><code>dotenv.set_key</code> and <code>dotenv.unset_key</code> used to
follow symlinks in some
situations. This is no longer the case. For that behavior to be restored
in
all cases, <code>follow_symlinks=True</code> should be used.</p>
</li>
<li>
<p>In the CLI, <code>set</code> and <code>unset</code> used to follow
symlinks in some situations. This
is no longer the case.</p>
</li>
<li>
<p><code>dotenv.set_key</code>, <code>dotenv.unset_key</code> and the
CLI commands <code>set</code> and <code>unset</code>
used to reset the file mode of the modified .env file to
<code>0o600</code> in some
situations. This is no longer the case: The original mode of the file is
now
preserved. Is the file needed to be created or wasn't a regular file,
mode
<code>0o600</code> is used.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/theskumar/python-dotenv/commit/36004e0e34be7665ff2b11a8a4005144f76f176d"><code>36004e0</code></a>
Bump version: 1.2.1 → 1.2.2</li>
<li><a
href="https://github.com/theskumar/python-dotenv/commit/eb202520e5933c9daf42501e1e42fdb0144002c8"><code>eb20252</code></a>
docs: update changelog for v1.2.2</li>
<li><a
href="https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311"><code>790c5c0</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/theskumar/python-dotenv/commit/43340da220fb4ca4f95357bbe21a3c7f8f1278b1"><code>43340da</code></a>
Remove the use of <code>sh</code> in tests (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/612">#612</a>)</li>
<li><a
href="https://github.com/theskumar/python-dotenv/commit/09d7cee32459e7abdcb5c9d8122a552589c06a9c"><code>09d7cee</code></a>
docs: clarify override behavior and document FIFO support (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/610">#610</a>)</li>
<li><a
href="https://github.com/theskumar/python-dotenv/commit/c8de2887c00198c22842c5ae5e92d1747467363c"><code>c8de288</code></a>
ci: improve workflow efficiency with best practices (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/609">#609</a>)</li>
<li><a
href="https://github.com/theskumar/python-dotenv/commit/7bd9e3dbfedc0983ad7d56d5570013035242bdf4"><code>7bd9e3d</code></a>
Add Windows testing to CI (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/604">#604</a>)</li>
<li><a
href="https://github.com/theskumar/python-dotenv/commit/1baaf04f336072e0ee324d5df9563ec767f14f81"><code>1baaf04</code></a>
Drop Python 3.9 support and update to PyPy 3.11 (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/608">#608</a>)</li>
<li><a
href="https://github.com/theskumar/python-dotenv/commit/4a22cf8993804aeede0c20b75bb1a29d3a99e9dc"><code>4a22cf8</code></a>
ci: enable testing on Python 3.14t (free-threaded) (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/588">#588</a>)</li>
<li><a
href="https://github.com/theskumar/python-dotenv/commit/e2e8e776b42e382ae38b44d3982dd649e7507dd4"><code>e2e8e77</code></a>
Fix license specifier (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/597">#597</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2">compare
view</a></li>
</ul>
</details>
<br />
Updates `langchainhub` from 0.1.18 to 0.1.21
Updates `fastapi` from 0.133.0 to 0.135.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.135.1</h2>
<h3>Fixes</h3>
<ul>
<li>🐛 Fix, avoid yield from a TaskGroup, only as an async context
manager, closed in the request async exit stack. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15038">#15038</a>
by <a
href="https://github.com/tiangolo"><code>@tiangolo</code></a>.</li>
</ul>
<h3>Docs</h3>
<ul>
<li>✏️ Fix typo in <code>docs/en/docs/_llm-test.md</code>. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15007">#15007</a>
by <a
href="https://github.com/adityagiri3600"><code>@adityagiri3600</code></a>.</li>
<li>📝 Update Skill, optimize context, trim and refactor into references.
PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15031">#15031</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/15037">#15037</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/15029">#15029</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/15036">#15036</a>
by <a
href="https://github.com/tiangolo"><code>@tiangolo</code></a>.</li>
</ul>
<h2>0.135.0</h2>
<h3>Features</h3>
<ul>
<li>✨ Add support for Server Sent Events. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/15030">#15030</a>
by <a href="https://github.com/tiangolo"><code>@tiangolo</code></a>.
<ul>
<li>New docs: <a
href="https://fastapi.tiangolo.com/tutorial/server-sent-events/">Server-Sent
Events (SSE)</a>.</li>
</ul>
</li>
</ul>
<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>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/fastapi/fastapi/commit/ca5f60ee72f35fb2134d8b5d26bbb75965bcff66"><code>ca5f60e</code></a>
🔖 Release version 0.135.1</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/87f75aa62c1dde90f4dfbfa7fc2c33127d757d34"><code>87f75aa</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/8a9258b169dce3e321f614c14b1877c18750d6c7"><code>8a9258b</code></a>
🐛 Fix, avoid yield from a TaskGroup, only as an async context manager,
closed...</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/60385078233e00f9f13307ff038f12f88fc5c240"><code>6038507</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/c796ba4f46a6e81477ce44eabe13fd01d82f2c4a"><code>c796ba4</code></a>
👥 Update FastAPI People - Experts (<a
href="https://redirect.github.com/fastapi/fastapi/issues/15037">#15037</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/b24aa03b888b78dd2ec6540d47c84a8676d6a7cb"><code>b24aa03</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/2c6104752a97273976c8a63e897de98a48f19ce0"><code>2c61047</code></a>
✏️ Fix typo in <code>docs/en/docs/_llm-test.md</code> (<a
href="https://redirect.github.com/fastapi/fastapi/issues/15007">#15007</a>)</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/e3bbeef8a2687fdf34d4de2d304a59135a30e63c"><code>e3bbeef</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/d726c8cb2b8e00279487fa8661a5276d2ff2125f"><code>d726c8c</code></a>
📝 Update release notes</li>
<li><a
href="https://github.com/fastapi/fastapi/commit/cf514e6d3839ca69ca45a55a6f862e74892339b9"><code>cf514e6</code></a>
👥 Update FastAPI People - Contributors and Translators (<a
href="https://redirect.github.com/fastapi/fastapi/issues/15029">#15029</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/fastapi/fastapi/compare/0.133.0...0.135.1">compare
view</a></li>
</ul>
</details>
<br />
Updates `ruff` from 0.15.2 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</c…