Files
langchain/libs/partners
dependabot[bot] 4e208f1e40 chore: bump the minor-and-patch group across 3 directories with 11 updates (#38587)
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 &gt;= 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 &quot;irm
https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-installer.ps1
| iex&quot;
</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 &quot;Click for full compiler
diagnostic&quot; 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 &gt;= 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>
2026-07-01 11:27:23 -04:00
..

FAQ

Looking for an integration not listed here? Check out the integrations documentation and the note in the libs/ README about third-party maintained packages.

Integration docs

For full documentation, see the primary and API reference docs for integrations.