Bumps the minor-and-patch group with 7 updates in the /libs/model-profiles directory: | Package | From | To | | --- | --- | --- | | [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.3.0` | `1.4.0` | | [pytest-socket](https://github.com/miketheman/pytest-socket) | `0.7.0` | `0.8.0` | | [syrupy](https://github.com/syrupy-project/syrupy) | `5.2.0` | `5.3.4` | | [ruff](https://github.com/astral-sh/ruff) | `0.15.13` | `0.15.20` | | [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.8.18` | `0.9.4` | | [uuid-utils](https://github.com/aminalaee/uuid-utils) | `0.15.0` | `0.16.2` | | [langgraph](https://github.com/langchain-ai/langgraph) | `1.2.5` | `1.2.7` | Bumps the minor-and-patch group with 7 updates in the /libs/standard-tests directory: | Package | From | To | | --- | --- | --- | | [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.3.0` | `1.4.0` | | [pytest-socket](https://github.com/miketheman/pytest-socket) | `0.7.0` | `0.8.0` | | [syrupy](https://github.com/syrupy-project/syrupy) | `5.2.0` | `5.3.4` | | [ruff](https://github.com/astral-sh/ruff) | `0.15.13` | `0.15.20` | | [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.8.18` | `0.9.4` | | [uuid-utils](https://github.com/aminalaee/uuid-utils) | `0.15.0` | `0.16.2` | | [langchain-protocol](https://github.com/langchain-ai/agent-protocol) | `0.0.17` | `0.0.18` | Bumps the minor-and-patch group with 9 updates in the /libs/text-splitters directory: | Package | From | To | | --- | --- | --- | | [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.3.0` | `1.4.0` | | [pytest-socket](https://github.com/miketheman/pytest-socket) | `0.7.0` | `0.8.0` | | [ruff](https://github.com/astral-sh/ruff) | `0.15.13` | `0.15.20` | | [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.8.18` | `0.9.4` | | [uuid-utils](https://github.com/aminalaee/uuid-utils) | `0.15.0` | `0.16.2` | | [langchain-protocol](https://github.com/langchain-ai/agent-protocol) | `0.0.17` | `0.0.18` | | [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.14.3` | `4.15.0` | | [transformers](https://github.com/huggingface/transformers) | `5.8.1` | `5.12.1` | | [sentence-transformers](https://github.com/huggingface/sentence-transformers) | `5.5.0` | `5.6.0` | Updates `pytest-asyncio` from 1.3.0 to 1.4.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-asyncio/releases">pytest-asyncio's releases</a>.</em></p> <blockquote> <h2>pytest-asyncio v1.4.0</h2> <h1><a href="https://github.com/pytest-dev/pytest-asyncio/tree/1.4.0">1.4.0</a> - 2026-05-26</h1> <h2>Deprecated</h2> <ul> <li>Overriding the <em>event_loop_policy</em> fixture is deprecated. Use the <code>pytest_asyncio_loop_factories</code> hook instead. (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1419">#1419</a>)</li> </ul> <h2>Added</h2> <ul> <li> <p>Added the <code>pytest_asyncio_loop_factories</code> hook to parametrize asyncio tests with custom event loop factories.</p> <p>The hook returns a mapping of factory names to loop factories, and <code>pytest.mark.asyncio(loop_factories=[...])</code> selects a subset of configured factories per test. When a single factory is configured, test names are unchanged.</p> <p>Synchronous <code>@pytest_asyncio.fixture</code> functions now see the correct event loop when custom loop factories are configured, even when test code disrupts the current event loop (e.g., via <code>asyncio.run()</code> or <code>asyncio.set_event_loop(None)</code>). (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1164">#1164</a>)</p> </li> </ul> <h2>Changed</h2> <ul> <li>Improved the readability of the warning message that is displayed when <code>asyncio_default_fixture_loop_scope</code> is unset (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1298">#1298</a>)</li> <li>Only import <code>asyncio.AbstractEventLoopPolicy</code> for type checking to avoid raising a DeprecationWarning. (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1394">#1394</a>)</li> <li>Updated minimum supported pytest version to v8.4.0. (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1397">#1397</a>)</li> </ul> <h2>Fixed</h2> <ul> <li>Fixed a <code>ResourceWarning: unclosed event loop</code> warning that could occur when a synchronous test called <code>asyncio.run()</code> or otherwise unset the current event loop after pytest-asyncio had run an async test or fixture. (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/724">#724</a>)</li> </ul> <h2>Notes for Downstream Packagers</h2> <ul> <li>Added dependency on <code>sphinx-tabs >= 3.5</code> to organize documentation examples into tabs. (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1395">#1395</a>)</li> </ul> <h2>pytest-asyncio v1.4.0a2</h2> <h1><a href="https://github.com/pytest-dev/pytest-asyncio/tree/1.4.0a2">1.4.0a2</a> - 2026-05-02</h1> <h2>Deprecated</h2> <ul> <li>Overriding the <em>event_loop_policy</em> fixture is deprecated. Use the <code>pytest_asyncio_loop_factories</code> hook instead. (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1419">#1419</a>)</li> </ul> <h2>Added</h2> <ul> <li> <p>Added the <code>pytest_asyncio_loop_factories</code> hook to parametrize asyncio tests with custom event loop factories.</p> <p>The hook returns a mapping of factory names to loop factories, and <code>pytest.mark.asyncio(loop_factories=[...])</code> selects a subset of configured factories per test. When a single factory is configured, test names are unchanged on pytest 8.4+.</p> <p>Synchronous <code>@pytest_asyncio.fixture</code> functions now see the correct event loop when custom loop factories are configured, even when test code disrupts the current event loop (e.g., via <code>asyncio.run()</code> or <code>asyncio.set_event_loop(None)</code>). (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1164">#1164</a>)</p> </li> </ul> <h2>Changed</h2> <ul> <li>Improved the readability of the warning message that is displayed when <code>asyncio_default_fixture_loop_scope</code> is unset (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1298">#1298</a>)</li> <li>Only import <code>asyncio.AbstractEventLoopPolicy</code> for type checking to avoid raising a DeprecationWarning. (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1394">#1394</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="6e14cd2af9"><code>6e14cd2</code></a> chore: Prepare release of v1.4.0.</li> <li><a href="4b900fb5d0"><code>4b900fb</code></a> Build(deps): Bump codecov/codecov-action from 6.0.0 to 6.0.1</li> <li><a href="ab9f632450"><code>ab9f632</code></a> Build(deps): Bump zipp from 3.23.1 to 4.1.0</li> <li><a href="a56fc77ecd"><code>a56fc77</code></a> Build(deps): Bump hypothesis from 6.152.6 to 6.152.8</li> <li><a href="e8bae9bc1f"><code>e8bae9b</code></a> Build(deps): Bump requests from 2.34.0 to 2.34.2</li> <li><a href="fc433402c5"><code>fc43340</code></a> Build(deps): Bump idna from 3.14 to 3.15</li> <li><a href="762eaf5033"><code>762eaf5</code></a> Build(deps): Bump jaraco-functools from 4.4.0 to 4.5.0</li> <li><a href="b62e2228c8"><code>b62e222</code></a> Build(deps): Bump click from 8.3.3 to 8.4.0</li> <li><a href="9190447006"><code>9190447</code></a> Build(deps): Bump pydantic from 2.13.3 to 2.13.4</li> <li><a href="82a393c5e3"><code>82a393c</code></a> ci: Remove unnecessary debug output.</li> <li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest-asyncio/compare/v1.3.0...v1.4.0">compare view</a></li> </ul> </details> <br /> Updates `pytest-socket` from 0.7.0 to 0.8.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/miketheman/pytest-socket/releases">pytest-socket's releases</a>.</em></p> <blockquote> <h2>0.8.0</h2> <h2>What's Changed</h2> <h3>Enhancements</h3> <ul> <li>Block DNS resolution (<code>getaddrinfo</code>, <code>gethostbyname</code>) when sockets are disabled <a href="https://redirect.github.com/miketheman/pytest-socket/issues/482">#482</a></li> <li>Support CIDR network ranges in <code>allow_hosts</code> <a href="https://redirect.github.com/miketheman/pytest-socket/issues/479">#479</a></li> <li>Warn before raising on a blocked socket call <a href="https://redirect.github.com/miketheman/pytest-socket/issues/468">#468</a></li> <li>Cache hostname resolutions during a test run <a href="https://redirect.github.com/miketheman/pytest-socket/issues/369">#369</a></li> </ul> <h3>Changes</h3> <ul> <li><strong>Removed support for Python 3.8 and 3.9.</strong> Python 3.10 is now the minimum.</li> <li>Test against Python 3.13, 3.14, and free-threaded 3.13t/3.14t</li> <li>Replaced Poetry with uv <a href="https://redirect.github.com/miketheman/pytest-socket/issues/429">#429</a></li> <li>Added type hints <a href="https://redirect.github.com/miketheman/pytest-socket/issues/465">#465</a></li> <li>Swapped <code>pytest-httpbin</code> for a local test fixture <a href="https://redirect.github.com/miketheman/pytest-socket/issues/467">#467</a></li> <li>Dependency, CI, and development updates</li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/twm"><code>@twm</code></a> made their first contribution in <a href="https://redirect.github.com/miketheman/pytest-socket/pull/369">miketheman/pytest-socket#369</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/miketheman/pytest-socket/compare/0.7.0...0.8.0">https://github.com/miketheman/pytest-socket/compare/0.7.0...0.8.0</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/miketheman/pytest-socket/blob/main/CHANGELOG.md">pytest-socket's changelog</a>.</em></p> <blockquote> <h2>[0.8.0][] (2026-05-21)</h2> <p>Enhancements:</p> <ul> <li>Block DNS resolution (<code>getaddrinfo</code>, <code>gethostbyname</code>) when sockets are disabled <a href="https://redirect.github.com/miketheman/pytest-socket/issues/482">#482</a></li> <li>Support CIDR network ranges in <code>allow_hosts</code> <a href="https://redirect.github.com/miketheman/pytest-socket/issues/479">#479</a></li> <li>Warn before raising on a blocked socket call <a href="https://redirect.github.com/miketheman/pytest-socket/issues/468">#468</a></li> <li>Cache hostname resolutions during a test run <a href="https://redirect.github.com/miketheman/pytest-socket/issues/369">#369</a></li> </ul> <p>Changes:</p> <ul> <li><strong>Removed support for Python 3.8 and 3.9.</strong> Python 3.10 is now the minimum.</li> <li>Test against Python 3.13, 3.14, and free-threaded 3.13t/3.14t</li> <li>Replaced Poetry with uv <a href="https://redirect.github.com/miketheman/pytest-socket/issues/429">#429</a></li> <li>Added type hints <a href="https://redirect.github.com/miketheman/pytest-socket/issues/465">#465</a></li> <li>Swapped <code>pytest-httpbin</code> for a local test fixture <a href="https://redirect.github.com/miketheman/pytest-socket/issues/467">#467</a></li> <li>Dependency, CI, and development updates</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="f9ec1395f4"><code>f9ec139</code></a> pytest-socket, v0.8.0 (<a href="https://redirect.github.com/miketheman/pytest-socket/issues/484">#484</a>)</li> <li><a href="3930df85c1"><code>3930df8</code></a> chore(ci): add publish workflow, update others (<a href="https://redirect.github.com/miketheman/pytest-socket/issues/483">#483</a>)</li> <li><a href="aae7f44b24"><code>aae7f44</code></a> feat: also block DNS resolution (<a href="https://redirect.github.com/miketheman/pytest-socket/issues/482">#482</a>)</li> <li><a href="f0700d2379"><code>f0700d2</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/miketheman/pytest-socket/issues/481">#481</a>)</li> <li><a href="09ba021cd3"><code>09ba021</code></a> chore(deps): full sweep of all dependency upgrades (<a href="https://redirect.github.com/miketheman/pytest-socket/issues/480">#480</a>)</li> <li><a href="8dc62860f3"><code>8dc6286</code></a> feat(allow_hosts): support CIDR network entries (<a href="https://redirect.github.com/miketheman/pytest-socket/issues/479">#479</a>)</li> <li><a href="06ed8a1562"><code>06ed8a1</code></a> chore(deps-dev): bump starlette from 0.49.1 to 1.0.0 (<a href="https://redirect.github.com/miketheman/pytest-socket/issues/478">#478</a>)</li> <li><a href="b3132108f9"><code>b313210</code></a> chore(deps-dev): bump mypy from 1.20.0 to 1.20.2 (<a href="https://redirect.github.com/miketheman/pytest-socket/issues/477">#477</a>)</li> <li><a href="f7e85f788b"><code>f7e85f7</code></a> chore(deps-dev): bump pytest-randomly from 3.16.0 to 4.0.1 (<a href="https://redirect.github.com/miketheman/pytest-socket/issues/476">#476</a>)</li> <li><a href="89690a6c31"><code>89690a6</code></a> chore: dependabot config (<a href="https://redirect.github.com/miketheman/pytest-socket/issues/475">#475</a>)</li> <li>Additional commits viewable in <a href="https://github.com/miketheman/pytest-socket/compare/0.7.0...0.8.0">compare view</a></li> </ul> </details> <br /> Updates `syrupy` from 5.2.0 to 5.3.4 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/syrupy-project/syrupy/releases">syrupy's releases</a>.</em></p> <blockquote> <h2>v5.3.4</h2> <h2>What's Changed</h2> <ul> <li>perf: drop per-node kwargs dict from the amber serializer by <a href="https://github.com/frenck"><code>@frenck</code></a> in <a href="https://redirect.github.com/syrupy-project/syrupy/pull/1122">syrupy-project/syrupy#1122</a></li> <li>perf: give the internal matcher wrapper an explicit signature by <a href="https://github.com/frenck"><code>@frenck</code></a> in <a href="https://redirect.github.com/syrupy-project/syrupy/pull/1121">syrupy-project/syrupy#1121</a></li> <li>fix: avoid os.environ mutation for color control by <a href="https://github.com/frenck"><code>@frenck</code></a> in <a href="https://redirect.github.com/syrupy-project/syrupy/pull/1125">syrupy-project/syrupy#1125</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/syrupy-project/syrupy/compare/v5.3.3...v5.3.4">https://github.com/syrupy-project/syrupy/compare/v5.3.3...v5.3.4</a></p> <h2>v5.3.3</h2> <h2>What's Changed</h2> <ul> <li>perf: speed up string serialization in amber serializer by <a href="https://github.com/frenck"><code>@frenck</code></a> in <a href="https://redirect.github.com/syrupy-project/syrupy/pull/1118">syrupy-project/syrupy#1118</a></li> <li>perf: avoid copying the cycle-detection set on every serialized node by <a href="https://github.com/frenck"><code>@frenck</code></a> in <a href="https://redirect.github.com/syrupy-project/syrupy/pull/1119">syrupy-project/syrupy#1119</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/TejasAmle"><code>@TejasAmle</code></a> made their first contribution in <a href="https://redirect.github.com/syrupy-project/syrupy/pull/1113">syrupy-project/syrupy#1113</a></li> <li><a href="https://github.com/frenck"><code>@frenck</code></a> made their first contribution in <a href="https://redirect.github.com/syrupy-project/syrupy/pull/1118">syrupy-project/syrupy#1118</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/syrupy-project/syrupy/compare/v5.3.2...v5.3.3">https://github.com/syrupy-project/syrupy/compare/v5.3.2...v5.3.3</a></p> <h2>v5.3.2</h2> <h2>What's Changed</h2> <ul> <li>fix: overlapping test filenames across directories by <a href="https://github.com/noahnu"><code>@noahnu</code></a> in <a href="https://redirect.github.com/syrupy-project/syrupy/pull/1104">syrupy-project/syrupy#1104</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/syrupy-project/syrupy/compare/v5.3.1...v5.3.2">https://github.com/syrupy-project/syrupy/compare/v5.3.1...v5.3.2</a></p> <h2>v5.3.1</h2> <h2>What's Changed</h2> <h3>Fixes</h3> <ul> <li>fix(test): mark pydantic and attrs as dependencies for running internal tests by <a href="https://github.com/noahnu"><code>@noahnu</code></a> in <a href="https://redirect.github.com/syrupy-project/syrupy/pull/1108">syrupy-project/syrupy#1108</a> -- <strong>This only affects users trying to run the syrupy tests themselves, not consumers of syrupy.</strong></li> </ul> <h3>Misc</h3> <ul> <li>chore(deps): update astral-sh/setup-uv action to v8.1.0 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/syrupy-project/syrupy/pull/1103">syrupy-project/syrupy#1103</a></li> <li>chore(deps): update python docker tag to v3.14.4 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/syrupy-project/syrupy/pull/1102">syrupy-project/syrupy#1102</a></li> <li>chore(deps): update benchmark-action/github-action-benchmark action to v1.22.1 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/syrupy-project/syrupy/pull/1105">syrupy-project/syrupy#1105</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/syrupy-project/syrupy/compare/v5.3.0...v5.3.1">https://github.com/syrupy-project/syrupy/compare/v5.3.0...v5.3.1</a></p> <h2>v5.3.0</h2> <h2>What's Changed</h2> <h3>Features</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/syrupy-project/syrupy/blob/main/CHANGELOG.md">syrupy's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/syrupy-project/syrupy/releases/tag/v5.3.4">v5.3.4</a> (2026-06-26)</h2> <h2>What's Changed</h2> <ul> <li>perf: drop per-node kwargs dict from the amber serializer by <a href="https://github.com/frenck"><code>@frenck</code></a> in <a href="https://redirect.github.com/syrupy-project/syrupy/pull/1122">syrupy-project/syrupy#1122</a></li> <li>perf: give the internal matcher wrapper an explicit signature by <a href="https://github.com/frenck"><code>@frenck</code></a> in <a href="https://redirect.github.com/syrupy-project/syrupy/pull/1121">syrupy-project/syrupy#1121</a></li> <li>fix: avoid os.environ mutation for color control by <a href="https://github.com/frenck"><code>@frenck</code></a> in <a href="https://redirect.github.com/syrupy-project/syrupy/pull/1125">syrupy-project/syrupy#1125</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/syrupy-project/syrupy/compare/v5.3.3...v5.3.4">https://github.com/syrupy-project/syrupy/compare/v5.3.3...v5.3.4</a></p> <h2><a href="https://github.com/syrupy-project/syrupy/releases/tag/v5.3.3">v5.3.3</a> (2026-06-25)</h2> <h2>What's Changed</h2> <ul> <li>perf: speed up string serialization in amber serializer by <a href="https://github.com/frenck"><code>@frenck</code></a> in <a href="https://redirect.github.com/syrupy-project/syrupy/pull/1118">syrupy-project/syrupy#1118</a></li> <li>perf: avoid copying the cycle-detection set on every serialized node by <a href="https://github.com/frenck"><code>@frenck</code></a> in <a href="https://redirect.github.com/syrupy-project/syrupy/pull/1119">syrupy-project/syrupy#1119</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/TejasAmle"><code>@TejasAmle</code></a> made their first contribution in <a href="https://redirect.github.com/syrupy-project/syrupy/pull/1113">syrupy-project/syrupy#1113</a></li> <li><a href="https://github.com/frenck"><code>@frenck</code></a> made their first contribution in <a href="https://redirect.github.com/syrupy-project/syrupy/pull/1118">syrupy-project/syrupy#1118</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/syrupy-project/syrupy/compare/v5.3.2...v5.3.3">https://github.com/syrupy-project/syrupy/compare/v5.3.2...v5.3.3</a></p> <h2><a href="https://github.com/syrupy-project/syrupy/releases/tag/v5.3.2">v5.3.2</a> (2026-06-09)</h2> <h2>What's Changed</h2> <ul> <li>fix: overlapping test filenames across directories by <a href="https://github.com/noahnu"><code>@noahnu</code></a> in <a href="https://redirect.github.com/syrupy-project/syrupy/pull/1104">syrupy-project/syrupy#1104</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/syrupy-project/syrupy/compare/v5.3.1...v5.3.2">https://github.com/syrupy-project/syrupy/compare/v5.3.1...v5.3.2</a></p> <h2><a href="https://github.com/syrupy-project/syrupy/releases/tag/v5.3.1">v5.3.1</a> (2026-05-31)</h2> <h2>What's Changed</h2> <h3>Fixes</h3> <ul> <li>fix(test): mark pydantic and attrs as dependencies for running internal tests by <a href="https://github.com/noahnu"><code>@noahnu</code></a> in <a href="https://redirect.github.com/syrupy-project/syrupy/pull/1108">syrupy-project/syrupy#1108</a> -- <strong>This only affects users trying to run the syrupy tests themselves, not consumers of syrupy.</strong></li> </ul> <h3>Misc</h3> <ul> <li>chore(deps): update astral-sh/setup-uv action to v8.1.0 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/syrupy-project/syrupy/pull/1103">syrupy-project/syrupy#1103</a></li> <li>chore(deps): update python docker tag to v3.14.4 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/syrupy-project/syrupy/pull/1102">syrupy-project/syrupy#1102</a></li> <li>chore(deps): update benchmark-action/github-action-benchmark action to v1.22.1 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/syrupy-project/syrupy/pull/1105">syrupy-project/syrupy#1105</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/syrupy-project/syrupy/compare/v5.3.0...v5.3.1">https://github.com/syrupy-project/syrupy/compare/v5.3.0...v5.3.1</a></p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="7db49e98f7"><code>7db49e9</code></a> fix: avoid os.environ mutation for color control (<a href="https://redirect.github.com/syrupy-project/syrupy/issues/1125">#1125</a>)</li> <li><a href="52da1c4ba9"><code>52da1c4</code></a> chore: add benchmarks to README (<a href="https://redirect.github.com/syrupy-project/syrupy/issues/1124">#1124</a>)</li> <li><a href="a0d46f36fc"><code>a0d46f3</code></a> perf: give the internal matcher wrapper an explicit signature (<a href="https://redirect.github.com/syrupy-project/syrupy/issues/1121">#1121</a>)</li> <li><a href="54771a4849"><code>54771a4</code></a> perf: drop per-node kwargs dict from the amber serializer (<a href="https://redirect.github.com/syrupy-project/syrupy/issues/1122">#1122</a>)</li> <li><a href="8a10e700ad"><code>8a10e70</code></a> docs: add frenck as a contributor for bug (<a href="https://redirect.github.com/syrupy-project/syrupy/issues/1120">#1120</a>)</li> <li><a href="5760c88d37"><code>5760c88</code></a> chore(release): 5.3.3 [skip ci]</li> <li><a href="0840c9dcd1"><code>0840c9d</code></a> perf: avoid copying the cycle-detection set on every serialized node (<a href="https://redirect.github.com/syrupy-project/syrupy/issues/1119">#1119</a>)</li> <li><a href="1940faa06c"><code>1940faa</code></a> perf: speed up string serialization in amber serializer (<a href="https://redirect.github.com/syrupy-project/syrupy/issues/1118">#1118</a>)</li> <li><a href="46d661cdbd"><code>46d661c</code></a> chore(deps): update dependency debugpy to v1.8.21 (<a href="https://redirect.github.com/syrupy-project/syrupy/issues/1117">#1117</a>)</li> <li><a href="8c23052690"><code>8c23052</code></a> chore(deps): update astral-sh/setup-uv action to v8.2.0 (<a href="https://redirect.github.com/syrupy-project/syrupy/issues/1114">#1114</a>)</li> <li>Additional commits viewable in <a href="https://github.com/syrupy-project/syrupy/compare/v5.2.0...v5.3.4">compare view</a></li> </ul> </details> <br /> Updates `ruff` from 0.15.13 to 0.15.20 <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.20</h2> <h2>Release Notes</h2> <p>Released on 2026-06-25.</p> <h3>Preview features</h3> <ul> <li>Allow human-readable names in rule selectors (<a href="https://redirect.github.com/astral-sh/ruff/pull/25887">#25887</a>)</li> <li>Emit a warning instead of an error for unknown rule selectors (<a href="https://redirect.github.com/astral-sh/ruff/pull/26113">#26113</a>)</li> <li>Match <code>noqa</code> shebang handling in <code>ruff:ignore</code> comments (<a href="https://redirect.github.com/astral-sh/ruff/pull/26286">#26286</a>)</li> <li>[<code>ruff</code>] Remove <code>pytest-fixture-autouse</code> (<code>RUF076</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/26240">#26240</a>, <a href="https://redirect.github.com/astral-sh/ruff/pull/26371">#26371</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Add versioning sections to custom crate READMEs (<a href="https://redirect.github.com/astral-sh/ruff/pull/26317">#26317</a>)</li> <li>Update <code>ruff_python_parser</code> README for crates.io (<a href="https://redirect.github.com/astral-sh/ruff/pull/26315">#26315</a>)</li> <li>[<code>perflint</code>] Clarify that <code>PERF402</code> applies to any iterable (<a href="https://redirect.github.com/astral-sh/ruff/pull/26242">#26242</a>)</li> </ul> <h3>Contributors</h3> <ul> <li><a href="https://github.com/dhruvmanila"><code>@dhruvmanila</code></a></li> <li><a href="https://github.com/MichaReiser"><code>@MichaReiser</code></a></li> <li><a href="https://github.com/ntBre"><code>@ntBre</code></a></li> <li><a href="https://github.com/trilamsr"><code>@trilamsr</code></a></li> </ul> <h2>Install ruff 0.15.20</h2> <h3>Install prebuilt binaries via shell script</h3> <pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-installer.sh | sh </code></pre> <h3>Install prebuilt binaries via powershell script</h3> <pre lang="sh"><code>powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-installer.ps1 | iex" </code></pre> <h2>Download ruff 0.15.20</h2> <table> <thead> <tr> <th>File</th> <th>Platform</th> <th>Checksum</th> </tr> </thead> <tbody> <tr> <td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-aarch64-apple-darwin.tar.gz">ruff-aarch64-apple-darwin.tar.gz</a></td> <td>Apple Silicon macOS</td> <td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-aarch64-apple-darwin.tar.gz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-x86_64-apple-darwin.tar.gz">ruff-x86_64-apple-darwin.tar.gz</a></td> <td>Intel macOS</td> <td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-x86_64-apple-darwin.tar.gz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-aarch64-pc-windows-msvc.zip">ruff-aarch64-pc-windows-msvc.zip</a></td> <td>ARM64 Windows</td> <td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-aarch64-pc-windows-msvc.zip.sha256">checksum</a></td> </tr> <tr> <td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-i686-pc-windows-msvc.zip">ruff-i686-pc-windows-msvc.zip</a></td> <td>x86 Windows</td> <td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-i686-pc-windows-msvc.zip.sha256">checksum</a></td> </tr> <tr> <td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-x86_64-pc-windows-msvc.zip">ruff-x86_64-pc-windows-msvc.zip</a></td> <td>x64 Windows</td> <td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-x86_64-pc-windows-msvc.zip.sha256">checksum</a></td> </tr> <tr> <td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-aarch64-unknown-linux-gnu.tar.gz">ruff-aarch64-unknown-linux-gnu.tar.gz</a></td> <td>ARM64 Linux</td> <td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-aarch64-unknown-linux-gnu.tar.gz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-i686-unknown-linux-gnu.tar.gz">ruff-i686-unknown-linux-gnu.tar.gz</a></td> <td>x86 Linux</td> <td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-i686-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.20</h2> <p>Released on 2026-06-25.</p> <h3>Preview features</h3> <ul> <li>Allow human-readable names in rule selectors (<a href="https://redirect.github.com/astral-sh/ruff/pull/25887">#25887</a>)</li> <li>Emit a warning instead of an error for unknown rule selectors (<a href="https://redirect.github.com/astral-sh/ruff/pull/26113">#26113</a>)</li> <li>Match <code>noqa</code> shebang handling in <code>ruff:ignore</code> comments (<a href="https://redirect.github.com/astral-sh/ruff/pull/26286">#26286</a>)</li> <li>[<code>ruff</code>] Remove <code>pytest-fixture-autouse</code> (<code>RUF076</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/26240">#26240</a>, <a href="https://redirect.github.com/astral-sh/ruff/pull/26371">#26371</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Add versioning sections to custom crate READMEs (<a href="https://redirect.github.com/astral-sh/ruff/pull/26317">#26317</a>)</li> <li>Update <code>ruff_python_parser</code> README for crates.io (<a href="https://redirect.github.com/astral-sh/ruff/pull/26315">#26315</a>)</li> <li>[<code>perflint</code>] Clarify that <code>PERF402</code> applies to any iterable (<a href="https://redirect.github.com/astral-sh/ruff/pull/26242">#26242</a>)</li> </ul> <h3>Contributors</h3> <ul> <li><a href="https://github.com/dhruvmanila"><code>@dhruvmanila</code></a></li> <li><a href="https://github.com/MichaReiser"><code>@MichaReiser</code></a></li> <li><a href="https://github.com/ntBre"><code>@ntBre</code></a></li> <li><a href="https://github.com/trilamsr"><code>@trilamsr</code></a></li> </ul> <h2>0.15.19</h2> <p>Released on 2026-06-23.</p> <h3>Preview features</h3> <ul> <li>Support human-readable names when hovering suppression comments and in code actions (<a href="https://redirect.github.com/astral-sh/ruff/pull/26114">#26114</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>Fall back to default settings when editor-only settings are invalid (<a href="https://redirect.github.com/astral-sh/ruff/pull/26244">#26244</a>)</li> <li>Fix panic when inserting text at a notebook cell boundary (<a href="https://redirect.github.com/astral-sh/ruff/pull/26111">#26111</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>pylint</code>] Update fix suggestions for <code>__floor__</code>, <code>__trunc__</code>, <code>__length_hint__</code>, and <code>__matmul__</code> variants (<code>PLC2801</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/26239">#26239</a>)</li> </ul> <h3>Performance</h3> <ul> <li>Avoid allocating when parsing single string literals (<a href="https://redirect.github.com/astral-sh/ruff/pull/26200">#26200</a>)</li> <li>Avoid reallocating singleton call arguments (<a href="https://redirect.github.com/astral-sh/ruff/pull/26223">#26223</a>)</li> <li>Lazily create source files for lint diagnostics (<a href="https://redirect.github.com/astral-sh/ruff/pull/26226">#26226</a>)</li> <li>Optimize formatter text width and indentation (<a href="https://redirect.github.com/astral-sh/ruff/pull/26236">#26236</a>)</li> <li>Reserve capacity for builtin bindings (<a href="https://redirect.github.com/astral-sh/ruff/pull/26229">#26229</a>)</li> <li>Skip repeated-key checks for singleton dictionaries (<a href="https://redirect.github.com/astral-sh/ruff/pull/26228">#26228</a>)</li> <li>Use ArrayVec for qualified name segments (<a href="https://redirect.github.com/astral-sh/ruff/pull/26224">#26224</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="f82a36b6ba"><code>f82a36b</code></a> Bump 0.15.20 (<a href="https://redirect.github.com/astral-sh/ruff/issues/26376">#26376</a>)</li> <li><a href="af329438b5"><code>af32943</code></a> Improve the summarise-ecosystem-results skill (<a href="https://redirect.github.com/astral-sh/ruff/issues/26378">#26378</a>)</li> <li><a href="485ebab5de"><code>485ebab</code></a> Remove <code>RUF076</code> name from schema (<a href="https://redirect.github.com/astral-sh/ruff/issues/26371">#26371</a>)</li> <li><a href="ef81835ce3"><code>ef81835</code></a> [ty] Implement rust-analyzer's "Click for full compiler diagnostic" feature (...</li> <li><a href="572b31e237"><code>572b31e</code></a> [<code>ruff</code>] Remove <code>pytest-fixture-autouse</code> (<code>RUF076</code>) (<a href="https://redirect.github.com/astral-sh/ruff/issues/26240">#26240</a>)</li> <li><a href="f703f219d7"><code>f703f21</code></a> Allow human-readable names in rule selectors (<a href="https://redirect.github.com/astral-sh/ruff/issues/25887">#25887</a>)</li> <li><a href="0d726b28ee"><code>0d726b2</code></a> [ty] Reuse equality semantics for membership compatibility (<a href="https://redirect.github.com/astral-sh/ruff/issues/25955">#25955</a>)</li> <li><a href="dbe6e9848c"><code>dbe6e98</code></a> [ty] Infer definite equality comparison results (<a href="https://redirect.github.com/astral-sh/ruff/issues/26337">#26337</a>)</li> <li><a href="e700ea357a"><code>e700ea3</code></a> [ty] Prove TypedDict structural patterns exhaustive (<a href="https://redirect.github.com/astral-sh/ruff/issues/26285">#26285</a>)</li> <li><a href="6a0d2ec939"><code>6a0d2ec</code></a> [ty] Widen inferred class-valued instance attributes (<a href="https://redirect.github.com/astral-sh/ruff/issues/26338">#26338</a>)</li> <li>Additional commits viewable in <a href="https://github.com/astral-sh/ruff/compare/0.15.13...0.15.20">compare view</a></li> </ul> </details> <br /> Updates `langsmith` from 0.8.18 to 0.9.4 <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.9.4</h2> <h2>What's Changed</h2> <ul> <li>fix(google_adk): capture LLM inputs after before_model_callback runs [LSDK-279] by <a href="https://github.com/harisaiharish"><code>@harisaiharish</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3094">langchain-ai/langsmith-sdk#3094</a></li> <li>release(js): bump js sdk version to 0.7.13 by <a href="https://github.com/langchain-infra"><code>@langchain-infra</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3104">langchain-ai/langsmith-sdk#3104</a></li> <li>chore: sync langsmith_api by <a href="https://github.com/langtions-bot"><code>@langtions-bot</code></a>[bot] in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3105">langchain-ai/langsmith-sdk#3105</a></li> <li>doc: improve resource comments by <a href="https://github.com/QuentinBrosse"><code>@QuentinBrosse</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3108">langchain-ai/langsmith-sdk#3108</a></li> <li>fix(client): apply anonymizer to run error field by <a href="https://github.com/paarth-a"><code>@paarth-a</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3100">langchain-ai/langsmith-sdk#3100</a></li> <li>feat(client): expose datasets v2 resource + experiment-runs integration tests [langchainplus#28358] by <a href="https://github.com/GowriH-1"><code>@GowriH-1</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3106">langchain-ai/langsmith-sdk#3106</a></li> <li>fix(google-adk): set tool span as active tracing context in wrap_tool_run_async by <a href="https://github.com/navarra-lisandro"><code>@navarra-lisandro</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3111">langchain-ai/langsmith-sdk#3111</a></li> <li>fix(client): apply anonymizer to run error field (JS) by <a href="https://github.com/paarth-a"><code>@paarth-a</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3110">langchain-ai/langsmith-sdk#3110</a></li> <li>fix(python): use current project issues endpoint by <a href="https://github.com/khankaholic"><code>@khankaholic</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3064">langchain-ai/langsmith-sdk#3064</a></li> <li>chore: sync langsmith_api by <a href="https://github.com/langtions-bot"><code>@langtions-bot</code></a>[bot] in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3120">langchain-ai/langsmith-sdk#3120</a></li> <li>fix(js): Avoid setting usage_metadata on parent chain runs for Claude Agent SDK runs by <a href="https://github.com/jacoblee93"><code>@jacoblee93</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3119">langchain-ai/langsmith-sdk#3119</a></li> <li>feat(client): expose projects resource accessor on Python and JS clients by <a href="https://github.com/KiewanVillatel"><code>@KiewanVillatel</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3109">langchain-ai/langsmith-sdk#3109</a></li> <li>release(js): bump to 0.7.14 by <a href="https://github.com/dqbd"><code>@dqbd</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3121">langchain-ai/langsmith-sdk#3121</a></li> <li>release(python): bump py version to 0.9.4 by <a href="https://github.com/KiewanVillatel"><code>@KiewanVillatel</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3124">langchain-ai/langsmith-sdk#3124</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/navarra-lisandro"><code>@navarra-lisandro</code></a> made their first contribution in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3111">langchain-ai/langsmith-sdk#3111</a></li> <li><a href="https://github.com/khankaholic"><code>@khankaholic</code></a> made their first contribution in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3064">langchain-ai/langsmith-sdk#3064</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.3...v0.9.4">https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.3...v0.9.4</a></p> <h2>v0.9.3</h2> <h2>What's Changed</h2> <ul> <li>release(js): bump js sdk version to 0.7.12 by <a href="https://github.com/KiewanVillatel"><code>@KiewanVillatel</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3089">langchain-ai/langsmith-sdk#3089</a></li> <li>feat(sandbox): do not gate dataplane ops on sandbox status by <a href="https://github.com/ramon-langchain"><code>@ramon-langchain</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3090">langchain-ai/langsmith-sdk#3090</a></li> <li>chore: sync langsmith_api by <a href="https://github.com/langtions-bot"><code>@langtions-bot</code></a>[bot] in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3095">langchain-ai/langsmith-sdk#3095</a></li> <li>ci: pin all GitHub Actions to immutable SHA pins by <a href="https://github.com/jkennedyvz"><code>@jkennedyvz</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3093">langchain-ai/langsmith-sdk#3093</a></li> <li>chore(deps-dev): bump vcrpy from 8.1.1 to 8.2.1 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/3074">langchain-ai/langsmith-sdk#3074</a></li> <li>chore(deps): bump pydantic-settings from 2.13.1 to 2.14.2 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/3075">langchain-ai/langsmith-sdk#3075</a></li> <li>feat(sandbox): expose registries via generated v2 client by <a href="https://github.com/langchain-infra"><code>@langchain-infra</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3087">langchain-ai/langsmith-sdk#3087</a></li> <li>fix(client): lazily initialize sync OpenAPI client by <a href="https://github.com/KiewanVillatel"><code>@KiewanVillatel</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3099">langchain-ai/langsmith-sdk#3099</a></li> <li>release(python): bump py version to 0.9.3 by <a href="https://github.com/KiewanVillatel"><code>@KiewanVillatel</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3101">langchain-ai/langsmith-sdk#3101</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.2...v0.9.3">https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.2...v0.9.3</a></p> <h2>v0.9.2</h2> <h2>What's Changed</h2> <ul> <li>release(js): bump js sdk version to 0.7.11 by <a href="https://github.com/sineha-mani"><code>@sineha-mani</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3079">langchain-ai/langsmith-sdk#3079</a></li> <li>chore: bump _MIN_BACKEND_VERSION to 0.16.6rc1 by <a href="https://github.com/langtions-bot"><code>@langtions-bot</code></a>[bot] in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3076">langchain-ai/langsmith-sdk#3076</a></li> <li>chore: sync langsmith_api by <a href="https://github.com/langtions-bot"><code>@langtions-bot</code></a>[bot] in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3082">langchain-ai/langsmith-sdk#3082</a></li> <li>chore: sync langsmith_api by <a href="https://github.com/langtions-bot"><code>@langtions-bot</code></a>[bot] in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3083">langchain-ai/langsmith-sdk#3083</a></li> <li>chore(js): bump AI SDK 7 to beta by <a href="https://github.com/dqbd"><code>@dqbd</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3085">langchain-ai/langsmith-sdk#3085</a></li> <li>feat(client): expose v2 OpenAPI runs resource on Python and JS clients by <a href="https://github.com/KiewanVillatel"><code>@KiewanVillatel</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3084">langchain-ai/langsmith-sdk#3084</a></li> <li>release(python): bump py version to 0.9.2 by <a href="https://github.com/KiewanVillatel"><code>@KiewanVillatel</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3088">langchain-ai/langsmith-sdk#3088</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.1...v0.9.2">https://github.com/langchain-ai/langsmith-sdk/compare/v0.9.1...v0.9.2</a></p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="80d93c48c4"><code>80d93c4</code></a> release(python): bump py version to 0.9.4 (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3124">#3124</a>)</li> <li><a href="b453dd58d6"><code>b453dd5</code></a> release(js): bump to 0.7.14 (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3121">#3121</a>)</li> <li><a href="76f5c7136c"><code>76f5c71</code></a> feat(client): expose projects resource accessor on Python and JS clients (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3109">#3109</a>)</li> <li><a href="5f32426109"><code>5f32426</code></a> fix(js): Avoid setting usage_metadata on parent chain runs for Claude Agent S...</li> <li><a href="03b53410f1"><code>03b5341</code></a> chore: sync langsmith_api (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3120">#3120</a>)</li> <li><a href="7595f5c187"><code>7595f5c</code></a> fix(python): use current project issues endpoint (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3064">#3064</a>)</li> <li><a href="b5291fac06"><code>b5291fa</code></a> fix(client): apply anonymizer to run error field (JS) (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3110">#3110</a>)</li> <li><a href="be3eaa47e9"><code>be3eaa4</code></a> fix(google-adk): set tool span as active tracing context in wrap_tool_run_asy...</li> <li><a href="3dc88b3675"><code>3dc88b3</code></a> feat(client): expose datasets v2 resource + experiment-runs integration tests...</li> <li><a href="14741e0488"><code>14741e0</code></a> fix(client): apply anonymizer to run error field (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3100">#3100</a>)</li> <li>Additional commits viewable in <a href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.18...v0.9.4">compare view</a></li> </ul> </details> <br /> Updates `uuid-utils` from 0.15.0 to 0.16.2 <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.16.2</h2> <h2>What's Changed</h2> <ul> <li>fix: align <code>__hash__</code> with stdlib hash by <a href="https://github.com/aminalaee"><code>@aminalaee</code></a> in <a href="https://redirect.github.com/aminalaee/uuid-utils/pull/178">aminalaee/uuid-utils#178</a></li> <li>fix: <code>time</code> property for v6 and v7 by <a href="https://github.com/aminalaee"><code>@aminalaee</code></a> in <a href="https://redirect.github.com/aminalaee/uuid-utils/pull/179">aminalaee/uuid-utils#179</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/aminalaee/uuid-utils/compare/0.16.1...0.16.2">https://github.com/aminalaee/uuid-utils/compare/0.16.1...0.16.2</a></p> <h2>0.16.1</h2> <h2>What's Changed</h2> <ul> <li>Add PyPI publish attestations by <a href="https://github.com/shaanmajid"><code>@shaanmajid</code></a> in <a href="https://redirect.github.com/aminalaee/uuid-utils/pull/173">aminalaee/uuid-utils#173</a></li> <li>chore: Add <code>__version__</code> to compat module by <a href="https://github.com/aminalaee"><code>@aminalaee</code></a> in <a href="https://redirect.github.com/aminalaee/uuid-utils/pull/174">aminalaee/uuid-utils#174</a></li> <li>chore: relax <code>getnode</code> test by <a href="https://github.com/aminalaee"><code>@aminalaee</code></a> in <a href="https://redirect.github.com/aminalaee/uuid-utils/pull/176">aminalaee/uuid-utils#176</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/shaanmajid"><code>@shaanmajid</code></a> made their first contribution in <a href="https://redirect.github.com/aminalaee/uuid-utils/pull/173">aminalaee/uuid-utils#173</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/aminalaee/uuid-utils/compare/0.16.0...0.16.1">https://github.com/aminalaee/uuid-utils/compare/0.16.0...0.16.1</a></p> <h2>0.16.0</h2> <h2>What's Changed</h2> <ul> <li>Optimize uuid_utils.compat with <code>from_int</code> by <a href="https://github.com/aminalaee"><code>@aminalaee</code></a> in <a href="https://redirect.github.com/aminalaee/uuid-utils/pull/166">aminalaee/uuid-utils#166</a></li> <li>fix: return version None for non-RFC UUIDs by <a href="https://github.com/aminalaee"><code>@aminalaee</code></a> in <a href="https://redirect.github.com/aminalaee/uuid-utils/pull/163">aminalaee/uuid-utils#163</a></li> <li>Validate <code>node</code> argument out of range in constructor by <a href="https://github.com/aminalaee"><code>@aminalaee</code></a> in <a href="https://redirect.github.com/aminalaee/uuid-utils/pull/164">aminalaee/uuid-utils#164</a></li> <li>Drop Python3.9 by <a href="https://github.com/aminalaee"><code>@aminalaee</code></a> in <a href="https://redirect.github.com/aminalaee/uuid-utils/pull/168">aminalaee/uuid-utils#168</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/aminalaee/uuid-utils/compare/0.15.0...0.16.0">https://github.com/aminalaee/uuid-utils/compare/0.15.0...0.16.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="97c20484ab"><code>97c2048</code></a> Version 0.16.2 (<a href="https://redirect.github.com/aminalaee/uuid-utils/issues/180">#180</a>)</li> <li><a href="75e935b43d"><code>75e935b</code></a> fix: time property for v6 and v7 (<a href="https://redirect.github.com/aminalaee/uuid-utils/issues/179">#179</a>)</li> <li><a href="6222e73aaf"><code>6222e73</code></a> fix: align hash with stdlib hash (<a href="https://redirect.github.com/aminalaee/uuid-utils/issues/178">#178</a>)</li> <li><a href="de57fb647c"><code>de57fb6</code></a> Version 0.16.1 (<a href="https://redirect.github.com/aminalaee/uuid-utils/issues/177">#177</a>)</li> <li><a href="7d65c41ed4"><code>7d65c41</code></a> chore: relax <code>getnode</code> test (<a href="https://redirect.github.com/aminalaee/uuid-utils/issues/176">#176</a>)</li> <li><a href="ef4b519d5f"><code>ef4b519</code></a> Upgrade <code>pyo3</code> and <code>uuid</code> (<a href="https://redirect.github.com/aminalaee/uuid-utils/issues/175">#175</a>)</li> <li><a href="afbe6bf820"><code>afbe6bf</code></a> chore: Add <code>__version__</code> to compat module (<a href="https://redirect.github.com/aminalaee/uuid-utils/issues/174">#174</a>)</li> <li><a href="76d0a73c24"><code>76d0a73</code></a> Add PyPI publish attestations (<a href="https://redirect.github.com/aminalaee/uuid-utils/issues/173">#173</a>)</li> <li><a href="29bc188196"><code>29bc188</code></a> Bump uuid from 1.23.1 to 1.23.2 (<a href="https://redirect.github.com/aminalaee/uuid-utils/issues/170">#170</a>)</li> <li><a href="c6df9b87ea"><code>c6df9b8</code></a> Bump the python-packages group with 4 updates (<a href="https://redirect.github.com/aminalaee/uuid-utils/issues/172">#172</a>)</li> <li>Additional commits viewable in <a href="https://github.com/aminalaee/uuid-utils/compare/0.15.0...0.16.2">compare view</a></li> </ul> </details> <br /> Updates `langgraph` from 1.2.5 to 1.2.7 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/langchain-ai/langgraph/releases">langgraph's releases</a>.</em></p> <blockquote> <h2>langgraph==1.2.7</h2> <p>Changes since 1.2.6</p> <ul> <li>release(langgraph): 1.2.7 (<a href="https://redirect.github.com/langchain-ai/langgraph/issues/8223">#8223</a>)</li> <li>fix(langgraph): snapshot <code>DeltaChannel</code> overwrite supersteps (<a href="https://redirect.github.com/langchain-ai/langgraph/issues/8125">#8125</a>)</li> <li>fix(langgraph): Make <code>Overwrite</code> survive JSON roundtrips (<a href="https://redirect.github.com/langchain-ai/langgraph/issues/8127">#8127</a>)</li> <li>chore(deps): bump redis in /libs/langgraph (<a href="https://redirect.github.com/langchain-ai/langgraph/issues/7976">#7976</a>)</li> <li>chore(deps): bump langsmith from 0.8.0 to 0.8.18 in /libs/langgraph (<a href="https://redirect.github.com/langchain-ai/langgraph/issues/8176">#8176</a>)</li> <li>chore(deps): bump jupyterlab from 4.5.7 to 4.5.9 in /libs/langgraph (<a href="https://redirect.github.com/langchain-ai/langgraph/issues/8164">#8164</a>)</li> <li>fix(langgraph): emit valid UUIDs for exit-mode delta task_ids for langgraph-api (<a href="https://redirect.github.com/langchain-ai/langgraph/issues/8165">#8165</a>)</li> <li>chore(deps): bump bleach from 6.3.0 to 6.4.0 in /libs/langgraph (<a href="https://redirect.github.com/langchain-ai/langgraph/issues/8107">#8107</a>)</li> <li>chore(deps): bump cryptography from 46.0.7 to 48.0.1 in /libs/langgraph (<a href="https://redirect.github.com/langchain-ai/langgraph/issues/8106">#8106</a>)</li> <li>chore(deps): bump jupyter-server from 2.18.0 to 2.20.0 in /libs/langgraph (<a href="https://redirect.github.com/langchain-ai/langgraph/issues/8134">#8134</a>)</li> <li>chore(deps): bump tornado from 6.5.6 to 6.5.7 in /libs/langgraph (<a href="https://redirect.github.com/langchain-ai/langgraph/issues/8108">#8108</a>)</li> <li>chore(deps): bump pyjwt from 2.12.0 to 2.13.0 in /libs/langgraph (<a href="https://redirect.github.com/langchain-ai/langgraph/issues/8092">#8092</a>)</li> </ul> <h2>langgraph==1.2.6</h2> <p>Changes since 1.2.5</p> <ul> <li>release(langgraph): 1.2.6 (<a href="https://redirect.github.com/langchain-ai/langgraph/issues/8139">#8139</a>)</li> <li>fix: nested subgraph inherits parent checkpoint_ns (regression in 1.2.3) (<a href="https://redirect.github.com/langchain-ai/langgraph/issues/8053">#8053</a>)</li> <li>fix: cancel running subgraphs on v3 stream abort [closes <a href="https://redirect.github.com/langchain-ai/langgraph/issues/8029">#8029</a>] (<a href="https://redirect.github.com/langchain-ai/langgraph/issues/8057">#8057</a>)</li> <li>release(cli): 0.4.30 (<a href="https://redirect.github.com/langchain-ai/langgraph/issues/8101">#8101</a>)</li> <li>docs: standardize package <code>README.md</code> structure (<a href="https://redirect.github.com/langchain-ai/langgraph/issues/8064">#8064</a>)</li> <li>chore(deps): bump tornado from 6.5.5 to 6.5.6 in /libs/langgraph (<a href="https://redirect.github.com/langchain-ai/langgraph/issues/8063">#8063</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="5931a5f0b3"><code>5931a5f</code></a> release(langgraph): 1.2.7 (<a href="https://redirect.github.com/langchain-ai/langgraph/issues/8223">#8223</a>)</li> <li><a href="9a27693c64"><code>9a27693</code></a> fix(langgraph): snapshot <code>DeltaChannel</code> overwrite supersteps (<a href="https://redirect.github.com/langchain-ai/langgraph/issues/8125">#8125</a>)</li> <li><a href="1b5ca0a1b1"><code>1b5ca0a</code></a> fix(langgraph): Make <code>Overwrite</code> survive JSON roundtrips (<a href="https://redirect.github.com/langchain-ai/langgraph/issues/8127">#8127</a>)</li> <li><a href="d2f97191ab"><code>d2f9719</code></a> chore(deps): bump redis in /libs/langgraph (<a href="https://redirect.github.com/langchain-ai/langgraph/issues/7976">#7976</a>)</li> <li><a href="c1aad8b460"><code>c1aad8b</code></a> chore(deps-dev): bump starlette from 1.0.1 to 1.3.1 in /libs/sdk-py (<a href="https://redirect.github.com/langchain-ai/langgraph/issues/8104">#8104</a>)</li> <li><a href="d5dfeaf033"><code>d5dfeaf</code></a> chore(deps): bump starlette from 1.0.1 to 1.3.1 in /libs/cli (<a href="https://redirect.github.com/langchain-ai/langgraph/issues/8105">#8105</a>)</li> <li><a href="bdb323efbb"><code>bdb323e</code></a> chore(deps): bump langsmith from 0.8.0 to 0.8.18 in /libs/checkpoint-sqlite (...</li> <li><a href="31f69551b7"><code>31f6955</code></a> chore(deps): bump langsmith from 0.8.0 to 0.8.18 in /libs/checkpoint-postgres...</li> <li><a href="6b767dea5f"><code>6b767de</code></a> chore(deps): bump langsmith from 0.8.2 to 0.8.18 in /libs/checkpoint-conforma...</li> <li><a href="e6574a854f"><code>e6574a8</code></a> chore(deps): bump langsmith from 0.8.0 to 0.8.18 in /libs/cli (<a href="https://redirect.github.com/langchain-ai/langgraph/issues/8172">#8172</a>)</li> <li>Additional commits viewable in <a href="https://github.com/langchain-ai/langgraph/compare/1.2.5...1.2.7">compare view</a></li> </ul> </details> <br /> Updates `pytest-asyncio` from 1.3.0 to 1.4.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-asyncio/releases">pytest-asyncio's releases</a>.</em></p> <blockquote> <h2>pytest-asyncio v1.4.0</h2> <h1><a href="https://github.com/pytest-dev/pytest-asyncio/tree/1.4.0">1.4.0</a> - 2026-05-26</h1> <h2>Deprecated</h2> <ul> <li>Overriding the <em>event_loop_policy</em> fixture is deprecated. Use the <code>pytest_asyncio_loop_factories</code> hook instead. (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1419">#1419</a>)</li> </ul> <h2>Added</h2> <ul> <li> <p>Added the <code>pytest_asyncio_loop_factories</code> hook to parametrize asyncio tests with custom event loop factories.</p> <p>The hook returns a mapping of factory names to loop factories, and <code>pytest.mark.asyncio(loop_factories=[...])</code> selects a subset of configured factories per test. When a single factory is configured, test names are unchanged.</p> <p>Synchronous <code>@pytest_asyncio.fixture</code> functions now see the correct event loop when custom loop factories are configured, even when test code disrupts the current event loop (e.g., via <code>asyncio.run()</code> or <code>asyncio.set_event_loop(None)</code>). (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1164">#1164</a>)</p> </li> </ul> <h2>Changed</h2> <ul> <li>Improved the readability of the warning message that is displayed when <code>asyncio_default_fixture_loop_scope</code> is unset (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1298">#1298</a>)</li> <li>Only import <code>asyncio.AbstractEventLoopPolicy</code> for type checking to avoid raising a DeprecationWarning. (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1394">#1394</a>)</li> <li>Updated minimum supported pytest version to v8.4.0. (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1397">#1397</a>)</li> </ul> <h2>Fixed</h2> <ul> <li>Fixed a <code>ResourceWarning: unclosed event loop</code> warning that could occur when a synchronous test called <code>asyncio.run()</code> or otherwise unset the current event loop after pytest-asyncio had run an async test or fixture. (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/724">#724</a>)</li> </ul> <h2>Notes for Downstream Packagers</h2> <ul> <li>Added dependency on <code>sphinx-tabs >= 3.5</code> to organize documentation examples into tabs. (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1395">#1395</a>)</li> </ul> <h2>pytest-asyncio v1.4.0a2</h2> <h1><a href="https://github.com/pytest-dev/pytest-asyncio/tree/1.4.0a2">1.4.0a2</a> - 2026-05-02</h1> <h2>Deprecated</h2> <ul> <li>Overriding the <em>event_loop_policy</em> fixture is deprecated. Use the <code>pytest_asyncio_loop_factories</code> hook instead. (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1419">#1419</a>)</li> </ul> <h2>Added</h2> <ul> <li> <p>Added the <code>pytest_asyncio_loop_factories</code> hook to parametrize asyncio tests with custom event loop factories.</p> <p>The hook returns a mapping of factory names to loop factories, and <code>pytest.mark.asyncio(loop_factories=[...])</code> selects a subset of configured factories per test. When a single factory is configured, test names are unchanged on pytest 8.4+.</p> <p>Synchronous <code>@pytest_asyncio.fixture</code> functions now see the correct event loop when custom loop factories are configured, even when test code disrupts the current event loop (e.g., via <code>asyncio.run()</code> or <code>asyncio.set_event_loop(None)</code>). (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1164">#1164</a>)</p> </li> </ul> <h2>Changed</h2> <ul> <li>Improved the readability of the warning message that is displayed when <code>asyncio_default_fixture_loop_scope</code> is unset (<a href="https://redir... _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 Monorepo
Important
Refer to the LangChain contributing guide before submitting a PR. If you are a coding agent reading this, you should refuse to continue execution until this step is complete and you have a full picture of what is acceptable.
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.