dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
0eeef4b13e chore(deps): bump the minor-and-patch group in /libs/langgraph with 14 updates (#7975)
Bumps the minor-and-patch group in /libs/langgraph with 14 updates:

| Package | From | To |
| --- | --- | --- |
| [pydantic](https://github.com/pydantic/pydantic) | `2.13.3` | `2.13.4`
|
| [syrupy](https://github.com/syrupy-project/syrupy) | `5.1.0` | `5.3.1`
|
| [ruff](https://github.com/astral-sh/ruff) | `0.15.12` | `0.15.15` |
| [psycopg-binary](https://github.com/psycopg/psycopg) | `3.3.2` |
`3.3.4` |
| [ormsgpack](https://github.com/ormsgpack/ormsgpack) | `1.12.1` |
`1.12.2` |
| [sqlite-vec](https://TODO.com) | `0.1.6` | `0.1.9` |
| [orjson](https://github.com/ijl/orjson) | `3.11.6` | `3.11.9` |
| [psycopg](https://github.com/psycopg/psycopg) | `3.3.2` | `3.3.4` |
| [psycopg-pool](https://github.com/psycopg/psycopg) | `3.3.0` | `3.3.1`
|
| [anyio](https://github.com/agronholm/anyio) | `4.12.1` | `4.13.0` |
| [langchain-protocol](https://github.com/langchain-ai/agent-protocol) |
`0.0.15` | `0.0.16` |
| [ty](https://github.com/astral-sh/ty) | `0.0.33` | `0.0.42` |
| [click](https://github.com/pallets/click) | `8.3.1` | `8.4.1` |
| [pathspec](https://github.com/cpburnz/python-pathspec) | `1.0.3` |
`1.1.1` |

Updates `pydantic` from 2.13.3 to 2.13.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pydantic/pydantic/releases">pydantic's
releases</a>.</em></p>
<blockquote>
<h2>v2.13.4 2026-05-06</h2>
<h2>v2.13.4 (2026-05-06)</h2>
<h3>What's Changed</h3>
<h4>Packaging</h4>
<ul>
<li>Bump libc from 0.2.155 to 0.2.185 by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/13109">#13109</a></li>
<li>Adapt <code>pydantic-core</code> linker flags on macOS by <a
href="https://github.com/washingtoneg"><code>@​washingtoneg</code></a>
and <a href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/13147">#13147</a></li>
</ul>
<h4>Fixes</h4>
<ul>
<li>Preserve <code>RootModel</code> core metadata by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/13129">#13129</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4">https://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pydantic/pydantic/blob/main/HISTORY.md">pydantic's
changelog</a>.</em></p>
<blockquote>
<h2>v2.13.4 (2026-05-06)</h2>
<p><a
href="https://github.com/pydantic/pydantic/releases/tag/v2.13.4">GitHub
release</a></p>
<h3>What's Changed</h3>
<h4>Packaging</h4>
<ul>
<li>Bump libc from 0.2.155 to 0.2.185 by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/13109">#13109</a></li>
<li>Adapt <code>pydantic-core</code> linker flags on macOS by <a
href="https://github.com/washingtoneg"><code>@​washingtoneg</code></a>
and <a href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/13147">#13147</a></li>
</ul>
<h4>Fixes</h4>
<ul>
<li>Preserve <code>RootModel</code> core metadata by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/13129">#13129</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pydantic/pydantic/commit/cf67d4b3193c3fe43ede18612ed62785eee11382"><code>cf67d4b</code></a>
Fix linting</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/f0d8a214a5803036db46a56b1f62f1e56b81d662"><code>f0d8a21</code></a>
Prepare release v2.13.4</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/5e3fe1d41a00f441204241c66078003ae0391f9a"><code>5e3fe1d</code></a>
Check for pydantic tag pattern in CI</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/7f9edcc2a191d2eaa9751220eb910914e716a686"><code>7f9edcc</code></a>
Document tagging conventions</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/b46a0c9b8a4dd967fda8ec1a92f6437076bf262c"><code>b46a0c9</code></a>
Adapt <code>pydantic-core</code> linker flags on macOS</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/50629c851e61d887d5420452c311ec6203f1f400"><code>50629c8</code></a>
Update to PyPy 7.3.22</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/8522ebb71e5e9a6f7188af5f009f01785b8cf725"><code>8522ebb</code></a>
Preserve <code>RootModel</code> core metadata</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/a37f3aff090ca342dc5f48304889963530b993f8"><code>a37f3af</code></a>
Adapt <code>MISSING</code> sentinel test to work with unreleased
<code>typing_extensions</code> ver...</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/909259a9df660518033aa686b689f045a6eaf9d2"><code>909259a</code></a>
Remove Logfire example in documentation</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/2c4174c366606fc2dc46cb806833a080aefa77df"><code>2c4174c</code></a>
Bump libc from 0.2.155 to 0.2.185</li>
<li>See full diff in <a
href="https://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4">compare
view</a></li>
</ul>
</details>
<br />

Updates `syrupy` from 5.1.0 to 5.3.1
<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.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>
<ul>
<li>feat: add --snapshot-update-new-only flag (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/843">#843</a>)
by <a href="https://github.com/SAY-5"><code>@​SAY-5</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1098">syrupy-project/syrupy#1098</a></li>
</ul>
<h3>Misc.</h3>
<ul>
<li>chore: move release marker by <a
href="https://github.com/noahnu"><code>@​noahnu</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1095">syrupy-project/syrupy#1095</a></li>
<li>chore(deps): update codecov/codecov-action action to v5.5.4 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1089">syrupy-project/syrupy#1089</a></li>
<li>chore(deps): update dependency pytest to v9.0.3 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1096">syrupy-project/syrupy#1096</a></li>
<li>fix: include tests in sdist by <a
href="https://github.com/Lovlace777"><code>@​Lovlace777</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1099">syrupy-project/syrupy#1099</a></li>
<li>chore: skip benchmark on forks by <a
href="https://github.com/noahnu"><code>@​noahnu</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1100">syrupy-project/syrupy#1100</a></li>
<li>chore: update dev dependencies by <a
href="https://github.com/noahnu"><code>@​noahnu</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1101">syrupy-project/syrupy#1101</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/Lovlace777"><code>@​Lovlace777</code></a> made
their first contribution in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1099">syrupy-project/syrupy#1099</a></li>
<li><a href="https://github.com/SAY-5"><code>@​SAY-5</code></a> made
their first contribution in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1098">syrupy-project/syrupy#1098</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/syrupy-project/syrupy/compare/v5.2.0...v5.3.0">https://github.com/syrupy-project/syrupy/compare/v5.2.0...v5.3.0</a></p>
<h2>v5.2.0</h2>
<h2>What's Changed</h2>
<ul>
<li>chore(deps): update actions/checkout action to v6.0.2 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1065">syrupy-project/syrupy#1065</a></li>
<li>chore(deps): update actions/setup-python action to v6.2.0 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1066">syrupy-project/syrupy#1066</a></li>
<li>chore(deps): update dependency ruff to v0.14.14 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1067">syrupy-project/syrupy#1067</a></li>
<li>chore(deps): update dependency coverage to v7.13.2 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1068">syrupy-project/syrupy#1068</a></li>
<li>chore: migrate to uv, close <a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1019">#1019</a>
by <a href="https://github.com/noahnu"><code>@​noahnu</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1049">syrupy-project/syrupy#1049</a></li>
<li>chore(deps): update dependency coverage to v7.13.2 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1069">syrupy-project/syrupy#1069</a></li>
<li>chore(deps): update dependency debugpy to v1.8.19 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1070">syrupy-project/syrupy#1070</a></li>
<li>chore(deps): update dependency mypy to v1.19.1 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1071">syrupy-project/syrupy#1071</a></li>
<li>chore(deps): update dependency ruff to v0.14.14 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1072">syrupy-project/syrupy#1072</a></li>
</ul>
<!-- 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.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>
<h2><a
href="https://github.com/syrupy-project/syrupy/releases/tag/v5.3.0">v5.3.0</a>
(2026-05-31)</h2>
<h2>What's Changed</h2>
<h3>Features</h3>
<ul>
<li>feat: add --snapshot-update-new-only flag (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/843">#843</a>)
by <a href="https://github.com/SAY-5"><code>@​SAY-5</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1098">syrupy-project/syrupy#1098</a></li>
</ul>
<h3>Misc.</h3>
<ul>
<li>chore: move release marker by <a
href="https://github.com/noahnu"><code>@​noahnu</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1095">syrupy-project/syrupy#1095</a></li>
<li>chore(deps): update codecov/codecov-action action to v5.5.4 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1089">syrupy-project/syrupy#1089</a></li>
<li>chore(deps): update dependency pytest to v9.0.3 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1096">syrupy-project/syrupy#1096</a></li>
<li>fix: include tests in sdist by <a
href="https://github.com/Lovlace777"><code>@​Lovlace777</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1099">syrupy-project/syrupy#1099</a></li>
<li>chore: skip benchmark on forks by <a
href="https://github.com/noahnu"><code>@​noahnu</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1100">syrupy-project/syrupy#1100</a></li>
<li>chore: update dev dependencies by <a
href="https://github.com/noahnu"><code>@​noahnu</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1101">syrupy-project/syrupy#1101</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/Lovlace777"><code>@​Lovlace777</code></a> made
their first contribution in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1099">syrupy-project/syrupy#1099</a></li>
<li><a href="https://github.com/SAY-5"><code>@​SAY-5</code></a> made
their first contribution in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1098">syrupy-project/syrupy#1098</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/syrupy-project/syrupy/compare/v5.2.0...v5.3.0">https://github.com/syrupy-project/syrupy/compare/v5.2.0...v5.3.0</a></p>
<h2><a
href="https://github.com/syrupy-project/syrupy/releases/tag/v5.2.0">v5.2.0</a>
(2026-05-16)</h2>
<h2>What's Changed</h2>
<ul>
<li>chore(deps): update actions/checkout action to v6.0.2 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1065">syrupy-project/syrupy#1065</a></li>
<li>chore(deps): update actions/setup-python action to v6.2.0 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1066">syrupy-project/syrupy#1066</a></li>
<li>chore(deps): update dependency ruff to v0.14.14 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1067">syrupy-project/syrupy#1067</a></li>
<li>chore(deps): update dependency coverage to v7.13.2 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1068">syrupy-project/syrupy#1068</a></li>
<li>chore: migrate to uv, close <a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1019">#1019</a>
by <a href="https://github.com/noahnu"><code>@​noahnu</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1049">syrupy-project/syrupy#1049</a></li>
<li>chore(deps): update dependency coverage to v7.13.2 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1069">syrupy-project/syrupy#1069</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/c528216d5fa53517f9df34f49db55d3e455377c9"><code>c528216</code></a>
fix(test): mark pydantic and attrs as dependencies for running internal
tests...</li>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/32b9ccb6d2da49b91e3052e33b9e1e208963bf55"><code>32b9ccb</code></a>
chore(deps): update benchmark-action/github-action-benchmark action to
v1.22....</li>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/520f813ebf7f5c61bc45564b750cbfa836df0f2f"><code>520f813</code></a>
chore(deps): update python docker tag to v3.14.4 (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1102">#1102</a>)</li>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/9ad6eb48c90cadf3f1e13705414a612eed72637f"><code>9ad6eb4</code></a>
chore(deps): update astral-sh/setup-uv action to v8.1.0 (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1103">#1103</a>)</li>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/06c5ab4688ad816ef50c320f764f20e53ea89ae5"><code>06c5ab4</code></a>
chore(release): 5.3.0 [skip ci]</li>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/5887f25a02e6bb6d0b2b0cd9853d86c259345f1c"><code>5887f25</code></a>
chore: update dev dependencies (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1101">#1101</a>)</li>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/2daa56e2b74f7ed1b3e74086d9509ac7454a41be"><code>2daa56e</code></a>
feat: add --snapshot-update-new-only flag (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/843">#843</a>)
(<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1098">#1098</a>)</li>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/61c4e07e7a710270c4ebc3435652bc7d945fc60c"><code>61c4e07</code></a>
chore: skip benchmark on forks (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1100">#1100</a>)</li>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/a4880a798e64546118c4afc4e1b655cf1ea17cb2"><code>a4880a7</code></a>
fix: include tests in sdist (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1099">#1099</a>)</li>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/719a71ab83f94119072d5db79568b90b0455a7a1"><code>719a71a</code></a>
chore(deps): update dependency pytest to v9.0.3 (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1096">#1096</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/syrupy-project/syrupy/compare/v5.1.0...v5.3.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `ruff` from 0.15.12 to 0.15.15
<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.15</h2>
<h2>Release Notes</h2>
<p>Released on 2026-05-28.</p>
<h3>Preview features</h3>
<ul>
<li>Fix Markdown closing fence handling (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25310">#25310</a>)</li>
<li>[<code>pyflakes</code>] Report duplicate imports in
<code>typing.TYPE_CHECKING</code> block (<code>F811</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22560">#22560</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>[<code>pyflakes</code>] Treat function-scope bare annotations as
locals per PEP 526 (<code>F821</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21540">#21540</a>)</li>
</ul>
<h3>Performance</h3>
<ul>
<li>Avoid redundant <code>TokenValue</code> drops in the lexer (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25300">#25300</a>)</li>
<li>Reduce memory usage by dropping token-excess capacity and improve
performance by approximating the initial tokens <code>Vec</code> size
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/25354">#25354</a>)</li>
<li>Use <code>ThinVec</code> in AST to shrink <code>Stmt</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25361">#25361</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Fix <code>line-length</code> example for <code>--config</code>
option (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25389">#25389</a>)</li>
<li>[<code>flake8-comprehensions</code>] Document
<code>RecursionError</code> edge case in <code>__len__</code>
(<code>C416</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25286">#25286</a>)</li>
<li>[<code>mccabe</code>] Improve example (<code>C901</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25287">#25287</a>)</li>
<li>[<code>pyupgrade</code>] Clarify fix safety docs
(<code>UP007</code>, <code>UP045</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25288">#25288</a>)</li>
<li>[<code>refurb</code>] Document <code>FURB192</code> exception change
for empty sequences (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25317">#25317</a>)</li>
<li>[<code>ruff</code>] Document false negative for user-defined types
(<code>RUF013</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25289">#25289</a>)</li>
</ul>
<h3>Formatter</h3>
<ul>
<li>Fix formatting of lambdas nested within f-strings (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25398">#25398</a>)</li>
</ul>
<h3>Server</h3>
<ul>
<li>Return code action for <code>codeAction/resolve</code> requests that
contain no or no valid URL (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25365">#25365</a>)</li>
</ul>
<h3>Other changes</h3>
<ul>
<li>Expand semantic syntax errors for invalid walruses (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25415">#25415</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/chirizxc"><code>@​chirizxc</code></a></li>
<li><a href="https://github.com/ntBre"><code>@​ntBre</code></a></li>
<li><a
href="https://github.com/adityasingh2400"><code>@​adityasingh2400</code></a></li>
<li><a
href="https://github.com/charliermarsh"><code>@​charliermarsh</code></a></li>
<li><a
href="https://github.com/fallintoplace"><code>@​fallintoplace</code></a></li>
<li><a
href="https://github.com/martin-schlossarek"><code>@​martin-schlossarek</code></a></li>
<li><a
href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li>
</ul>
<!-- 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.15</h2>
<p>Released on 2026-05-28.</p>
<h3>Preview features</h3>
<ul>
<li>Fix Markdown closing fence handling (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25310">#25310</a>)</li>
<li>[<code>pyflakes</code>] Report duplicate imports in
<code>typing.TYPE_CHECKING</code> block (<code>F811</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22560">#22560</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>[<code>pyflakes</code>] Treat function-scope bare annotations as
locals per PEP 526 (<code>F821</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21540">#21540</a>)</li>
</ul>
<h3>Performance</h3>
<ul>
<li>Avoid redundant <code>TokenValue</code> drops in the lexer (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25300">#25300</a>)</li>
<li>Reduce memory usage by dropping token-excess capacity and improve
performance by approximating the initial tokens <code>Vec</code> size
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/25354">#25354</a>)</li>
<li>Use <code>ThinVec</code> in AST to shrink <code>Stmt</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25361">#25361</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Fix <code>line-length</code> example for <code>--config</code>
option (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25389">#25389</a>)</li>
<li>[<code>flake8-comprehensions</code>] Document
<code>RecursionError</code> edge case in <code>__len__</code>
(<code>C416</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25286">#25286</a>)</li>
<li>[<code>mccabe</code>] Improve example (<code>C901</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25287">#25287</a>)</li>
<li>[<code>pyupgrade</code>] Clarify fix safety docs
(<code>UP007</code>, <code>UP045</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25288">#25288</a>)</li>
<li>[<code>refurb</code>] Document <code>FURB192</code> exception change
for empty sequences (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25317">#25317</a>)</li>
<li>[<code>ruff</code>] Document false negative for user-defined types
(<code>RUF013</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25289">#25289</a>)</li>
</ul>
<h3>Formatter</h3>
<ul>
<li>Fix formatting of lambdas nested within f-strings (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25398">#25398</a>)</li>
</ul>
<h3>Server</h3>
<ul>
<li>Return code action for <code>codeAction/resolve</code> requests that
contain no or no valid URL (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25365">#25365</a>)</li>
</ul>
<h3>Other changes</h3>
<ul>
<li>Expand semantic syntax errors for invalid walruses (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25415">#25415</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/chirizxc"><code>@​chirizxc</code></a></li>
<li><a href="https://github.com/ntBre"><code>@​ntBre</code></a></li>
<li><a
href="https://github.com/adityasingh2400"><code>@​adityasingh2400</code></a></li>
<li><a
href="https://github.com/charliermarsh"><code>@​charliermarsh</code></a></li>
<li><a
href="https://github.com/fallintoplace"><code>@​fallintoplace</code></a></li>
<li><a
href="https://github.com/martin-schlossarek"><code>@​martin-schlossarek</code></a></li>
<li><a
href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li>
<li><a
href="https://github.com/Ruchir28"><code>@​Ruchir28</code></a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/astral-sh/ruff/commit/db5aa0a5f1b92cb91d910bf0866a967554dd94f5"><code>db5aa0a</code></a>
Bump 0.15.15 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/25431">#25431</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/366fe21ba369ccdd01eb99c1043c9a969c99230b"><code>366fe21</code></a>
[ty] Improve diagnostics for syntax errors in forward annotations (<a
href="https://redirect.github.com/astral-sh/ruff/issues/25158">#25158</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/e2e1e647d182b8567845039c9a65fb0608a4dcfc"><code>e2e1e64</code></a>
[ty] Remove excess capacity from more Salsa cached collections (<a
href="https://redirect.github.com/astral-sh/ruff/issues/25411">#25411</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/1bd77e1646f2213d86b8da215f08279187867d72"><code>1bd77e1</code></a>
[ty] Use diagnostic message as tie breaker when sorting (<a
href="https://redirect.github.com/astral-sh/ruff/issues/25424">#25424</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/7e1bc1e75f15795f12c846294b13df4535f2abbf"><code>7e1bc1e</code></a>
Add agent skills for working on ty (<a
href="https://redirect.github.com/astral-sh/ruff/issues/25422">#25422</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/574e10752f8cfa9e0cdbe3b01e96c4380950469b"><code>574e107</code></a>
Expand semantic syntax errors for invalid walruses (<a
href="https://redirect.github.com/astral-sh/ruff/issues/25415">#25415</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/4a7ca062fccd80443a43aa61e5dc7e5858e88dc1"><code>4a7ca06</code></a>
[ty] Display docs for matching parameter when hovering over the name of
an ar...</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/54327092dbfe455040690d63bb1e5e4b5f551239"><code>5432709</code></a>
Refine a few agents instructions (<a
href="https://redirect.github.com/astral-sh/ruff/issues/25423">#25423</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/3cb09eba689ebb49e799131092121928cc789c18"><code>3cb09eb</code></a>
[ty] Support <code>typing.TypeForm</code> (<a
href="https://redirect.github.com/astral-sh/ruff/issues/25334">#25334</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/c8cd59f189f2b6f55d542b29bddb953622add6fc"><code>c8cd59f</code></a>
[ty] Infer class attributes assigned by metaclass initialization (<a
href="https://redirect.github.com/astral-sh/ruff/issues/25342">#25342</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.15.12...0.15.15">compare
view</a></li>
</ul>
</details>
<br />

Updates `psycopg-binary` from 3.3.2 to 3.3.4
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/psycopg/psycopg/blob/master/docs/news.rst">psycopg-binary's
changelog</a>.</em></p>
<blockquote>
<p>.. currentmodule:: psycopg</p>
<p>.. index::
single: Release notes
single: News</p>
<h1><code>psycopg</code> release notes</h1>
<h2>Future releases</h2>
<p>Psycopg 3.3.5 (unreleased)
^^^^^^^^^^^^^^^^^^^^^^^^^^</p>
<ul>
<li>Discard prepared statements upon :sql:<code>ALTER *</code> or
<code>DISCARD *</code>

(🎫<code>[#1307](https://github.com/psycopg/psycopg/issues/1307)</code>).</li>
</ul>
<h2>Current release</h2>
<p>Psycopg 3.3.4
^^^^^^^^^^^^^</p>
<ul>
<li>Fix possible spurious connection timeout in systems with very long
uptimes
in C extension
(🎫<code>[#1280](https://github.com/psycopg/psycopg/issues/1280)</code>).</li>
<li>Fix client-side adaptation of enums whose name require quotes

(🎫<code>[#1298](https://github.com/psycopg/psycopg/issues/1298)</code>).</li>
<li>Consistently populate <code>~Cursor.statusmessage</code> after
<code>~Cursor.executemany()</code>

(🎫<code>[#1302](https://github.com/psycopg/psycopg/issues/1302)</code>).</li>
</ul>
<p>Psycopg 3.3.3
^^^^^^^^^^^^^</p>
<ul>
<li>Retain <code>Error.pgconn</code> when raising a single exception for
multiple connection
attempt errors
(🎫<code>[#1246](https://github.com/psycopg/psycopg/issues/1246)</code>).</li>
<li>Return a proper error when server sends <code>ErrorResponse</code>
for a <code>Sync</code> after
a <code>Parse</code>
(🎫<code>[#1260](https://github.com/psycopg/psycopg/issues/1260)</code>).</li>
</ul>
<p>Psycopg 3.3.2
^^^^^^^^^^^^^</p>
<p>Fix race condition in adapters at startup
(🎫<code>[#1230](https://github.com/psycopg/psycopg/issues/1230)</code>).</p>
<p>Psycopg 3.3.1
^^^^^^^^^^^^^</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/psycopg/psycopg/commit/83f110367cdd249cc0a352e2246ecea9e878e5a0"><code>83f1103</code></a>
chore: bump psycopg_pool package version to 3.3.1</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/18287707f56a2b4f0817d9c23d137f5d69db6e31"><code>1828770</code></a>
chore: bump psycopg package version to 3.3.4</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/8be14bbc18f74de7652606d2777e0950ec804cc0"><code>8be14bb</code></a>
Merge pull request <a
href="https://redirect.github.com/psycopg/psycopg/issues/1301">#1301</a>
from oliverhaas/fix/sync-pool-open-race</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/aee0bf2659db77c31154acf583baf0a98675c192"><code>aee0bf2</code></a>
fix(pool): fix race in the construction of the sync ConnectionPool
lock</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/bc4d30375557fc32f2a91c2f8b75a5d21711ea89"><code>bc4d303</code></a>
chore(deps): bump the actions group across 1 directory with 4
updates</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/785379f196fc17473d312451a1fd4a06ef8dc895"><code>785379f</code></a>
fix: retain statusmessage after executemany with returning=False</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/8882a73871e65727549657085922d043a106127c"><code>8882a73</code></a>
perf: do less if X in Y: return Y[X] for cache-like patterns</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/2f785395c189e709da5fa74a02d3797bfb9db6a4"><code>2f78539</code></a>
Merge pull request <a
href="https://redirect.github.com/psycopg/psycopg/issues/1299">#1299</a>
from dvarrazzo/fix-camel-enum</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/37ef1dc4e6d19dc4af062d45a63243cb96a261c2"><code>37ef1dc</code></a>
test: skip test on crdb depending on precise regtype behaviour</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/7f2f1d159df881260e3086fd61ea71343ca98e58"><code>7f2f1d1</code></a>
fix: fix client-side representation of enums requiring quotes</li>
<li>Additional commits viewable in <a
href="https://github.com/psycopg/psycopg/compare/3.3.2...3.3.4">compare
view</a></li>
</ul>
</details>
<br />

Updates `ormsgpack` from 1.12.1 to 1.12.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ormsgpack/ormsgpack/releases">ormsgpack's
releases</a>.</em></p>
<blockquote>
<h2>1.12.2</h2>
<p>Changed</p>
<ul>
<li>Add Python 3.14 free-threaded Windows x86_64 wheel</li>
<li>Improve serialization performance</li>
<li>Update dependencies</li>
</ul>
<p>Fixed</p>
<ul>
<li>Fix <code>unpackb</code> crash on Windows with Python 3.14
free-threaded and
on Linux s390x (<a
href="https://redirect.github.com/ormsgpack/ormsgpack/issues/499">#499</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/ormsgpack/ormsgpack/blob/master/docs/changelog.rst">ormsgpack's
changelog</a>.</em></p>
<blockquote>
<h2>1.12.2 - 2026-01-18</h2>
<p>Changed</p>
<pre><code>
- Add Python 3.14 free-threaded Windows x86_64 wheel
- Improve serialization performance
- Update dependencies
<p>Fixed</p>
<pre><code>
- Fix ``unpackb`` crash on Windows with Python 3.14 free-threaded and
  on Linux s390x (:issue:`499`)
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;Commits&lt;/summary&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/ormsgpack/ormsgpack/commit/9645772ab1e19420fa509197a95fb40fcc92fe9f&quot;&gt;&lt;code&gt;9645772&lt;/code&gt;&lt;/a&gt;
1.12.2&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/ormsgpack/ormsgpack/commit/cfc189fe17ea41cce9baffff0c55da105fce0d2e&quot;&gt;&lt;code&gt;cfc189f&lt;/code&gt;&lt;/a&gt;
Update Changelog&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/ormsgpack/ormsgpack/commit/cf8c3bb3988e063f628e62e3ead0de24c3a95381&quot;&gt;&lt;code&gt;cf8c3bb&lt;/code&gt;&lt;/a&gt;
Lint docs&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/ormsgpack/ormsgpack/commit/cc6e45a07d5cb13098da5752cc552deed525c8f6&quot;&gt;&lt;code&gt;cc6e45a&lt;/code&gt;&lt;/a&gt;
Update development dependencies&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/ormsgpack/ormsgpack/commit/42f501fc0fdbb86601bcecafd77e0096e41b266f&quot;&gt;&lt;code&gt;42f501f&lt;/code&gt;&lt;/a&gt;
Update dependencies&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/ormsgpack/ormsgpack/commit/6e621b8abcfa48cd9b4248bb5889baf3fdca06d3&quot;&gt;&lt;code&gt;6e621b8&lt;/code&gt;&lt;/a&gt;
Update repository url&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/ormsgpack/ormsgpack/commit/079c7fcf9b96d5c869af106c61d156f06bd5f6cd&quot;&gt;&lt;code&gt;079c7fc&lt;/code&gt;&lt;/a&gt;
Bump urllib3 from 2.6.0 to 2.6.3&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/ormsgpack/ormsgpack/commit/4bb944cf066fca788024ebd3614164627daeac33&quot;&gt;&lt;code&gt;4bb944c&lt;/code&gt;&lt;/a&gt;
Bump ruff from 0.14.11 to 0.14.12 in the uv group&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/ormsgpack/ormsgpack/commit/2f447c2475c60f0e966428825229f456734a35dc&quot;&gt;&lt;code&gt;2f447c2&lt;/code&gt;&lt;/a&gt;
Trigger workflows on merge group events&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;https://github.com/ormsgpack/ormsgpack/commit/2acc85d4437bcf6baa3a4f16fe333e46c97d7a66&quot;&gt;&lt;code&gt;2acc85d&lt;/code&gt;&lt;/a&gt;
Bump chrono from 0.4.42 to 0.4.43&lt;/li&gt;
&lt;li&gt;Additional commits viewable in &lt;a
href=&quot;https://github.com/ormsgpack/ormsgpack/compare/1.12.1...1.12.2&quot;&gt;compare
view&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;

&lt;br /&gt;</code></pre>

Updates `sqlite-vec` from 0.1.6 to 0.1.9

Updates `orjson` from 3.11.6 to 3.11.9
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ijl/orjson/releases">orjson's
releases</a>.</em></p>
<blockquote>
<h2>3.11.9</h2>
<h3>Changed</h3>
<ul>
<li>Build now depends on Rust 1.95 or later instead of 1.89.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fix building on Rust 1.95.</li>
</ul>
<h2>3.11.8</h2>
<h3>Changed</h3>
<ul>
<li>Build and compatibility improvements.</li>
</ul>
<h2>3.11.7</h2>
<h3>Changed</h3>
<ul>
<li>Use a faster library to serialize <code>float</code>. Users with
byte-exact regression
tests should note positive exponents are now written using a
<code>+</code>, e.g.,
<code>1.2e+30</code> instead of <code>1.2e30</code>. Both formats are
spec-compliant.</li>
<li>ABI compatibility with CPython 3.15 alpha 5 free-threading.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/ijl/orjson/blob/master/CHANGELOG.md">orjson's
changelog</a>.</em></p>
<blockquote>
<h2>3.11.9 - 2026-05-06</h2>
<h3>Changed</h3>
<ul>
<li>Build now depends on Rust 1.95 or later instead of 1.89.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fix building on Rust 1.95.</li>
</ul>
<h2>3.11.8 - 2026-03-31</h2>
<h3>Changed</h3>
<ul>
<li>Build and compatibility improvements.</li>
</ul>
<h2>3.11.7 - 2026-02-02</h2>
<h3>Changed</h3>
<ul>
<li>Use a faster library to serialize <code>float</code>. Users with
byte-exact regression
tests should note positive exponents are now written using a
<code>+</code>, e.g.,
<code>1.2e+30</code> instead of <code>1.2e30</code>. Both formats are
spec-compliant.</li>
<li>ABI compatibility with CPython 3.15 alpha 5 free-threading.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ijl/orjson/commit/705515d77b28429d0b7c30c3d781abe52e8a1e5a"><code>705515d</code></a>
3.11.9</li>
<li><a
href="https://github.com/ijl/orjson/commit/d19055d5bab432f98d53b71606a9c6c23fb21bf6"><code>d19055d</code></a>
build update</li>
<li><a
href="https://github.com/ijl/orjson/commit/77e2d96c3febe099cde2447856fe2523d68c71b0"><code>77e2d96</code></a>
MSRV 1.95, remove compiler feature detection</li>
<li><a
href="https://github.com/ijl/orjson/commit/5cbb3d0398a2f42de51210270286fecd798c5d78"><code>5cbb3d0</code></a>
3.11.8</li>
<li><a
href="https://github.com/ijl/orjson/commit/4195d7f263e33076295b75efdcbaf6a55af8674e"><code>4195d7f</code></a>
writer::half</li>
<li><a
href="https://github.com/ijl/orjson/commit/d00641b69410728a735f0855eb1c2843b0a5819b"><code>d00641b</code></a>
writer::uuid</li>
<li><a
href="https://github.com/ijl/orjson/commit/c84d9b4ba4853781af943fa5c493e261e2f82b84"><code>c84d9b4</code></a>
build and compatibility misc</li>
<li><a
href="https://github.com/ijl/orjson/commit/4547234b681fac5e0e0734cf44c21e75f9654e43"><code>4547234</code></a>
ffi::numpy</li>
<li><a
href="https://github.com/ijl/orjson/commit/0d4a5ad1f17a72528ba027554466fdec6580cdeb"><code>0d4a5ad</code></a>
datetime PyRef idiom</li>
<li><a
href="https://github.com/ijl/orjson/commit/e93a13d372ec956d027e71d023eb534b8445ac85"><code>e93a13d</code></a>
Cross-compile avoids maturin v1.12 build-details.json error</li>
<li>Additional commits viewable in <a
href="https://github.com/ijl/orjson/compare/3.11.6...3.11.9">compare
view</a></li>
</ul>
</details>
<br />

Updates `psycopg` from 3.3.2 to 3.3.4
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/psycopg/psycopg/blob/master/docs/news.rst">psycopg's
changelog</a>.</em></p>
<blockquote>
<p>.. currentmodule:: psycopg</p>
<p>.. index::
single: Release notes
single: News</p>
<h1><code>psycopg</code> release notes</h1>
<h2>Future releases</h2>
<p>Psycopg 3.3.5 (unreleased)
^^^^^^^^^^^^^^^^^^^^^^^^^^</p>
<ul>
<li>Discard prepared statements upon :sql:<code>ALTER *</code> or
<code>DISCARD *</code>

(🎫<code>[#1307](https://github.com/psycopg/psycopg/issues/1307)</code>).</li>
</ul>
<h2>Current release</h2>
<p>Psycopg 3.3.4
^^^^^^^^^^^^^</p>
<ul>
<li>Fix possible spurious connection timeout in systems with very long
uptimes
in C extension
(🎫<code>[#1280](https://github.com/psycopg/psycopg/issues/1280)</code>).</li>
<li>Fix client-side adaptation of enums whose name require quotes

(🎫<code>[#1298](https://github.com/psycopg/psycopg/issues/1298)</code>).</li>
<li>Consistently populate <code>~Cursor.statusmessage</code> after
<code>~Cursor.executemany()</code>

(🎫<code>[#1302](https://github.com/psycopg/psycopg/issues/1302)</code>).</li>
</ul>
<p>Psycopg 3.3.3
^^^^^^^^^^^^^</p>
<ul>
<li>Retain <code>Error.pgconn</code> when raising a single exception for
multiple connection
attempt errors
(🎫<code>[#1246](https://github.com/psycopg/psycopg/issues/1246)</code>).</li>
<li>Return a proper error when server sends <code>ErrorResponse</code>
for a <code>Sync</code> after
a <code>Parse</code>
(🎫<code>[#1260](https://github.com/psycopg/psycopg/issues/1260)</code>).</li>
</ul>
<p>Psycopg 3.3.2
^^^^^^^^^^^^^</p>
<p>Fix race condition in adapters at startup
(🎫<code>[#1230](https://github.com/psycopg/psycopg/issues/1230)</code>).</p>
<p>Psycopg 3.3.1
^^^^^^^^^^^^^</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/psycopg/psycopg/commit/83f110367cdd249cc0a352e2246ecea9e878e5a0"><code>83f1103</code></a>
chore: bump psycopg_pool package version to 3.3.1</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/18287707f56a2b4f0817d9c23d137f5d69db6e31"><code>1828770</code></a>
chore: bump psycopg package version to 3.3.4</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/8be14bbc18f74de7652606d2777e0950ec804cc0"><code>8be14bb</code></a>
Merge pull request <a
href="https://redirect.github.com/psycopg/psycopg/issues/1301">#1301</a>
from oliverhaas/fix/sync-pool-open-race</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/aee0bf2659db77c31154acf583baf0a98675c192"><code>aee0bf2</code></a>
fix(pool): fix race in the construction of the sync ConnectionPool
lock</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/bc4d30375557fc32f2a91c2f8b75a5d21711ea89"><code>bc4d303</code></a>
chore(deps): bump the actions group across 1 directory with 4
updates</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/785379f196fc17473d312451a1fd4a06ef8dc895"><code>785379f</code></a>
fix: retain statusmessage after executemany with returning=False</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/8882a73871e65727549657085922d043a106127c"><code>8882a73</code></a>
perf: do less if X in Y: return Y[X] for cache-like patterns</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/2f785395c189e709da5fa74a02d3797bfb9db6a4"><code>2f78539</code></a>
Merge pull request <a
href="https://redirect.github.com/psycopg/psycopg/issues/1299">#1299</a>
from dvarrazzo/fix-camel-enum</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/37ef1dc4e6d19dc4af062d45a63243cb96a261c2"><code>37ef1dc</code></a>
test: skip test on crdb depending on precise regtype behaviour</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/7f2f1d159df881260e3086fd61ea71343ca98e58"><code>7f2f1d1</code></a>
fix: fix client-side representation of enums requiring quotes</li>
<li>Additional commits viewable in <a
href="https://github.com/psycopg/psycopg/compare/3.3.2...3.3.4">compare
view</a></li>
</ul>
</details>
<br />

Updates `psycopg-pool` from 3.3.0 to 3.3.1
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/psycopg/psycopg/blob/master/docs/news.rst">psycopg-pool's
changelog</a>.</em></p>
<blockquote>
<p>.. currentmodule:: psycopg</p>
<p>.. index::
single: Release notes
single: News</p>
<h1><code>psycopg</code> release notes</h1>
<h2>Future releases</h2>
<p>Psycopg 3.3.5 (unreleased)
^^^^^^^^^^^^^^^^^^^^^^^^^^</p>
<ul>
<li>Discard prepared statements upon :sql:<code>ALTER *</code> or
<code>DISCARD *</code>

(🎫<code>[#1307](https://github.com/psycopg/psycopg/issues/1307)</code>).</li>
</ul>
<h2>Current release</h2>
<p>Psycopg 3.3.4
^^^^^^^^^^^^^</p>
<ul>
<li>Fix possible spurious connection timeout in systems with very long
uptimes
in C extension
(🎫<code>[#1280](https://github.com/psycopg/psycopg/issues/1280)</code>).</li>
<li>Fix client-side adaptation of enums whose name require quotes

(🎫<code>[#1298](https://github.com/psycopg/psycopg/issues/1298)</code>).</li>
<li>Consistently populate <code>~Cursor.statusmessage</code> after
<code>~Cursor.executemany()</code>

(🎫<code>[#1302](https://github.com/psycopg/psycopg/issues/1302)</code>).</li>
</ul>
<p>Psycopg 3.3.3
^^^^^^^^^^^^^</p>
<ul>
<li>Retain <code>Error.pgconn</code> when raising a single exception for
multiple connection
attempt errors
(🎫<code>[#1246](https://github.com/psycopg/psycopg/issues/1246)</code>).</li>
<li>Return a proper error when server sends <code>ErrorResponse</code>
for a <code>Sync</code> after
a <code>Parse</code>
(🎫<code>[#1260](https://github.com/psycopg/psycopg/issues/1260)</code>).</li>
</ul>
<p>Psycopg 3.3.2
^^^^^^^^^^^^^</p>
<p>Fix race condition in adapters at startup
(🎫<code>[#1230](https://github.com/psycopg/psycopg/issues/1230)</code>).</p>
<p>Psycopg 3.3.1
^^^^^^^^^^^^^</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/psycopg/psycopg/commit/9bdd78cf4360b9229ab3f641c646e232fc69cc8a"><code>9bdd78c</code></a>
chore: bump psycopg package version to 3.3.1</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/4d27426bf197a1eca8ea99ab9e236e1c8e0f15fa"><code>4d27426</code></a>
Merge branch 'fix/server-cursor-iter'</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/b9b82e86e3ce1972581a495ccbe28d5dbb15c449"><code>b9b82e8</code></a>
fix: fix iteration on server-side cursor</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/2a75357de22bb63ede33006cd17c99b30e360cdf"><code>2a75357</code></a>
fix: add test to verify iteration in server-side cursor broken</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/25ebaa3946bc0912e645dbf4d490a29865a2fc3f"><code>25ebaa3</code></a>
chore: bump psycopg_pool package version to 3.3.1.dev1</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/754282246e04c7ea32643de763fabd7fca7169d4"><code>7542822</code></a>
chore: bump psycopg package version to 3.3.1.dev1</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/380ccceb57ef44452a4c3e851e5e6dee09eb9eaf"><code>380ccce</code></a>
chore: bump psycopg_pool package version to 3.3.0</li>
<li>See full diff in <a
href="https://github.com/psycopg/psycopg/compare/3.3.0...3.3.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `anyio` from 4.12.1 to 4.13.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/agronholm/anyio/releases">anyio's
releases</a>.</em></p>
<blockquote>
<h2>4.13.0</h2>
<ul>
<li>Dropped support for Python 3.9</li>
<li>Added a <code>ttl</code> parameter to the
<code>anyio.functools.lru_cache</code> wrapper (<a
href="https://redirect.github.com/agronholm/anyio/pull/1073">#1073</a>;
PR by <a
href="https://github.com/Graeme22"><code>@​Graeme22</code></a>)</li>
<li>Widened the type annotations of file I/O streams to accept
<code>IO[bytes]</code> instead of just <code>BinaryIO</code> (<a
href="https://redirect.github.com/agronholm/anyio/issues/1078">#1078</a>)</li>
<li>Fixed <code>anyio.Path</code> not being compatible with Python 3.15
due to the removal of <code>pathlib.Path.is_reserved()</code> and the
addition of <code>pathlib.Path.__vfspath__()</code> (<a
href="https://redirect.github.com/agronholm/anyio/issues/1061">#1061</a>;
PR by <a
href="https://github.com/veeceey"><code>@​veeceey</code></a>)</li>
<li>Fixed the <code>BrokenResourceError</code> raised by the asyncio
<code>SocketStream</code> not having the original exception as its cause
(<a
href="https://redirect.github.com/agronholm/anyio/issues/1055">#1055</a>;
PR by <a
href="https://github.com/veeceey"><code>@​veeceey</code></a>)</li>
<li>Fixed the <code>TypeError</code> raised when using &quot;func&quot;
as a parameter name in <code>pytest.mark.parametrize</code> when using
the pytest plugin (<a
href="https://redirect.github.com/agronholm/anyio/pull/1068">#1068</a>;
PR by <a
href="https://github.com/JohnnyDeuss"><code>@​JohnnyDeuss</code></a>)</li>
<li>Fixed the pytest plugin not running tests that had the
<code>anyio</code> marker added programmatically via
<code>pytest_collection_modifyitems</code> (<a
href="https://redirect.github.com/agronholm/anyio/issues/422">#422</a>;
PR by <a
href="https://github.com/chbndrhnns"><code>@​chbndrhnns</code></a>)</li>
<li>Fixed cancellation exceptions leaking from a
<code>CancelScope</code> on asyncio when they are contained in an
exception group alongside non-cancellation exceptions (<a
href="https://redirect.github.com/agronholm/anyio/issues/1091">#1091</a>;
PR by <a
href="https://github.com/gschaffner"><code>@​gschaffner</code></a>)</li>
<li>Fixed <code>Condition.wait()</code> not passing on a notification
when the task is cancelled but already received a notification</li>
<li>Fixed inverted condition in the process pool shutdown phase which
would cause still-running pooled processes not to be terminated (<a
href="https://redirect.github.com/agronholm/anyio/pull/1074">#1074</a>;
PR by <a
href="https://github.com/bysiber"><code>@​bysiber</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/agronholm/anyio/commit/afbe93ca9d0c447adf26e9c1715ac20870622bf2"><code>afbe93c</code></a>
Bumped up the version</li>
<li><a
href="https://github.com/agronholm/anyio/commit/33bdf2e4b4f40c2df178123746147a6d2471808d"><code>33bdf2e</code></a>
Rearranged the changelog entries</li>
<li><a
href="https://github.com/agronholm/anyio/commit/19e09e25bc5a23dd78a577d8c3909dd377057c78"><code>19e09e2</code></a>
Fixed inverted condition in _forcibly_shutdown_process_pool_on_exit (<a
href="https://redirect.github.com/agronholm/anyio/issues/1074">#1074</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/9369d80b9e8292f2a892a9d5c73923c6a28aa08c"><code>9369d80</code></a>
Fixed Condition.wait() not handing over notification when cancelled</li>
<li><a
href="https://github.com/agronholm/anyio/commit/6f122abdc6f6b166c6b6ac27d36d55cdf8fa08e8"><code>6f122ab</code></a>
Fixed cancellation exceptions leaking from a <code>CancelScope</code> on
asyncio when th...</li>
<li><a
href="https://github.com/agronholm/anyio/commit/beaa45aff568a4020f2faf317321dd92f0e1f4a0"><code>beaa45a</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/agronholm/anyio/issues/1097">#1097</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/602f6606dcf3f37702686a4f3e161328c537b07f"><code>602f660</code></a>
Widened type annotations to accept IO[bytes] in file streams</li>
<li><a
href="https://github.com/agronholm/anyio/commit/b5dcd45170701a756ba634197398f05d4710cab3"><code>b5dcd45</code></a>
Added note about erasing the template</li>
<li><a
href="https://github.com/agronholm/anyio/commit/d68670b3b4e0917d4caff2de082e03220f3e05a1"><code>d68670b</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/agronholm/anyio/issues/1090">#1090</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/fc17a22dd948e6a3d90d99908813f0010dfc3d2c"><code>fc17a22</code></a>
tweak to_thread docs about abandon_on_cancel (<a
href="https://redirect.github.com/agronholm/anyio/issues/1088">#1088</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/agronholm/anyio/compare/4.12.1...4.13.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `langchain-protocol` from 0.0.15 to 0.0.16
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/agent-protocol/releases">langchain-protocol's
releases</a>.</em></p>
<blockquote>
<h2>langchain-protocol==0.0.16</h2>
<h2>What's Changed</h2>
<ul>
<li>chore: bump <code>typing-extensions</code> floor from
<code>&gt;=4.7.0</code> to <code>&gt;=4.13.0</code> by <a
href="https://github.com/mdrxy"><code>@​mdrxy</code></a> in <a
href="https://redirect.github.com/langchain-ai/agent-protocol/pull/84">langchain-ai/agent-protocol#84</a></li>
<li>feat(protocol): add batch resume for parallel interrupts by <a
href="https://github.com/christian-bromann"><code>@​christian-bromann</code></a>
in <a
href="https://redirect.github.com/langchain-ai/agent-protocol/pull/86">langchain-ai/agent-protocol#86</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/mdrxy"><code>@​mdrxy</code></a> made
their first contribution in <a
href="https://redirect.github.com/langchain-ai/agent-protocol/pull/84">langchain-ai/agent-protocol#84</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/langchain-ai/agent-protocol/compare/langchain-protocol==0.0.15...langchain-protocol==0.0.16">https://github.com/langchain-ai/agent-protocol/compare/langchain-protocol==0.0.15...langchain-protocol==0.0.16</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/langchain-ai/agent-protocol/commit/8246ac0b6c2db63fc3d9ffb257faa9325d49c8d2"><code>8246ac0</code></a>
feat(protocol): add batch resume for parallel interrupts (<a
href="https://redirect.github.com/langchain-ai/agent-protocol/issues/86">#86</a>)</li>
<li><a
href="https://github.com/langchain-ai/agent-protocol/commit/0f896ba72976145b0f98af1ddc25c3baaf652f1a"><code>0f896ba</code></a>
Merge pull request <a
href="https://redirect.github.com/langchain-ai/agent-protocol/issues/84">#84</a>
from langchain-ai/mdrxy/bump-dep</li>
<li><a
href="https://github.com/langchain-ai/agent-protocol/commit/2e890bb0fb4887eb5f5f3e8ce21bc77f4cad2659"><code>2e890bb</code></a>
chore: bump <code>typing-extensions</code> floor from
<code>&gt;=4.7.0</code> to <code>&gt;=4.13.0</code></li>
<li>See full diff in <a
href="https://github.com/langchain-ai/agent-protocol/compare/langchain-protocol==0.0.15...langchain-protocol==0.0.16">compare
view</a></li>
</ul>
</details>
<br />

Updates `ty` from 0.0.33 to 0.0.42
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ty/releases">ty's
releases</a>.</em></p>
<blockquote>
<h2>0.0.42</h2>
<h2>Release Notes</h2>
<p>Released on 2026-06-01.</p>
<h3>Bug fixes</h3>
<ul>
<li>Fix narrowing of enum literal unions by member identity (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25520">#25520</a>)</li>
<li>Detect recursive expansion in constraint-set solving (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25442">#25442</a>)</li>
</ul>
<h3>Core type checking</h3>
<ul>
<li>Support tagged-union narrowing for nominal types (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24916">#24916</a>)</li>
<li>Extend <code>Generator</code> assignability workaround to Python
3.13+ (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25472">#25472</a>)</li>
<li>Sync vendored typeshed stubs (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25514">#25514</a>)</li>
</ul>
<h3>Performance</h3>
<ul>
<li>Avoid redundant work for empty collection context (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25527">#25527</a>)</li>
<li>Deduplicate retained use-def place states (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25450">#25450</a>)</li>
<li>Compact retained semantic maps (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25238">#25238</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/aholyoke"><code>@​aholyoke</code></a></li>
<li><a href="https://github.com/carljm"><code>@​carljm</code></a></li>
<li><a
href="https://github.com/charliermarsh"><code>@​charliermarsh</code></a></li>
<li><a href="https://github.com/sharkdp"><code>@​sharkdp</code></a></li>
</ul>
<h2>Install ty 0.0.42</h2>
<h3>Install prebuilt binaries via shell script</h3>
<pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf
https://releases.astral.sh/github/ty/releases/download/0.0.42/ty-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/ty/releases/download/0.0.42/ty-installer.ps1
| iex&quot;
</code></pre>
<h2>Download ty 0.0.42</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/ty/releases/download/0.0.42/ty-aarch64-apple-darwin.tar.gz">ty-aarch64-apple-darwin.tar.gz</a></td>
<td>Apple Silicon macOS</td>
<td><a
href="https://releases.astral.sh/github/ty/releases/download/0.0.42/ty-aarch64-apple-darwin.tar.gz.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://releases.astral.sh/github/ty/releases/download/0.0.42/ty-x86_64-apple-darwin.tar.gz">ty-x86_64-apple-darwin.tar.gz</a></td>
<td>Intel macOS</td>
<td><a
href="https://releases.astral.sh/github/ty/releases/download/0.0.42/ty-x86_64-apple-darwin.tar.gz.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://releases.astral.sh/github/ty/releases/download/0.0.42/ty-aarch64-pc-windows-msvc.zip">ty-aarch64-pc-windows-msvc.zip</a></td>
<td>ARM64 Windows</td>
<td><a
href="https://releases.astral.sh/github/ty/releases/download/0.0.42/ty-aarch64-pc-windows-msvc.zip.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/ty/blob/main/CHANGELOG.md">ty's
changelog</a>.</em></p>
<blockquote>
<h2>0.0.42</h2>
<p>Released on 2026-06-01.</p>
<h3>Bug fixes</h3>
<ul>
<li>Fix narrowing of enum literal unions by member identity (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25520">#25520</a>)</li>
<li>Detect recursive expansion in constraint-set solving (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25442">#25442</a>)</li>
</ul>
<h3>Core type checking</h3>
<ul>
<li>Support tagged-union narrowing for nominal types (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24916">#24916</a>)</li>
<li>Extend <code>Generator</code> assignability workaround to Python
3.13+ (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25472">#25472</a>)</li>
<li>Sync vendored typeshed stubs (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25514">#25514</a>)</li>
</ul>
<h3>Performance</h3>
<ul>
<li>Avoid redundant work for empty collection context (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25527">#25527</a>)</li>
<li>Deduplicate retained use-def place states (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25450">#25450</a>)</li>
<li>Compact retained semantic maps (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25238">#25238</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/aholyoke"><code>@​aholyoke</code></a></li>
<li><a href="https://github.com/carljm"><code>@​carljm</code></a></li>
<li><a
href="https://github.com/charliermarsh"><code>@​charliermarsh</code></a></li>
<li><a href="https://github.com/sharkdp"><code>@​sharkdp</code></a></li>
</ul>
<h2>0.0.41</h2>
<p>Released on 2026-05-31.</p>
<h3>Bug fixes</h3>
<ul>
<li>Avoid panic for deferred dataclass field annotations (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25444">#25444</a>)</li>
<li>Avoid panic from cycle in function decorator inference (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25475">#25475</a>)</li>
<li>Ignore rejected assignments for synthesized bindings (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25340">#25340</a>)</li>
<li>Infer <code>bool</code> for <code>not</code> applied to dynamic
values (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25445">#25445</a>)</li>
<li>Use diagnostic message as tie-breaker when sorting (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25424">#25424</a>)</li>
</ul>
<h3>LSP server</h3>
<ul>
<li>Add call hierarchy support (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25338">#25338</a>)</li>
<li>Add function parentheses completion (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25305">#25305</a>)</li>
<li>Display docs for matching parameter when hovering over the name of
an argument passed by keyword (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25283">#25283</a>)</li>
<li>Document <code>completeFunctionParentheses</code> editor setting (<a
href="https://redirect.github.com/astral-sh/ty/pull/3513">#3513</a>)</li>
</ul>
<h3>Diagnostics</h3>
<ul>
<li>Introduce opt-in <code>missing-override-decorator</code> rule (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25111">#25111</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/astral-sh/ty/commit/7f8cb6457e8d77178ae9204f9b81a516f44444ed"><code>7f8cb64</code></a>
Bump version to 0.0.42 (<a
href="https://redirect.github.com/astral-sh/ty/issues/3615">#3615</a>)</li>
<li><a
href="https://github.com/astral-sh/ty/commit/41bb0d24412ad97c214bd0019e602c463ae3feba"><code>41bb0d2</code></a>
Bump version to 0.0.41 (<a
href="https://redirect.github.com/astral-sh/ty/issues/3601">#3601</a>)</li>
<li><a
href="https://github.com/astral-sh/ty/commit/c690a4996a8ae804dda9a48246118402d855b671"><code>c690a49</code></a>
Document <code>completeFunctionParentheses</code> editor setting (<a
href="https://redirect.github.com/astral-sh/ty/issues/3513">#3513</a>)</li>
<li><a
href="https://github.com/astral-sh/ty/commit/85c5e327a7951f3b9d0cfa8163c41fd7b29d69cf"><code>85c5e32</code></a>
Document that call hierarchy is now supported (<a
href="https://redirect.github.com/astral-sh/ty/issues/3582">#3582</a>)</li>
<li><a
href="https://github.com/astral-sh/ty/commit/e118dd0553e7d08735c8edee4c48ea7bfe2b02bd"><code>e118dd0</code></a>
docs: Add typeHierarchy support in LSP feature reference (<a
href="https://redirect.github.com/astral-sh/ty/issues/3382">#3382</a>)</li>
<li><a
href="https://github.com/astral-sh/ty/commit/aa20b165b285fcfdce79e4dd4427d00524c59e81"><code>aa20b16</code></a>
minor changelog nits for the latest release (<a
href="https://redirect.github.com/astral-sh/ty/issues/3560">#3560</a>)</li>
<li><a
href="https://github.com/astral-sh/ty/commit/7b95bc219d1dcebc3ce39d222c66c14a3825c9a0"><code>7b95bc2</code></a>
Bump version to 0.0.40 (<a
href="https://redirect.github.com/astral-sh/ty/issues/3554">#3554</a>)</li>
<li><a
href="https://github.com/astral-sh/ty/commit/54c7498ec94de87135edb8b54c311b54d30ec534"><code>54c7498</code></a>
Update prek dependencies (<a
href="https://redirect.github.com/astral-sh/ty/issues/3546">#3546</a>)</li>
<li><a
href="https://github.com/astral-sh/ty/commit/0d8540acdbf1340af95a2f364b9fd7d3b6bba3a8"><code>0d8540a</code></a>
docs: set Eglot <code>:language-id</code> so ty works with
<code>python-base-mode</code> (<a
href="https://redirect.github.com/astral-sh/ty/issues/3532">#3532</a>)</li>
<li><a
href="https://github.com/astral-sh/ty/commit/8f1cee048254accb008fc391428b9c3139cebb2f"><code>8f1cee0</code></a>
scripts/update_schemastore: add text=True to git revision check_output
calls ...</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ty/compare/0.0.33...0.0.42">compare
view</a></li>
</ul>
</details>
<br />

Updates `click` from 8.3.1 t...

_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-06-02 10:31:47 -07:00
2026-05-05 17:58:37 +02:00

Low-level orchestration framework for building stateful agents.

PyPI - License PyPI - Downloads Version Twitter / X

Trusted by companies shaping the future of agents including Klarna, Replit, Elastic, and more LangGraph is a low-level orchestration framework for building, managing, and deploying long-running, stateful agents.

pip install -U langgraph

Tip

If you're looking to quickly build agents, check out Deep Agents — a higher-level package built on LangGraph for agents that can plan, use subagents, and leverage file systems for complex tasks.

For an equivalent JS/TS library, check out LangGraph.js and the JS docs.

Why use LangGraph?

LangGraph provides low-level supporting infrastructure for any long-running, stateful workflow or agent:

  • Durable execution — Build agents that persist through failures and can run for extended periods, automatically resuming from exactly where they left off.
  • Human-in-the-loop — Seamlessly incorporate human oversight by inspecting and modifying agent state at any point during execution.
  • Comprehensive memory — Create truly stateful agents with both short-term working memory for ongoing reasoning and long-term persistent memory across sessions.
  • Debugging with LangSmith — Gain deep visibility into complex agent behavior with visualization tools that trace execution paths, capture state transitions, and provide detailed runtime metrics.
  • Production-ready deployment — Deploy sophisticated agent systems confidently with scalable infrastructure designed to handle the unique challenges of stateful, long-running workflows.

Tip

For developing, debugging, and deploying AI agents and LLM applications, see LangSmith.

LangGraph ecosystem

While LangGraph can be used standalone, it also integrates seamlessly with any LangChain product, giving developers a full suite of tools for building agents.

To improve your LLM application development, pair LangGraph with:

  • Deep Agents Build agents that can plan, use subagents, and leverage file systems for complex tasks.
  • LangChain Provides integrations and composable components to streamline LLM application development.
  • LangSmith Helpful for agent evals and observability. Debug poor-performing LLM app runs, evaluate agent trajectories, gain visibility in production, and improve performance over time.
  • LangSmith Deployment Deploy and scale agents effortlessly with a purpose-built deployment platform for long-running, stateful workflows. Discover, reuse, configure, and share agents across teams and iterate quickly with visual prototyping in LangSmith Studio.

Documentation

Discussions: Visit the LangChain Forum to connect with the community and share all of your technical questions, ideas, and feedback.

Additional resources

  • Guides Quick, actionable code snippets for topics such as streaming, adding memory & persistence, and design patterns (e.g. branching, subgraphs, etc.).
  • LangChain Academy Learn the basics of LangGraph in our free, structured course.
  • Case studies Hear how industry leaders use LangGraph to ship AI applications at scale.
  • Contributing Guide Learn how to contribute to LangChain projects and find good first issues.
  • Code of Conduct Our community guidelines and standards for participation.

Acknowledgements

LangGraph is inspired by Pregel and Apache Beam. The public interface draws inspiration from NetworkX. LangGraph is built by LangChain Inc, the creators of LangChain, but can be used without LangChain.

Languages
Python 99.6%
Makefile 0.2%
TypeScript 0.1%