mirror of
https://github.com/langchain-ai/langgraph.git
synced 2026-09-08 10:47:52 +02:00
cd86a0fa57f1bbaf7ec6b83271d1333bc0dde2d4
396
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
cd86a0fa57 |
chore(deps): upgrade dependencies with uv lock --upgrade
|
||
|
|
644815f9e5 | release(langgraph): 1.2.11 (#8595) | ||
|
|
6a2822d3c7 |
chore(deps): bump the minor-and-patch group across 1 directory with 5 updates (#8532)
Bumps the minor-and-patch group with 5 updates in the /libs/sdk-py directory: | Package | From | To | | --- | --- | --- | | [langchain-core](https://github.com/langchain-ai/langchain) | `1.4.8` | `1.5.3` | | [ruff](https://github.com/astral-sh/ruff) | `0.15.20` | `0.16.1` | | [codespell](https://github.com/codespell-project/codespell) | `2.4.2` | `2.4.3` | | [ty](https://github.com/astral-sh/ty) | `0.0.55` | `0.0.66` | | [xxhash](https://github.com/ifduyue/python-xxhash) | `3.8.0` | `3.8.1` | Updates `langchain-core` from 1.4.8 to 1.5.3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/langchain-ai/langchain/releases">langchain-core's releases</a>.</em></p> <blockquote> <h2>langchain-core==1.5.3</h2> <p>Changes since langchain-core==1.5.2</p> <p>release(core): 1.5.3 (<a href="https://redirect.github.com/langchain-ai/langchain/issues/39145">#39145</a>) fix(core): fall back to <code>LANGSMITH_API_KEY</code> for gateway (<a href="https://redirect.github.com/langchain-ai/langchain/issues/39115">#39115</a>)</p> <h2>langchain-core==1.5.2</h2> <p>Changes since langchain-core==1.5.1</p> <p>release(core): 1.5.2 (<a href="https://redirect.github.com/langchain-ai/langchain/issues/39108">#39108</a>) fix(core): handle empty string in gateway env vars (<a href="https://redirect.github.com/langchain-ai/langchain/issues/39107">#39107</a>) chore: bump setuptools from 82.0.0 to 83.0.0 in /libs/core (<a href="https://redirect.github.com/langchain-ai/langchain/issues/39032">#39032</a>) chore: bump jupyterlab from 4.5.9 to 4.5.10 in /libs/core (<a href="https://redirect.github.com/langchain-ai/langchain/issues/39033">#39033</a>) chore: bump setuptools from 80.9.0 to 83.0.0 in /libs/text-splitters (<a href="https://redirect.github.com/langchain-ai/langchain/issues/39029">#39029</a>)</p> <h2>langchain-core==1.5.1</h2> <p>Changes since langchain-core==1.5.0</p> <p>release(core): 1.5.1 (<a href="https://redirect.github.com/langchain-ai/langchain/issues/39042">#39042</a>) feat(anthropic,fireworks,openai): support langsmith gateway through env var (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38742">#38742</a>) fix(core): use <code>tool_call_schema</code> cache for <code>BaseTool</code> token counting in <code>count_tokens_approximately</code> (<a href="https://redirect.github.com/langchain-ai/langchain/issues/39020">#39020</a>)</p> <h2>langchain-core==1.5.0</h2> <p>Changes since langchain-core==1.4.9</p> <p>release(core): 1.5.0 (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38978">#38978</a>) feat(core): add <code>reasoning_effort</code> as a standard chat model parameter (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38887">#38887</a>) chore: bump soupsieve from 2.8 to 2.8.4 in /libs/core (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38750">#38750</a>) chore: bump mistune from 3.2.1 to 3.3.0 in /libs/core (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38783">#38783</a>)</p> <h2>langchain-core==1.4.9</h2> <p>Changes since langchain-core==1.4.8</p> <p>release(core): 1.4.9 (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38728">#38728</a>) fix(core): improve langsmith loader error messages (<a href="https://redirect.github.com/langchain-ai/langchain/issues/35648">#35648</a>) fix(core): output parser bugs in xml.py and pydantic.py (<a href="https://redirect.github.com/langchain-ai/langchain/issues/35641">#35641</a>) style(core): fix some ruff preview rules (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38656">#38656</a>) fix(core): avoid <code>dict</code> shadowing in language models (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38480">#38480</a>) fix(core): <code>_parse_google_docstring</code> mishandling continuation lines with colons (<a href="https://redirect.github.com/langchain-ai/langchain/issues/35680">#35680</a>) fix(core): add messages to bare <code>raise ValueError</code> calls (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38158">#38158</a>) fix(core): use <code>asyncio.get_running_loop()</code> in async contexts (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38157">#38157</a>) chore: bump langsmith from 0.8.0 to 0.8.18 in /libs/core (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38319">#38319</a>) chore: bump jupyterlab from 4.5.7 to 4.5.9 in /libs/core (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38326">#38326</a>) chore: bump vcrpy from 8.1.1 to 8.2.1 in /libs/core (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38327">#38327</a>)</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/langchain-ai/langchain/commit/01d8481ae3d457ec3751cbb0331ea3a4b720fa90"><code>01d8481</code></a> release(core): 1.5.3 (<a href="https://redirect.github.com/langchain-ai/langchain/issues/39145">#39145</a>)</li> <li><a href="https://github.com/langchain-ai/langchain/commit/b8a6e36d3f810302c66065ea1c2892da000de550"><code>b8a6e36</code></a> chore(model-profiles): refresh model profile data (<a href="https://redirect.github.com/langchain-ai/langchain/issues/39141">#39141</a>)</li> <li><a href="https://github.com/langchain-ai/langchain/commit/cdca311de2958e497cfd823a45ddb770d0ef94c0"><code>cdca311</code></a> fix(core): fall back to <code>LANGSMITH_API_KEY</code> for gateway (<a href="https://redirect.github.com/langchain-ai/langchain/issues/39115">#39115</a>)</li> <li><a href="https://github.com/langchain-ai/langchain/commit/a5a8762436658b218dbfc5efff9e8ab8fabbe62f"><code>a5a8762</code></a> ci: annotate uv bump workflow with PR links (<a href="https://redirect.github.com/langchain-ai/langchain/issues/39112">#39112</a>)</li> <li><a href="https://github.com/langchain-ai/langchain/commit/557c0a986d5068085a945dcb3c9ce27257c4add8"><code>557c0a9</code></a> chore(deps): bump uv to 0.12.0 (<a href="https://redirect.github.com/langchain-ai/langchain/issues/39111">#39111</a>)</li> <li><a href="https://github.com/langchain-ai/langchain/commit/835c85ae236a2d33cd11de4c98d28cbc6ebbd72f"><code>835c85a</code></a> release(anthropic): 1.5.3 (<a href="https://redirect.github.com/langchain-ai/langchain/issues/39109">#39109</a>)</li> <li><a href="https://github.com/langchain-ai/langchain/commit/c1ab807b1f62ad04274c28f2b7d8c3141d8ba1f2"><code>c1ab807</code></a> release(core): 1.5.2 (<a href="https://redirect.github.com/langchain-ai/langchain/issues/39108">#39108</a>)</li> <li><a href="https://github.com/langchain-ai/langchain/commit/313223347f842274432d8a2968b4be407e2722d8"><code>3132233</code></a> fix(anthropic): preserve empty thinking field in signature_delta streaming (#...</li> <li><a href="https://github.com/langchain-ai/langchain/commit/b3a6d9a012681df8a8e33345c8255ca69ec0e437"><code>b3a6d9a</code></a> chore(model-profiles): refresh model profile data (<a href="https://redirect.github.com/langchain-ai/langchain/issues/39105">#39105</a>)</li> <li><a href="https://github.com/langchain-ai/langchain/commit/447b51abbccde236838524ee717682a0dd2a6c09"><code>447b51a</code></a> fix(anthropic): strip unsupported fields from system message content blocks (...</li> <li>Additional commits viewable in <a href="https://github.com/langchain-ai/langchain/compare/langchain-core==1.4.8...langchain-core==1.5.3">compare view</a></li> </ul> </details> <br /> Updates `ruff` from 0.15.20 to 0.16.1 <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.16.1</h2> <h2>Release Notes</h2> <p>Released on 2026-07-30.</p> <h3>Preview features</h3> <ul> <li>Add an option to opt out of human-readable names (<a href="https://redirect.github.com/astral-sh/ruff/pull/27160">#27160</a>)</li> <li>[<code>flake8-pytest-style</code>] Make fixes safe by default and unsafe only when comments are present (<code>PT018</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/27201">#27201</a>)</li> <li>[<code>pyupgrade</code>] Skip fix when a defaulted <code>TypeVar</code> precedes a non-defaulted one (<code>UP040</code>, <code>UP046</code>, <code>UP047</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/27133">#27133</a>)</li> <li>[<code>ruff</code>] Fix false positive with unpacked arguments (<code>RUF065</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/26959">#26959</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>Bump <code>gen-lsp-types</code> to gracefully handle unknown enumeration values in LSP messages (<a href="https://redirect.github.com/astral-sh/ruff/pull/27230">#27230</a>)</li> <li>[<code>flake8-bugbear</code>] Mark <code>range</code> as immutable (<code>B008</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/27247">#27247</a>)</li> <li>[<code>flake8-comprehensions</code>] NFKC-normalize keyword names in <code>C408</code> fix (<a href="https://redirect.github.com/astral-sh/ruff/pull/26813">#26813</a>)</li> <li>[<code>flake8-return</code>] Fix false positive when variable is read in <code>finally</code> clause (<code>RET504</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/25441">#25441</a>)</li> <li>[<code>pydocstyle</code>] Skip section detection inside RST directive bodies (<code>D214</code>, <code>D405</code>, <code>D413</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/23635">#23635</a>)</li> <li>[<code>refurb</code>] Parenthesize <code>yield</code> arguments in the <code>FURB192</code> fix (<a href="https://redirect.github.com/astral-sh/ruff/pull/27192">#27192</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>flake8-pytest-style</code>] Mark <code>PT022</code> fixes as unsafe (<a href="https://redirect.github.com/astral-sh/ruff/pull/26440">#26440</a>)</li> <li>[<code>refurb</code>] Mark fixes that remove unknown separators as unsafe (<code>FURB105</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/27200">#27200</a>)</li> </ul> <h3>Server</h3> <ul> <li>Fix indexing of excluded nested Ruff workspaces (<a href="https://redirect.github.com/astral-sh/ruff/pull/27303">#27303</a>)</li> <li>Lint TOML files in the LSP (<a href="https://redirect.github.com/astral-sh/ruff/pull/26862">#26862</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Cover <code>pycon</code> Markdown formatting (<a href="https://redirect.github.com/astral-sh/ruff/pull/27153">#27153</a>)</li> <li>[<code>flake8-bandit</code>] Document <code>TYPE_CHECKING</code> exception (<code>S101</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/27004">#27004</a>)</li> <li>[<code>flake8-import-conventions</code>] Document that <code>extend-aliases</code> can override default aliases (<a href="https://redirect.github.com/astral-sh/ruff/pull/27191">#27191</a>)</li> <li>[<code>pylint</code>] Add missing fix safety gotchas for <code>non-augmented-assignment</code> (<code>PLR6104</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/27250">#27250</a>)</li> </ul> <h3>Other changes</h3> <ul> <li>Reduce syntax error noise by swallowing dedents like indents (<a href="https://redirect.github.com/astral-sh/ruff/pull/27170">#27170</a>)</li> <li>Vendor latest annotate-snippets (<a href="https://redirect.github.com/astral-sh/ruff/pull/27033">#27033</a>)</li> </ul> <h3>Contributors</h3> <ul> <li><a href="https://github.com/bxff"><code>@bxff</code></a></li> <li><a href="https://github.com/anishgirianish"><code>@anishgirianish</code></a></li> <li><a href="https://github.com/Avasam"><code>@Avasam</code></a></li> <li><a href="https://github.com/epage"><code>@epage</code></a></li> <li><a href="https://github.com/LHMQ878"><code>@LHMQ878</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.16.1</h2> <p>Released on 2026-07-30.</p> <h3>Preview features</h3> <ul> <li>Add an option to opt out of human-readable names (<a href="https://redirect.github.com/astral-sh/ruff/pull/27160">#27160</a>)</li> <li>[<code>flake8-pytest-style</code>] Make fixes safe by default and unsafe only when comments are present (<code>PT018</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/27201">#27201</a>)</li> <li>[<code>pyupgrade</code>] Skip fix when a defaulted <code>TypeVar</code> precedes a non-defaulted one (<code>UP040</code>, <code>UP046</code>, <code>UP047</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/27133">#27133</a>)</li> <li>[<code>ruff</code>] Fix false positive with unpacked arguments (<code>RUF065</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/26959">#26959</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>Bump <code>gen-lsp-types</code> to gracefully handle unknown enumeration values in LSP messages (<a href="https://redirect.github.com/astral-sh/ruff/pull/27230">#27230</a>)</li> <li>[<code>flake8-bugbear</code>] Mark <code>range</code> as immutable (<code>B008</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/27247">#27247</a>)</li> <li>[<code>flake8-comprehensions</code>] NFKC-normalize keyword names in <code>C408</code> fix (<a href="https://redirect.github.com/astral-sh/ruff/pull/26813">#26813</a>)</li> <li>[<code>flake8-return</code>] Fix false positive when variable is read in <code>finally</code> clause (<code>RET504</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/25441">#25441</a>)</li> <li>[<code>pydocstyle</code>] Skip section detection inside RST directive bodies (<code>D214</code>, <code>D405</code>, <code>D413</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/23635">#23635</a>)</li> <li>[<code>refurb</code>] Parenthesize <code>yield</code> arguments in the <code>FURB192</code> fix (<a href="https://redirect.github.com/astral-sh/ruff/pull/27192">#27192</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>flake8-pytest-style</code>] Mark <code>PT022</code> fixes as unsafe (<a href="https://redirect.github.com/astral-sh/ruff/pull/26440">#26440</a>)</li> <li>[<code>refurb</code>] Mark fixes that remove unknown separators as unsafe (<code>FURB105</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/27200">#27200</a>)</li> </ul> <h3>Server</h3> <ul> <li>Fix indexing of excluded nested Ruff workspaces (<a href="https://redirect.github.com/astral-sh/ruff/pull/27303">#27303</a>)</li> <li>Lint TOML files in the LSP (<a href="https://redirect.github.com/astral-sh/ruff/pull/26862">#26862</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Cover <code>pycon</code> Markdown formatting (<a href="https://redirect.github.com/astral-sh/ruff/pull/27153">#27153</a>)</li> <li>[<code>flake8-bandit</code>] Document <code>TYPE_CHECKING</code> exception (<code>S101</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/27004">#27004</a>)</li> <li>[<code>flake8-import-conventions</code>] Document that <code>extend-aliases</code> can override default aliases (<a href="https://redirect.github.com/astral-sh/ruff/pull/27191">#27191</a>)</li> <li>[<code>pylint</code>] Add missing fix safety gotchas for <code>non-augmented-assignment</code> (<code>PLR6104</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/27250">#27250</a>)</li> </ul> <h3>Other changes</h3> <ul> <li>Reduce syntax error noise by swallowing dedents like indents (<a href="https://redirect.github.com/astral-sh/ruff/pull/27170">#27170</a>)</li> <li>Vendor latest annotate-snippets (<a href="https://redirect.github.com/astral-sh/ruff/pull/27033">#27033</a>)</li> </ul> <h3>Contributors</h3> <ul> <li><a href="https://github.com/bxff"><code>@bxff</code></a></li> <li><a href="https://github.com/anishgirianish"><code>@anishgirianish</code></a></li> <li><a href="https://github.com/Avasam"><code>@Avasam</code></a></li> <li><a href="https://github.com/epage"><code>@epage</code></a></li> <li><a href="https://github.com/LHMQ878"><code>@LHMQ878</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>Commits</summary> <ul> <li><a href="https://github.com/astral-sh/ruff/commit/80790b348b5188e7fc253665540f442c6ec7dd05"><code>80790b3</code></a> Bump 0.16.1 (<a href="https://redirect.github.com/astral-sh/ruff/issues/27330">#27330</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/63830f3e97b56ca3be0dd8f1092f76c4acc63213"><code>63830f3</code></a> [ty] Borrow from constraint set storage less often (<a href="https://redirect.github.com/astral-sh/ruff/issues/27328">#27328</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/f40dca98a7f1b6fff0cee5ecf1e6364d5a8bdc15"><code>f40dca9</code></a> [ty] Preserve forwarded expanded-variadic diagnostic sources (<a href="https://redirect.github.com/astral-sh/ruff/issues/27266">#27266</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/0d804975a2645d6e4a795cf501fd764b88aa47e3"><code>0d80497</code></a> Lint TOML files in the LSP (<a href="https://redirect.github.com/astral-sh/ruff/issues/26862">#26862</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/d91586bd5b30f77f6614d57b73fc7dbea9051a0e"><code>d91586b</code></a> Update prek dependencies (<a href="https://redirect.github.com/astral-sh/ruff/issues/27293">#27293</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/7da4b8b8d78fd6df2b3e06d8466d9cd49822900d"><code>7da4b8b</code></a> [ty] Respect bounds and constraints in generic materializations (<a href="https://redirect.github.com/astral-sh/ruff/issues/27228">#27228</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/b20daf741241a6829ff8963a203f7847561deb62"><code>b20daf7</code></a> [ty] refactor: add helper function to send partial results (<a href="https://redirect.github.com/astral-sh/ruff/issues/27249">#27249</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/4d4c8fa1c75b00561ea24eefefb13eb5ff80e01f"><code>4d4c8fa</code></a> [ty] Emit diagnostic when specializing a non-generic class (<a href="https://redirect.github.com/astral-sh/ruff/issues/26883">#26883</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/7c3e2db97deb5c5edd6e4303403ef6caf2bde8be"><code>7c3e2db</code></a> [ty] Fix enum class container assignability (<a href="https://redirect.github.com/astral-sh/ruff/issues/27318">#27318</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/d5ef97fcd03e108f7510f84b8ed85bb4051311fe"><code>d5ef97f</code></a> [<code>flake8-return</code>] Fix false positive when variable is read in <code>finally</code> claus...</li> <li>Additional commits viewable in <a href="https://github.com/astral-sh/ruff/compare/0.15.20...0.16.1">compare view</a></li> </ul> </details> <br /> Updates `codespell` from 2.4.2 to 2.4.3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/codespell-project/codespell/releases">codespell's releases</a>.</em></p> <blockquote> <h2>v2.4.3</h2> <!-- raw HTML omitted --> <h2>What's Changed</h2> <ul> <li>Add 'radback' to dictionary with correction by <a href="https://github.com/Flo3561"><code>@Flo3561</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3883">codespell-project/codespell#3883</a></li> <li>Add 'repetirion' to dictionary corrections by <a href="https://github.com/Flo3561"><code>@Flo3561</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3885">codespell-project/codespell#3885</a></li> <li>Need to specify a version of Python version after all by <a href="https://github.com/DimitriPapadopoulos"><code>@DimitriPapadopoulos</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3887">codespell-project/codespell#3887</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://redirect.github.com/codespell-project/codespell/pull/3889">codespell-project/codespell#3889</a></li> <li>Add cases for "modulle" -> "module" by <a href="https://github.com/utzcoz"><code>@utzcoz</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3888">codespell-project/codespell#3888</a></li> <li>Add case "auido" -> "audio" by <a href="https://github.com/utzcoz"><code>@utzcoz</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3890">codespell-project/codespell#3890</a></li> <li>Add credentilas->credentials and friends by <a href="https://github.com/peternewman"><code>@peternewman</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3895">codespell-project/codespell#3895</a></li> <li>Add the case "cubid" -> "cubic" by <a href="https://github.com/utzcoz"><code>@utzcoz</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3891">codespell-project/codespell#3891</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://redirect.github.com/codespell-project/codespell/pull/3897">codespell-project/codespell#3897</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://redirect.github.com/codespell-project/codespell/pull/3900">codespell-project/codespell#3900</a></li> <li>Bump codecov/codecov-action from 5 to 6 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/codespell-project/codespell/pull/3902">codespell-project/codespell#3902</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://redirect.github.com/codespell-project/codespell/pull/3904">codespell-project/codespell#3904</a></li> <li>Add <code>magntiude->magnitude</code> by <a href="https://github.com/nathanjmcdougall"><code>@nathanjmcdougall</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3899">codespell-project/codespell#3899</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://redirect.github.com/codespell-project/codespell/pull/3909">codespell-project/codespell#3909</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://redirect.github.com/codespell-project/codespell/pull/3912">codespell-project/codespell#3912</a></li> <li>Add the case "instanc" -> "instance" by <a href="https://github.com/utzcoz"><code>@utzcoz</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3896">codespell-project/codespell#3896</a></li> <li>gampad -> gamepad (and plural) by <a href="https://github.com/julianstirling"><code>@julianstirling</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3906">codespell-project/codespell#3906</a></li> <li>Add typos of <code>monotonic</code> and <code>monotonicity</code> by <a href="https://github.com/nathanjmcdougall"><code>@nathanjmcdougall</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3898">codespell-project/codespell#3898</a></li> <li>Add spelling correction for multipile(s)/vulnerabities. by <a href="https://github.com/cfi-gb"><code>@cfi-gb</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3905">codespell-project/codespell#3905</a></li> <li>Add 'simpilfy -> simplify' by <a href="https://github.com/alexreinking"><code>@alexreinking</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3913">codespell-project/codespell#3913</a></li> <li>fix(packaging): prevent unwanted files and tests from being installed by <a href="https://github.com/mikelolasagasti"><code>@mikelolasagasti</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3911">codespell-project/codespell#3911</a></li> <li>Add skarhoj->SKAARHOJ to dictionary corrections by <a href="https://github.com/peternewman"><code>@peternewman</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3908">codespell-project/codespell#3908</a></li> <li>Improve the dictionary by <a href="https://github.com/algonell"><code>@algonell</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3914">codespell-project/codespell#3914</a></li> <li>Add spelling correction for accorss/accors. by <a href="https://github.com/cfi-gb"><code>@cfi-gb</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3916">codespell-project/codespell#3916</a></li> <li>Bump autofix-ci/action from 1.3.3 to 1.3.4 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/codespell-project/codespell/pull/3921">codespell-project/codespell#3921</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://redirect.github.com/codespell-project/codespell/pull/3923">codespell-project/codespell#3923</a></li> <li>Add <code>influecer->influencer</code> and <code>influnce*</code> typos to dictionary by <a href="https://github.com/nathanjmcdougall"><code>@nathanjmcdougall</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3925">codespell-project/codespell#3925</a></li> <li>Add typos for <code>excavate</code> and variants by <a href="https://github.com/nathanjmcdougall"><code>@nathanjmcdougall</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3926">codespell-project/codespell#3926</a></li> <li>Dict: Add corrections for memoy by <a href="https://github.com/mdeweerd"><code>@mdeweerd</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3924">codespell-project/codespell#3924</a></li> <li><code>overheda -> overhead</code> by <a href="https://github.com/George-Ogden"><code>@George-Ogden</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3919">codespell-project/codespell#3919</a></li> <li><code>inclusize->inclusive</code> and variants by <a href="https://github.com/George-Ogden"><code>@George-Ogden</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3918">codespell-project/codespell#3918</a></li> <li>Add spelling corrections for authorization by <a href="https://github.com/cfi-gb"><code>@cfi-gb</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3922">codespell-project/codespell#3922</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://redirect.github.com/codespell-project/codespell/pull/3927">codespell-project/codespell#3927</a></li> <li>Don't fix Voight by <a href="https://github.com/DimitriPapadopoulos"><code>@DimitriPapadopoulos</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3929">codespell-project/codespell#3929</a></li> <li>Add spelling corrections for interstect and interstection by <a href="https://github.com/korli"><code>@korli</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3928">codespell-project/codespell#3928</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://redirect.github.com/codespell-project/codespell/pull/3930">codespell-project/codespell#3930</a></li> <li>Improve output in interactive mode by <a href="https://github.com/darkmattercoder"><code>@darkmattercoder</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3884">codespell-project/codespell#3884</a></li> <li>feat: support codespell:ignore-next-line directive by <a href="https://github.com/SAY-5"><code>@SAY-5</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3931">codespell-project/codespell#3931</a></li> <li>Add woork->work and formace->format and friends by <a href="https://github.com/peternewman"><code>@peternewman</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3828">codespell-project/codespell#3828</a></li> <li>shortctu -> shortcut by <a href="https://github.com/George-Ogden"><code>@George-Ogden</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3934">codespell-project/codespell#3934</a></li> <li>A couple typos by <a href="https://github.com/DimitriPapadopoulos"><code>@DimitriPapadopoulos</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3935">codespell-project/codespell#3935</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://redirect.github.com/codespell-project/codespell/pull/3937">codespell-project/codespell#3937</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://redirect.github.com/codespell-project/codespell/pull/3942">codespell-project/codespell#3942</a></li> <li>reclaculate->recalculate by <a href="https://github.com/adamgann"><code>@adamgann</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3936">codespell-project/codespell#3936</a></li> <li>Add spelling correction for improprt. by <a href="https://github.com/cfi-gb"><code>@cfi-gb</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3939">codespell-project/codespell#3939</a></li> <li>Dictionary plasic-plastic by <a href="https://github.com/julianstirling"><code>@julianstirling</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3938">codespell-project/codespell#3938</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/codespell-project/codespell/commit/57b21406f092110c18776e39b0bda50d37c945c8"><code>57b2140</code></a> Read only [tool.codespell] from TOML config (<a href="https://redirect.github.com/codespell-project/codespell/issues/3975">#3975</a>)</li> <li><a href="https://github.com/codespell-project/codespell/commit/23b8d940332bcff6369872b53964d4137c586728"><code>23b8d94</code></a> [pre-commit.ci] pre-commit autoupdate</li> <li><a href="https://github.com/codespell-project/codespell/commit/926c4d6ff083acc62bc04c102e0a9b2091d754f1"><code>926c4d6</code></a> [pre-commit.ci] pre-commit autoupdate</li> <li><a href="https://github.com/codespell-project/codespell/commit/820a3011e0bfe3f90789ba41e751a26656bea7ab"><code>820a301</code></a> Merge pull request <a href="https://redirect.github.com/codespell-project/codespell/issues/3967">#3967</a> from codespell-project/peternewman-patch-1</li> <li><a href="https://github.com/codespell-project/codespell/commit/9fe42c964c90f65a9a2841847af4e093c67ec817"><code>9fe42c9</code></a> Add common misspellings for reseeve->reserve to dictionary</li> <li><a href="https://github.com/codespell-project/codespell/commit/725173c815cee1b781b85ec51eb43dc4f51dcd0f"><code>725173c</code></a> [pre-commit.ci] pre-commit autoupdate</li> <li><a href="https://github.com/codespell-project/codespell/commit/86c13ee4dce0010e8d8119ded33694806e37ca8f"><code>86c13ee</code></a> [pre-commit.ci] pre-commit autoupdate</li> <li><a href="https://github.com/codespell-project/codespell/commit/7b9f36ce634c551107a3a4a5c25782a2245d7658"><code>7b9f36c</code></a> Bump actions/checkout from 6 to 7</li> <li><a href="https://github.com/codespell-project/codespell/commit/bcc1b804a83b8a146586101431b063c07cfcc699"><code>bcc1b80</code></a> Add spelling corrections for simpe and variants.</li> <li><a href="https://github.com/codespell-project/codespell/commit/89584cc1479d0f8dbfd501925673b6be6d460fe1"><code>89584cc</code></a> [pre-commit.ci] pre-commit autoupdate</li> <li>Additional commits viewable in <a href="https://github.com/codespell-project/codespell/compare/v2.4.2...v2.4.3">compare view</a></li> </ul> </details> <br /> Updates `ty` from 0.0.55 to 0.0.66 <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.66</h2> <h2>Release Notes</h2> <p>Released on 2026-08-03.</p> <h3>LSP server</h3> <ul> <li>Index <code>with</code>-statement targets as symbols (<a href="https://redirect.github.com/astral-sh/ruff/pull/27256">#27256</a>)</li> <li>Trigger signature help after completing callable with parentheses (<a href="https://redirect.github.com/astral-sh/ruff/pull/27084">#27084</a>)</li> </ul> <h3>Library support</h3> <ul> <li>Pydantic: Recognize models installed on extra search paths (<a href="https://redirect.github.com/astral-sh/ruff/pull/27429">#27429</a>)</li> </ul> <h3>Diagnostics</h3> <ul> <li>Detect <code>__aenter__</code> and <code>__aexit__</code> that do not return awaitables (<a href="https://redirect.github.com/astral-sh/ruff/pull/27414">#27414</a>)</li> <li>Diagnose dataclass fields after inherited defaults (<a href="https://redirect.github.com/astral-sh/ruff/pull/27327">#27327</a>)</li> <li>Emit diagnostic when specializing a non-generic class (<a href="https://redirect.github.com/astral-sh/ruff/pull/26883">#26883</a>)</li> <li>Improve error context for incompatible callable signatures (<a href="https://redirect.github.com/astral-sh/ruff/pull/27422">#27422</a>)</li> <li>Preserve forwarded expanded-variadic diagnostic sources (<a href="https://redirect.github.com/astral-sh/ruff/pull/27266">#27266</a>)</li> </ul> <h3>Core type checking</h3> <ul> <li>Avoid over-materializing user-defined <code>TypeIs</code> return types (<a href="https://redirect.github.com/astral-sh/ruff/pull/26864">#26864</a>)</li> <li>Fix enum class container assignability (<a href="https://redirect.github.com/astral-sh/ruff/pull/27318">#27318</a>)</li> <li>Hide stub-only helpers from implicit builtin lookup (<a href="https://redirect.github.com/astral-sh/ruff/pull/27423">#27423</a>)</li> <li>Move <code>Unknown</code> out of the experimental <code>ty_extensions</code> API (<a href="https://redirect.github.com/astral-sh/ruff/pull/27430">#27430</a>)</li> <li>Preserve <code>TypeVarTuple</code> context during <code>Generic</code> recovery (<a href="https://redirect.github.com/astral-sh/ruff/pull/27381">#27381</a>)</li> <li>Preserve exact numeric types in covariant collections (<a href="https://redirect.github.com/astral-sh/ruff/pull/27311">#27311</a>)</li> <li>Reject <code>ClassVar</code> and <code>Final</code> qualifiers in <code>NamedTuple</code> fields (<a href="https://redirect.github.com/astral-sh/ruff/pull/27380">#27380</a>)</li> <li>Reject out-of-scope <code>ParamSpec</code> components (<a href="https://redirect.github.com/astral-sh/ruff/pull/27378">#27378</a>)</li> <li>Reject specializing non-generic subclasses (<a href="https://redirect.github.com/astral-sh/ruff/pull/27377">#27377</a>)</li> <li>Respect bounds and constraints in generic materializations (<a href="https://redirect.github.com/astral-sh/ruff/pull/27228">#27228</a>)</li> <li>Sync vendored typeshed stubs (<a href="https://redirect.github.com/astral-sh/ruff/pull/27401">#27401</a>). <a href="https://github.com/python/typeshed/compare/b00c387c669cb50d5d388d77b74c2e832e147fe8...1b116673774d062a4af7b0a0b3d05533a6be55d0">Typeshed diff</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/carljm"><code>@carljm</code></a></li> <li><a href="https://github.com/Punisheroot"><code>@Punisheroot</code></a></li> <li><a href="https://github.com/AlexWaygood"><code>@AlexWaygood</code></a></li> <li><a href="https://github.com/cheparity"><code>@cheparity</code></a></li> <li><a href="https://github.com/BitWeaverDev"><code>@BitWeaverDev</code></a></li> <li><a href="https://github.com/charliermarsh"><code>@charliermarsh</code></a></li> <li><a href="https://github.com/ribru17"><code>@ribru17</code></a></li> <li><a href="https://github.com/sharkdp"><code>@sharkdp</code></a></li> </ul> <h2>Install ty 0.0.66</h2> <!-- 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.66</h2> <p>Released on 2026-08-03.</p> <h3>LSP server</h3> <ul> <li>Index <code>with</code>-statement targets as symbols (<a href="https://redirect.github.com/astral-sh/ruff/pull/27256">#27256</a>)</li> <li>Trigger signature help after completing callable with parentheses (<a href="https://redirect.github.com/astral-sh/ruff/pull/27084">#27084</a>)</li> </ul> <h3>Library support</h3> <ul> <li>Pydantic: Recognize models installed on extra search paths (<a href="https://redirect.github.com/astral-sh/ruff/pull/27429">#27429</a>)</li> </ul> <h3>Diagnostics</h3> <ul> <li>Detect <code>__aenter__</code> and <code>__aexit__</code> that do not return awaitables (<a href="https://redirect.github.com/astral-sh/ruff/pull/27414">#27414</a>)</li> <li>Diagnose dataclass fields after inherited defaults (<a href="https://redirect.github.com/astral-sh/ruff/pull/27327">#27327</a>)</li> <li>Emit diagnostic when specializing a non-generic class (<a href="https://redirect.github.com/astral-sh/ruff/pull/26883">#26883</a>)</li> <li>Improve error context for incompatible callable signatures (<a href="https://redirect.github.com/astral-sh/ruff/pull/27422">#27422</a>)</li> <li>Preserve forwarded expanded-variadic diagnostic sources (<a href="https://redirect.github.com/astral-sh/ruff/pull/27266">#27266</a>)</li> </ul> <h3>Core type checking</h3> <ul> <li>Avoid over-materializing user-defined <code>TypeIs</code> return types (<a href="https://redirect.github.com/astral-sh/ruff/pull/26864">#26864</a>)</li> <li>Fix enum class container assignability (<a href="https://redirect.github.com/astral-sh/ruff/pull/27318">#27318</a>)</li> <li>Hide stub-only helpers from implicit builtin lookup (<a href="https://redirect.github.com/astral-sh/ruff/pull/27423">#27423</a>)</li> <li>Move <code>Unknown</code> out of the experimental <code>ty_extensions</code> API (<a href="https://redirect.github.com/astral-sh/ruff/pull/27430">#27430</a>)</li> <li>Preserve <code>TypeVarTuple</code> context during <code>Generic</code> recovery (<a href="https://redirect.github.com/astral-sh/ruff/pull/27381">#27381</a>)</li> <li>Preserve exact numeric types in covariant collections (<a href="https://redirect.github.com/astral-sh/ruff/pull/27311">#27311</a>)</li> <li>Reject <code>ClassVar</code> and <code>Final</code> qualifiers in <code>NamedTuple</code> fields (<a href="https://redirect.github.com/astral-sh/ruff/pull/27380">#27380</a>)</li> <li>Reject out-of-scope <code>ParamSpec</code> components (<a href="https://redirect.github.com/astral-sh/ruff/pull/27378">#27378</a>)</li> <li>Reject specializing non-generic subclasses (<a href="https://redirect.github.com/astral-sh/ruff/pull/27377">#27377</a>)</li> <li>Respect bounds and constraints in generic materializations (<a href="https://redirect.github.com/astral-sh/ruff/pull/27228">#27228</a>)</li> <li>Sync vendored typeshed stubs (<a href="https://redirect.github.com/astral-sh/ruff/pull/27401">#27401</a>). <a href="https://github.com/python/typeshed/compare/b00c387c669cb50d5d388d77b74c2e832e147fe8...1b116673774d062a4af7b0a0b3d05533a6be55d0">Typeshed diff</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/carljm"><code>@carljm</code></a></li> <li><a href="https://github.com/Punisheroot"><code>@Punisheroot</code></a></li> <li><a href="https://github.com/AlexWaygood"><code>@AlexWaygood</code></a></li> <li><a href="https://github.com/cheparity"><code>@cheparity</code></a></li> <li><a href="https://github.com/BitWeaverDev"><code>@BitWeaverDev</code></a></li> <li><a href="https://github.com/charliermarsh"><code>@charliermarsh</code></a></li> <li><a href="https://github.com/ribru17"><code>@ribru17</code></a></li> <li><a href="https://github.com/sharkdp"><code>@sharkdp</code></a></li> </ul> <h2>0.0.65</h2> <p>Released on 2026-07-29.</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/astral-sh/ty/commit/3e28e58af75c3b16403c05ab401ae7347b65c5e2"><code>3e28e58</code></a> Bump version to 0.0.66 (<a href="https://redirect.github.com/astral-sh/ty/issues/4166">#4166</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/87de836dfef2d3e1990440752e30e24cfb572f4e"><code>87de836</code></a> Bump version to 0.0.65 (<a href="https://redirect.github.com/astral-sh/ty/issues/4113">#4113</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/d784bad352f4640e7f788eac4dfb0353ca199902"><code>d784bad</code></a> README: Add link to Stable milestone (<a href="https://redirect.github.com/astral-sh/ty/issues/4112">#4112</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/b4c1978dbdf18501ed03139e33ee8afaef251ec3"><code>b4c1978</code></a> Update actions/setup-python action to v7 (<a href="https://redirect.github.com/astral-sh/ty/issues/4110">#4110</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/8d216a39dad99c4443396a08a77da00502cd7e58"><code>8d216a3</code></a> Update actions/checkout action to v7.0.1 (<a href="https://redirect.github.com/astral-sh/ty/issues/4107">#4107</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/06f44e9039cb2764346c4bceaff4021ac143de9e"><code>06f44e9</code></a> Update dependency prek to v0.4.10 (<a href="https://redirect.github.com/astral-sh/ty/issues/4108">#4108</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/b3665fde4804424576a30078bc0b7c101c5e2242"><code>b3665fd</code></a> Update prek dependencies (<a href="https://redirect.github.com/astral-sh/ty/issues/4109">#4109</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/5e64a131b436a4e1f40e6317c526f4fc73fab38b"><code>5e64a13</code></a> Bump version to 0.0.64 (<a href="https://redirect.github.com/astral-sh/ty/issues/4097">#4097</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/46f4915e67aad965b1b4e7478a75378e8e52ff6d"><code>46f4915</code></a> Bump version to 0.0.63 (<a href="https://redirect.github.com/astral-sh/ty/issues/4071">#4071</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/df75992e7fd0cc73cb0f66e864df3f6e4fc4e1a6"><code>df75992</code></a> Bump version to 0.0.62 (<a href="https://redirect.github.com/astral-sh/ty/issues/4057">#4057</a>)</li> <li>Additional commits viewable in <a href="https://github.com/astral-sh/ty/compare/0.0.55...0.0.66">compare view</a></li> </ul> </details> <br /> Updates `xxhash` from 3.8.0 to 3.8.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ifduyue/python-xxhash/releases">xxhash's releases</a>.</em></p> <blockquote> <h2>v3.8.1</h2> <ul> <li>Register the "benchmark" pytest mark to avoid PytestUnknownMarkWarning</li> <li>Update C extension docstrings and remove stale comments</li> </ul> <hr /> <p>Full list of changes: <a href="https://github.com/ifduyue/python-xxhash/compare/v3.8.0...v3.8.1">https://github.com/ifduyue/python-xxhash/compare/v3.8.0...v3.8.1</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/ifduyue/python-xxhash/blob/master/CHANGELOG.rst">xxhash's changelog</a>.</em></p> <blockquote> <p>v3.8.1 2026-07-06</p> <pre><code> - Register the "benchmark" pytest mark to avoid PytestUnknownMarkWarning - Update C extension docstrings and remove stale comments </code></pre> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ifduyue/python-xxhash/commit/0a1adf7b6a5f26b821272985a0a987cca5446c23"><code>0a1adf7</code></a> Release v3.8.1</li> <li><a href="https://github.com/ifduyue/python-xxhash/commit/aa419ca1478219b7ba2ad18a8fe05ca9d29288bc"><code>aa419ca</code></a> Prepare 3.8.1</li> <li><a href="https://github.com/ifduyue/python-xxhash/commit/e26b770f19b5eabd1c58d098206e5c9adfcef5d1"><code>e26b770</code></a> docs: update C extension docstrings and remove stale comments</li> <li><a href="https://github.com/ifduyue/python-xxhash/commit/aa69707513c4ba8c52a4bebc23f0aada7844decc"><code>aa69707</code></a> Register the “benchmark” pytest mark</li> <li>See full diff in <a href="https://github.com/ifduyue/python-xxhash/compare/v3.8.0...v3.8.1">compare view</a></li> </ul> </details> <br /> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: John Kennedy <65985482+jkennedyvz@users.noreply.github.com> Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com> |
||
|
|
f55e77274d |
release(checkpoint): 4.2.0 (#8563)
Version bump only. No library code changes in this PR. Unreleased since `checkpoint==4.1.1`: - #8526 - collect writes at plain-value seed in delta channel history - #8354 - add opt-in `TTLConfig.omit_expired` to skip expired rows on read Minor rather than patch because #8354 adds a new public `TTLConfig` key. Note that the checkpoint-postgres half of #8354 already shipped in `checkpointpostgres==3.1.1`, so the currently released Postgres saver honors an option that no released `langgraph-checkpoint` declares. This closes that gap. `langgraph-checkpoint-postgres` 3.1.2 (#8535) follows once this is live on PyPI. |
||
|
|
ea5f9cc9fb |
chore: enforce PLC0415 in tests for the remaining packages (#8547)
Follow-up to #8540, which turned on `PLC0415` (import-outside-top-level) for checkpoint-postgres and checkpoint-sqlite. This does the remaining six packages: checkpoint, checkpoint-conformance, langgraph, prebuilt, cli, sdk-py. Scoped to tests, per @sydney-runkle's call on #8540: library code is exempted with `per-file-ignores`, since it still has deferred imports nobody has reviewed and mixing that in would make this hard to read. ## What changed Function-level imports across 56 test files moved to module level. Nine could not move and carry an explicit `# noqa: PLC0415` with a reason: | File | Why it stays local | |---|---| | `libs/langgraph/tests/test_deprecation.py` (4) | the import has to run inside `pytest.warns` for the warning to be observed | | `libs/langgraph/tests/test_serde_allowlist.py` | try/except guard, skips when langchain_core is absent | | `libs/langgraph/tests/test_delta_channel_benchmark.py` | optional psycopg probe | | `libs/checkpoint/tests/test_conformance_delta.py` (3) | protected by a module-level `pytest.importorskip`; hoisting past the guard turns a skip into a collection error | That last one is the trap: an import moved above `pytest.importorskip` silently defeats the guard. I hit it locally and it turned the skip into a `ModuleNotFoundError` at collection. Every file with an `importorskip` or `except ImportError` was checked by hand for this. ## Verification `make lint` and `make test` in each of the six: | Package | Tests | |---|---| | checkpoint | 156 passed, 17 skipped | | checkpoint-conformance | 1 passed | | langgraph | 1968 passed, 4 skipped | | prebuilt | 284 passed | | cli | 336 passed | | sdk-py | 493 passed | Also confirmed the rule actually fires: a throwaway test file with a function-level import is flagged in all six packages, and the source exemption holds. |
||
|
|
4134145734 |
release(langgraph): 1.2.10 (#8462)
## Summary Releases `langgraph` 1.2.10. Bumps the package version `1.2.9` -> `1.2.10` and propagates it into the `langgraph`, `prebuilt`, and `sdk-py` lockfiles. No dependency floor or source changes. Picks up the changes landed since 1.2.9: #8389 (typed v3 `stream_events` return and native projections), #8362 (`trace_policy` on `add_node`), #8402 and #8403 (`TracePolicy` tag drop, then revert). ## Changes - Update `libs/langgraph/pyproject.toml` to version `1.2.10`. - Update the editable `langgraph` package entries in `libs/langgraph/uv.lock`, `libs/prebuilt/uv.lock`, and `libs/sdk-py/uv.lock`. |
||
|
|
49ae27c2ae |
chore(deps): bump websockets from 15.0.1 to 16.0 in /libs/sdk-py in the major group (#8253)
Bumps the major group in /libs/sdk-py with 1 update: [websockets](https://github.com/python-websockets/websockets). Updates `websockets` from 15.0.1 to 16.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/python-websockets/websockets/releases">websockets's releases</a>.</em></p> <blockquote> <h2>16.0</h2> <p>See <a href="https://websockets.readthedocs.io/en/stable/project/changelog.html">https://websockets.readthedocs.io/en/stable/project/changelog.html</a> for details.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/python-websockets/websockets/commit/d4303a5d3e373fc8c34177c3dec1a9c75c8865fa"><code>d4303a5</code></a> Release version 16.0.</li> <li><a href="https://github.com/python-websockets/websockets/commit/851bcd756bf114e41438f04d928aa85838724fe1"><code>851bcd7</code></a> Bump pypa/cibuildwheel from 3.3.0 to 3.3.1</li> <li><a href="https://github.com/python-websockets/websockets/commit/740c8d373e10ced940fb33c3e0457991841c10c4"><code>740c8d3</code></a> Temporarily remove the trio implementation.</li> <li><a href="https://github.com/python-websockets/websockets/commit/92ea0553587ba07a4668c30dfd9e6210d9f26bc9"><code>92ea055</code></a> Add missing changelog entry.</li> <li><a href="https://github.com/python-websockets/websockets/commit/ba74244154df5a74f044d0f8cd971acac636bb74"><code>ba74244</code></a> Document bug fix.</li> <li><a href="https://github.com/python-websockets/websockets/commit/9410483c016463a6cd08b2a5321337b85e094f10"><code>9410483</code></a> Pin sphinx to avoid error in sphinxcontrib-trio.</li> <li><a href="https://github.com/python-websockets/websockets/commit/8e4d408e17b0bfa1a91aa62e054b8786a8132231"><code>8e4d408</code></a> Document asyncio's TLS read buffer.</li> <li><a href="https://github.com/python-websockets/websockets/commit/cb3500b0b030715dc3caa1e3ce95affe4a79b8bd"><code>cb3500b</code></a> Stop referring to the asyncio implementation as new.</li> <li><a href="https://github.com/python-websockets/websockets/commit/6563a9c884d92df4c889bb174dc84a56a7377686"><code>6563a9c</code></a> The threading implementation supports max_queue.</li> <li><a href="https://github.com/python-websockets/websockets/commit/9f17e92dbee2b9a14e02b2792cfbb127efbd4098"><code>9f17e92</code></a> Clarify that protocol_mutex protects pending_pings.</li> <li>Additional commits viewable in <a href="https://github.com/python-websockets/websockets/compare/15.0.1...16.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: John Kennedy <65985482+jkennedyvz@users.noreply.github.com> Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com> |
||
|
|
b96f6170e7 |
fix(sdk-py): support clearing cron end_time via update(end_time=None) (#8334)
`CronClient.update` / `SyncCronClient.update` stripped all `None`-valued fields from the PATCH body, so `update(end_time=None)` could never clear a previously set cron end time. This routes an explicit `None` through as `end_time: null` (via the existing `NOT_PROVIDED` sentinel), while an omitted argument still leaves the value unchanged. Verified with `make format`, `make lint`, and `make test` in `libs/sdk-py` (493 passed), including two new tests asserting the PATCH body carries an explicit null `end_time`. |
||
|
|
95af6a0071 |
release(langgraph): 1.2.9 (#8316)
## Summary Releases `langgraph` 1.2.9. Bumps the package version `1.2.8` -> `1.2.9` and propagates it into the `langgraph`, `prebuilt`, and `sdk-py` lockfiles. No dependency floor or source changes. Includes #8315 (fix non-fresh `update_state` delta channel counters/snapshot metadata for Postgres replay). ## Changes - Update `libs/langgraph/pyproject.toml` to version `1.2.9`. - Update the editable `langgraph` package entries in `libs/langgraph/uv.lock`, `libs/prebuilt/uv.lock`, and `libs/sdk-py/uv.lock`. Made with [Cursor](https://cursor.com) Co-authored-by: Cursor <cursoragent@cursor.com> |
||
|
|
23652c54be |
release(langgraph): 1.2.8 (#8292)
## Summary Releases `langgraph` 1.2.8. Bumps the package version `1.2.7` -> `1.2.8` and propagates it into the `langgraph`, `prebuilt`, and `sdk-py` lockfiles. No dependency floor or source changes. ## Changes - Update `libs/langgraph/pyproject.toml` to version `1.2.8`. - Update the editable `langgraph` package entries in `libs/langgraph/uv.lock`, `libs/prebuilt/uv.lock`, and `libs/sdk-py/uv.lock`. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|
|
84e065a342 |
chore(deps): bump websockets from 15.0.1 to 16.0 in /libs/langgraph in the major group (#8256)
Bumps the major group in /libs/langgraph with 1 update: [websockets](https://github.com/python-websockets/websockets). Updates `websockets` from 15.0.1 to 16.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/python-websockets/websockets/releases">websockets's releases</a>.</em></p> <blockquote> <h2>16.0</h2> <p>See <a href="https://websockets.readthedocs.io/en/stable/project/changelog.html">https://websockets.readthedocs.io/en/stable/project/changelog.html</a> for details.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/python-websockets/websockets/commit/d4303a5d3e373fc8c34177c3dec1a9c75c8865fa"><code>d4303a5</code></a> Release version 16.0.</li> <li><a href="https://github.com/python-websockets/websockets/commit/851bcd756bf114e41438f04d928aa85838724fe1"><code>851bcd7</code></a> Bump pypa/cibuildwheel from 3.3.0 to 3.3.1</li> <li><a href="https://github.com/python-websockets/websockets/commit/740c8d373e10ced940fb33c3e0457991841c10c4"><code>740c8d3</code></a> Temporarily remove the trio implementation.</li> <li><a href="https://github.com/python-websockets/websockets/commit/92ea0553587ba07a4668c30dfd9e6210d9f26bc9"><code>92ea055</code></a> Add missing changelog entry.</li> <li><a href="https://github.com/python-websockets/websockets/commit/ba74244154df5a74f044d0f8cd971acac636bb74"><code>ba74244</code></a> Document bug fix.</li> <li><a href="https://github.com/python-websockets/websockets/commit/9410483c016463a6cd08b2a5321337b85e094f10"><code>9410483</code></a> Pin sphinx to avoid error in sphinxcontrib-trio.</li> <li><a href="https://github.com/python-websockets/websockets/commit/8e4d408e17b0bfa1a91aa62e054b8786a8132231"><code>8e4d408</code></a> Document asyncio's TLS read buffer.</li> <li><a href="https://github.com/python-websockets/websockets/commit/cb3500b0b030715dc3caa1e3ce95affe4a79b8bd"><code>cb3500b</code></a> Stop referring to the asyncio implementation as new.</li> <li><a href="https://github.com/python-websockets/websockets/commit/6563a9c884d92df4c889bb174dc84a56a7377686"><code>6563a9c</code></a> The threading implementation supports max_queue.</li> <li><a href="https://github.com/python-websockets/websockets/commit/9f17e92dbee2b9a14e02b2792cfbb127efbd4098"><code>9f17e92</code></a> Clarify that protocol_mutex protects pending_pings.</li> <li>Additional commits viewable in <a href="https://github.com/python-websockets/websockets/compare/15.0.1...16.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: John Kennedy <65985482+jkennedyvz@users.noreply.github.com> Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com> |
||
|
|
7989e5956f |
chore(deps): bump the minor-and-patch group in /libs/sdk-py with 9 updates (#8252)
Bumps the minor-and-patch group in /libs/sdk-py with 9 updates: | Package | From | To | | --- | --- | --- | | [orjson](https://github.com/ijl/orjson) | `3.11.8` | `3.11.9` | | [langchain-protocol](https://github.com/langchain-ai/agent-protocol) | `0.0.15` | `0.0.18` | | [langchain-core](https://github.com/langchain-ai/langchain) | `1.4.7` | `1.4.8` | | [pytest](https://github.com/pytest-dev/pytest) | `9.0.3` | `9.1.1` | | [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.3.0` | `1.4.0` | | [ruff](https://github.com/astral-sh/ruff) | `0.15.12` | `0.15.20` | | [ty](https://github.com/astral-sh/ty) | `0.0.43` | `0.0.55` | | [pydantic](https://github.com/pydantic/pydantic) | `2.13.3` | `2.13.4` | | [xxhash](https://github.com/ifduyue/python-xxhash) | `3.6.0` | `3.8.0` | Updates `orjson` from 3.11.8 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> </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> </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>See full diff in <a href="https://github.com/ijl/orjson/compare/3.11.8...3.11.9">compare view</a></li> </ul> </details> <br /> Updates `langchain-protocol` from 0.0.15 to 0.0.18 <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.18</h2> <h2>What's Changed</h2> <ul> <li>feat(protocol): allow update and goto on input.respond 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/88">langchain-ai/agent-protocol#88</a></li> <li>v0.0.18 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/89">langchain-ai/agent-protocol#89</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/langchain-ai/agent-protocol/compare/langchain-protocol==0.0.17...langchain-protocol==0.0.18">https://github.com/langchain-ai/agent-protocol/compare/langchain-protocol==0.0.17...langchain-protocol==0.0.18</a></p> <h2>langchain-protocol==0.0.17</h2> <h2>What's Changed</h2> <ul> <li>Bump idna from 3.11 to 3.15 in /tooling in the uv group across 1 directory by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/langchain-ai/agent-protocol/pull/85">langchain-ai/agent-protocol#85</a></li> <li>feat: add token-detail breakdowns to UsageInfo by <a href="https://github.com/nick-hollon-lc"><code>@nick-hollon-lc</code></a> in <a href="https://redirect.github.com/langchain-ai/agent-protocol/pull/87">langchain-ai/agent-protocol#87</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/langchain-ai/agent-protocol/compare/langchain-protocol==0.0.16...langchain-protocol==0.0.17">https://github.com/langchain-ai/agent-protocol/compare/langchain-protocol==0.0.16...langchain-protocol==0.0.17</a></p> <h2>langchain-protocol==0.0.16</h2> <h2>What's Changed</h2> <ul> <li>chore: bump <code>typing-extensions</code> floor from <code>>=4.7.0</code> to <code>>=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/0ff7cd3962e8b4b3e347b76203be7dfeba003928"><code>0ff7cd3</code></a> v0.0.18 (<a href="https://redirect.github.com/langchain-ai/agent-protocol/issues/89">#89</a>)</li> <li><a href="https://github.com/langchain-ai/agent-protocol/commit/aae0e86f0daecac8867b90f2a68567641926ea3c"><code>aae0e86</code></a> feat(protocol): allow update and goto on input.respond (<a href="https://redirect.github.com/langchain-ai/agent-protocol/issues/88">#88</a>)</li> <li><a href="https://github.com/langchain-ai/agent-protocol/commit/c07051e7239028ee37c52b36641945c35022babc"><code>c07051e</code></a> Merge pull request <a href="https://redirect.github.com/langchain-ai/agent-protocol/issues/87">#87</a> from langchain-ai/nh/usage-token-details</li> <li><a href="https://github.com/langchain-ai/agent-protocol/commit/44d72d669bc35aad736cf557989136d93a0d297e"><code>44d72d6</code></a> chore: bump <code>@langchain/protocol</code> (js) to 0.0.17</li> <li><a href="https://github.com/langchain-ai/agent-protocol/commit/22ca3bfb68b8c7a98b3f6c56a455da111b49728e"><code>22ca3bf</code></a> feat: add token-detail breakdowns to UsageInfo</li> <li><a href="https://github.com/langchain-ai/agent-protocol/commit/0d511c82fc0e14f719b22da7b4905dd0e6b95788"><code>0d511c8</code></a> Merge pull request <a href="https://redirect.github.com/langchain-ai/agent-protocol/issues/85">#85</a> from langchain-ai/dependabot/uv/tooling/uv-d665ee01e3</li> <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/298e6c86564a84d847b70ba892aed2f045a85b2e"><code>298e6c8</code></a> Bump idna in /tooling in the uv group across 1 directory</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>>=4.7.0</code> to <code>>=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.18">compare view</a></li> </ul> </details> <br /> Updates `langchain-core` from 1.4.7 to 1.4.8 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/langchain-ai/langchain/releases">langchain-core's releases</a>.</em></p> <blockquote> <h2>langchain-core==1.4.8</h2> <p>Changes since langchain-core==1.4.7</p> <p>chore: bump jupyter-server from 2.18.0 to 2.20.0 in /libs/core (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38252">#38252</a>) chore: bump tornado from 6.5.6 to 6.5.7 in /libs/core (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38184">#38184</a>) chore: bump bleach from 6.3.0 to 6.4.0 in /libs/core (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38198">#38198</a>) release(core): 1.4.8 (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38254">#38254</a>) refactor(langchain-classic): remove code for Python < 3.10 (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38194">#38194</a>) perf(core): memoize <code>BaseTool.tool_call_schema</code> subset model and cache <code>model_json_schema</code> (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38073">#38073</a>) style(core): fix style in <code>langchain_core</code>/<code>_security</code> (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38189">#38189</a>) fix(core): preserve usage token details in v3 streaming events (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38021">#38021</a>) fix(core): <code>disallow_any_generics</code> (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38156">#38156</a>) chore(core): add mypy <code>warn_unreachable</code> (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38109">#38109</a>) docs: refresh <code>README</code> installation and resources (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38119">#38119</a>) test(core,langchain): update tests for explicit deserialization allowlists (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38118">#38118</a>)</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/langchain-ai/langchain/commit/15b0a4930b5306bb2174f16d92fe4b7837147d0a"><code>15b0a49</code></a> chore: bump jupyter-server from 2.18.0 to 2.20.0 in /libs/core (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38252">#38252</a>)</li> <li><a href="https://github.com/langchain-ai/langchain/commit/612139f3af5f55b6311695fe6b139f0b6a6f68a2"><code>612139f</code></a> chore: bump tornado from 6.5.6 to 6.5.7 in /libs/text-splitters (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38175">#38175</a>)</li> <li><a href="https://github.com/langchain-ai/langchain/commit/921e370a67af4254b948de94c4db4587f4716a84"><code>921e370</code></a> chore: bump cryptography from 46.0.7 to 48.0.1 in /libs/langchain_v1 (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38176">#38176</a>)</li> <li><a href="https://github.com/langchain-ai/langchain/commit/1aabc26836e0c1220121a1f37e3a2691e20f2f19"><code>1aabc26</code></a> chore: bump aiohttp from 3.14.0 to 3.14.1 in /libs/langchain_v1 (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38179">#38179</a>)</li> <li><a href="https://github.com/langchain-ai/langchain/commit/8d51355f1f81825b72cb55303a39825ecbdc6b44"><code>8d51355</code></a> chore: bump aiohttp from 3.14.0 to 3.14.1 in /libs/langchain (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38180">#38180</a>)</li> <li><a href="https://github.com/langchain-ai/langchain/commit/0b1b7bb77a7e8cf98071e088da777ff52558f771"><code>0b1b7bb</code></a> chore: bump cryptography from 46.0.7 to 48.0.1 in /libs/langchain (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38181">#38181</a>)</li> <li><a href="https://github.com/langchain-ai/langchain/commit/dfd062742271ad693c8bebe4ff1784cc4f408ade"><code>dfd0627</code></a> chore: bump starlette from 1.0.1 to 1.3.1 in /libs/langchain (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38182">#38182</a>)</li> <li><a href="https://github.com/langchain-ai/langchain/commit/0269392514c41e44bfa0413c3f550c06e46d2e1e"><code>0269392</code></a> chore: bump tornado from 6.5.6 to 6.5.7 in /libs/langchain (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38183">#38183</a>)</li> <li><a href="https://github.com/langchain-ai/langchain/commit/24d0b3791af52796b3fe5330f38e99b89afda4b1"><code>24d0b37</code></a> chore: bump tornado from 6.5.6 to 6.5.7 in /libs/core (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38184">#38184</a>)</li> <li><a href="https://github.com/langchain-ai/langchain/commit/f368854ec388f0a8e98b9e77aa8da83ebad1b978"><code>f368854</code></a> chore: bump bleach from 6.2.0 to 6.4.0 in /libs/text-splitters (<a href="https://redirect.github.com/langchain-ai/langchain/issues/38195">#38195</a>)</li> <li>Additional commits viewable in <a href="https://github.com/langchain-ai/langchain/compare/langchain-core==1.4.7...langchain-core==1.4.8">compare view</a></li> </ul> </details> <br /> Updates `pytest` from 9.0.3 to 9.1.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest/releases">pytest's releases</a>.</em></p> <blockquote> <h2>9.1.1</h2> <h1>pytest 9.1.1 (2026-06-19)</h1> <h2>Bug fixes</h2> <ul> <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/14220">#14220</a>: Fixed a logic bug in <code>pytest.RaisesGroup</code> which would might cause it to display incorrect "It matches <!-- raw HTML omitted -->FooError()<!-- raw HTML omitted --> which was paired with <!-- raw HTML omitted -->BarError<!-- raw HTML omitted -->" messages.</li> <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/14591">#14591</a>: Fixed a regression in pytest 9.1.0 which caused overriding a parametrized fixture with an indirect <!-- raw HTML omitted --><a href="https://github.com/pytest"><code>@pytest</code></a>.mark.parametrize<!-- raw HTML omitted --> to fail with "duplicate parametrization of '<fixture name>'".</li> <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/14606">#14606</a>: Fixed <code>list-item</code> typing errors from mypy in <code>@pytest.mark.parametrize <pytest.mark.parametrize ref></code> <code>argvalues</code> parameter.</li> <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/14608">#14608</a>: Fixed a regression in pytest 9.1.0 where <code>conftest.py</code> files located in <code><invocation dir>/test*</code> were no longer loaded as initial conftests when invoked without arguments. This could cause certain hooks (like <code>pytest_addoption</code>) in these files to not fire.</li> </ul> <h2>9.1.0</h2> <h1>pytest 9.1.0 (2026-06-13)</h1> <h2>Removals and backward incompatible breaking changes</h2> <ul> <li> <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/14533">#14533</a>: When using <code>--doctest-modules</code>, autouse fixtures with <code>module</code>, <code>package</code> or <code>session</code> scope that are defined inline in Python test modules (not plugins or conftests) will now possibly execute twice.</p> <p>If this is undesirable, move the fixture definition to a <code>conftest.py</code> file if possible.</p> <p>Technical explanation for those interested: When using <!-- raw HTML omitted -->--doctest-modules<!-- raw HTML omitted -->, pytest possibly collects Python modules twice, once as <code>pytest.Module</code> and once as a <code>DoctestModule</code> (depending on the configuration). Due to improvements in pytest's fixture implementation, if e.g. the <code>DoctestModule</code> collects a fixture, it is now visible to it only, and not to the <code>Module</code>. This means that both need to register the fixtures independently.</p> </li> </ul> <h2>Deprecations (removal in next major release)</h2> <ul> <li> <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/10819">#10819</a>: Added a deprecation warning for class-scoped fixtures defined as instance methods (without <code>@classmethod</code>). Such fixtures set attributes on a different instance than the test methods use, leading to unexpected behavior. Use <code>@classmethod</code> decorator instead -- by <code>yastcher</code>.</p> <p>See <code>10819</code> and <code>14011</code>.</p> </li> <li> <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/12882">#12882</a>: Calling <code>request.getfixturevalue() <pytest.FixtureRequest.getfixturevalue></code> during teardown to request a fixture that was not already requested is now deprecated and will become an error in pytest 10.</p> <p>See <code>dynamic-fixture-request-during-teardown</code> for details.</p> </li> <li> <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13409">#13409</a>: Using non-<code>~collections.abc.Collection</code> iterables (such as generators, iterators, or custom iterable objects) for the <code>argvalues</code> parameter in <code>@pytest.mark.parametrize <pytest.mark.parametrize ref></code> and <code>metafunc.parametrize <pytest.Metafunc.parametrize></code> is now deprecated.</p> <p>These iterables get exhausted after the first iteration, leading to tests getting unexpectedly skipped in cases such as running <code>pytest.main()</code> multiple times, using class-level parametrize decorators, or collecting tests multiple times.</p> <p>See <code>parametrize-iterators</code> for details and suggestions.</p> </li> <li> <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13946">#13946</a>: The private <code>config.inicfg</code> attribute is now deprecated. Use <code>config.getini() <pytest.Config.getini></code> to access configuration values instead.</p> <p>See <code>config-inicfg</code> for more details.</p> </li> <li> <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/14004">#14004</a>: Passing <code>baseid</code> to <code>~pytest.FixtureDef</code> or <code>nodeid</code> strings to fixture registration APIs is now deprecated. These are internal pytest APIs that are used by some plugins.</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytest-dev/pytest/commit/cf470ec0bf7eb89cd97dd56df4859eae5db46447"><code>cf470ec</code></a> Prepare release version 9.1.1</li> <li><a href="https://github.com/pytest-dev/pytest/commit/e0c8ce6cc5db1f08363be6f152c32e6838df2690"><code>e0c8ce6</code></a> Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14625">#14625</a> from pytest-dev/patchback/backports/9.1.x/a07c31a97...</li> <li><a href="https://github.com/pytest-dev/pytest/commit/1b82d1694fce22385ee7a4287917fbafbaf2e757"><code>1b82d16</code></a> Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14624">#14624</a> from pytest-dev/patchback/backports/9.1.x/b375b79ec...</li> <li><a href="https://github.com/pytest-dev/pytest/commit/501c4bc784da3b08bfcaa64858eba5d15dc59e53"><code>501c4bc</code></a> Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14596">#14596</a> from bluetech/doc-classmethod</li> <li><a href="https://github.com/pytest-dev/pytest/commit/b61f588e36e9377c3d1d3f06bece1da0fc31d9ca"><code>b61f588</code></a> Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14622">#14622</a> from chrisburr/fix-14608-initial-conftest-test-subdir</li> <li><a href="https://github.com/pytest-dev/pytest/commit/9a567e009f4d2da3ce1721c6db3109cb5744d40a"><code>9a567e0</code></a> [automated] Update plugin list (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14617">#14617</a>) (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14618">#14618</a>)</li> <li><a href="https://github.com/pytest-dev/pytest/commit/ef8b2993e5b48639e4a3d97d0525df9760781384"><code>ef8b299</code></a> Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14620">#14620</a> from pytest-dev/patchback/backports/9.1.x/680f9f3ed...</li> <li><a href="https://github.com/pytest-dev/pytest/commit/66abd0784d4cb7c1ba44ab9a8896506cd4985acc"><code>66abd07</code></a> Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14220">#14220</a> from bysiber/fix-stale-iexp-raisesgroup</li> <li><a href="https://github.com/pytest-dev/pytest/commit/79fbf93b666cac5f27c9dad047943d47b766c8d5"><code>79fbf93</code></a> Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14612">#14612</a> from pytest-dev/patchback/backports/9.1.x/974ed48b6...</li> <li><a href="https://github.com/pytest-dev/pytest/commit/0d312eb876177e9f1c04262b54060a41034ebf5c"><code>0d312eb</code></a> Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14611">#14611</a> from bluetech/parametrize-argvalues-typing</li> <li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest/compare/9.0.3...9.1.1">compare view</a></li> </ul> </details> <br /> Updates `pytest-asyncio` from 1.3.0 to 1.4.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-asyncio/releases">pytest-asyncio's releases</a>.</em></p> <blockquote> <h2>pytest-asyncio v1.4.0</h2> <h1><a href="https://github.com/pytest-dev/pytest-asyncio/tree/1.4.0">1.4.0</a> - 2026-05-26</h1> <h2>Deprecated</h2> <ul> <li>Overriding the <em>event_loop_policy</em> fixture is deprecated. Use the <code>pytest_asyncio_loop_factories</code> hook instead. (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1419">#1419</a>)</li> </ul> <h2>Added</h2> <ul> <li> <p>Added the <code>pytest_asyncio_loop_factories</code> hook to parametrize asyncio tests with custom event loop factories.</p> <p>The hook returns a mapping of factory names to loop factories, and <code>pytest.mark.asyncio(loop_factories=[...])</code> selects a subset of configured factories per test. When a single factory is configured, test names are unchanged.</p> <p>Synchronous <code>@pytest_asyncio.fixture</code> functions now see the correct event loop when custom loop factories are configured, even when test code disrupts the current event loop (e.g., via <code>asyncio.run()</code> or <code>asyncio.set_event_loop(None)</code>). (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1164">#1164</a>)</p> </li> </ul> <h2>Changed</h2> <ul> <li>Improved the readability of the warning message that is displayed when <code>asyncio_default_fixture_loop_scope</code> is unset (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1298">#1298</a>)</li> <li>Only import <code>asyncio.AbstractEventLoopPolicy</code> for type checking to avoid raising a DeprecationWarning. (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1394">#1394</a>)</li> <li>Updated minimum supported pytest version to v8.4.0. (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1397">#1397</a>)</li> </ul> <h2>Fixed</h2> <ul> <li>Fixed a <code>ResourceWarning: unclosed event loop</code> warning that could occur when a synchronous test called <code>asyncio.run()</code> or otherwise unset the current event loop after pytest-asyncio had run an async test or fixture. (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/724">#724</a>)</li> </ul> <h2>Notes for Downstream Packagers</h2> <ul> <li>Added dependency on <code>sphinx-tabs >= 3.5</code> to organize documentation examples into tabs. (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1395">#1395</a>)</li> </ul> <h2>pytest-asyncio v1.4.0a2</h2> <h1><a href="https://github.com/pytest-dev/pytest-asyncio/tree/1.4.0a2">1.4.0a2</a> - 2026-05-02</h1> <h2>Deprecated</h2> <ul> <li>Overriding the <em>event_loop_policy</em> fixture is deprecated. Use the <code>pytest_asyncio_loop_factories</code> hook instead. (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1419">#1419</a>)</li> </ul> <h2>Added</h2> <ul> <li> <p>Added the <code>pytest_asyncio_loop_factories</code> hook to parametrize asyncio tests with custom event loop factories.</p> <p>The hook returns a mapping of factory names to loop factories, and <code>pytest.mark.asyncio(loop_factories=[...])</code> selects a subset of configured factories per test. When a single factory is configured, test names are unchanged on pytest 8.4+.</p> <p>Synchronous <code>@pytest_asyncio.fixture</code> functions now see the correct event loop when custom loop factories are configured, even when test code disrupts the current event loop (e.g., via <code>asyncio.run()</code> or <code>asyncio.set_event_loop(None)</code>). (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1164">#1164</a>)</p> </li> </ul> <h2>Changed</h2> <ul> <li>Improved the readability of the warning message that is displayed when <code>asyncio_default_fixture_loop_scope</code> is unset (<a href="https://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="https://github.com/pytest-dev/pytest-asyncio/commit/6e14cd2af9292dca1fa2b027a06bbc40b0e0e425"><code>6e14cd2</code></a> chore: Prepare release of v1.4.0.</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/4b900fb5d0c30949c574e55dd904ee179f858a5e"><code>4b900fb</code></a> Build(deps): Bump codecov/codecov-action from 6.0.0 to 6.0.1</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/ab9f63245094865c42c940a34af724b0dec1debf"><code>ab9f632</code></a> Build(deps): Bump zipp from 3.23.1 to 4.1.0</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/a56fc77ecd59f781d8471b0f6a82bf58e08c95fa"><code>a56fc77</code></a> Build(deps): Bump hypothesis from 6.152.6 to 6.152.8</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/e8bae9bc1f197731fc1a210c0da557af7b698e6d"><code>e8bae9b</code></a> Build(deps): Bump requests from 2.34.0 to 2.34.2</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/fc433402c570fd36a7a227ef4bc3abd4579299de"><code>fc43340</code></a> Build(deps): Bump idna from 3.14 to 3.15</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/762eaf5033b798b965c92afdbb2cebefa8fc3a8b"><code>762eaf5</code></a> Build(deps): Bump jaraco-functools from 4.4.0 to 4.5.0</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/b62e2228c80070977baf6b77ba89d5c148af920f"><code>b62e222</code></a> Build(deps): Bump click from 8.3.3 to 8.4.0</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/919044700627889d25ca63b6e7a3bc785f3137eb"><code>9190447</code></a> Build(deps): Bump pydantic from 2.13.3 to 2.13.4</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/82a393c5e31b6ebbbd8ec2a8dafc5f35b9cf1236"><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 `ruff` from 0.15.12 to 0.15.20 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/astral-sh/ruff/releases">ruff's releases</a>.</em></p> <blockquote> <h2>0.15.20</h2> <h2>Release Notes</h2> <p>Released on 2026-06-25.</p> <h3>Preview features</h3> <ul> <li>Allow human-readable names in rule selectors (<a href="https://redirect.github.com/astral-sh/ruff/pull/25887">#25887</a>)</li> <li>Emit a warning instead of an error for unknown rule selectors (<a href="https://redirect.github.com/astral-sh/ruff/pull/26113">#26113</a>)</li> <li>Match <code>noqa</code> shebang handling in <code>ruff:ignore</code> comments (<a href="https://redirect.github.com/astral-sh/ruff/pull/26286">#26286</a>)</li> <li>[<code>ruff</code>] Remove <code>pytest-fixture-autouse</code> (<code>RUF076</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/26240">#26240</a>, <a href="https://redirect.github.com/astral-sh/ruff/pull/26371">#26371</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Add versioning sections to custom crate READMEs (<a href="https://redirect.github.com/astral-sh/ruff/pull/26317">#26317</a>)</li> <li>Update <code>ruff_python_parser</code> README for crates.io (<a href="https://redirect.github.com/astral-sh/ruff/pull/26315">#26315</a>)</li> <li>[<code>perflint</code>] Clarify that <code>PERF402</code> applies to any iterable (<a href="https://redirect.github.com/astral-sh/ruff/pull/26242">#26242</a>)</li> </ul> <h3>Contributors</h3> <ul> <li><a href="https://github.com/dhruvmanila"><code>@dhruvmanila</code></a></li> <li><a href="https://github.com/MichaReiser"><code>@MichaReiser</code></a></li> <li><a href="https://github.com/ntBre"><code>@ntBre</code></a></li> <li><a href="https://github.com/trilamsr"><code>@trilamsr</code></a></li> </ul> <h2>Install ruff 0.15.20</h2> <h3>Install prebuilt binaries via shell script</h3> <pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-installer.sh | sh </code></pre> <h3>Install prebuilt binaries via powershell script</h3> <pre lang="sh"><code>powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-installer.ps1 | iex" </code></pre> <h2>Download ruff 0.15.20</h2> <table> <thead> <tr> <th>File</th> <th>Platform</th> <th>Checksum</th> </tr> </thead> <tbody> <tr> <td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-aarch64-apple-darwin.tar.gz">ruff-aarch64-apple-darwin.tar.gz</a></td> <td>Apple Silicon macOS</td> <td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-aarch64-apple-darwin.tar.gz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-x86_64-apple-darwin.tar.gz">ruff-x86_64-apple-darwin.tar.gz</a></td> <td>Intel macOS</td> <td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-x86_64-apple-darwin.tar.gz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-aarch64-pc-windows-msvc.zip">ruff-aarch64-pc-windows-msvc.zip</a></td> <td>ARM64 Windows</td> <td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-aarch64-pc-windows-msvc.zip.sha256">checksum</a></td> </tr> <tr> <td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-i686-pc-windows-msvc.zip">ruff-i686-pc-windows-msvc.zip</a></td> <td>x86 Windows</td> <td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-i686-pc-windows-msvc.zip.sha256">checksum</a></td> </tr> <tr> <td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-x86_64-pc-windows-msvc.zip">ruff-x86_64-pc-windows-msvc.zip</a></td> <td>x64 Windows</td> <td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-x86_64-pc-windows-msvc.zip.sha256">checksum</a></td> </tr> <tr> <td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-aarch64-unknown-linux-gnu.tar.gz">ruff-aarch64-unknown-linux-gnu.tar.gz</a></td> <td>ARM64 Linux</td> <td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-aarch64-unknown-linux-gnu.tar.gz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-i686-unknown-linux-gnu.tar.gz">ruff-i686-unknown-linux-gnu.tar.gz</a></td> <td>x86 Linux</td> <td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-i686-unknown-linux-gnu.tar.gz.sha256">checksum</a></td> </tr> </tbody> </table> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md">ruff's changelog</a>.</em></p> <blockquote> <h2>0.15.20</h2> <p>Released on 2026-06-25.</p> <h3>Preview features</h3> <ul> <li>Allow human-readable names in rule selectors (<a href="https://redirect.github.com/astral-sh/ruff/pull/25887">#25887</a>)</li> <li>Emit a warning instead of an error for unknown rule selectors (<a href="https://redirect.github.com/astral-sh/ruff/pull/26113">#26113</a>)</li> <li>Match <code>noqa</code> shebang handling in <code>ruff:ignore</code> comments (<a href="https://redirect.github.com/astral-sh/ruff/pull/26286">#26286</a>)</li> <li>[<code>ruff</code>] Remove <code>pytest-fixture-autouse</code> (<code>RUF076</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/26240">#26240</a>, <a href="https://redirect.github.com/astral-sh/ruff/pull/26371">#26371</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Add versioning sections to custom crate READMEs (<a href="https://redirect.github.com/astral-sh/ruff/pull/26317">#26317</a>)</li> <li>Update <code>ruff_python_parser</code> README for crates.io (<a href="https://redirect.github.com/astral-sh/ruff/pull/26315">#26315</a>)</li> <li>[<code>perflint</code>] Clarify that <code>PERF402</code> applies to any iterable (<a href="https://redirect.github.com/astral-sh/ruff/pull/26242">#26242</a>)</li> </ul> <h3>Contributors</h3> <ul> <li><a href="https://github.com/dhruvmanila"><code>@dhruvmanila</code></a></li> <li><a href="https://github.com/MichaReiser"><code>@MichaReiser</code></a></li> <li><a href="https://github.com/ntBre"><code>@ntBre</code></a></li> <li><a href="https://github.com/trilamsr"><code>@trilamsr</code></a></li> </ul> <h2>0.15.19</h2> <p>Released on 2026-06-23.</p> <h3>Preview features</h3> <ul> <li>Support human-readable names when hovering suppression comments and in code actions (<a href="https://redirect.github.com/astral-sh/ruff/pull/26114">#26114</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>Fall back to default settings when editor-only settings are invalid (<a href="https://redirect.github.com/astral-sh/ruff/pull/26244">#26244</a>)</li> <li>Fix panic when inserting text at a notebook cell boundary (<a href="https://redirect.github.com/astral-sh/ruff/pull/26111">#26111</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>pylint</code>] Update fix suggestions for <code>__floor__</code>, <code>__trunc__</code>, <code>__length_hint__</code>, and <code>__matmul__</code> variants (<code>PLC2801</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/26239">#26239</a>)</li> </ul> <h3>Performance</h3> <ul> <li>Avoid allocating when parsing single string literals (<a href="https://redirect.github.com/astral-sh/ruff/pull/26200">#26200</a>)</li> <li>Avoid reallocating singleton call arguments (<a href="https://redirect.github.com/astral-sh/ruff/pull/26223">#26223</a>)</li> <li>Lazily create source files for lint diagnostics (<a href="https://redirect.github.com/astral-sh/ruff/pull/26226">#26226</a>)</li> <li>Optimize formatter text width and indentation (<a href="https://redirect.github.com/astral-sh/ruff/pull/26236">#26236</a>)</li> <li>Reserve capacity for builtin bindings (<a href="https://redirect.github.com/astral-sh/ruff/pull/26229">#26229</a>)</li> <li>Skip repeated-key checks for singleton dictionaries (<a href="https://redirect.github.com/astral-sh/ruff/pull/26228">#26228</a>)</li> <li>Use ArrayVec for qualified name segments (<a href="https://redirect.github.com/astral-sh/ruff/pull/26224">#26224</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/astral-sh/ruff/commit/f82a36b6baf8c0547a17bbde6c0d927ccd45d938"><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="https://github.com/astral-sh/ruff/commit/af329438b55d5aa8ca28725f17abbae63b5c815d"><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="https://github.com/astral-sh/ruff/commit/485ebab5de692aad34720898cd80245b6092ba86"><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="https://github.com/astral-sh/ruff/commit/ef81835ce3da615346584dc446de0fe26bfc154b"><code>ef81835</code></a> [ty] Implement rust-analyzer's "Click for full compiler diagnostic" feature (...</li> <li><a href="https://github.com/astral-sh/ruff/commit/572b31e2377a701a7365f069f6ef87002962cb2b"><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="https://github.com/astral-sh/ruff/commit/f703f219d7fddd1a4abba9fa81e34773c185a4b9"><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="https://github.com/astral-sh/ruff/commit/0d726b28ee35413926145ffef4ac1143cae9ea1e"><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="https://github.com/astral-sh/ruff/commit/dbe6e9848c3f78fdaf543cfc000939ebc73b5f00"><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="https://github.com/astral-sh/ruff/commit/e700ea357a2196d76b58eb89b2031ddb5ca896e0"><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="https://github.com/astral-sh/ruff/commit/6a0d2ec93959d966430b8c39d4de5c3e8a88e911"><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.12...0.15.20">compare view</a></li> </ul> </details> <br /> Updates `ty` from 0.0.43 to 0.0.55 <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.55</h2> <h2>Release Notes</h2> <p>Released on 2026-06-26.</p> <h3>LSP server</h3> <ul> <li>Render full diagnostics in color (<a href="https://redirect.github.com/astral-sh/ruff/pull/26384">#26384</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Document colored diagnostic output (<a href="https://redirect.github.com/astral-sh/ty/pull/3858">#3858</a>)</li> </ul> <h3>Performance</h3> <ul> <li>Improve vendored filesystem concurrency (<a href="https://redirect.github.com/astral-sh/ruff/pull/26408">#26408</a>)</li> <li>Optimize enum comparisons in equality evaluation (<a href="https://redirect.github.com/astral-sh/ruff/pull/26340">#26340</a>)</li> <li>Remove redundant semantic index shrinks (<a href="https://redirect.github.com/astral-sh/ruff/pull/26392">#26392</a>)</li> <li>Use never-change durability for one-shot checks (<a href="https://redirect.github.com/astral-sh/ruff/pull/26359">#26359</a>)</li> </ul> <h3>Core type checking</h3> <ul> <li>Correct enum alias detection and scalar constructors (<a href="https://redirect.github.com/astral-sh/ruff/pull/26345">#26345</a>)</li> <li>Fix structural pattern binding inference (<a href="https://redirect.github.com/astral-sh/ruff/pull/26411">#26411</a>)</li> <li>Improve variable-length tuple slicing (<a href="https://redirect.github.com/astral-sh/ruff/pull/26151">#26151</a>)</li> <li>Infer class and mapping pattern bindings (<a href="https://redirect.github.com/astral-sh/ruff/pull/25941">#25941</a>)</li> <li>Infer empty collection constructors from later uses (<a href="https://redirect.github.com/astral-sh/ruff/pull/26389">#26389</a>)</li> <li>Skip shadowed submodule bindings during import analysis (<a href="https://redirect.github.com/astral-sh/ruff/pull/26385">#26385</a>)</li> <li>Sync vendored typeshed stubs (<a href="https://redirect.github.com/astral-sh/ruff/pull/26406">#26406</a>). <a href="https://github.com/python/typeshed/compare/8e6a886ca5b14742924be721d345a619762d6e93...3c6221722aac5bd9dbfc5fbf7b4f0bf64b2c5724">Typeshed diff</a></li> <li>Track literal iterable emptiness for reachability (<a href="https://redirect.github.com/astral-sh/ruff/pull/25222">#25222</a>)</li> <li>Validate positional class patterns against <code>__match_args__</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/26195">#26195</a>)</li> </ul> <h3>Contributors</h3> <ul> <li><a href="https://github.com/charliermarsh"><code>@charliermarsh</code></a></li> <li><a href="https://github.com/carljm"><code>@carljm</code></a></li> <li><a href="https://github.com/AlexWaygood"><code>@AlexWaygood</code></a></li> <li><a href="https://github.com/MichaReiser"><code>@MichaReiser</code></a></li> <li><a href="https://github.com/mtshiba"><code>@mtshiba</code></a></li> <li><a href="https://github.com/felixscherz"><code>@felixscherz</code></a></li> </ul> <h2>Install ty 0.0.55</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.55/ty-installer.sh | sh </code></pre> <h3>Install prebuilt binaries via powershell script</h3> <!-- 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.55</h2> <p>Released on 2026-06-26.</p> <h3>LSP server</h3> <ul> <li>Render full diagnostics in color (<a href="https://redirect.github.com/astral-sh/ruff/pull/26384">#26384</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Document colored diagnostic output (<a href="https://redirect.github.com/astral-sh/ty/pull/3858">#3858</a>)</li> </ul> <h3>Performance</h3> <ul> <li>Improve vendored filesystem concurrency (<a href="https://redirect.github.com/astral-sh/ruff/pull/26408">#26408</a>)</li> <li>Optimize enum comparisons in equality evaluation (<a href="https://redirect.github.com/astral-sh/ruff/pull/26340">#26340</a>)</li> <li>Remove redundant semantic index shrinks (<a href="https://redirect.github.com/astral-sh/ruff/pull/26392">#26392</a>)</li> <li>Use never-change durability for one-shot checks (<a href="https://redirect.github.com/astral-sh/ruff/pull/26359">#26359</a>)</li> </ul> <h3>Core type checking</h3> <ul> <li>Correct enum alias detection and scalar constructors (<a href="https://redirect.github.com/astral-sh/ruff/pull/26345">#26345</a>)</li> <li>Fix structural pattern binding inference (<a href="https://redirect.github.com/astral-sh/ruff/pull/26411">#26411</a>)</li> <li>Improve variable-length tuple slicing (<a href="https://redirect.github.com/astral-sh/ruff/pull/26151">#26151</a>)</li> <li>Infer class and mapping pattern bindings (<a href="https://redirect.github.com/astral-sh/ruff/pull/25941">#25941</a>)</li> <li>Infer empty collection constructors from later uses (<a href="https://redirect.github.com/astral-sh/ruff/pull/26389">#26389</a>)</li> <li>Skip shadowed submodule bindings during import analysis (<a href="https://redirect.github.com/astral-sh/ruff/pull/26385">#26385</a>)</li> <li>Sync vendored typeshed stubs (<a href="https://redirect.github.com/astral-sh/ruff/pull/26406">#26406</a>). <a href="https://github.com/python/typeshed/compare/8e6a886ca5b14742924be721d345a619762d6e93...3c6221722aac5bd9dbfc5fbf7b4f0bf64b2c5724">Typeshed diff</a></li> <li>Track literal iterable emptiness for reachability (<a href="https://redirect.github.com/astral-sh/ruff/pull/25222">#25222</a>)</li> <li>Validate positional class patterns against <code>__match_args__</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/26195">#26195</a>)</li> </ul> <h3>Contributors</h3> <ul> <li><a href="https://github.com/charliermarsh"><code>@charliermarsh</code></a></li> <li><a href="https://github.com/carljm"><code>@carljm</code></a></li> <li><a href="https://github.com/AlexWaygood"><code>@AlexWaygood</code></a></li> <li><a href="https://github.com/MichaReiser"><code>@MichaReiser</code></a></li> <li><a href="https://github.com/mtshiba"><code>@mtshiba</code></a></li> <li><a href="https://github.com/felixscherz"><code>@felixscherz</code></a></li> </ul> <h2>0.0.54</h2> <p>Released on 2026-06-25.</p> <h3>Bug fixes</h3> <ul> <li>Avoid duplicate configuration error output (<a href="https://redirect.github.com/astral-sh/ruff/pull/26375">#26375</a>)</li> <li>Avoid stack overflows in reachability analysis (<a href="https://redirect.github.com/astral-sh/ruff/pull/26272">#26272</a>)</li> <li>Fix divergent recursive tuple cycle handling in ty (<a href="https://redirect.github.com/astral-sh/ruff/pull/26316">#26316</a>)</li> <li>Fix panic from relation queries during cycle recovery (<a href="https://redirect.github.com/astral-sh/ruff/pull/26335">#26335</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/42869400da56f4ee7ce752141f81b50bb318e4e2"><code>4286940</code></a> Bump version to 0.0.55 (<a href="https://redirect.github.com/astral-sh/ty/issues/3866">#3866</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/5374b30ff462ef6e59d23dc9ba515007b02464a8"><code>5374b30</code></a> Update benchmarks for ty 0.0.54 (<a href="https://redirect.github.com/astral-sh/ty/issues/3865">#3865</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/3ed874d053ff9529c9fd0205a6d3bbe6a7407535"><code>3ed874d</code></a> Document colored diagnostic output (<a href="https://redirect.github.com/astral-sh/ty/issues/3858">#3858</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/bf8a7dd584f53d67d873c750afc1494331f93502"><code>bf8a7dd</code></a> Bump version to 0.0.54</li> <li><a href="https://github.com/astral-sh/ty/commit/78e094dfaf6245514f124b043b18c9a20edd8f08"><code>78e094d</code></a> Document the <code>fullDiagnosticOutput</code> extension to the Language Server Protocol...</li> <li><a href="https://github.com/astral-sh/ty/commit/7bda89e5069d747bd7f54513dcd0263157a8f694"><code>7bda89e</code></a> Document ty's <code>@Todo</code> type in the typing FAQ (<a href="https://redirect.github.com/astral-sh/ty/issues/3847">#3847</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/66a94cde4970b405a770e4c6ef4ac2a9bb6bf733"><code>66a94cd</code></a> Update maturin to v1.14.0 (<a href="https://redirect.github.com/astral-sh/ty/issues/3840">#3840</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/dc2b39d1e29e55a4a6d83486fffa936ba5121a72"><code>dc2b39d</code></a> Update prek dependencies (<a href="https://redirect.github.com/astral-sh/ty/issues/3839">#3839</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/23f26f98a22d3a0df412846506f3af6e76cf48e4"><code>23f26f9</code></a> Bump version to 0.0.53 (<a href="https://redirect.github.com/astral-sh/ty/issues/3841">#3841</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/13f91b093e004c76aa548a221c7b577dfbdd7ea6"><code>13f91b0</code></a> Bump version to 0.0.52 (<a href="https://redirect.github.com/astral-sh/ty/issues/3828">#3828</a>)</li> <li>Additional commits viewable in <a href="https://github.com/astral-sh/ty/compare/0.0.43...0.0.55">compare view</a></li> </ul> </details> <br /> 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 `xxhash` from 3.6.0 to 3.8.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ifduyue/python-xxhash/releases">xxhash's releases</a>.</em></p> <blockquote> <h2>v3.8.0</h2> <ul> <li>Speed up module-level one-shot <code>digest()</code>, <code>intdigest()</code>, and <code>hexdigest()</code> functions by switching them to <code>METH_FASTCALL</code>.</li> <li>Keep one-shot argument handling consistent with hash constructors, including positional and keyword <code>input</code>/<code>seed</code> arguments, duplicate argument errors, and oversized seed wrapping.</li> <li>Fix error handling in the <code>xxh3_128</code> integer digest path so allocation failures are reported cleanly.</li> <li>Fix Python 3.8 builds by adding a <code>PyModule_AddType</code> compatibility fallback with correct reference counting.</li> <li>Correct type stubs for <code>xxh64_digest()</code>, <code>xxh64_hexdigest()</code>, and <code>xxh64_intdigest()</code>, they were incorrectly aliased to xxh3_64 functions.</li> </ul> <hr /> <p>Full list of changes: <a href="https://github.com/ifduyue/python-xxhash/compare/v3.7.1...v3.8.0">https://github.com/ifduyue/python-xxhash/compare/v3.7.1...v3.8.0</a></p> <h2>v3.7.1</h2> <ul> <li>Fix memory leak in copy() and new() when memory allocation fails (rare edge case)</li> <li>Fix seed/reset state initialization in xxh32 and xxh64 (unlikely to affect normal usage)</li> <li>Replace Py_BuildValue with PyLong_FromUnsignedLong/LongLong for performance</li> <li>Update README examples to use bytes literals</li> <li>Add CodSpeed performance benchmarks and CI workflow</li> <li>Build aarch64/armv7l on native Arm runners; test against Python 3.15.0-beta.2</li> </ul> <hr /> <p>Full list of changes: <a href="https://github.com/ifduyue/python-xxhash/compare/v3.7.0...v3.7.1">https://github.com/ifduyue/python-xxhash/compare/v3.7.0...v3.7.1</a></p> <h2>v3.7.0</h2> <ul> <li>Drop support for Python 3.7</li> <li>Build armv7l manylinux/musllinux wheels</li> <li>Build riscv64 manylinux/musllinux wheels</li> <li>Build android and ios wheels</li> </ul> <hr /> <p>Full list of changes: <a href="https://github.com/ifduyue/python-xxhash/compare/v3.6.0...v3.7.0">https://github.com/ifduyue/python-xxhash/compare/v3.6.0...v3.7.0</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/ifduyue/python-xxhash/blob/v3.8.0/CHANGELOG.rst">xxhash's changelog</a>.</em></p> <blockquote> <p>v3.8.0 2026-06-27</p> <pre><code> - Speed up module-level one-shot ``digest()``, ``intdigest()``, and ``hexdigest()`` functions by switching them to ``METH_FASTCALL``. - Keep one-shot argument handling consistent with hash constructors, including positional and keyword ``input``/``seed`` arguments, duplicate argument errors, and oversized seed wrapping. - Fix error handling in the ``xxh3_128`` integer digest path so allocation failures are reported cleanly. - Fix Python 3.8 builds by adding a ``PyModule_AddType`` compatibility fallback with correct reference counting. - Correct type stubs for ``xxh64_digest()``, ``xxh64_hexdigest()``, and ``xxh64_intdigest()``, they were incorrectly aliased to xxh3_64 functions. <p>v3.7.1 2026-06-24<br /> </code></pre></p> <ul> <li>Fix memory leak in copy() and new() when memory allocation fails (rare edge case)</li> <li>Fix seed/reset state initialization in xxh32 and xxh64 (unlikely to affect normal usage)</li> <li>Replace Py_BuildValue with PyLong_FromUnsignedLong/LongLong for performance</li> <li>Update README examples to use bytes literals</li> <li>Add CodSpeed performance benchmarks and CI workflow</li> <li>Build aarch64/armv7l on native Arm runners; test against Python 3.15.0-beta.2</li> </ul> <p>v3.7.0 2025-04-25</p> <pre><code> - Drop support for Python 3.7 - Build armv7l manylinux/musllinux wheels - Build riscv64 manylinux/musllinux wheels - Build android and ios wheels </code></pre> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ifduyue/python-xxhash/commit/48c60f24fd50d7c2765fc3df099aa9006e763b9e"><code>48c60f2</code></a> chore: release v3.8.0</li> <li><a href="https://github.com/ifduyue/python-xxhash/commit/c7f239734a6683279bc8467024799fd35e007a61"><code>c7f2397</code></a> fix: restore PyLong_FromUnsignedLong/LongLong over Py_BuildValue</li> <li><a href="https://github.com/ifduyue/python-xxhash/commit/aea7a72706d1ed56a1386e71a2f62be9d7f65824"><code>aea7a72</code></a> test: fix positional seed tests in test_fastcall.py</li> <li><a href="https://github.com/ifduyue/python-xxhash/commit/e084433ec40f4347b7ade06a7cdb095512d8bfde"><code>e084433</code></a> fix: correct docstring typos in xxh3_64 copy() documentation</li> <li><a href="https://github.com/ifduyue/python-xxhash/commit/414b254e78e97b0d2000251451bd19b50d7e1462"><code>414b254</code></a> fix(pyi): xxh64_digest/hexdigest/intdigest are functions</li> <li><a href="https://github.com/ifduyue/python-xxhash/commit/9af991361c8ee702286ec6c9f64967e28b2184a2"><code>9af9913</code></a> fix: add PyModule_AddType fallback for Python 3.8 compatibility</li> <li><a href="https://github.com/ifduyue/python-xxhash/commit/1ecd5b4791b3871019423c8a11d023c0059f0864"><code>1ecd5b4</code></a> perf: mark _get_buffer_or_str and _parse_fastcall_args as inline</li> <li><a href="https://github.com/ifduyue/python-xxhash/commit/2b6f712b4bbab8ebdcd2f16435eae16dcd83adee"><code>2b6f712</code></a> fix: detect duplicate seed, expand fastcall tests</li> <li><a href="https://github.com/ifduyue/python-xxhash/commit/5d59623916536c0f67ba6fd2f818b899ab6a3dba"><code>5d59623</code></a> fix: add NULL checks in xxh3_128_intdigest 128-bit math</li> <li><a href="https://github.com/ifduyue/python-xxhash/commit/8fe3bf48b7767292d502362f57dc8e29d13d1786"><code>8fe3bf4</code></a> refactor: consolidate fastcall arg parsing into _parse_fastcall_args</li> <li>Additional commits viewable in <a href="https://github.com/ifduyue/python-xxhash/compare/v3.6.0...v3.8.0">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: John Kennedy <65985482+jkennedyvz@users.noreply.github.com> Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com> |
||
|
|
5931a5f0b3 |
release(langgraph): 1.2.7 (#8223)
## Summary Releases `langgraph` 1.2.7. Bumps the package version `1.2.6` -> `1.2.7` and propagates it into the `langgraph`, `prebuilt`, and `sdk-py` lockfiles. No dependency floor or source changes. ## Changes - Update `libs/langgraph/pyproject.toml` to version `1.2.7`. - Update the editable `langgraph` package entries in `libs/langgraph/uv.lock`, `libs/prebuilt/uv.lock`, and `libs/sdk-py/uv.lock`. |
||
|
|
c1aad8b460 |
chore(deps-dev): bump starlette from 1.0.1 to 1.3.1 in /libs/sdk-py (#8104)
Bumps [starlette](https://github.com/Kludex/starlette) from 1.0.1 to 1.3.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/Kludex/starlette/releases">starlette's releases</a>.</em></p> <blockquote> <h2>Version 1.3.1</h2> <h2>What's Changed</h2> <ul> <li>Use <code>StarletteDeprecationWarning</code> instead of <code>DeprecationWarning</code> by <a href="https://github.com/Kludex"><code>@Kludex</code></a> in <a href="https://redirect.github.com/Kludex/starlette/pull/3119">Kludex/starlette#3119</a></li> <li>Enforce <code>max_fields</code> and <code>max_part_size</code> in <code>FormParser</code> by <a href="https://github.com/Kludex"><code>@Kludex</code></a> in <a href="https://redirect.github.com/Kludex/starlette/pull/3329">Kludex/starlette#3329</a></li> <li>Enforce <code>FormParser</code> limits in parser callbacks by <a href="https://github.com/Kludex"><code>@Kludex</code></a> in <a href="https://redirect.github.com/Kludex/starlette/pull/3331">Kludex/starlette#3331</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/Kludex/starlette/compare/1.3.0...1.3.1">https://github.com/Kludex/starlette/compare/1.3.0...1.3.1</a></p> <h2>Version 1.3.0</h2> <h2>What's Changed</h2> <ul> <li>Clamp oversized suffix ranges in <code>FileResponse</code> by <a href="https://github.com/jiyujie2006"><code>@jiyujie2006</code></a> in <a href="https://redirect.github.com/Kludex/starlette/pull/3307">Kludex/starlette#3307</a></li> <li>Catch <code>OSError</code> alongside <code>MultiPartException</code> when closing temp files by <a href="https://github.com/N3XT3R1337"><code>@N3XT3R1337</code></a> in <a href="https://redirect.github.com/Kludex/starlette/pull/3191">Kludex/starlette#3191</a></li> <li>Add <code>httpx2</code> to the <code>full</code> extra by <a href="https://github.com/Kludex"><code>@Kludex</code></a> in <a href="https://redirect.github.com/Kludex/starlette/pull/3323">Kludex/starlette#3323</a></li> <li>Adjust testclient typing and warnings by <a href="https://github.com/waketzheng"><code>@waketzheng</code></a> in <a href="https://redirect.github.com/Kludex/starlette/pull/3322">Kludex/starlette#3322</a></li> <li>Fix IndexError in URL.replace() on a URL with no authority by <a href="https://github.com/LeSingh1"><code>@LeSingh1</code></a> in <a href="https://redirect.github.com/Kludex/starlette/pull/3317">Kludex/starlette#3317</a></li> <li>Annotate URLPath protocol parameter with Literal by <a href="https://github.com/Chang-LeHung"><code>@Chang-LeHung</code></a> in <a href="https://redirect.github.com/Kludex/starlette/pull/3285">Kludex/starlette#3285</a></li> <li>avoid collapsing exception groups from user code by <a href="https://github.com/graingert"><code>@graingert</code></a> in <a href="https://redirect.github.com/Kludex/starlette/pull/2830">Kludex/starlette#2830</a></li> <li>Use <code>removeprefix</code> to strip weak ETag indicator in <code>is_not_modified</code> by <a href="https://github.com/gnosyslambda"><code>@gnosyslambda</code></a> in <a href="https://redirect.github.com/Kludex/starlette/pull/3193">Kludex/starlette#3193</a></li> <li>Build <code>request.url</code> from structured components by <a href="https://github.com/Kludex"><code>@Kludex</code></a> in <a href="https://redirect.github.com/Kludex/starlette/pull/3326">Kludex/starlette#3326</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/jiyujie2006"><code>@jiyujie2006</code></a> made their first contribution in <a href="https://redirect.github.com/Kludex/starlette/pull/3307">Kludex/starlette#3307</a></li> <li><a href="https://github.com/N3XT3R1337"><code>@N3XT3R1337</code></a> made their first contribution in <a href="https://redirect.github.com/Kludex/starlette/pull/3191">Kludex/starlette#3191</a></li> <li><a href="https://github.com/leestana01"><code>@leestana01</code></a> made their first contribution in <a href="https://redirect.github.com/Kludex/starlette/pull/3319">Kludex/starlette#3319</a></li> <li><a href="https://github.com/LeSingh1"><code>@LeSingh1</code></a> made their first contribution in <a href="https://redirect.github.com/Kludex/starlette/pull/3317">Kludex/starlette#3317</a></li> <li><a href="https://github.com/EmmanuelNiyonshuti"><code>@EmmanuelNiyonshuti</code></a> made their first contribution in <a href="https://redirect.github.com/Kludex/starlette/pull/3204">Kludex/starlette#3204</a></li> <li><a href="https://github.com/Chang-LeHung"><code>@Chang-LeHung</code></a> made their first contribution in <a href="https://redirect.github.com/Kludex/starlette/pull/3285">Kludex/starlette#3285</a></li> <li><a href="https://github.com/gnosyslambda"><code>@gnosyslambda</code></a> made their first contribution in <a href="https://redirect.github.com/Kludex/starlette/pull/3193">Kludex/starlette#3193</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/Kludex/starlette/compare/1.2.1...1.3.0">https://github.com/Kludex/starlette/compare/1.2.1...1.3.0</a></p> <h2>Version 1.2.1</h2> <h2>What's Changed</h2> <ul> <li>Use <code>httpx2</code> for type checking in the <code>testclient</code> module by <a href="https://github.com/leifwar"><code>@leifwar</code></a> in <a href="https://redirect.github.com/Kludex/starlette/pull/3304">Kludex/starlette#3304</a></li> <li>Add assert error for requires() when request param is not Request type by <a href="https://github.com/KeeganOP"><code>@KeeganOP</code></a> in <a href="https://redirect.github.com/Kludex/starlette/pull/3298">Kludex/starlette#3298</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/leifwar"><code>@leifwar</code></a> made their first contribution in <a href="https://redirect.github.com/Kludex/starlette/pull/3304">Kludex/starlette#3304</a></li> <li><a href="https://github.com/diskeu"><code>@diskeu</code></a> made their first contribution in <a href="https://redirect.github.com/Kludex/starlette/pull/3243">Kludex/starlette#3243</a></li> <li><a href="https://github.com/KeeganOP"><code>@KeeganOP</code></a> made their first contribution in <a href="https://redirect.github.com/Kludex/starlette/pull/3298">Kludex/starlette#3298</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/Kludex/starlette/compare/1.2.0...1.2.1">https://github.com/Kludex/starlette/compare/1.2.0...1.2.1</a></p> <h2>Version 1.2.0</h2> <h2>What's Changed</h2> <ul> <li>Support httpx2 in the test client by <a href="https://github.com/Kludex"><code>@Kludex</code></a> in <a href="https://redirect.github.com/Kludex/starlette/pull/3291">Kludex/starlette#3291</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/Kludex/starlette/compare/1.1.0...1.2.0">https://github.com/Kludex/starlette/compare/1.1.0...1.2.0</a></p> <h2>Version 1.1.0</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/Kludex/starlette/blob/main/docs/release-notes.md">starlette's changelog</a>.</em></p> <blockquote> <h2>1.3.1 (June 12, 2026)</h2> <h4>Fixed</h4> <ul> <li>Enforce <code>max_fields</code> and <code>max_part_size</code> in <code>FormParser</code> <a href="https://redirect.github.com/encode/starlette/pull/3329">#3329</a>.</li> <li>Enforce <code>FormParser</code> limits in parser callbacks <a href="https://redirect.github.com/encode/starlette/pull/3331">#3331</a>.</li> </ul> <h2>1.3.0 (June 11, 2026)</h2> <h4>Added</h4> <ul> <li>Add <code>httpx2</code> to the <code>full</code> extra <a href="https://redirect.github.com/encode/starlette/pull/3323">#3323</a>.</li> <li>Annotate the <code>URLPath</code> <code>protocol</code> parameter with <code>Literal</code> <a href="https://redirect.github.com/encode/starlette/pull/3285">#3285</a>.</li> </ul> <h4>Fixed</h4> <ul> <li>Build <code>request.url</code> from structured components <a href="https://redirect.github.com/encode/starlette/pull/3326">#3326</a>.</li> <li>Clamp oversized suffix ranges in <code>FileResponse</code> <a href="https://redirect.github.com/encode/starlette/pull/3307">#3307</a>.</li> <li>Catch <code>OSError</code> alongside <code>MultiPartException</code> when closing temp files <a href="https://redirect.github.com/encode/starlette/pull/3191">#3191</a>.</li> <li>Avoid collapsing exception groups raised from user code <a href="https://redirect.github.com/encode/starlette/pull/2830">#2830</a>.</li> <li>Use <code>removeprefix</code> to strip the weak <code>ETag</code> indicator in <code>is_not_modified</code> <a href="https://redirect.github.com/encode/starlette/pull/3193">#3193</a>.</li> <li>Fix <code>IndexError</code> in <code>URL.replace()</code> on a URL with no authority <a href="https://redirect.github.com/encode/starlette/pull/3317">#3317</a>.</li> <li>Adjust <code>testclient</code> typing and warnings <a href="https://redirect.github.com/encode/starlette/pull/3322">#3322</a>.</li> </ul> <h2>1.2.1 (May 31, 2026)</h2> <h4>Fixed</h4> <ul> <li>Use <code>httpx2</code> for type checking in the <code>testclient</code> module <a href="https://redirect.github.com/encode/starlette/pull/3304">#3304</a>.</li> <li>Add assert error for <code>requires()</code> when the request parameter is not a <code>Request</code> type <a href="https://redirect.github.com/encode/starlette/pull/3298">#3298</a>.</li> </ul> <h2>1.2.0 (May 28, 2026)</h2> <h4>Added</h4> <ul> <li>Support httpx2 in the test client <a href="https://redirect.github.com/encode/starlette/pull/3291">#3291</a>.</li> </ul> <h2>1.1.0 (May 23, 2026)</h2> <h4>Added</h4> <ul> <li>Use <code>"application/octet-stream"</code> as the <code>FileResponse</code> media type fallback <a href="https://redirect.github.com/encode/starlette/pull/3283">#3283</a>.</li> </ul> <h4>Fixed</h4> <ul> <li>Only dispatch standard HTTP verbs in <code>HTTPEndpoint</code> <a href="https://redirect.github.com/encode/starlette/pull/3286">#3286</a>.</li> <li>Reject absolute paths in <code>StaticFiles.lookup_path</code> <a href="https://redirect.github.com/encode/starlette/pull/3287">#3287</a>.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/Kludex/starlette/commit/8ebffd0678570ddd5d5bb11c6f3c3c7fd4682ab9"><code>8ebffd0</code></a> Version 1.3.1 (<a href="https://redirect.github.com/Kludex/starlette/issues/3330">#3330</a>)</li> <li><a href="https://github.com/Kludex/starlette/commit/25b8e179d8d7ed86769c02f648772dd5fb43dc3c"><code>25b8e17</code></a> Enforce <code>FormParser</code> limits in parser callbacks (<a href="https://redirect.github.com/Kludex/starlette/issues/3331">#3331</a>)</li> <li><a href="https://github.com/Kludex/starlette/commit/dba1c4babc4f99ad2622bb913d87045775dda735"><code>dba1c4b</code></a> Enforce <code>max_fields</code> and <code>max_part_size</code> in <code>FormParser</code> (<a href="https://redirect.github.com/Kludex/starlette/issues/3329">#3329</a>)</li> <li><a href="https://github.com/Kludex/starlette/commit/45e51dcf99f3a270b0bcec1aec5410b4345863a9"><code>45e51dc</code></a> Use <code>StarletteDeprecationWarning</code> instead of <code>DeprecationWarning</code> (<a href="https://redirect.github.com/Kludex/starlette/issues/3119">#3119</a>)</li> <li><a href="https://github.com/Kludex/starlette/commit/5f8610c386e13de1d80d36efa961e1486a1d2d01"><code>5f8610c</code></a> Version 1.3.0 (<a href="https://redirect.github.com/Kludex/starlette/issues/3327">#3327</a>)</li> <li><a href="https://github.com/Kludex/starlette/commit/167b5850e809f38b27fbfed62d58bf6442855975"><code>167b585</code></a> Build <code>request.url</code> from structured components (<a href="https://redirect.github.com/Kludex/starlette/issues/3326">#3326</a>)</li> <li><a href="https://github.com/Kludex/starlette/commit/37309255b4c1b9c381a2d24a1eaf83100984a16a"><code>3730925</code></a> Use <code>removeprefix</code> to strip weak ETag indicator in <code>is_not_modified</code> (<a href="https://redirect.github.com/Kludex/starlette/issues/3193">#3193</a>)</li> <li><a href="https://github.com/Kludex/starlette/commit/e6f7ad1ab85efb27ab7910d8007b3f4531f7b083"><code>e6f7ad1</code></a> avoid collapsing exception groups from user code (<a href="https://redirect.github.com/Kludex/starlette/issues/2830">#2830</a>)</li> <li><a href="https://github.com/Kludex/starlette/commit/115228fcdca0e0ef5bf4a95a40ddce5a9fced428"><code>115228f</code></a> Annotate URLPath protocol parameter with Literal (<a href="https://redirect.github.com/Kludex/starlette/issues/3285">#3285</a>)</li> <li><a href="https://github.com/Kludex/starlette/commit/113f193a34353c9153857028c1074351d22fad07"><code>113f193</code></a> docs: replace inline ASGI server list with link to canonical implemen… (<a href="https://redirect.github.com/Kludex/starlette/issues/3204">#3204</a>)</li> <li>Additional commits viewable in <a href="https://github.com/Kludex/starlette/compare/1.0.1...1.3.1">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/langchain-ai/langgraph/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
49110176c4 |
chore(deps): bump langsmith from 0.8.0 to 0.8.18 in /libs/sdk-py (#8174)
Bumps [langsmith](https://github.com/langchain-ai/langsmith-sdk) from 0.8.0 to 0.8.18. <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.8.18</h2> <h2>What's Changed</h2> <ul> <li>chore(deps-dev): bump vitest from 3.2.4 to 3.2.6 in /js by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3002">langchain-ai/langsmith-sdk#3002</a></li> <li>chore(deps): bump pyjwt from 2.12.1 to 2.13.0 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/3030">langchain-ai/langsmith-sdk#3030</a></li> <li>chore(deps): bump python-multipart from 0.0.27 to 0.0.31 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/3036">langchain-ai/langsmith-sdk#3036</a></li> <li>chore(deps): bump aiohttp from 3.14.0 to 3.14.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/3037">langchain-ai/langsmith-sdk#3037</a></li> <li>chore(deps): bump cryptography from 46.0.7 to 48.0.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/3038">langchain-ai/langsmith-sdk#3038</a></li> <li>chore(deps): bump starlette from 1.0.1 to 1.3.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/3039">langchain-ai/langsmith-sdk#3039</a></li> <li>chore(deps-dev): bump langchain-anthropic from 1.4.4 to 1.4.6 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/3044">langchain-ai/langsmith-sdk#3044</a></li> <li>chore(deps): bump the npm_and_yarn group across 4 directories with 4 updates by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3046">langchain-ai/langsmith-sdk#3046</a></li> <li>chore(deps): bump the npm_and_yarn group across 2 directories with 2 updates by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3060">langchain-ai/langsmith-sdk#3060</a></li> <li>test(python): fix integration assertions for updated attachment error message by <a href="https://github.com/QuentinBrosse"><code>@QuentinBrosse</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3061">langchain-ai/langsmith-sdk#3061</a></li> <li>chore: reconcile bumpversion config and mandate release process for agents by <a href="https://github.com/QuentinBrosse"><code>@QuentinBrosse</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3062">langchain-ai/langsmith-sdk#3062</a></li> <li>release(py): 0.8.18 by <a href="https://github.com/QuentinBrosse"><code>@QuentinBrosse</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3063">langchain-ai/langsmith-sdk#3063</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.17...v0.8.18">https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.17...v0.8.18</a></p> <h2>v0.8.17</h2> <h2>What's Changed</h2> <ul> <li>feat: expose the resources from the generated openapi client in the langsmith client 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/3018">langchain-ai/langsmith-sdk#3018</a></li> <li>feat(js): port <code>isTracingEnabled</code> utility from Python by <a href="https://github.com/dqbd"><code>@dqbd</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3032">langchain-ai/langsmith-sdk#3032</a></li> <li>Add sandbox mount support to JS SDK by <a href="https://github.com/DanielKneipp"><code>@DanielKneipp</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3010">langchain-ai/langsmith-sdk#3010</a></li> <li>release(js): bump to 0.7.9 by <a href="https://github.com/dqbd"><code>@dqbd</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3035">langchain-ai/langsmith-sdk#3035</a></li> <li>Add sandbox mount support to Python SDK by <a href="https://github.com/DanielKneipp"><code>@DanielKneipp</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3009">langchain-ai/langsmith-sdk#3009</a></li> <li>docs: note that _openapi_client directories are auto-generated by <a href="https://github.com/KiewanVillatel"><code>@KiewanVillatel</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3034">langchain-ai/langsmith-sdk#3034</a></li> <li>fix: update JS SDK type declarations with skipLibCheck disabled 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/3043">langchain-ai/langsmith-sdk#3043</a></li> <li>release(js): 0.7.10 by <a href="https://github.com/dqbd"><code>@dqbd</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3045">langchain-ai/langsmith-sdk#3045</a></li> <li>feat: adding python async for online evals 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/3048">langchain-ai/langsmith-sdk#3048</a></li> <li>Add sandbox Git mount SDK helpers by <a href="https://github.com/DanielKneipp"><code>@DanielKneipp</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3040">langchain-ai/langsmith-sdk#3040</a></li> <li>fix: use insights tab in sdk report links [closes LSO-2936] by <a href="https://github.com/eric-langchain"><code>@eric-langchain</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3050">langchain-ai/langsmith-sdk#3050</a></li> <li>feat(client): warn when backend version is below minimum required by <a href="https://github.com/KiewanVillatel"><code>@KiewanVillatel</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3041">langchain-ai/langsmith-sdk#3041</a></li> <li>chore: bump _MIN_BACKEND_VERSION to 0.16.5rc1 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/3053">langchain-ai/langsmith-sdk#3053</a></li> <li>fix(sandbox): use built-in gcp auth host matching by <a href="https://github.com/DanielKneipp"><code>@DanielKneipp</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3055">langchain-ai/langsmith-sdk#3055</a></li> <li>chore(python): py to 0.8.17 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/3056">langchain-ai/langsmith-sdk#3056</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/sineha-mani"><code>@sineha-mani</code></a> made their first contribution in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3018">langchain-ai/langsmith-sdk#3018</a></li> <li><a href="https://github.com/eric-langchain"><code>@eric-langchain</code></a> made their first contribution in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3050">langchain-ai/langsmith-sdk#3050</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.16...v0.8.17">https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.16...v0.8.17</a></p> <h2>v0.8.16</h2> <h2>What's Changed</h2> <ul> <li>feat(py): add sync/async conversion for Sandbox and SandboxClient [INF-0000] 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/3019">langchain-ai/langsmith-sdk#3019</a></li> <li>fix(experiments): extract keys from wrapped evaluator function by <a href="https://github.com/shamikkarkhanis"><code>@shamikkarkhanis</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3014">langchain-ai/langsmith-sdk#3014</a></li> <li>chore: repoint <a href="mailto:support@langchain.dev">support@langchain.dev</a> mentions to the Support Portal by <a href="https://github.com/lutan-langchain"><code>@lutan-langchain</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3024">langchain-ai/langsmith-sdk#3024</a></li> <li>fix(python): derive create_child run id from start_time [LSDK-220] by <a href="https://github.com/harisaiharish"><code>@harisaiharish</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3027">langchain-ai/langsmith-sdk#3027</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/3020">langchain-ai/langsmith-sdk#3020</a></li> <li>chore: js to 0.7.8 and py to 0.8.16 by <a href="https://github.com/shamikkarkhanis"><code>@shamikkarkhanis</code></a> in <a href="https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3029">langchain-ai/langsmith-sdk#3029</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/langchain-ai/langsmith-sdk/commit/31c2bf650b84a44577d8b4443298fb7e78025b8f"><code>31c2bf6</code></a> release(py): 0.8.18 (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3063">#3063</a>)</li> <li><a href="https://github.com/langchain-ai/langsmith-sdk/commit/8955b688689fdf47871d44013787410a42ea13fd"><code>8955b68</code></a> chore: reconcile bumpversion config and mandate release process for agents (#...</li> <li><a href="https://github.com/langchain-ai/langsmith-sdk/commit/411401f6ca5ff401c29772ed097c9c9ed97f994c"><code>411401f</code></a> test(python): fix integration assertions for updated attachment error message...</li> <li><a href="https://github.com/langchain-ai/langsmith-sdk/commit/9c5515620f9bfa2145fc65d6f4353c4c8a3e96b6"><code>9c55156</code></a> Merge commit from fork</li> <li><a href="https://github.com/langchain-ai/langsmith-sdk/commit/5b2bd8db3c50d3f19e98f41288c87d9c0ac0b136"><code>5b2bd8d</code></a> chore(deps): bump the npm_and_yarn group across 2 directories with 2 updates ...</li> <li><a href="https://github.com/langchain-ai/langsmith-sdk/commit/d8642f9099a48025d00c7283ad3cd2ce56fec775"><code>d8642f9</code></a> chore(deps): bump the npm_and_yarn group across 4 directories with 4 updates ...</li> <li><a href="https://github.com/langchain-ai/langsmith-sdk/commit/953c2e5e25e41ecb4dba428adbac1c446c0a0071"><code>953c2e5</code></a> chore(deps-dev): bump langchain-anthropic from 1.4.4 to 1.4.6 in /python (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3044">#3044</a>)</li> <li><a href="https://github.com/langchain-ai/langsmith-sdk/commit/5513699e2d25c2147e02c296bc3b90f7d0923d8a"><code>5513699</code></a> chore(deps): bump starlette from 1.0.1 to 1.3.1 in /python (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3039">#3039</a>)</li> <li><a href="https://github.com/langchain-ai/langsmith-sdk/commit/8becdefdf422a02e03f78cf3ebb4c62c136b7cf3"><code>8becdef</code></a> chore(deps): bump cryptography from 46.0.7 to 48.0.1 in /python (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3038">#3038</a>)</li> <li><a href="https://github.com/langchain-ai/langsmith-sdk/commit/1a9c522febbf313bbe649ca75c39158fec048934"><code>1a9c522</code></a> chore(deps): bump aiohttp from 3.14.0 to 3.14.1 in /python (<a href="https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3037">#3037</a>)</li> <li>Additional commits viewable in <a href="https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.0...v0.8.18">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/langchain-ai/langgraph/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
ce6c8b2410 | release(langgraph): 1.2.6 (#8139) | ||
|
|
8558481859 |
docs: standardize package README.md structure (#8064)
Aligns the repository's package READMEs around a shared documentation shape so users see consistent install, positioning, docs, release, and contribution guidance across LangGraph packages. |
||
|
|
7ab79f9f3e | release(langgraph): 1.2.5 (#8062) | ||
|
|
385033fd9c |
fix(langgraph): merge lc_versions config metadata (#8052)
Preserve LangChain package-version trace metadata when graph-bound config and invoke-time config both contribute `lc_versions`. The earlier broad nested metadata merge has been narrowed to the LangChain-owned `lc_versions` namespace, so arbitrary user metadata keeps the existing last-writer-wins behavior. ## Changes - Add a shared metadata merge path used by `merge_configs()` and `ensure_config()` so top-level metadata keys are preserved across bound and runtime configs. - Special-case only `metadata["lc_versions"]` for one-level package-version accumulation; duplicate package entries remain last-writer-wins and non-mapping values still replace. - Keep generic nested metadata maps, including user-owned `metadata["versions"]`, as replacement-only to avoid changing arbitrary metadata semantics. - Raise the `langchain-core` lower bound to `>=1.4.7` so LangGraph’s `lc_versions` handling aligns with the lc-core package-version instrumentation. - Cover both config merge helpers with tests for `lc_versions` accumulation, non-recursive replacement within the package map, generic nested metadata replacement, and defensive copying of mapping values. ## Test note The stream event assertions for `test_imp_exception` now avoid depending on leaked internal task-path metadata. With older `langchain-core`, callback metadata could be mutated by later task runs, so every task event in this test appeared to have the final task path index. That made even the `task_with_exception` start event report `metadata["langgraph_node"] == "my_task"`, which is inconsistent with the event name. `langchain-core>=1.4.6` preserves per-event metadata more accurately: the first `my_task`, `task_with_exception`, and second `my_task` report distinct task path indexes. The test now asserts the stable behavior instead: event sequence, tags, required metadata, root stream payloads, exception handling, and final outputs, without requiring the old leaked task index. |
||
|
|
2ae62c6f87 |
chore(deps-dev): bump starlette from 1.0.0 to 1.0.1 in /libs/sdk-py (#8006)
Bumps [starlette](https://github.com/Kludex/starlette) from 1.0.0 to 1.0.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/Kludex/starlette/releases">starlette's releases</a>.</em></p> <blockquote> <h2>Version 1.0.1</h2> <h2>What's Changed</h2> <ul> <li>Ignore malformed <code>Host</code> header when constructing <code>request.url</code> by <a href="https://github.com/Kludex"><code>@Kludex</code></a> in <a href="https://redirect.github.com/Kludex/starlette/pull/3279">Kludex/starlette#3279</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/Kludex/starlette/compare/1.0.0...1.0.1">https://github.com/Kludex/starlette/compare/1.0.0...1.0.1</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/Kludex/starlette/blob/main/docs/release-notes.md">starlette's changelog</a>.</em></p> <blockquote> <h2>1.0.1 (May 21, 2026)</h2> <h4>Fixed</h4> <ul> <li>Ignore malformed <code>Host</code> header when constructing <code>request.url</code> <a href="https://redirect.github.com/encode/starlette/pull/3279">#3279</a>.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/Kludex/starlette/commit/48f8e331b23ca692f4713ac1f370bff1b5cd034c"><code>48f8e33</code></a> Version 1.0.1 (<a href="https://redirect.github.com/Kludex/starlette/issues/3281">#3281</a>)</li> <li><a href="https://github.com/Kludex/starlette/commit/f078832be1aa27ab0e7ec3153479a347749e967a"><code>f078832</code></a> Remove Hugging Face sponsor block from docs (<a href="https://redirect.github.com/Kludex/starlette/issues/3280">#3280</a>)</li> <li><a href="https://github.com/Kludex/starlette/commit/472951eba8f6e35be845fd1b91625a1b5488294b"><code>472951e</code></a> chore(deps): bump the github-actions group with 2 updates (<a href="https://redirect.github.com/Kludex/starlette/issues/3277">#3277</a>)</li> <li><a href="https://github.com/Kludex/starlette/commit/764dab0dcfb9033d75442d7a359645c9f94648c6"><code>764dab0</code></a> Ignore malformed <code>Host</code> header when constructing <code>request.url</code> (<a href="https://redirect.github.com/Kludex/starlette/issues/3279">#3279</a>)</li> <li><a href="https://github.com/Kludex/starlette/commit/19d08115ce56da8d4da2838ecdd9c5882cb2b365"><code>19d0811</code></a> Harden GitHub Actions workflows and Dependabot config (<a href="https://redirect.github.com/Kludex/starlette/issues/3276">#3276</a>)</li> <li><a href="https://github.com/Kludex/starlette/commit/01f46378120fe2c6312074ed7e997e3b5f7d8c20"><code>01f4637</code></a> chore(deps): bump idna from 3.10 to 3.15 (<a href="https://redirect.github.com/Kludex/starlette/issues/3274">#3274</a>)</li> <li><a href="https://github.com/Kludex/starlette/commit/b8fa5140d2ef9f22483d777e936ab4c2df897179"><code>b8fa514</code></a> docs: fix typos in TestClient docs and test_requests comment (<a href="https://redirect.github.com/Kludex/starlette/issues/3266">#3266</a>)</li> <li><a href="https://github.com/Kludex/starlette/commit/e935b6b5d4616c2317bbdadfb4cf07a8e7637955"><code>e935b6b</code></a> fix uvicorn domain (<a href="https://redirect.github.com/Kludex/starlette/issues/3269">#3269</a>)</li> <li><a href="https://github.com/Kludex/starlette/commit/96af9521a7e46bc0d00b5227186f03b70b6d242f"><code>96af952</code></a> Add 7-day cooldown for dependency resolution via uv exclude-newer (<a href="https://redirect.github.com/Kludex/starlette/issues/3265">#3265</a>)</li> <li><a href="https://github.com/Kludex/starlette/commit/61e385bd6dc438a90493c50f65ed232430f873fb"><code>61e385b</code></a> Add zizmor GitHub Actions security analysis workflow (<a href="https://redirect.github.com/Kludex/starlette/issues/3264">#3264</a>)</li> <li>Additional commits viewable in <a href="https://github.com/Kludex/starlette/compare/1.0.0...1.0.1">compare view</a></li> </ul> </details> <br /> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
2b1abc807b |
chore: migrate Python type checking to ty (#8002)
## Summary - replace Python lint type-checking from mypy to ty across LangGraph packages - remove mypy config/cache wiring and mypy-only references - regenerate uv locks with ty 0.0.43 ## Verification - git diff --check - make lint_package && make lint_tests in libs/langgraph - make lint_package && make lint_tests in libs/checkpoint - make lint_package && make lint_tests in libs/checkpoint-sqlite - make lint_package && make lint_tests in libs/checkpoint-postgres - make lint_package && make lint_tests in libs/prebuilt - make lint_package && make lint_tests in libs/cli - make lint in libs/sdk-py - make lint in libs/checkpoint-conformance --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: open-swe[bot] <215916821+open-swe[bot]@users.noreply.github.com> |
||
|
|
054a6f3d8b |
release(langgraph): 1.2.4 (#7991)
Releases langgraph 1.2.4 replacement for the **yanked 1.2.3**. |
||
|
|
03b2a9fe5f | test(sdk-py): add factory-graph integration test exercising the server factory path (#7978) | ||
|
|
83dd61feac | release(langgraph): 1.2.3 (#7945) | ||
|
|
13f2ecc84b | release(sdk-py): 0.4.2 (#7955) | ||
|
|
af5dab5b77 |
fix(sdk-py): percent-encode thread_id in v3 stream transport default paths (#7954)
## Problem Fixes #7953. The v3 SSE and WebSocket stream transports build their default paths by interpolating `thread_id` directly into the URL: ```python self._commands_url = commands_path or f"/threads/{thread_id}/commands" self._stream_url = stream_path or f"/threads/{thread_id}/stream/events" ``` This skips the `_quote_path_param` escaping that the rest of the SDK adopted in #7893. A `thread_id` containing reserved characters or dot-segments is then normalized by the HTTP/WebSocket stack before transmission. For example, `thread_id = "../assistants/abc"`: | | before | |---|---| | constructed | `/threads/../assistants/abc/commands` | | wire path | `/assistants/abc/commands` | So the value stops being one opaque identifier under `/threads/{thread_id}/...` and silently hits a different resource. ## Fix Reuse the existing `_quote_path_param` helper for the **default** paths in all four transports (`http`, `sync_http`, `ws`, `sync_ws`). Explicit `commands_path` / `stream_path` overrides are left untouched, so callers that pass their own paths opt out of encoding as before. `_quote_path_param("../assistants/abc")` → `..%2Fassistants%2Fabc`, which the HTTP/WS stack no longer collapses. ## Tests Adds `tests/streaming/test_transport_path_encoding.py` covering all four transports: - default `_commands_url` / `_stream_url` / `_stream_path` are percent-encoded, - the actual SSE wire path (async + sync) stays under `/threads/`, - the built WebSocket URL (async + sync) stays under `/threads/`, - explicit path overrides are left untouched. `make format`, `make lint`, and `make test` all pass in `libs/sdk-py` (491 passed). |
||
|
|
f1dc4577e2 | release(sdk-py): 0.4.1 (#7944) | ||
|
|
1fcb768182 |
feat(sdk-py): extract stream decoders and add interleave_projections (#7935)
## Summary Refactors the four (now five) sdk-py streaming projections into reusable, transport-agnostic `Decoder` classes and adds a new `interleave_projections(channels)` method to `AsyncThreadStream` and `SyncThreadStream` that drives multiple decoders from one shared subscription, yielding `(channel_name, item)` tuples in arrival order (the SDK analog of local `GraphRunStream.interleave`). - **New `langgraph_sdk/stream/decoders.py`**: pure `feed(event) -> Iterable[item]` state machines — `ValuesDecoder`, `MessagesDecoder`, `ToolCallsDecoder`, `SubgraphsDecoder`, `ExtensionsDecoder` — behind a `Decoder` Protocol. No subscription/queue/thread access. - **Projection migration (async + sync)**: the five existing projections now delegate their per-event logic to the decoders. Behavior-preserving — the existing test suite is the regression net. Thread-coupled side effects (active-stream registration, terminal-error-on-close, root-inbox forwarding) stay in the projection wrappers; sync messages/tool_calls keep their pre-dispatch contract (handle/stream resolved on yield) via a FIFO-head buffer. - **`interleave_projections`**: flat-namespace channel list (built-ins + extension names), `tool_calls`↔`tools` wire mapping, subgraphs fed every event, extensions keyed by bare name. ### Notable - Fixes a latent sync bug surfaced by the refactor: two tool calls / messages whose events interleave previously dropped the second; both now surface. Locked in with a regression test. - `Decoder.feed` takes `Mapping[str, Any]` (read-only), so the Protocol is load-bearing in both stream files. ### Deferred (not in this PR) - Wiring `RemoteGraph._RemoteGraphRunStream.interleave` to `interleave_projections` (gated on #7927). - Migrating the handle-scoped projections (`_Handle*Projection`) to the decoders — hence the small, verified-identical helper duplication between `decoders.py` and `_async/stream.py`. - `interleave_projections` handles aren't registered for thread-close cleanup (additive follow-up). ## Test Plan - [x] `make test` in `libs/sdk-py` — 464 passed, 0 failures - [x] `make format` / `make lint` (ruff + ty) clean - [x] Per-decoder unit tests in `tests/streaming/test_decoders.py` - [x] `interleave_projections` tests (single-channel, multi-channel arrival order, builtin+extension mix, tool_calls public-name, subgraphs discovery) async + sync - [x] Existing projection suites pass unchanged (regression net for the migration) |
||
|
|
68fa011fc9 |
feat(langgraph): add v3 streaming support to RemoteGraph (#7927)
## Summary
- Adds `stream_events(version="v3")` and `astream_events(version="v3")`
to `RemoteGraph`, matching the local `CompiledStateGraph` surface and
unblocking polymorphic v3 streaming over `Graph | RemoteGraph`.
- Implementation is a thin adapter
(`libs/langgraph/langgraph/pregel/_remote_run_stream.py`) that wraps the
v3 SDK's `AsyncThreadStream` / `SyncThreadStream` and duck-types
`GraphRunStream` / `AsyncGraphRunStream`. No coupling to local v3 mux
internals.
- `v1` / `v2` paths unchanged. `astream_events(version='v1'|'v2')` still
raises `NotImplementedError` (separate gap).
### Scope decisions baked into this PR
- Unsupported v3 kwargs hard-reject at dispatch with
`NotImplementedError`: `control`, `transformers`, `interrupt_before`,
`interrupt_after`, and any unknown `**kwargs`. Server / SDK don't plumb
these through v3 yet; easy to lift later.
- Sync `interleave()` raises `NotImplementedError` pointing callers at
`astream_events`. Real sync interleave would need drainer threads;
deferred since most sync RemoteGraph callers just iterate raw events.
- Async `interleave()` is best-effort ordering (client receive order),
documented as a divergence from local v3's monotonic stamp ordering.
- Adapter `interrupted` / `interrupts` properties are **non-blocking**
snapshots of the SDK's current state. This differs from local
`(Async)GraphRunStream.interrupted`, which pump-drives the run to
terminal before returning. Callers needing a wait-for-interrupt pattern
should drain a projection (e.g., `interleave('values')`) until the SDK's
paused sentinel fires. Documented in the adapter docstrings.
### Audit of impact
Existing RemoteGraph callers in this org all use the v2 `.stream()` /
`.astream()` path (deepagents production wrapper, langgraph-api test
graphs, langgraph-supervisor TS type guard). **Zero callers** use
`stream_events` / `astream_events` on RemoteGraph today, so the new v3
methods are net-new surface — no risk of breaking existing consumers.
### Out of scope (follow-ups)
- Bumping `libs/langgraph/pyproject.toml`'s `langgraph-sdk` constraint
from `<0.4.0` to `<0.5.0`. Deferred until 0.4.0 publishes to PyPI; dev
resolution unaffected via the editable workspace dep.
- Real `astream_events(version='v1'|'v2')` implementation.
- Server-side plumbing for `control` / `interrupt_before` /
`interrupt_after` on v3 runs.
- Sync `interleave()` via drainer threads.
## Test plan
- [x] \`make test\` in \`libs/langgraph/\`: 1874 passed, 4 skipped (43
new in \`test_remote_graph_v3.py\`)
- [x] \`make lint\` in \`libs/langgraph/\`: ruff + mypy clean
- [x] \`pytest -m integration
tests/integration/test_remote_graph_v3.py\` in \`libs/sdk-py/\` against
the docker stack: 4/4 passed in 1.35s
- [x] Manual smoke: \`RemoteGraph('tools_agent',
url='http://localhost:2024').astream_events(..., version='v3')\`
end-to-end against the v3 integration api
- [x] Existing RemoteGraph v2 tests untouched (31 passed, 3 skipped with
docker up)
- [x] Will need rebase after \`langgraph-sdk 0.4.0\` lands on PyPI and
the version constraint is bumped in a separate PR
|
||
|
|
ea4aa79a60 |
fix(sdk-py): make tools_agent fake model stateless (#7930)
|
||
|
|
c7792608e3 |
release(sdk-py): 0.4.0 (#7923)
## Summary Bumps `langgraph-sdk` `0.3.15` → `0.4.0`. Minor bump to reflect the v3 streaming public API that landed since 0.3.15: - `client.threads.stream(...)` — new thread-centric streaming entry point (async + sync) - SSE and WebSocket transports (`ProtocolSseTransport`, `ProtocolWebSocketTransport`) with reconnect handling and stream selection - Shared stream subscriptions, lifecycle / interrupts state, output / values projections, messages / tool-call projections, scoped subgraph handles, thread stream helpers |
||
|
|
8cb0f3a96d | feat(sdk-py): add thread stream helpers (#7833) | ||
|
|
fd4257300e | feat(sdk-py): wire websocket stream selection (#7832) | ||
|
|
d482fca105 | feat(sdk-py): add websocket stream transports (#7830) | ||
|
|
4f3ab2f969 | feat(sdk-py): harden streaming reconnects (#7829) | ||
|
|
3282ac10e3 | feat(sdk-py): add sync scoped subgraphs (#7828) | ||
|
|
3d61d1b32f | feat(sdk-py): add sync messages and tool calls (#7827) | ||
|
|
fe1c683fe1 | feat(sdk-py): add sync thread stream core (#7826) | ||
|
|
10b701cf41 | feat(sdk-py): add async stream reconnect support (#7825) | ||
|
|
bb9cfe7a22 | feat(sdk-py): add scoped subgraph handles (#7824) | ||
|
|
30fea64687 | feat(sdk-py): add messages and tool call projections (#7823) | ||
|
|
66ec594540 | feat(sdk-py): add output, values, and controller extraction (#7822) | ||
|
|
221deee774 | feat(sdk-py): wire lifecycle state and output prerequisites (#7821) | ||
|
|
d03310abbb | feat(sdk-py): add shared stream subscriptions (#7820) | ||
|
|
22259558cc | feat(sdk-py): add async thread stream skeleton (#7819) | ||
|
|
3268a54791 | feat(sdk-py): add v3 streaming primitives and SSE transport (#7818) | ||
|
|
add269632b |
chore(langgraph): bump version to 1.2.2 (#7914)
Patch bump to 1.2.2 following the 1.2.1 release. |
||
|
|
d1e2ff0561 |
release(checkpoint): 4.1.1 (#7890)
## Summary Bumps `langgraph-checkpoint` `4.1.0` → `4.1.1` and updates all downstream `uv.lock` files. ## Test plan - [x] `make format` / `make lint` / `make test` from `libs/checkpoint/` |
||
|
|
e787af200e |
release(sdk-py): 0.3.15 (#7891)
## Summary Bumps `langgraph-sdk` `0.3.14` → `0.3.15`. ## Test plan - [x] `make format` / `make lint` / `make test` from `libs/sdk-py/` |
||
|
|
604534e1b7 |
fix(sdk-py): percent-encode caller-supplied identifiers in URL paths (#7893)
## Summary Wraps every caller-supplied identifier (thread_id, assistant_id, run_id, cron_id, checkpoint_id, namespace) interpolated into request URL paths with `urllib.parse.quote(safe="")` via a new `_quote_path_param` helper. All-dot strings are encoded as `%2E` triplets so they aren't collapsed by httpx's client-side path normalization. Helper raises `TypeError` for None/bytes inputs. ## Test plan - [x] `make format` / `make lint` / `make test` from `libs/sdk-py` |