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="52339a4d73"><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="8d464b565f"><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="d442f952ca"><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="498536f09d"><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="96a6801ac3"><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="b3141e3e4b"><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="430999bedb"><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="b20cf2a7bd"><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="3c15041afa"><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="1d29f1ce9b"><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="f14edd8661"><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="fd09d37007"><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="81d655fadc"><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="625b4f5a67"><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="60facfa0bc"><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="fbb9fa75cc"><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="5bc49a9412"><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="a62ba8c6e2"><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="e5f2f36a3f"><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="0e19fc9a61"><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="52339a4d73"><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="8d464b565f"><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="d442f952ca"><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="498536f09d"><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="96a6801ac3"><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="b3141e3e4b"><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="430999bedb"><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="b20cf2a7bd"><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="3c15041afa"><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="1d29f1ce9b"><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="f14edd8661"><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="fd09d37007"><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="81d655fadc"><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="625b4f5a67"><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="60facfa0bc"><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="fbb9fa75cc"><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="5bc49a9412"><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="a62ba8c6e2"><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="e5f2f36a3f"><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="0e19fc9a61"><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="2bec09d097"><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="7166abca9f"><code>7166abc</code></a> fix(aws): Preserve input format of ChatBedrockConverse additional_model_reque...</li> <li><a href="81fdf34237"><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="b0cab4705c"><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="42edadb0e8"><code>42edadb</code></a> fix(langgraph-checkpoint-aws): shorten session_id when checkpoint_ns is set t...</li> <li><a href="558aeeacea"><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="790c5c0299">#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="36004e0e34"><code>36004e0</code></a> Bump version: 1.2.1 → 1.2.2</li> <li><a href="eb202520e5"><code>eb20252</code></a> docs: update changelog for v1.2.2</li> <li><a href="790c5c0299"><code>790c5c0</code></a> Merge commit from fork</li> <li><a href="43340da220"><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="09d7cee324"><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="c8de2887c0"><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="7bd9e3dbfe"><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="1baaf04f33"><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="4a22cf8993"><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="e2e8e776b4"><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="ca5f60ee72"><code>ca5f60e</code></a> 🔖 Release version 0.135.1</li> <li><a href="87f75aa62c"><code>87f75aa</code></a> 📝 Update release notes</li> <li><a href="8a9258b169"><code>8a9258b</code></a> 🐛 Fix, avoid yield from a TaskGroup, only as an async context manager, closed...</li> <li><a href="6038507823"><code>6038507</code></a> 📝 Update release notes</li> <li><a href="c796ba4f46"><code>c796ba4</code></a> 👥 Update FastAPI People - Experts (<a href="https://redirect.github.com/fastapi/fastapi/issues/15037">#15037</a>)</li> <li><a href="b24aa03b88"><code>b24aa03</code></a> 📝 Update release notes</li> <li><a href="2c6104752a"><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="e3bbeef8a2"><code>e3bbeef</code></a> 📝 Update release notes</li> <li><a href="d726c8cb2b"><code>d726c8c</code></a> 📝 Update release notes</li> <li><a href="cf514e6d38"><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</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... _Description has been truncated_ Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Packages
Important
This repository is structured as a monorepo, with various packages located in this libs/ directory. Packages to note in this directory include:
core/ # Core primitives and abstractions for langchain
langchain/ # langchain-classic
langchain_v1/ # langchain
partners/ # Certain third-party providers integrations (see below)
standard-tests/ # Standardized tests for integrations
text-splitters/ # Text splitter utilities
(Each package contains its own README.md file with specific details about that package.)
Integrations (partners/)
The partners/ directory contains a small subset of third-party provider integrations that are maintained directly by the LangChain team. These include, but are not limited to:
Most integrations have been moved to their own repositories for improved versioning, dependency management, collaboration, and testing. This includes packages from popular providers such as Google and AWS. Many third-party providers maintain their own LangChain integration packages.
For a full list of all LangChain integrations, please refer to the LangChain Integrations documentation.