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 Text Splitters
Looking for the JS/TS version? Check out LangChain.js.
Quick Install
uv add langchain-text-splitters
🤔 What is this?
LangChain Text Splitters contains utilities for splitting into chunks a wide variety of text documents.
📖 Documentation
For full documentation, see the API reference.
📕 Releases & Versioning
See our Releases and Versioning policies.
We encourage pinning your version to a specific version in order to avoid breaking your CI when we publish new tests. We recommend upgrading to the latest version periodically to make sure you have the latest tests.
Not pinning your version will ensure you always have the latest tests, but it may also break your CI if we introduce tests that your integration doesn't pass.
💁 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.
Resources
- LangChain Academy — comprehensive, free courses on LangChain libraries and products, made by the LangChain team
- Code of Conduct — community guidelines and standards