Bumps the langchain-deps group with 4 updates in the /libs/core directory: [langsmith](https://github.com/langchain-ai/langsmith-sdk), [uuid-utils](https://github.com/aminalaee/uuid-utils), [ruff](https://github.com/astral-sh/ruff) and [responses](https://github.com/getsentry/responses). Bumps the langchain-deps group with 9 updates in the /libs/langchain directory: | Package | From | To | | --- | --- | --- | | [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.7.3` | `0.7.6` | | [packaging](https://github.com/pypa/packaging) | `24.2` | `26.0` | | [ruff](https://github.com/astral-sh/ruff) | `0.15.1` | `0.15.2` | | [responses](https://github.com/getsentry/responses) | `0.25.8` | `0.26.0` | | [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.46` | `2.0.47` | | [langchain-anthropic](https://github.com/langchain-ai/langchain) | `1.3.3` | `1.3.4` | | [langchain-google-genai](https://github.com/langchain-ai/langchain-google) | `4.2.0` | `4.2.1` | | [langchain-aws](https://github.com/langchain-ai/langchain-aws) | `1.2.5` | `1.3.0` | | [fastapi](https://github.com/fastapi/fastapi) | `0.129.0` | `0.133.0` | Bumps the langchain-deps group with 5 updates in the /libs/langchain_v1 directory: | Package | From | To | | --- | --- | --- | | [ruff](https://github.com/astral-sh/ruff) | `0.15.1` | `0.15.2` | | [langchain-google-genai](https://github.com/langchain-ai/langchain-google) | `4.2.0` | `4.2.1` | | [langchain-aws](https://github.com/langchain-ai/langchain-aws) | `1.2.5` | `1.3.0` | | [langgraph](https://github.com/langchain-ai/langgraph) | `1.0.8` | `1.0.9` | | [langchain-azure-ai](https://github.com/langchain-ai/langchain-azure) | `1.0.4` | `1.0.61` | Updates `langsmith` from 0.7.3 to 0.7.6 <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.6</h2> <h2>What's Changed</h2> <ul> <li>feat(python): add sandbox exception types and client plumbing by <a href="https://github.com/DanielKneipp"><code>@DanielKneipp</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2442">langchain-ai/langsmith-sdk#2442</a></li> <li>fix(py, claude agent sdk): Correctly parent spans in asyncio context 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/2457">langchain-ai/langsmith-sdk#2457</a></li> <li>perf(py): Improve retry logic for tracing ops 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/2459">langchain-ai/langsmith-sdk#2459</a></li> <li>feat(py, claude agent sdk): Add wrapping for PostToolUseFailure hook 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/2460">langchain-ai/langsmith-sdk#2460</a></li> <li>chore(claude agent sdk): rm debug logs 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/2461">langchain-ai/langsmith-sdk#2461</a></li> <li>release(py): 0.7.6 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/2462">langchain-ai/langsmith-sdk#2462</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.5...v0.7.6">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.5...v0.7.6</a></p> <h2>v0.7.5</h2> <h2>What's Changed</h2> <ul> <li>chore(deps): bump chalk from 4.1.2 to 5.6.2 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/2416">langchain-ai/langsmith-sdk#2416</a></li> <li>chore(deps-dev): bump <code>@jest/reporters</code> from 29.7.0 to 30.2.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/2417">langchain-ai/langsmith-sdk#2417</a></li> <li>chore(deps): bump the py-minor-and-patch group across 1 directory with 16 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/2440">langchain-ai/langsmith-sdk#2440</a></li> <li>chore(deps-dev): bump pandas-stubs from 2.3.3.251219 to 2.3.3.260113 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/2404">langchain-ai/langsmith-sdk#2404</a></li> <li>chore(deps-dev): bump the js-minor-and-patch group across 1 directory with 10 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/2433">langchain-ai/langsmith-sdk#2433</a></li> <li>make zstandard optional 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/2453">langchain-ai/langsmith-sdk#2453</a></li> <li>fix(py/adk): fix multi-agent tracing by <a href="https://github.com/QuentinBrosse"><code>@QuentinBrosse</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2451">langchain-ai/langsmith-sdk#2451</a></li> <li>release(py): 0.7.5 by <a href="https://github.com/QuentinBrosse"><code>@QuentinBrosse</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2456">langchain-ai/langsmith-sdk#2456</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.4...v0.7.5">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.4...v0.7.5</a></p> <h2>v0.7.4</h2> <h2>What's Changed</h2> <ul> <li>fix(google-adk): add wrapt dependency by <a href="https://github.com/QuentinBrosse"><code>@QuentinBrosse</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2436">langchain-ai/langsmith-sdk#2436</a></li> <li>chore: lock dependencies by <a href="https://github.com/QuentinBrosse"><code>@QuentinBrosse</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2439">langchain-ai/langsmith-sdk#2439</a></li> <li>release(py): 0.7.4 by <a href="https://github.com/QuentinBrosse"><code>@QuentinBrosse</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2441">langchain-ai/langsmith-sdk#2441</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.3...v0.7.4">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.3...v0.7.4</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="22a048477a"><code>22a0484</code></a> release(py): 0.7.6 (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2462">#2462</a>)</li> <li><a href="01acee8618"><code>01acee8</code></a> chore(claude agent sdk): rm debug logs (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2461">#2461</a>)</li> <li><a href="4e366c4685"><code>4e366c4</code></a> feat(py, claude agent sdk): Add wrapping for PostToolUseFailure hook (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2460">#2460</a>)</li> <li><a href="4e25507853"><code>4e25507</code></a> perf(py): Improve retry logic for tracing ops (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2459">#2459</a>)</li> <li><a href="daa0330aff"><code>daa0330</code></a> fix(py, claude agent sdk): Correctly parent spans in asyncio context (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2457">#2457</a>)</li> <li><a href="070a20719a"><code>070a207</code></a> feat(python): add sandbox exception types and client plumbing (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2442">#2442</a>)</li> <li><a href="6f852006cb"><code>6f85200</code></a> release(py): 0.7.5 (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2456">#2456</a>)</li> <li><a href="901486fd5e"><code>901486f</code></a> fix(py/adk): fix multi-agent tracing (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2451">#2451</a>)</li> <li><a href="31d1828efe"><code>31d1828</code></a> make zstandard optional (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2453">#2453</a>)</li> <li><a href="78c263920a"><code>78c2639</code></a> chore(deps-dev): bump the js-minor-and-patch group across 1 directory with 10...</li> <li>Additional commits viewable in <a href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.3...v0.7.6">compare view</a></li> </ul> </details> <br /> Updates `uuid-utils` from 0.14.0 to 0.14.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/aminalaee/uuid-utils/releases">uuid-utils's releases</a>.</em></p> <blockquote> <h2>0.14.1</h2> <h2>What's Changed</h2> <ul> <li>Use SPDX license identifier by <a href="https://github.com/vargenau"><code>@vargenau</code></a> in <a href="https://redirect.github.com/aminalaee/uuid-utils/pull/129">aminalaee/uuid-utils#129</a></li> <li>Fix byte-order in <code>uuid1</code> and <code>uuid6</code> by <a href="https://github.com/aminalaee"><code>@aminalaee</code></a> in <a href="https://redirect.github.com/aminalaee/uuid-utils/pull/130">aminalaee/uuid-utils#130</a></li> <li>Remove uuid_unstable flag and minor docs update by <a href="https://github.com/aminalaee"><code>@aminalaee</code></a> in <a href="https://github.com">https://github.com</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/aminalaee/uuid-utils/compare/0.14.0...0.15.0">https://github.com/aminalaee/uuid-utils/compare/0.14.0...0.15.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="c09cd2940a"><code>c09cd29</code></a> Version 0.14.1 (<a href="https://redirect.github.com/aminalaee/uuid-utils/issues/134">#134</a>)</li> <li><a href="a547f37f69"><code>a547f37</code></a> Remove uuid_unstable flag and update docs (<a href="https://redirect.github.com/aminalaee/uuid-utils/issues/133">#133</a>)</li> <li><a href="4c632bfe63"><code>4c632bf</code></a> Fix byte-order in <code>uuid1</code> and <code>uuid6</code> (<a href="https://redirect.github.com/aminalaee/uuid-utils/issues/130">#130</a>)</li> <li><a href="a5aca8c399"><code>a5aca8c</code></a> Use SPDX license identifier (<a href="https://redirect.github.com/aminalaee/uuid-utils/issues/129">#129</a>)</li> <li><a href="21d14455b9"><code>21d1445</code></a> Update Github Action (<a href="https://redirect.github.com/aminalaee/uuid-utils/issues/132">#132</a>)</li> <li><a href="c935c3559f"><code>c935c35</code></a> Bump CodSpeedHQ/action from 4.8.2 to 4.10.2 (<a href="https://redirect.github.com/aminalaee/uuid-utils/issues/126">#126</a>)</li> <li><a href="c2613e3003"><code>c2613e3</code></a> Bump uraimo/run-on-arch-action from 2.8.1 to 3.0.1 (<a href="https://redirect.github.com/aminalaee/uuid-utils/issues/127">#127</a>)</li> <li><a href="df39faf8e8"><code>df39faf</code></a> Bump actions/setup-python from 5 to 6 (<a href="https://redirect.github.com/aminalaee/uuid-utils/issues/128">#128</a>)</li> <li><a href="f1b61c7ed1"><code>f1b61c7</code></a> Bump CodSpeedHQ/action from 4.5.2 to 4.8.2 (<a href="https://redirect.github.com/aminalaee/uuid-utils/issues/124">#124</a>)</li> <li><a href="08c833b3cb"><code>08c833b</code></a> Bump astral-sh/setup-uv from 4 to 7 (<a href="https://redirect.github.com/aminalaee/uuid-utils/issues/123">#123</a>)</li> <li>Additional commits viewable in <a href="https://github.com/aminalaee/uuid-utils/compare/0.14.0...0.14.1">compare view</a></li> </ul> </details> <br /> Updates `ruff` from 0.15.1 to 0.15.2 <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.2</h2> <h2>Release Notes</h2> <p>Released on 2026-02-19.</p> <h3>Preview features</h3> <ul> <li> <p>Expand the default rule set (<a href="https://redirect.github.com/astral-sh/ruff/pull/23385">#23385</a>)</p> <p>In preview, Ruff now enables a significantly expanded default rule set of 412 rules, up from the stable default set of 59 rules. The new rules are mostly a superset of the stable defaults, with the exception of these rules, which are removed from the preview defaults:</p> <ul> <li><a href="https://docs.astral.sh/ruff/rules/multiple-imports-on-one-line"><code>multiple-imports-on-one-line</code></a> (<code>E401</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file"><code>module-import-not-at-top-of-file</code></a> (<code>E402</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file"><code>module-import-not-at-top-of-file</code></a> (<code>E701</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/multiple-statements-on-one-line-semicolon"><code>multiple-statements-on-one-line-semicolon</code></a> (<code>E702</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/useless-semicolon"><code>useless-semicolon</code></a> (<code>E703</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/none-comparison"><code>none-comparison</code></a> (<code>E711</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/true-false-comparison"><code>true-false-comparison</code></a> (<code>E712</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/not-in-test"><code>not-in-test</code></a> (<code>E713</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/not-is-test"><code>not-is-test</code></a> (<code>E714</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/type-comparison"><code>type-comparison</code></a> (<code>E721</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/lambda-assignment"><code>lambda-assignment</code></a> (<code>E731</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/ambiguous-variable-name"><code>ambiguous-variable-name</code></a> (<code>E741</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/ambiguous-class-name"><code>ambiguous-class-name</code></a> (<code>E742</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/ambiguous-function-name"><code>ambiguous-function-name</code></a> (<code>E743</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/undefined-local-with-import-star"><code>undefined-local-with-import-star</code></a> (<code>F403</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage"><code>undefined-local-with-import-star-usage</code></a> (<code>F405</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage"><code>undefined-local-with-nested-import-star-usage</code></a> (<code>F406</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/forward-annotation-syntax-error"><code>forward-annotation-syntax-error</code></a> (<code>F722</code>)</li> </ul> <p>If you use preview and prefer the old defaults, you can restore them with configuration like:</p> <pre lang="toml"><code> # ruff.toml <p>[lint] select = ["E4", "E7", "E9", "F"]</p> <h1>pyproject.toml</h1> <p>[tool.ruff.lint] select = ["E4", "E7", "E9", "F"] </code></pre></p> <p>If you do give them a try, feel free to share your feedback in the <a href="https://github.com/astral-sh/ruff/discussions/23203">GitHub discussion</a>!</p> </li> <li> <p>[<code>flake8-pyi</code>] Also check string annotations (<code>PYI041</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/19023">#19023</a>)</p> </li> </ul> <h3>Bug fixes</h3> <!-- 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.2</h2> <p>Released on 2026-02-19.</p> <h3>Preview features</h3> <ul> <li> <p>Expand the default rule set (<a href="https://redirect.github.com/astral-sh/ruff/pull/23385">#23385</a>)</p> <p>In preview, Ruff now enables a significantly expanded default rule set of 412 rules, up from the stable default set of 59 rules. The new rules are mostly a superset of the stable defaults, with the exception of these rules, which are removed from the preview defaults:</p> <ul> <li><a href="https://docs.astral.sh/ruff/rules/multiple-imports-on-one-line"><code>multiple-imports-on-one-line</code></a> (<code>E401</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file"><code>module-import-not-at-top-of-file</code></a> (<code>E402</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file"><code>module-import-not-at-top-of-file</code></a> (<code>E701</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/multiple-statements-on-one-line-semicolon"><code>multiple-statements-on-one-line-semicolon</code></a> (<code>E702</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/useless-semicolon"><code>useless-semicolon</code></a> (<code>E703</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/none-comparison"><code>none-comparison</code></a> (<code>E711</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/true-false-comparison"><code>true-false-comparison</code></a> (<code>E712</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/not-in-test"><code>not-in-test</code></a> (<code>E713</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/not-is-test"><code>not-is-test</code></a> (<code>E714</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/type-comparison"><code>type-comparison</code></a> (<code>E721</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/lambda-assignment"><code>lambda-assignment</code></a> (<code>E731</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/ambiguous-variable-name"><code>ambiguous-variable-name</code></a> (<code>E741</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/ambiguous-class-name"><code>ambiguous-class-name</code></a> (<code>E742</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/ambiguous-function-name"><code>ambiguous-function-name</code></a> (<code>E743</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/undefined-local-with-import-star"><code>undefined-local-with-import-star</code></a> (<code>F403</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage"><code>undefined-local-with-import-star-usage</code></a> (<code>F405</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage"><code>undefined-local-with-nested-import-star-usage</code></a> (<code>F406</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/forward-annotation-syntax-error"><code>forward-annotation-syntax-error</code></a> (<code>F722</code>)</li> </ul> <p>If you use preview and prefer the old defaults, you can restore them with configuration like:</p> <pre lang="toml"><code> # ruff.toml <p>[lint] select = ["E4", "E7", "E9", "F"]</p> <h1>pyproject.toml</h1> <p>[tool.ruff.lint] select = ["E4", "E7", "E9", "F"] </code></pre></p> <p>If you do give them a try, feel free to share your feedback in the <a href="https://github.com/astral-sh/ruff/discussions/23203">GitHub discussion</a>!</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="9d18ee9115"><code>9d18ee9</code></a> Hard code workflow name and <code>cancel-in-progress</code> only for PRs (<a href="https://redirect.github.com/astral-sh/ruff/issues/23431">#23431</a>)</li> <li><a href="7cc15f024b"><code>7cc15f0</code></a> Bump 0.15.2 (<a href="https://redirect.github.com/astral-sh/ruff/issues/23430">#23430</a>)</li> <li><a href="d1b544393a"><code>d1b5443</code></a> Add extension mapping to configuration file options (<a href="https://redirect.github.com/astral-sh/ruff/issues/23384">#23384</a>)</li> <li><a href="222574af90"><code>222574a</code></a> Expand the default rule set (<a href="https://redirect.github.com/astral-sh/ruff/issues/23385">#23385</a>)</li> <li><a href="1465b5de38"><code>1465b5d</code></a> [<code>flake8-async</code>] Fix <code>in_async_context</code> logic (<a href="https://redirect.github.com/astral-sh/ruff/issues/23426">#23426</a>)</li> <li><a href="410902fa40"><code>410902f</code></a> [<code>pyupgrade</code>] Fix handling of <code>typing.{io,re}</code> (<code>UP035</code>) (<a href="https://redirect.github.com/astral-sh/ruff/issues/23131">#23131</a>)</li> <li><a href="729610acd9"><code>729610a</code></a> [ty] Fall back to ambiguous for large control flow graphs (<a href="https://redirect.github.com/astral-sh/ruff/issues/23399">#23399</a>)</li> <li><a href="1425c185b0"><code>1425c18</code></a> [ty] Add code folding support</li> <li><a href="97acaaea5f"><code>97acaae</code></a> [ty] Fix stack overflow for self-referential <code>TypeOf</code> in annotations (<a href="https://redirect.github.com/astral-sh/ruff/issues/23407">#23407</a>)</li> <li><a href="1f380c8258"><code>1f380c8</code></a> [ty] Update tests <code>reveal_type</code> and <code>Never</code> (<a href="https://redirect.github.com/astral-sh/ruff/issues/23418">#23418</a>)</li> <li>Additional commits viewable in <a href="https://github.com/astral-sh/ruff/compare/0.15.1...0.15.2">compare view</a></li> </ul> </details> <br /> Updates `responses` from 0.25.8 to 0.26.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/getsentry/responses/releases">responses's releases</a>.</em></p> <blockquote> <h2>0.26.0</h2> <ul> <li>When using <code>assert_all_requests_are_fired=True</code>, assertions about unfired requests are now raised even when an exception occurs in the context manager or decorated function. Previously, these assertions were suppressed when exceptions occurred. This new behavior provides valuable debugging context about which mocked requests were or weren't called.</li> <li>Consider the <code>Retry-After</code> header when handling retries</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/getsentry/responses/blob/master/CHANGES">responses's changelog</a>.</em></p> <blockquote> <h2>0.26.0</h2> <ul> <li>When using <code>assert_all_requests_are_fired=True</code>, assertions about unfired requests are now raised even when an exception occurs in the context manager or decorated function. Previously, these assertions were suppressed when exceptions occurred. This new behavior provides valuable debugging context about which mocked requests were or weren't called.</li> <li>Consider the <code>Retry-After</code> header when handling retries</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="94913d0580"><code>94913d0</code></a> release: 0.26.0</li> <li><a href="051b79e7fc"><code>051b79e</code></a> Make <code>assert_all_requests_are_fired</code> always assert on exception (<a href="https://redirect.github.com/getsentry/responses/issues/782">#782</a>)</li> <li><a href="0905cb8bd5"><code>0905cb8</code></a> Fix query_param_matcher not matching empty query parameter values (<a href="https://redirect.github.com/getsentry/responses/issues/787">#787</a>)</li> <li><a href="e0c6faab41"><code>e0c6faa</code></a> ci(release): Switch from action-prepare-release to Craft (<a href="https://redirect.github.com/getsentry/responses/issues/785">#785</a>)</li> <li><a href="1be3a737b7"><code>1be3a73</code></a> fix: Consider the <code>Retry-After</code> header when handling retries (<a href="https://redirect.github.com/getsentry/responses/issues/784">#784</a>)</li> <li><a href="c6730fbc87"><code>c6730fb</code></a> Merge branch 'release/0.25.8'</li> <li>See full diff in <a href="https://github.com/getsentry/responses/compare/0.25.8...0.26.0">compare view</a></li> </ul> </details> <br /> Updates `langsmith` from 0.7.3 to 0.7.6 <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.6</h2> <h2>What's Changed</h2> <ul> <li>feat(python): add sandbox exception types and client plumbing by <a href="https://github.com/DanielKneipp"><code>@DanielKneipp</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2442">langchain-ai/langsmith-sdk#2442</a></li> <li>fix(py, claude agent sdk): Correctly parent spans in asyncio context 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/2457">langchain-ai/langsmith-sdk#2457</a></li> <li>perf(py): Improve retry logic for tracing ops 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/2459">langchain-ai/langsmith-sdk#2459</a></li> <li>feat(py, claude agent sdk): Add wrapping for PostToolUseFailure hook 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/2460">langchain-ai/langsmith-sdk#2460</a></li> <li>chore(claude agent sdk): rm debug logs 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/2461">langchain-ai/langsmith-sdk#2461</a></li> <li>release(py): 0.7.6 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/2462">langchain-ai/langsmith-sdk#2462</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.5...v0.7.6">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.5...v0.7.6</a></p> <h2>v0.7.5</h2> <h2>What's Changed</h2> <ul> <li>chore(deps): bump chalk from 4.1.2 to 5.6.2 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/2416">langchain-ai/langsmith-sdk#2416</a></li> <li>chore(deps-dev): bump <code>@jest/reporters</code> from 29.7.0 to 30.2.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/2417">langchain-ai/langsmith-sdk#2417</a></li> <li>chore(deps): bump the py-minor-and-patch group across 1 directory with 16 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/2440">langchain-ai/langsmith-sdk#2440</a></li> <li>chore(deps-dev): bump pandas-stubs from 2.3.3.251219 to 2.3.3.260113 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/2404">langchain-ai/langsmith-sdk#2404</a></li> <li>chore(deps-dev): bump the js-minor-and-patch group across 1 directory with 10 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/2433">langchain-ai/langsmith-sdk#2433</a></li> <li>make zstandard optional 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/2453">langchain-ai/langsmith-sdk#2453</a></li> <li>fix(py/adk): fix multi-agent tracing by <a href="https://github.com/QuentinBrosse"><code>@QuentinBrosse</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2451">langchain-ai/langsmith-sdk#2451</a></li> <li>release(py): 0.7.5 by <a href="https://github.com/QuentinBrosse"><code>@QuentinBrosse</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2456">langchain-ai/langsmith-sdk#2456</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.4...v0.7.5">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.4...v0.7.5</a></p> <h2>v0.7.4</h2> <h2>What's Changed</h2> <ul> <li>fix(google-adk): add wrapt dependency by <a href="https://github.com/QuentinBrosse"><code>@QuentinBrosse</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2436">langchain-ai/langsmith-sdk#2436</a></li> <li>chore: lock dependencies by <a href="https://github.com/QuentinBrosse"><code>@QuentinBrosse</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2439">langchain-ai/langsmith-sdk#2439</a></li> <li>release(py): 0.7.4 by <a href="https://github.com/QuentinBrosse"><code>@QuentinBrosse</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2441">langchain-ai/langsmith-sdk#2441</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.3...v0.7.4">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.3...v0.7.4</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="22a048477a"><code>22a0484</code></a> release(py): 0.7.6 (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2462">#2462</a>)</li> <li><a href="01acee8618"><code>01acee8</code></a> chore(claude agent sdk): rm debug logs (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2461">#2461</a>)</li> <li><a href="4e366c4685"><code>4e366c4</code></a> feat(py, claude agent sdk): Add wrapping for PostToolUseFailure hook (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2460">#2460</a>)</li> <li><a href="4e25507853"><code>4e25507</code></a> perf(py): Improve retry logic for tracing ops (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2459">#2459</a>)</li> <li><a href="daa0330aff"><code>daa0330</code></a> fix(py, claude agent sdk): Correctly parent spans in asyncio context (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2457">#2457</a>)</li> <li><a href="070a20719a"><code>070a207</code></a> feat(python): add sandbox exception types and client plumbing (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2442">#2442</a>)</li> <li><a href="6f852006cb"><code>6f85200</code></a> release(py): 0.7.5 (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2456">#2456</a>)</li> <li><a href="901486fd5e"><code>901486f</code></a> fix(py/adk): fix multi-agent tracing (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2451">#2451</a>)</li> <li><a href="31d1828efe"><code>31d1828</code></a> make zstandard optional (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2453">#2453</a>)</li> <li><a href="78c263920a"><code>78c2639</code></a> chore(deps-dev): bump the js-minor-and-patch group across 1 directory with 10...</li> <li>Additional commits viewable in <a href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.3...v0.7.6">compare view</a></li> </ul> </details> <br /> Updates `responses` from 0.25.8 to 0.26.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/getsentry/responses/releases">responses's releases</a>.</em></p> <blockquote> <h2>0.26.0</h2> <ul> <li>When using <code>assert_all_requests_are_fired=True</code>, assertions about unfired requests are now raised even when an exception occurs in the context manager or decorated function. Previously, these assertions were suppressed when exceptions occurred. This new behavior provides valuable debugging context about which mocked requests were or weren't called.</li> <li>Consider the <code>Retry-After</code> header when handling retries</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/getsentry/responses/blob/master/CHANGES">responses's changelog</a>.</em></p> <blockquote> <h2>0.26.0</h2> <ul> <li>When using <code>assert_all_requests_are_fired=True</code>, assertions about unfired requests are now raised even when an exception occurs in the context manager or decorated function. Previously, these assertions were suppressed when exceptions occurred. This new behavior provides valuable debugging context about which mocked requests were or weren't called.</li> <li>Consider the <code>Retry-After</code> header when handling retries</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="94913d0580"><code>94913d0</code></a> release: 0.26.0</li> <li><a href="051b79e7fc"><code>051b79e</code></a> Make <code>assert_all_requests_are_fired</code> always assert on exception (<a href="https://redirect.github.com/getsentry/responses/issues/782">#782</a>)</li> <li><a href="0905cb8bd5"><code>0905cb8</code></a> Fix query_param_matcher not matching empty query parameter values (<a href="https://redirect.github.com/getsentry/responses/issues/787">#787</a>)</li> <li><a href="e0c6faab41"><code>e0c6faa</code></a> ci(release): Switch from action-prepare-release to Craft (<a href="https://redirect.github.com/getsentry/responses/issues/785">#785</a>)</li> <li><a href="1be3a737b7"><code>1be3a73</code></a> fix: Consider the <code>Retry-After</code> header when handling retries (<a href="https://redirect.github.com/getsentry/responses/issues/784">#784</a>)</li> <li><a href="c6730fbc87"><code>c6730fb</code></a> Merge branch 'release/0.25.8'</li> <li>See full diff in <a href="https://github.com/getsentry/responses/compare/0.25.8...0.26.0">compare view</a></li> </ul> </details> <br /> Updates `ruff` from 0.15.1 to 0.15.2 <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.2</h2> <h2>Release Notes</h2> <p>Released on 2026-02-19.</p> <h3>Preview features</h3> <ul> <li> <p>Expand the default rule set (<a href="https://redirect.github.com/astral-sh/ruff/pull/23385">#23385</a>)</p> <p>In preview, Ruff now enables a significantly expanded default rule set of 412 rules, up from the stable default set of 59 rules. The new rules are mostly a superset of the stable defaults, with the exception of these rules, which are removed from the preview defaults:</p> <ul> <li><a href="https://docs.astral.sh/ruff/rules/multiple-imports-on-one-line"><code>multiple-imports-on-one-line</code></a> (<code>E401</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file"><code>module-import-not-at-top-of-file</code></a> (<code>E402</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file"><code>module-import-not-at-top-of-file</code></a> (<code>E701</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/multiple-statements-on-one-line-semicolon"><code>multiple-statements-on-one-line-semicolon</code></a> (<code>E702</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/useless-semicolon"><code>useless-semicolon</code></a> (<code>E703</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/none-comparison"><code>none-comparison</code></a> (<code>E711</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/true-false-comparison"><code>true-false-comparison</code></a> (<code>E712</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/not-in-test"><code>not-in-test</code></a> (<code>E713</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/not-is-test"><code>not-is-test</code></a> (<code>E714</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/type-comparison"><code>type-comparison</code></a> (<code>E721</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/lambda-assignment"><code>lambda-assignment</code></a> (<code>E731</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/ambiguous-variable-name"><code>ambiguous-variable-name</code></a> (<code>E741</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/ambiguous-class-name"><code>ambiguous-class-name</code></a> (<code>E742</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/ambiguous-function-name"><code>ambiguous-function-name</code></a> (<code>E743</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/undefined-local-with-import-star"><code>undefined-local-with-import-star</code></a> (<code>F403</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage"><code>undefined-local-with-import-star-usage</code></a> (<code>F405</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage"><code>undefined-local-with-nested-import-star-usage</code></a> (<code>F406</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/forward-annotation-syntax-error"><code>forward-annotation-syntax-error</code></a> (<code>F722</code>)</li> </ul> <p>If you use preview and prefer the old defaults, you can restore them with configuration like:</p> <pre lang="toml"><code> # ruff.toml <p>[lint] select = ["E4", "E7", "E9", "F"]</p> <h1>pyproject.toml</h1> <p>[tool.ruff.lint] select = ["E4", "E7", "E9", "F"] </code></pre></p> <p>If you do give them a try, feel free to share your feedback in the <a href="https://github.com/astral-sh/ruff/discussions/23203">GitHub discussion</a>!</p> </li> <li> <p>[<code>flake8-pyi</code>] Also check string annotations (<code>PYI041</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/19023">#19023</a>)</p> </li> </ul> <h3>Bug fixes</h3> <!-- 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.2</h2> <p>Released on 2026-02-19.</p> <h3>Preview features</h3> <ul> <li> <p>Expand the default rule set (<a href="https://redirect.github.com/astral-sh/ruff/pull/23385">#23385</a>)</p> <p>In preview, Ruff now enables a significantly expanded default rule set of 412 rules, up from the stable default set of 59 rules. The new rules are mostly a superset of the stable defaults, with the exception of these rules, which are removed from the preview defaults:</p> <ul> <li><a href="https://docs.astral.sh/ruff/rules/multiple-imports-on-one-line"><code>multiple-imports-on-one-line</code></a> (<code>E401</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file"><code>module-import-not-at-top-of-file</code></a> (<code>E402</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file"><code>module-import-not-at-top-of-file</code></a> (<code>E701</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/multiple-statements-on-one-line-semicolon"><code>multiple-statements-on-one-line-semicolon</code></a> (<code>E702</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/useless-semicolon"><code>useless-semicolon</code></a> (<code>E703</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/none-comparison"><code>none-comparison</code></a> (<code>E711</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/true-false-comparison"><code>true-false-comparison</code></a> (<code>E712</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/not-in-test"><code>not-in-test</code></a> (<code>E713</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/not-is-test"><code>not-is-test</code></a> (<code>E714</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/type-comparison"><code>type-comparison</code></a> (<code>E721</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/lambda-assignment"><code>lambda-assignment</code></a> (<code>E731</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/ambiguous-variable-name"><code>ambiguous-variable-name</code></a> (<code>E741</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/ambiguous-class-name"><code>ambiguous-class-name</code></a> (<code>E742</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/ambiguous-function-name"><code>ambiguous-function-name</code></a> (<code>E743</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/undefined-local-with-import-star"><code>undefined-local-with-import-star</code></a> (<code>F403</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage"><code>undefined-local-with-import-star-usage</code></a> (<code>F405</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage"><code>undefined-local-with-nested-import-star-usage</code></a> (<code>F406</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/forward-annotation-syntax-error"><code>forward-annotation-syntax-error</code></a> (<code>F722</code>)</li> </ul> <p>If you use preview and prefer the old defaults, you can restore them with configuration like:</p> <pre lang="toml"><code> # ruff.toml <p>[lint] select = ["E4", "E7", "E9", "F"]</p> <h1>pyproject.toml</h1> <p>[tool.ruff.lint] select = ["E4", "E7", "E9", "F"] </code></pre></p> <p>If you do give them a try, feel free to share your feedback in the <a href="https://github.com/astral-sh/ruff/discussions/23203">GitHub discussion</a>!</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="9d18ee9115"><code>9d18ee9</code></a> Hard code workflow name and <code>cancel-in-progress</code> only for PRs (<a href="https://redirect.github.com/astral-sh/ruff/issues/23431">#23431</a>)</li> <li><a href="7cc15f024b"><code>7cc15f0</code></a> Bump 0.15.2 (<a href="https://redirect.github.com/astral-sh/ruff/issues/23430">#23430</a>)</li> <li><a href="d1b544393a"><code>d1b5443</code></a> Add extension mapping to configuration file options (<a href="https://redirect.github.com/astral-sh/ruff/issues/23384">#23384</a>)</li> <li><a href="222574af90"><code>222574a</code></a> Expand the default rule set (<a href="https://redirect.github.com/astral-sh/ruff/issues/23385">#23385</a>)</li> <li><a href="1465b5de38"><code>1465b5d</code></a> [<code>flake8-async</code>] Fix <code>in_async_context</code> logic (<a href="https://redirect.github.com/astral-sh/ruff/issues/23426">#23426</a>)</li> <li><a href="410902fa40"><code>410902f</code></a> [<code>pyupgrade</code>] Fix handling of <code>typing.{io,re}</code> (<code>UP035</code>) (<a href="https://redirect.github.com/astral-sh/ruff/issues/23131">#23131</a>)</li> <li><a href="729610acd9"><code>729610a</code></a> [ty] Fall back to ambiguous for large control flow graphs (<a href="https://redirect.github.com/astral-sh/ruff/issues/23399">#23399</a>)</li> <li><a href="1425c185b0"><code>1425c18</code></a> [ty] Add code folding support</li> <li><a href="97acaaea5f"><code>97acaae</code></a> [ty] Fix stack overflow for self-referential <code>TypeOf</code> in annotations (<a href="https://redirect.github.com/astral-sh/ruff/issues/23407">#23407</a>)</li> <li><a href="1f380c8258"><code>1f380c8</code></a> [ty] Update tests <code>reveal_type</code> and <code>Never</code> (<a href="https://redirect.github.com/astral-sh/ruff/issues/23418">#23418</a>)</li> <li>Additional commits viewable in <a href="https://github.com/astral-sh/ruff/compare/0.15.1...0.15.2">compare view</a></li> </ul> </details> <br /> Updates `ruff` from 0.15.1 to 0.15.2 <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.2</h2> <h2>Release Notes</h2> <p>Released on 2026-02-19.</p> <h3>Preview features</h3> <ul> <li> <p>Expand the default rule set (<a href="https://redirect.github.com/astral-sh/ruff/pull/23385">#23385</a>)</p> <p>In preview, Ruff now enables a significantly expanded default rule set of 412 rules, up from the stable default set of 59 rules. The new rules are mostly a superset of the stable defaults, with the exception of these rules, which are removed from the preview defaults:</p> <ul> <li><a href="https://docs.astral.sh/ruff/rules/multiple-imports-on-one-line"><code>multiple-imports-on-one-line</code></a> (<code>E401</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file"><code>module-import-not-at-top-of-file</code></a> (<code>E402</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file"><code>module-import-not-at-top-of-file</code></a> (<code>E701</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/multiple-statements-on-one-line-semicolon"><code>multiple-statements-on-one-line-semicolon</code></a> (<code>E702</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/useless-semicolon"><code>useless-semicolon</code></a> (<code>E703</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/none-comparison"><code>none-comparison</code></a> (<code>E711</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/true-false-comparison"><code>true-false-comparison</code></a> (<code>E712</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/not-in-test"><code>not-in-test</code></a> (<code>E713</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/not-is-test"><code>not-is-test</code></a> (<code>E714</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/type-comparison"><code>type-comparison</code></a> (<code>E721</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/lambda-assignment"><code>lambda-assignment</code></a> (<code>E731</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/ambiguous-variable-name"><code>ambiguous-variable-name</code></a> (<code>E741</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/ambiguous-class-name"><code>ambiguous-class-name</code></a> (<code>E742</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/ambiguous-function-name"><code>ambiguous-function-name</code></a> (<code>E743</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/undefined-local-with-import-star"><code>undefined-local-with-import-star</code></a> (<code>F403</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage"><code>undefined-local-with-import-star-usage</code></a> (<code>F405</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage"><code>undefined-local-with-nested-import-star-usage</code></a> (<code>F406</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/forward-annotation-syntax-error"><code>forward-annotation-syntax-error</code></a> (<code>F722</code>)</li> </ul> <p>If you use preview and prefer the old defaults, you can restore them with configuration like:</p> <pre lang="toml"><code> # ruff.toml <p>[lint] select = ["E4", "E7", "E9", "F"]</p> <h1>pyproject.toml</h1> <p>[tool.ruff.lint] select = ["E4", "E7", "E9", "F"] </code></pre></p> <p>If you do give them a try, feel free to share your feedback in the <a href="https://github.com/astral-sh/ruff/discussions/23203">GitHub discussion</a>!</p> </li> <li> <p>[<code>flake8-pyi</code>] Also check string annotations (<code>PYI041</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/19023">#19023</a>)</p> </li> </ul> <h3>Bug fixes</h3> <!-- 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.2</h2> <p>Released on 2026-02-19.</p> <h3>Preview features</h3> <ul> <li> <p>Expand the default rule set (<a href="https://redirect.github.com/astral-sh/ruff/pull/23385">#23385</a>)</p> <p>In preview, Ruff now enables a significantly expanded default rule set of 412 rules, up from the stable default set of 59 rules. The new rules are mostly a superset of the stable defaults, with the exception of these rules, which are removed from the preview defaults:</p> <ul> <li><a href="https://docs.astral.sh/ruff/rules/multiple-imports-on-one-line"><code>multiple-imports-on-one-line</code></a> (<code>E401</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file"><code>module-import-not-at-top-of-file</code></a> (<code>E402</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file"><code>module-import-not-at-top-of-file</code></a> (<code>E701</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/multiple-statements-on-one-line-semicolon"><code>multiple-statements-on-one-line-semicolon</code></a> (<code>E702</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/useless-semicolon"><code>useless-semicolon</code></a> (<code>E703</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/none-comparison"><code>none-comparison</code></a> (<code>E711</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/true-false-comparison"><code>true-false-comparison</code></a> (<code>E712</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/not-in-test"><code>not-in-test</code></a> (<code>E713</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/not-is-test"><code>not-is-test</code></a> (<code>E714</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/type-comparison"><code>type-comparison</code></a> (<code>E721</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/lambda-assignment"><code>lambda-assignment</code></a> (<code>E731</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/ambiguous-variable-name"><code>ambiguous-variable-name</code></a> (<code>E741</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/ambiguous-class-name"><code>ambiguous-class-name</code></a> (<code>E742</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/ambiguous-function-name"><code>ambiguous-function-name</code></a> (<code>E743</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/undefined-local-with-import-star"><code>undefined-local-with-import-star</code></a> (<code>F403</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage"><code>undefined-local-with-import-star-usage</code></a> (<code>F405</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage"><code>undefined-local-with-nested-import-star-usage</code></a> (<code>F406</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/forward-annotation-syntax-error"><code>forward-annotation-syntax-error</code></a> (<code>F722</code>)</li> </ul> <p>If you use preview and prefer the old defaults, you can restore them with configuration like:</p> <pre lang="toml"><code> # ruff.toml <p>[lint] select = ["E4", "E7", "E9", "F"]</p> <h1>pyproject.toml</h1> <p>[tool.ruff.lint] select = ["E4", "E7", "E9", "F"] </code></pre></p> <p>If you do give them a try, feel free to share your feedback in the <a href="https://github.com/astral-sh/ruff/discussions/23203">GitHub discussion</a>!</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="9d18ee9115"><code>9d18ee9</code></a> Hard code workflow name and <code>cancel-in-progress</code> only for PRs (<a href="https://redirect.github.com/astral-sh/ruff/issues/23431">#23431</a>)</li> <li><a href="7cc15f024b"><code>7cc15f0</code></a> Bump 0.15.2 (<a href="https://redirect.github.com/astral-sh/ruff/issues/23430">#23430</a>)</li> <li><a href="d1b544393a"><code>d1b5443</code></a> Add extension mapping to configuration file options (<a href="https://redirect.github.com/astral-sh/ruff/issues/23384">#23384</a>)</li> <li><a href="222574af90"><code>222574a</code></a> Expand the default rule set (<a href="https://redirect.github.com/astral-sh/ruff/issues/23385">#23385</a>)</li> <li><a href="1465b5de38"><code>1465b5d</code></a> [<code>flake8-async</code>] Fix <code>in_async_context</code> logic (<a href="https://redirect.github.com/astral-sh/ruff/issues/23426">#23426</a>)</li> <li><a href="410902fa40"><code>410902f</code></a> [<code>pyupgrade</code>] Fix handling of <code>typing.{io,re}</code> (<code>UP035</code>) (<a href="https://redirect.github.com/astral-sh/ruff/issues/23131">#23131</a>)</li> <li><a href="729610acd9"><code>729610a</code></a> [ty] Fall back to ambiguous for large control flow graphs (<a href="https://redirect.github.com/astral-sh/ruff/issues/23399">#23399</a>)</li> <li><a href="1425c185b0"><code>1425c18</code></a> [ty] Add code folding support</li> <li><a href="97acaaea5f"><code>97acaae</code></a> [ty] Fix stack overflow for self-referential <code>TypeOf</code> in annotations (<a href="https://redirect.github.com/astral-sh/ruff/issues/23407">#23407</a>)</li> <li><a href="1f380c8258"><code>1f380c8</code></a> [ty] Update tests <code>reveal_type</code> and <code>Never</code> (<a href="https://redirect.github.com/astral-sh/ruff/issues/23418">#23418</a>)</li> <li>Additional commits viewable in <a href="https://github.com/astral-sh/ruff/compare/0.15.1...0.15.2">compare view</a></li> </ul> </details> <br /> Updates `langsmith` from 0.7.3 to 0.7.6 <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.6</h2> <h2>What's Changed</h2> <ul> <li>feat(python): add sandbox exception types and client plumbing by <a href="https://github.com/DanielKneipp"><code>@DanielKneipp</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2442">langchain-ai/langsmith-sdk#2442</a></li> <li>fix(py, claude agent sdk): Correctly parent spans in asyncio context 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/2457">langchain-ai/langsmith-sdk#2457</a></li> <li>perf(py): Improve retry logic for tracing ops 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/2459">langchain-ai/langsmith-sdk#2459</a></li> <li>feat(py, claude agent sdk): Add wrapping for PostToolUseFailure hook 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/2460">langchain-ai/langsmith-sdk#2460</a></li> <li>chore(claude agent sdk): rm debug logs 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/2461">langchain-ai/langsmith-sdk#2461</a></li> <li>release(py): 0.7.6 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/2462">langchain-ai/langsmith-sdk#2462</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.5...v0.7.6">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.5...v0.7.6</a></p> <h2>v0.7.5</h2> <h2>What's Changed</h2> <ul> <li>chore(deps): bump chalk from 4.1.2 to 5.6.2 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/2416">langchain-ai/langsmith-sdk#2416</a></li> <li>chore(deps-dev): bump <code>@jest/reporters</code> from 29.7.0 to 30.2.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/2417">langchain-ai/langsmith-sdk#2417</a></li> <li>chore(deps): bump the py-minor-and-patch group across 1 directory with 16 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/2440">langchain-ai/langsmith-sdk#2440</a></li> <li>chore(deps-dev): bump pandas-stubs from 2.3.3.251219 to 2.3.3.260113 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/2404">langchain-ai/langsmith-sdk#2404</a></li> <li>chore(deps-dev): bump the js-minor-and-patch group across 1 directory with 10 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/2433">langchain-ai/langsmith-sdk#2433</a></li> <li>make zstandard optional 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/2453">langchain-ai/langsmith-sdk#2453</a></li> <li>fix(py/adk): fix multi-agent tracing by <a href="https://github.com/QuentinBrosse"><code>@QuentinBrosse</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2451">langchain-ai/langsmith-sdk#2451</a></li> <li>release(py): 0.7.5 by <a href="https://github.com/QuentinBrosse"><code>@QuentinBrosse</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2456">langchain-ai/langsmith-sdk#2456</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.4...v0.7.5">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.4...v0.7.5</a></p> <h2>v0.7.4</h2> <h2>What's Changed</h2> <ul> <li>fix(google-adk): add wrapt dependency by <a href="https://github.com/QuentinBrosse"><code>@QuentinBrosse</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2436">langchain-ai/langsmith-sdk#2436</a></li> <li>chore: lock dependencies by <a href="https://github.com/QuentinBrosse"><code>@QuentinBrosse</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2439">langchain-ai/langsmith-sdk#2439</a></li> <li>release(py): 0.7.4 by <a href="https://github.com/QuentinBrosse"><code>@QuentinBrosse</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2441">langchain-ai/langsmith-sdk#2441</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.3...v0.7.4">https://github.com/langchain-ai/langsmith-sdk/compare/v0.7.3...v0.7.4</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="22a048477a"><code>22a0484</code></a> release(py): 0.7.6 (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2462">#2462</a>)</li> <li><a href="01acee8618"><code>01acee8</code></a> chore(claude agent sdk): rm debug logs (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/2461">#2461</a>)</li> <li><a href="4e366c4685"><code>4e366c4</code></a> feat(py, claude a... _Description has been truncated_ Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
🦜🍎️ LangChain Core
Looking for the JS/TS version? Check out LangChain.js.
To help you ship LangChain apps to production faster, check out LangSmith. LangSmith is a unified developer platform for building, testing, and monitoring LLM applications.
Quick Install
pip install langchain-core
🤔 What is this?
LangChain Core contains the base abstractions that power the LangChain ecosystem.
These abstractions are designed to be as modular and simple as possible.
The benefit of having these abstractions is that any provider can implement the required interface and then easily be used in the rest of the LangChain ecosystem.
⛰️ Why build on top of LangChain Core?
The LangChain ecosystem is built on top of langchain-core. Some of the benefits:
- Modularity: We've designed Core around abstractions that are independent of each other, and not tied to any specific model provider.
- Stability: We are committed to a stable versioning scheme, and will communicate any breaking changes with advance notice and version bumps.
- Battle-tested: Core components have the largest install base in the LLM ecosystem, and are used in production by many companies.
📖 Documentation
For full documentation, see the API reference. For conceptual guides, tutorials, and examples on using LangChain, see the LangChain Docs. You can also chat with the docs using Chat LangChain.
📕 Releases & Versioning
See our Releases and Versioning policies.
💁 Contributing
As an open-source project in a rapidly developing field, we are extremely open to contributions, whether it be in the form of a new feature, improved infrastructure, or better documentation.
For detailed information on how to contribute, see the Contributing Guide.