mirror of
https://github.com/langchain-ai/langgraph.git
synced 2026-08-26 17:42:24 +02:00
b7b052e66c2940187c43e5e72b7b00cd72d3f708
298
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
ed540155e3 | release(langgraph): 1.1.1 (#7120) | ||
|
|
acae5e23b0 | chore(sdk-py): cron tz support (#7108) | ||
|
|
3330ccdea4 |
release(langgraph): 1.1 (#7102)
exciting!
relnotes preview:
# LangGraph 1.1.0 Release Notes
## Type-Safe Streaming & Invoke
LangGraph 1.1 introduces `version="v2"` — a new opt-in streaming format
that brings full type safety to `stream()`, `astream()`, `invoke()`, and
`ainvoke()`.
### What's changing
**v1 (default, unchanged):** `stream()` yields bare tuples like
`(stream_mode, data)` or just `data`. `invoke()` returns a plain `dict`.
Interrupts are mixed into the output dict under `"__interrupt__"`.
**v2 (opt-in):** `stream()` yields strongly-typed `StreamPart` dicts
with `type`, `ns`, `data`, and (for values) `interrupts` fields.
`invoke()` returns a `GraphOutput` object with `.value` and
`.interrupts` attributes. When your state schema is a Pydantic model or
dataclass, outputs are automatically coerced to the correct type.
### `invoke()` / `ainvoke()` with `version="v2"`
```python
from langgraph.types import GraphOutput
result = graph.invoke({"input": "hello"}, version="v2")
# result is a GraphOutput, not a dict
assert isinstance(result, GraphOutput)
result.value # your output — dict, Pydantic model, or dataclass
result.interrupts # tuple[Interrupt, ...], empty if none occurred
```
With a non-`"values"` stream mode, `invoke(..., stream_mode="updates",
version="v2")` returns `list[StreamPart]` instead of `list[tuple]`.
### `stream()` / `astream()` with `version="v2"`
```python
for part in graph.stream({"input": "hello"}, version="v2"):
if part["type"] == "values":
part["data"] # OutputT — full state
part["interrupts"] # tuple[Interrupt, ...]
elif part["type"] == "updates":
part["data"] # dict[str, Any]
elif part["type"] == "messages":
part["data"] # tuple[BaseMessage, dict]
elif part["type"] == "custom":
part["data"] # Any
elif part["type"] == "tasks":
part["data"] # TaskPayload | TaskResultPayload
elif part["type"] == "debug":
part["data"] # DebugPayload
```
Each stream mode has its own `TypedDict` — `ValuesStreamPart`,
`UpdatesStreamPart`, `MessagesStreamPart`, `CustomStreamPart`,
`CheckpointStreamPart`, `TasksStreamPart`, `DebugStreamPart` — all
importable from `langgraph.types`. The union type `StreamPart` is a
discriminated union on `part["type"]`, enabling full type narrowing in
editors and type checkers.
### Pydantic & dataclass output coercion
When your graph's state schema is a Pydantic model or dataclass,
`version="v2"` automatically coerces outputs to the declared type:
```python
from pydantic import BaseModel
class MyState(BaseModel):
answer: str
count: int
graph = StateGraph(MyState)
# ... build graph ...
compiled = graph.compile()
result = compiled.invoke({"answer": "", "count": 0}, version="v2")
assert isinstance(result.value, MyState) # not a dict!
```
### Backward compatibility
- **Default is still `version="v1"`** — existing code works without
changes.
- To make migration easier, `GraphOutput` supports old-style best-effort
access to graph values and interrupts. Dict-style access
(`result["key"]`, `"key" in result`, `result["__interrupt__"]`) still
works and delegates to `result.value` / `result.interrupts` under the
hood. However, this is **deprecated** and emits a
`LangGraphDeprecatedSinceV11` warning. It will be removed in v3.0 —
migrate to `result.value` and `result.interrupts` at your convenience.
```python
result = graph.invoke({"input": "hello"}, version="v2")
# Old style — still works, but deprecated
result["input"] # delegates to result.value["input"]
result["__interrupt__"] # delegates to result.interrupts
"input" in result # delegates to "input" in result.value
# New style — preferred
result.value["input"]
result.interrupts
```
## Migration Guide
1. **No action required** — `version="v1"` remains the default. All
existing code continues to work.
2. **Adopt v2 incrementally** — Add `version="v2"` to individual
`invoke()`/`stream()` calls to get typed outputs.
3. **Use typed imports** — Import `GraphOutput`, `StreamPart`, and
individual part types from `langgraph.types` for type-safe code.
|
||
|
|
27da1d35ef |
chore(deps): bump the all-dependencies group across 1 directory with 3 updates (#7072)
Bumps the all-dependencies group with 3 updates in the /libs/sdk-py directory: [ruff](https://github.com/astral-sh/ruff), [codespell](https://github.com/codespell-project/codespell) and [ty](https://github.com/astral-sh/ty). Updates `ruff` from 0.15.1 to 0.15.5 <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.5</h2> <h2>Release Notes</h2> <p>Released on 2026-03-05.</p> <h3>Preview features</h3> <ul> <li>Discover Markdown files by default in preview mode (<a href="https://redirect.github.com/astral-sh/ruff/pull/23434">#23434</a>)</li> <li>[<code>perflint</code>] Extend <code>PERF102</code> to comprehensions and generators (<a href="https://redirect.github.com/astral-sh/ruff/pull/23473">#23473</a>)</li> <li>[<code>refurb</code>] Fix <code>FURB101</code> and <code>FURB103</code> false positives when I/O variable is used later (<a href="https://redirect.github.com/astral-sh/ruff/pull/23542">#23542</a>)</li> <li>[<code>ruff</code>] Add fix for <code>none-not-at-end-of-union</code> (<code>RUF036</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/22829">#22829</a>)</li> <li>[<code>ruff</code>] Fix false positive for <code>re.split</code> with empty string pattern (<code>RUF055</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/23634">#23634</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>[<code>fastapi</code>] Handle callable class dependencies with <code>__call__</code> method (<code>FAST003</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/23553">#23553</a>)</li> <li>[<code>pydocstyle</code>] Fix numpy section ordering (<code>D420</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/23685">#23685</a>)</li> <li>[<code>pyflakes</code>] Fix false positive for names shadowing re-exports (<code>F811</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/23356">#23356</a>)</li> <li>[<code>pyupgrade</code>] Avoid inserting redundant <code>None</code> elements in <code>UP045</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/23459">#23459</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Document extension mapping for Markdown code formatting (<a href="https://redirect.github.com/astral-sh/ruff/pull/23574">#23574</a>)</li> <li>Update default Python version examples (<a href="https://redirect.github.com/astral-sh/ruff/pull/23605">#23605</a>)</li> </ul> <h3>Other changes</h3> <ul> <li>Publish releases to Astral mirror (<a href="https://redirect.github.com/astral-sh/ruff/pull/23616">#23616</a>)</li> </ul> <h3>Contributors</h3> <ul> <li><a href="https://github.com/amyreese"><code>@amyreese</code></a></li> <li><a href="https://github.com/stakeswky"><code>@stakeswky</code></a></li> <li><a href="https://github.com/chirizxc"><code>@chirizxc</code></a></li> <li><a href="https://github.com/anishgirianish"><code>@anishgirianish</code></a></li> <li><a href="https://github.com/bxff"><code>@bxff</code></a></li> <li><a href="https://github.com/zsol"><code>@zsol</code></a></li> <li><a href="https://github.com/charliermarsh"><code>@charliermarsh</code></a></li> <li><a href="https://github.com/ntBre"><code>@ntBre</code></a></li> <li><a href="https://github.com/kar-ganap"><code>@kar-ganap</code></a></li> </ul> <h2>Install ruff 0.15.5</h2> <h3>Install prebuilt binaries via shell script</h3> <pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.15.5/ruff-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/ruff/blob/main/CHANGELOG.md">ruff's changelog</a>.</em></p> <blockquote> <h2>0.15.5</h2> <p>Released on 2026-03-05.</p> <h3>Preview features</h3> <ul> <li>Discover Markdown files by default in preview mode (<a href="https://redirect.github.com/astral-sh/ruff/pull/23434">#23434</a>)</li> <li>[<code>perflint</code>] Extend <code>PERF102</code> to comprehensions and generators (<a href="https://redirect.github.com/astral-sh/ruff/pull/23473">#23473</a>)</li> <li>[<code>refurb</code>] Fix <code>FURB101</code> and <code>FURB103</code> false positives when I/O variable is used later (<a href="https://redirect.github.com/astral-sh/ruff/pull/23542">#23542</a>)</li> <li>[<code>ruff</code>] Add fix for <code>none-not-at-end-of-union</code> (<code>RUF036</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/22829">#22829</a>)</li> <li>[<code>ruff</code>] Fix false positive for <code>re.split</code> with empty string pattern (<code>RUF055</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/23634">#23634</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>[<code>fastapi</code>] Handle callable class dependencies with <code>__call__</code> method (<code>FAST003</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/23553">#23553</a>)</li> <li>[<code>pydocstyle</code>] Fix numpy section ordering (<code>D420</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/23685">#23685</a>)</li> <li>[<code>pyflakes</code>] Fix false positive for names shadowing re-exports (<code>F811</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/23356">#23356</a>)</li> <li>[<code>pyupgrade</code>] Avoid inserting redundant <code>None</code> elements in <code>UP045</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/23459">#23459</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Document extension mapping for Markdown code formatting (<a href="https://redirect.github.com/astral-sh/ruff/pull/23574">#23574</a>)</li> <li>Update default Python version examples (<a href="https://redirect.github.com/astral-sh/ruff/pull/23605">#23605</a>)</li> </ul> <h3>Other changes</h3> <ul> <li>Publish releases to Astral mirror (<a href="https://redirect.github.com/astral-sh/ruff/pull/23616">#23616</a>)</li> </ul> <h3>Contributors</h3> <ul> <li><a href="https://github.com/amyreese"><code>@amyreese</code></a></li> <li><a href="https://github.com/stakeswky"><code>@stakeswky</code></a></li> <li><a href="https://github.com/chirizxc"><code>@chirizxc</code></a></li> <li><a href="https://github.com/anishgirianish"><code>@anishgirianish</code></a></li> <li><a href="https://github.com/bxff"><code>@bxff</code></a></li> <li><a href="https://github.com/zsol"><code>@zsol</code></a></li> <li><a href="https://github.com/charliermarsh"><code>@charliermarsh</code></a></li> <li><a href="https://github.com/ntBre"><code>@ntBre</code></a></li> <li><a href="https://github.com/kar-ganap"><code>@kar-ganap</code></a></li> </ul> <h2>0.15.4</h2> <p>Released on 2026-02-26.</p> <p>This is a follow-up release to 0.15.3 that resolves a panic when the new rule <code>PLR1712</code> was enabled with any rule that analyzes definitions, such as many of the <code>ANN</code> or <code>D</code> rules.</p> <h3>Bug fixes</h3> <ul> <li>Fix panic on access to definitions after analyzing definitions (<a href="https://redirect.github.com/astral-sh/ruff/pull/23588">#23588</a>)</li> <li>[<code>pyflakes</code>] Suppress false positive in <code>F821</code> for names used before <code>del</code> in stub files (<a href="https://redirect.github.com/astral-sh/ruff/pull/23550">#23550</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/5e4a3d9c3b381df20f6a52caef0f56ed0ebc74be"><code>5e4a3d9</code></a> Bump 0.15.5 (<a href="https://redirect.github.com/astral-sh/ruff/issues/23743">#23743</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/69c23cc5a3a6cb08d81b01c7d1c2ba0482c3a3b1"><code>69c23cc</code></a> [ty] Render all changed diagnostics in conformance.py (<a href="https://redirect.github.com/astral-sh/ruff/issues/23613">#23613</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/4926bd58204839cb75a8ed1397e824bbc8f644ca"><code>4926bd5</code></a> [ty] Split deferred checks out of <code>types/infer/builder.rs</code> (<a href="https://redirect.github.com/astral-sh/ruff/issues/23740">#23740</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/9a70f5eb2fb0180953418cd6ac037cb3d531e77b"><code>9a70f5e</code></a> Discover markdown files by default in preview mode (<a href="https://redirect.github.com/astral-sh/ruff/issues/23434">#23434</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/3dc78b0a84ee231afb1c3329e11bfc912c236366"><code>3dc78b0</code></a> [ty] Use <code>HasOptionalDefinition</code> for <code>except</code> handlers (<a href="https://redirect.github.com/astral-sh/ruff/issues/23739">#23739</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/a6a5e8d10b8a5185049827be0a304db522b91c9a"><code>a6a5e8d</code></a> [ty] Fix precedence of <code>all</code> selector in TOML configurations (<a href="https://redirect.github.com/astral-sh/ruff/issues/23723">#23723</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/2a5384b0b6e22ab511aec6f8dbb11648befda887"><code>2a5384b</code></a> [ty] Make <code>all</code> selector case sensitive (<a href="https://redirect.github.com/astral-sh/ruff/issues/23713">#23713</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/db77d7b2ae3da8deed64d8889a5cbcea287b52a6"><code>db77d7b</code></a> [ty] Add a diagnostic if a <code>TypeVar</code> is used to specialize a <code>ParamSpec</code>, or ...</li> <li><a href="https://github.com/astral-sh/ruff/commit/db2849068f7d6a1f42cdafec46a7c2c83d39ece3"><code>db28490</code></a> [ty] Override home directory in ty tests (<a href="https://redirect.github.com/astral-sh/ruff/issues/23724">#23724</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/5f0fd91a230972bb9d1e4545ebaed2b7d09158a2"><code>5f0fd91</code></a> [ty] More type-variable default validation (<a href="https://redirect.github.com/astral-sh/ruff/issues/23639">#23639</a>)</li> <li>Additional commits viewable in <a href="https://github.com/astral-sh/ruff/compare/0.15.1...0.15.5">compare view</a></li> </ul> </details> <br /> Updates `codespell` from 2.4.1 to 2.4.2 <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.2</h2> <!-- raw HTML omitted --> <h2>Highlights</h2> <ul> <li>Fixed compatibility with chardet 7+</li> </ul> <h2>What's Changed</h2> <ul> <li>Fix and clarify cases in ignore patterns by <a href="https://github.com/DanielYang59"><code>@DanielYang59</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3583">codespell-project/codespell#3583</a></li> <li>codespell-private.yml: Do not codespell digital signature files by <a href="https://github.com/cclauss"><code>@cclauss</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3623">codespell-project/codespell#3623</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/3634">codespell-project/codespell#3634</a></li> <li>numbes->numbers and numbesr->numbers by <a href="https://github.com/skshetry"><code>@skshetry</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3635">codespell-project/codespell#3635</a></li> <li>Add spelling corrections for disclose and variables. by <a href="https://github.com/cfi-gb"><code>@cfi-gb</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3622">codespell-project/codespell#3622</a></li> <li>Add spelling correction for Vulnererability and variants. by <a href="https://github.com/cfi-gb"><code>@cfi-gb</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3625">codespell-project/codespell#3625</a></li> <li>Remove lets->let's by <a href="https://github.com/Piedone"><code>@Piedone</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3633">codespell-project/codespell#3633</a></li> <li>Add corrections for "dictate" by <a href="https://github.com/jdufresne"><code>@jdufresne</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3636">codespell-project/codespell#3636</a></li> <li>Add specicification (and pl) typo by <a href="https://github.com/yarikoptic"><code>@yarikoptic</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3639">codespell-project/codespell#3639</a></li> <li>Remove "blueish" correction by <a href="https://github.com/hadess"><code>@hadess</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3510">codespell-project/codespell#3510</a></li> <li>Add "lighting" as an option to fix "lighning" by <a href="https://github.com/yarikoptic"><code>@yarikoptic</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3648">codespell-project/codespell#3648</a></li> <li>Revert adding <code>lien</code> to the rare dictionary by <a href="https://github.com/nikolaik"><code>@nikolaik</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3631">codespell-project/codespell#3631</a></li> <li>"ane" could have been "one" by <a href="https://github.com/yarikoptic"><code>@yarikoptic</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3645">codespell-project/codespell#3645</a></li> <li>Add spelling correction for "priort" by <a href="https://github.com/cfi-gb"><code>@cfi-gb</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3647">codespell-project/codespell#3647</a></li> <li>Remove "fix" of "deques" - it is quite legit by <a href="https://github.com/yarikoptic"><code>@yarikoptic</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3649">codespell-project/codespell#3649</a></li> <li>Several new suggestions by <a href="https://github.com/mdeweerd"><code>@mdeweerd</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3621">codespell-project/codespell#3621</a></li> <li>Add proposal constraints to containts by <a href="https://github.com/mdeweerd"><code>@mdeweerd</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3652">codespell-project/codespell#3652</a></li> <li>Additions dleay,infp,practive,utiliy by <a href="https://github.com/mdeweerd"><code>@mdeweerd</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3643">codespell-project/codespell#3643</a></li> <li>Add calncelled and its variations by <a href="https://github.com/mdeweerd"><code>@mdeweerd</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3650">codespell-project/codespell#3650</a></li> <li>Use raw strings for regex by <a href="https://github.com/DimitriPapadopoulos"><code>@DimitriPapadopoulos</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3654">codespell-project/codespell#3654</a></li> <li>Allow multiple spaces before codespell:ignore by <a href="https://github.com/DimitriPapadopoulos"><code>@DimitriPapadopoulos</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3653">codespell-project/codespell#3653</a></li> <li>Added correction from <code>timeour</code> to <code>timeout</code> by <a href="https://github.com/jamesbraza"><code>@jamesbraza</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3656">codespell-project/codespell#3656</a></li> <li>Add typos found in various software projects by <a href="https://github.com/luzpaz"><code>@luzpaz</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3640">codespell-project/codespell#3640</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/3659">codespell-project/codespell#3659</a></li> <li>Add codespell suggestions for enabke and friends by <a href="https://github.com/mdeweerd"><code>@mdeweerd</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3657">codespell-project/codespell#3657</a></li> <li>END: add "queues" (plural from queue) as possible fix for ques by <a href="https://github.com/yarikoptic"><code>@yarikoptic</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3591">codespell-project/codespell#3591</a></li> <li>agreegate, lesda, realod, colouer by <a href="https://github.com/mdeweerd"><code>@mdeweerd</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3665">codespell-project/codespell#3665</a></li> <li>Update pre-commit version in documentation by <a href="https://github.com/prchoward"><code>@prchoward</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3666">codespell-project/codespell#3666</a></li> <li>MAINT: Rename CI file and run name by <a href="https://github.com/larsoner"><code>@larsoner</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3667">codespell-project/codespell#3667</a></li> <li>preoccuption->preoccupation; occuption->occupation by <a href="https://github.com/TheGiraffe3"><code>@TheGiraffe3</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3668">codespell-project/codespell#3668</a></li> <li>Suggestions for: checkto, diminsion, waitfor by <a href="https://github.com/mdeweerd"><code>@mdeweerd</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3670">codespell-project/codespell#3670</a></li> <li>Typos found in sigstore-python by <a href="https://github.com/DimitriPapadopoulos"><code>@DimitriPapadopoulos</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3664">codespell-project/codespell#3664</a></li> <li>usgin->using by <a href="https://github.com/ydah"><code>@ydah</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3672">codespell-project/codespell#3672</a></li> <li>Add typos found in various software projects by <a href="https://github.com/luzpaz"><code>@luzpaz</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3669">codespell-project/codespell#3669</a></li> <li>Add coered -> coerced by <a href="https://github.com/effigies"><code>@effigies</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3680">codespell-project/codespell#3680</a></li> <li>backwward(s)->backward(s), onwward(s)->onward(s) by <a href="https://github.com/cjwatson"><code>@cjwatson</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3682">codespell-project/codespell#3682</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/3685">codespell-project/codespell#3685</a></li> <li>telemetery->telemetry by <a href="https://github.com/august-soderberg"><code>@august-soderberg</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3686">codespell-project/codespell#3686</a></li> <li>Add hexedacimal and similar typos by <a href="https://github.com/Akuli"><code>@Akuli</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3692">codespell-project/codespell#3692</a></li> <li>Add rounted->routed, rounded and friends by <a href="https://github.com/peternewman"><code>@peternewman</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3693">codespell-project/codespell#3693</a></li> <li>Add symmectric and similar typos by <a href="https://github.com/Akuli"><code>@Akuli</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3694">codespell-project/codespell#3694</a></li> <li>Fix CI on Windows: pip upgrade pip by <a href="https://github.com/DimitriPapadopoulos"><code>@DimitriPapadopoulos</code></a> in <a href="https://redirect.github.com/codespell-project/codespell/pull/3698">codespell-project/codespell#3698</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/2ccb47ff45ad361a21071a7eedda4c37e6ae8c5a"><code>2ccb47f</code></a> Compat with chardet 7 (<a href="https://redirect.github.com/codespell-project/codespell/issues/3886">#3886</a>)</li> <li><a href="https://github.com/codespell-project/codespell/commit/4ec53bf6a3e510c64900d5ee838abd99d49b2910"><code>4ec53bf</code></a> [pre-commit.ci] pre-commit autoupdate</li> <li><a href="https://github.com/codespell-project/codespell/commit/2a4acba3f282f1b5ccb7ad8b57bc991810663a44"><code>2a4acba</code></a> Bump actions/download-artifact from 7 to 8</li> <li><a href="https://github.com/codespell-project/codespell/commit/be17cacc96a5ee3f014e048f5962cfdb7145e096"><code>be17cac</code></a> Bump actions/upload-artifact from 6 to 7</li> <li><a href="https://github.com/codespell-project/codespell/commit/04a071280d56148cab14249ccc8d4181c0066b3c"><code>04a0712</code></a> Bump ruff (<a href="https://redirect.github.com/codespell-project/codespell/issues/3879">#3879</a>)</li> <li><a href="https://github.com/codespell-project/codespell/commit/583d8796d92eb58e15072db03e5b756be45f638a"><code>583d879</code></a> avoide->avoid, avoided, avoids,</li> <li><a href="https://github.com/codespell-project/codespell/commit/1f59f34d7c6d1642fdb325d9dfa49cf9eb5f692a"><code>1f59f34</code></a> Add correction for 'foudation' to 'foundation'</li> <li><a href="https://github.com/codespell-project/codespell/commit/e047fdafb8620b08a86349014487886bcd9c2205"><code>e047fda</code></a> Add spelling correction for gather and variants.</li> <li><a href="https://github.com/codespell-project/codespell/commit/b5cd66de14b8f65b0f45fabbe1c89bd69ea60939"><code>b5cd66d</code></a> respondant->respondent</li> <li><a href="https://github.com/codespell-project/codespell/commit/92125a3814fa6e86cd2055385916ce5186d3e5df"><code>92125a3</code></a> Add detection of ivoice and variants.</li> <li>Additional commits viewable in <a href="https://github.com/codespell-project/codespell/compare/v2.4.1...v2.4.2">compare view</a></li> </ul> </details> <br /> Updates `ty` from 0.0.17 to 0.0.21 <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.21</h2> <h2>Release Notes</h2> <p>Released on 2026-03-05.</p> <h3>Bug fixes</h3> <ul> <li>Avoid stack overflow with recursive typevar (<a href="https://redirect.github.com/astral-sh/ruff/pull/23652">#23652</a>)</li> <li>Fix panic on incomplete except handlers (<a href="https://redirect.github.com/astral-sh/ruff/pull/23708">#23708</a>)</li> <li>Allow unions of different-length iterables in <code>*args</code> unpacking into optional positional parameters (<a href="https://redirect.github.com/astral-sh/ruff/pull/23124">#23124</a>)</li> <li>Don't replace <code>Any</code> attributes with <code>object</code> after <code>isinstance</code> narrowing (<a href="https://redirect.github.com/astral-sh/ruff/pull/23725">#23725</a>)</li> </ul> <h3>LSP server</h3> <ul> <li>Exclude decorators from class/def code folding (<a href="https://redirect.github.com/astral-sh/ruff/pull/23543">#23543</a>)</li> <li>Fix handling of non-Python text documents (<a href="https://redirect.github.com/astral-sh/ruff/pull/23704">#23704</a>)</li> </ul> <h3>Configuration</h3> <ul> <li>Add <code>all</code> selector to <code>ty.json</code> schema (<a href="https://redirect.github.com/astral-sh/ruff/pull/23721">#23721</a>)</li> <li>Fix precedence of <code>all</code> selector in TOML configurations (<a href="https://redirect.github.com/astral-sh/ruff/pull/23723">#23723</a>)</li> <li>Make <code>all</code> selector case-sensitive (<a href="https://redirect.github.com/astral-sh/ruff/pull/23713">#23713</a>)</li> </ul> <h3>Type checking</h3> <ul> <li>Add <code>invalid-enum-member-annotation</code> lint rule (<a href="https://redirect.github.com/astral-sh/ruff/pull/23648">#23648</a>)</li> <li>Add a diagnostic for an unused awaitable (<a href="https://redirect.github.com/astral-sh/ruff/pull/23650">#23650</a>)</li> <li>Add a diagnostic if a <code>TypeVar</code> is used to specialize a <code>ParamSpec</code>, or vice versa (<a href="https://redirect.github.com/astral-sh/ruff/pull/23738">#23738</a>)</li> <li>Add more type-variable default validation (<a href="https://redirect.github.com/astral-sh/ruff/pull/23639">#23639</a>)</li> <li>Add unbound type variable detection in annotations (<a href="https://redirect.github.com/astral-sh/ruff/pull/23641">#23641</a>)</li> <li>Apply narrowing to walrus values (<a href="https://redirect.github.com/astral-sh/ruff/pull/23687">#23687</a>)</li> <li>Do not union <code>Unknown</code> into unannotated container types (<a href="https://redirect.github.com/astral-sh/ruff/pull/23718">#23718</a>)</li> <li>Avoid inferring generics with negative intersections (<a href="https://redirect.github.com/astral-sh/ruff/pull/23750">#23750</a>)</li> <li>More precise types for <code>name</code> and <code>value</code> of an enum (<a href="https://redirect.github.com/astral-sh/ruff/pull/23683">#23683</a>)</li> <li>Better preserve user-provided union order in inferred specializations (<a href="https://redirect.github.com/astral-sh/ruff/pull/23715">#23715</a>)</li> <li>Support narrowing in ternary expressions (<a href="https://redirect.github.com/astral-sh/ruff/pull/23726">#23726</a>)</li> <li>Validate bare ParamSpec usage in type annotations, and support stringified ParamSpecs as the first argument to <code>Callable</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/23625">#23625</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/zsol"><code>@zsol</code></a></li> <li><a href="https://github.com/Gankra"><code>@Gankra</code></a></li> <li><a href="https://github.com/MichaReiser"><code>@MichaReiser</code></a></li> <li><a href="https://github.com/AlexWaygood"><code>@AlexWaygood</code></a></li> <li><a href="https://github.com/rizzip"><code>@rizzip</code></a></li> <li><a href="https://github.com/iksuddle"><code>@iksuddle</code></a></li> <li><a href="https://github.com/dcreager"><code>@dcreager</code></a></li> <li><a href="https://github.com/BurntSushi"><code>@BurntSushi</code></a></li> <li><a href="https://github.com/carljm"><code>@carljm</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/ty/blob/main/CHANGELOG.md">ty's changelog</a>.</em></p> <blockquote> <h2>0.0.21</h2> <p>Released on 2026-03-05.</p> <h3>Bug fixes</h3> <ul> <li>Avoid stack overflow with recursive typevar (<a href="https://redirect.github.com/astral-sh/ruff/pull/23652">#23652</a>)</li> <li>Fix panic on incomplete except handlers (<a href="https://redirect.github.com/astral-sh/ruff/pull/23708">#23708</a>)</li> <li>Allow unions of different-length iterables in <code>*args</code> unpacking into optional positional parameters (<a href="https://redirect.github.com/astral-sh/ruff/pull/23124">#23124</a>)</li> <li>Don't replace <code>Any</code> attributes with <code>object</code> after <code>isinstance</code> narrowing (<a href="https://redirect.github.com/astral-sh/ruff/pull/23725">#23725</a>)</li> </ul> <h3>LSP server</h3> <ul> <li>Exclude decorators from class/def code folding (<a href="https://redirect.github.com/astral-sh/ruff/pull/23543">#23543</a>)</li> <li>Fix handling of non-Python text documents (<a href="https://redirect.github.com/astral-sh/ruff/pull/23704">#23704</a>)</li> </ul> <h3>Configuration</h3> <ul> <li>Add <code>all</code> selector to <code>ty.json</code> schema (<a href="https://redirect.github.com/astral-sh/ruff/pull/23721">#23721</a>)</li> <li>Fix precedence of <code>all</code> selector in TOML configurations (<a href="https://redirect.github.com/astral-sh/ruff/pull/23723">#23723</a>)</li> <li>Make <code>all</code> selector case-sensitive (<a href="https://redirect.github.com/astral-sh/ruff/pull/23713">#23713</a>)</li> </ul> <h3>Type checking</h3> <ul> <li>Add <code>invalid-enum-member-annotation</code> lint rule (<a href="https://redirect.github.com/astral-sh/ruff/pull/23648">#23648</a>)</li> <li>Add a diagnostic for an unused awaitable (<a href="https://redirect.github.com/astral-sh/ruff/pull/23650">#23650</a>)</li> <li>Add a diagnostic if a <code>TypeVar</code> is used to specialize a <code>ParamSpec</code>, or vice versa (<a href="https://redirect.github.com/astral-sh/ruff/pull/23738">#23738</a>)</li> <li>Add more type-variable default validation (<a href="https://redirect.github.com/astral-sh/ruff/pull/23639">#23639</a>)</li> <li>Add unbound type variable detection in annotations (<a href="https://redirect.github.com/astral-sh/ruff/pull/23641">#23641</a>)</li> <li>Apply narrowing to walrus values (<a href="https://redirect.github.com/astral-sh/ruff/pull/23687">#23687</a>)</li> <li>Do not union <code>Unknown</code> into unannotated container types (<a href="https://redirect.github.com/astral-sh/ruff/pull/23718">#23718</a>)</li> <li>Avoid inferring generics with negative intersections (<a href="https://redirect.github.com/astral-sh/ruff/pull/23750">#23750</a>)</li> <li>More precise types for <code>name</code> and <code>value</code> of an enum (<a href="https://redirect.github.com/astral-sh/ruff/pull/23683">#23683</a>)</li> <li>Better preserve user-provided union order in inferred specializations (<a href="https://redirect.github.com/astral-sh/ruff/pull/23715">#23715</a>)</li> <li>Support narrowing in ternary expressions (<a href="https://redirect.github.com/astral-sh/ruff/pull/23726">#23726</a>)</li> <li>Validate bare ParamSpec usage in type annotations, and support stringified ParamSpecs as the first argument to <code>Callable</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/23625">#23625</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/zsol"><code>@zsol</code></a></li> <li><a href="https://github.com/Gankra"><code>@Gankra</code></a></li> <li><a href="https://github.com/MichaReiser"><code>@MichaReiser</code></a></li> <li><a href="https://github.com/AlexWaygood"><code>@AlexWaygood</code></a></li> <li><a href="https://github.com/rizzip"><code>@rizzip</code></a></li> <li><a href="https://github.com/iksuddle"><code>@iksuddle</code></a></li> <li><a href="https://github.com/dcreager"><code>@dcreager</code></a></li> <li><a href="https://github.com/BurntSushi"><code>@BurntSushi</code></a></li> <li><a href="https://github.com/carljm"><code>@carljm</code></a></li> <li><a href="https://github.com/oconnor663"><code>@oconnor663</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/ty/commit/c1ad9f28136df1678348359dcb859117d5a21b37"><code>c1ad9f2</code></a> Bump version to 0.0.21 (<a href="https://redirect.github.com/astral-sh/ty/issues/2973">#2973</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/065338a1fcc24ac5b974724dbb5d8a3ab740c5b7"><code>065338a</code></a> Add typeshed diff link to changelog during release (<a href="https://redirect.github.com/astral-sh/ty/issues/2957">#2957</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/fba59f6af85e9f49d58bcc24601b915a4c9ebc65"><code>fba59f6</code></a> Fix renovate <code>actions/*-artifact</code> updates (<a href="https://redirect.github.com/astral-sh/ty/issues/2956">#2956</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/bad4a9771fcbe172411e18813926d182ac80ba4f"><code>bad4a97</code></a> Update actions/download-artifact digest to 70fc10c (<a href="https://redirect.github.com/astral-sh/ty/issues/2933">#2933</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/04a5216ada0638640ce9c0e57986ee9ce2492c45"><code>04a5216</code></a> Update actions/upload-artifact digest to bbbca2d (<a href="https://redirect.github.com/astral-sh/ty/issues/2934">#2934</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/c8bc09cda6604613320eae9b4fb184b1fec7273d"><code>c8bc09c</code></a> Hook up publish job to release pipeline (<a href="https://redirect.github.com/astral-sh/ty/issues/2953">#2953</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/2bd0252435a1ad19b91863f37beab60bb8e68a14"><code>2bd0252</code></a> Bump version to 0.0.20 (<a href="https://redirect.github.com/astral-sh/ty/issues/2939">#2939</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/08f4e9f152431bbacd956a62c5145255d0241a25"><code>08f4e9f</code></a> Publish releases to Astral mirror (<a href="https://redirect.github.com/astral-sh/ty/issues/2921">#2921</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/983105f032ab355347a66a107e53f3fe75b6a616"><code>983105f</code></a> Update prek dependencies (<a href="https://redirect.github.com/astral-sh/ty/issues/2936">#2936</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/ece21b6c8eeab4bc889ed88ea0f86cbc504757ff"><code>ece21b6</code></a> Update astral-sh/setup-uv action to v7.3.1 (<a href="https://redirect.github.com/astral-sh/ty/issues/2935">#2935</a>)</li> <li>Additional commits viewable in <a href="https://github.com/astral-sh/ty/compare/0.0.17...0.0.21">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: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|
|
6a19a5a7b2 | chore: Add cache (#7092) | ||
|
|
46fed9d161 |
feat: type safe stream/invoke w/ proper output type coercion (#6961)
Adding type safe streaming + more robust pydantic + dataclass support on graph outputs * type safe streaming via #6931 * type safe invoke via https://github.com/langchain-ai/langgraph/pull/6963 * actually thread through types via parametrization in https://github.com/langchain-ai/langgraph/pull/7009 * deprecation of backwards compatible accessor via https://github.com/langchain-ai/langgraph/pull/7011 full spec of changes: https://github.com/langchain-ai/langgraph/issues/7008 proving out that required changes are minimal even when we update the default to v2: https://github.com/langchain-ai/langchain/pull/35541 |
||
|
|
cdda595e6e | release(langgraph) 1.0.10 (#6967) | ||
|
|
7895051c96 |
release(checkpoint): 0.4.1 (#6966)
Release langgraph-checkpoint. |
||
|
|
901ab6b3f8 | chore: add serde events (#6954) | ||
|
|
adb953ddd4 | chore: update defaults (#6953) | ||
|
|
1b37ece92f | release: rc2 (#6949) | ||
|
|
a04ec5d6f0 | release: Candidate (#6947) | ||
|
|
8087e6a42c |
docs(sdk-py): update auth docstrings to default-deny pattern (#6933)
## Summary - Updated all auth docstring examples in `libs/sdk-py` to follow a **default-closed** pattern - Every example now first registers a global `@auth.on` handler that **denies** all requests, then adds resource/action-specific handlers to selectively **allow** access - Fixed inconsistencies (e.g., `@auth.on` vs `@my_auth.on`, sync vs async handlers) and made examples more realistic ## Test plan - [x] `make format` passes - [x] `make lint` passes - [x] Changes are docstring-only — no runtime behavior affected 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> |
||
|
|
8fbdb14487 | release(sdk-py): 0.3.9 (#6932) | ||
|
|
b89ef60b91 |
feat(sdk-py): add extract parameter to threads.search() (#6880)
## Summary
- Adds `extract` parameter to `threads.search()` in both async and sync
clients
- Adds `extracted` field to the `Thread` TypedDict response type
- The `extract` parameter accepts a `dict[str, str]` mapping aliases to
JSONB paths (e.g., `{"last_msg": "values.messages[-1]"}`)
- Depends on server-side support in
https://github.com/langchain-ai/langgraph-api/pull/2609
## Test plan
- [ ] Verify types are correct via lint/format (already passing)
- [ ] Integration test against server with extract feature enabled
Release Notes: Add `extract` parameter to `threads.search()` for
extracting nested values from thread data during search.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
|
||
|
|
f702729e04 |
chore: add make type target for type checking (#6748)
|
||
|
|
e2efab8061 |
release(sdk-py): 0.3.8 (#6873)
Includes some updated docstrings. |
||
|
|
9babffa054 |
feat(sdk-py): add stream_mode, stream_subgraphs, stream_resumable, durability to crons (#6876)
## Summary - Adds `stream_mode`, `stream_subgraphs`, `stream_resumable`, and `durability` parameters to cron `create`, `create_for_thread`, and `update` methods in both async and sync clients - Adds corresponding fields to the `CronUpdate` TypedDict in `schema.py` - Adds `checkpoint_during` deprecation warnings to cron create methods (consistent with the runs client pattern) These fields were added to the OpenAPI spec in langgraph-api but were not yet reflected in the Python SDK. ## Test plan - [x] `make format` passes - [x] `make lint` passes - [x] `make test` passes (69/69, including sync/async API parity test) --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> |
||
|
|
73cebea3c2 | release: langgraph + prebuilt (#6875) | ||
|
|
5ac837d7cd |
feat(sdk-py): improve store auth type safety and docstrings (#6867)
## Summary - Add `_StoreActionOn` class with action-specific decorator properties (`.put`, `.get`, `.search`, `.delete`, `.list_namespaces`) to `_StoreOn`, enabling `@auth.on.store.put` etc. which was documented but not implemented - Update docstring examples to show namespace-rewriting pattern as the canonical store auth approach - Fix `AuthContext.action` docstring: add missing `search` and `delete` store actions - Fix typo in `StoreSearch.query` docstring - Add auth-handler-aware docstrings to all store TypedDicts ## Test plan - [x] `make format && make lint` passes in `libs/sdk-py` - [] Verify `@auth.on.store.put` decorator works at runtime Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> |
||
|
|
172238b2d5 |
fix(sdk-py): allow reset of config/context in assistants update (#6862)
This distinguishes an empty `config`/`context` (`{}`) from a null
`config`/`context`, and therefore allows resetting these fields.
(Easiest to test this E2E on the server side; will create a separate PR
for that.)
|
||
|
|
095da17833 | chore: state_updated_at sort by (#6857) | ||
|
|
666c224c2d |
chore: bump orjson (#6852)
The orjson.dumps function in orjson thru 3.11.4 does not limit recursion for deeply nested JSON documents. |
||
|
|
9b9de5bd16 |
chore: conformance testing (#6842)
Add some conformance tests for checkpointer implementations. Includes additona methods that will be useful if you want to integarte in the agent server. |
||
|
|
17b3285907 |
chore(deps): bump the all-dependencies group in /libs/sdk-py with 4 updates (#6809)
Bumps the all-dependencies group in /libs/sdk-py with 4 updates: [orjson](https://github.com/ijl/orjson), [ruff](https://github.com/astral-sh/ruff), [mypy](https://github.com/python/mypy) and [ty](https://github.com/astral-sh/ty). Updates `orjson` from 3.11.5 to 3.11.7 <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.7</h2> <h3>Changed</h3> <ul> <li>Use a faster library to serialize <code>float</code>. Users with byte-exact regression tests should note positive exponents are now written using a <code>+</code>, e.g., <code>1.2e+30</code> instead of <code>1.2e30</code>. Both formats are spec-compliant.</li> <li>ABI compatibility with CPython 3.15 alpha 5 free-threading.</li> </ul> <h2>3.11.6</h2> <h3>Changed</h3> <ul> <li>orjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).</li> <li>Drop support for Python 3.9.</li> <li>ABI compatibility with CPython 3.15 alpha 5.</li> <li>Build now depends on Rust 1.89 or later instead of 1.85.</li> </ul> <h3>Fixed</h3> <ul> <li>Fix sporadic crash serializing deeply nested <code>list</code> of <code>dict</code>.</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.7 - 2026-02-02</h2> <h3>Changed</h3> <ul> <li>Use a faster library to serialize <code>float</code>. Users with byte-exact regression tests should note positive exponents are now written using a <code>+</code>, e.g., <code>1.2e+30</code> instead of <code>1.2e30</code>. Both formats are spec-compliant.</li> <li>ABI compatibility with CPython 3.15 alpha 5 free-threading.</li> </ul> <h2>3.11.6 - 2026-01-29</h2> <h3>Changed</h3> <ul> <li>orjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).</li> <li>Drop support for Python 3.9.</li> <li>ABI compatibility with CPython 3.15 alpha 5.</li> <li>Build now depends on Rust 1.89 or later instead of 1.85.</li> </ul> <h3>Fixed</h3> <ul> <li>Fix sporadic crash serializing deeply nested <code>list</code> of <code>dict</code>.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ijl/orjson/commit/ec2b066cae79ae4a90ed126ac5723335dd99e408"><code>ec2b066</code></a> 3.11.7</li> <li><a href="https://github.com/ijl/orjson/commit/1ca01f78cf4198ec37407d83713afa6e5c53dbf9"><code>1ca01f7</code></a> zmij</li> <li><a href="https://github.com/ijl/orjson/commit/1716a226bd1f38db01503f30cd37b0efec48d88e"><code>1716a22</code></a> cargo update</li> <li><a href="https://github.com/ijl/orjson/commit/ec02024c3837255064f248c0d2d331319b75e9ad"><code>ec02024</code></a> 3.11.6</li> <li><a href="https://github.com/ijl/orjson/commit/d58168733189f82b3fd0c058dff73e05d09202e6"><code>d581687</code></a> build, clippy misc</li> <li><a href="https://github.com/ijl/orjson/commit/4105b29b2275f200f6fae01349bef02ccf1bc2e2"><code>4105b29</code></a> writer::num</li> <li><a href="https://github.com/ijl/orjson/commit/62bb185b70785ded49c79c26f8c9781f1e6fe370"><code>62bb185</code></a> Fix sporadic crash on serializing object close</li> <li><a href="https://github.com/ijl/orjson/commit/d860078a973f44401265c5c4ad12a7dbe4f839ad"><code>d860078</code></a> PyRef idiom refactors</li> <li><a href="https://github.com/ijl/orjson/commit/343ae2f148197918aba9f8562db42c364620e4b8"><code>343ae2f</code></a> Deserializer, Utf8Buffer</li> <li><a href="https://github.com/ijl/orjson/commit/7835f58d1c56947d1cf7a18acdfc07a2bca9b0f2"><code>7835f58</code></a> PyBytesRef and other input refactor</li> <li>Additional commits viewable in <a href="https://github.com/ijl/orjson/compare/3.11.5...3.11.7">compare view</a></li> </ul> </details> <br /> Updates `ruff` from 0.14.11 to 0.15.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.15.1</h2> <h2>Release Notes</h2> <p>Released on 2026-02-12.</p> <h3>Preview features</h3> <ul> <li>[<code>airflow</code>] Add ruff rules to catch deprecated Airflow imports for Airflow 3.1 (<code>AIR321</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/22376">#22376</a>)</li> <li>[<code>airflow</code>] Third positional parameter not named <code>ti_key</code> should be flagged for <code>BaseOperatorLink.get_link</code> (<code>AIR303</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/22828">#22828</a>)</li> <li>[<code>flake8-gettext</code>] Fix false negatives for plural argument of <code>ngettext</code> (<code>INT001</code>, <code>INT002</code>, <code>INT003</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/21078">#21078</a>)</li> <li>[<code>pyflakes</code>] Fix infinite loop in preview fix for <code>unused-import</code> (<code>F401</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/23038">#23038</a>)</li> <li>[<code>pygrep-hooks</code>] Detect non-existent mock methods in standalone expressions (<code>PGH005</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/22830">#22830</a>)</li> <li>[<code>pylint</code>] Allow dunder submodules and improve diagnostic range (<code>PLC2701</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/22804">#22804</a>)</li> <li>[<code>pyupgrade</code>] Improve diagnostic range for tuples (<code>UP024</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/23013">#23013</a>)</li> <li>[<code>refurb</code>] Check subscripts in tuple do not use lambda parameters in <code>reimplemented-operator</code> (<code>FURB118</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/23079">#23079</a>)</li> <li>[<code>ruff</code>] Detect mutable defaults in <code>field</code> calls (<code>RUF008</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/23046">#23046</a>)</li> <li>[<code>ruff</code>] Ignore std <code>cmath.inf</code> (<code>RUF069</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/23120">#23120</a>)</li> <li>[<code>ruff</code>] New rule <code>float-equality-comparison</code> (<code>RUF069</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/20585">#20585</a>)</li> <li>Don't format unlabeled Markdown code blocks (<a href="https://redirect.github.com/astral-sh/ruff/pull/23106">#23106</a>)</li> <li>Markdown formatting support in LSP (<a href="https://redirect.github.com/astral-sh/ruff/pull/23063">#23063</a>)</li> <li>Support Quarto Markdown language markers (<a href="https://redirect.github.com/astral-sh/ruff/pull/22947">#22947</a>)</li> <li>Support formatting <code>pycon</code> Markdown code blocks (<a href="https://redirect.github.com/astral-sh/ruff/pull/23112">#23112</a>)</li> <li>Use extension mapping to select Markdown code block language (<a href="https://redirect.github.com/astral-sh/ruff/pull/22934">#22934</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>Avoid false positive for undefined variables in <code>FAST001</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/23224">#23224</a>)</li> <li>Avoid introducing syntax errors for <code>FAST003</code> autofix (<a href="https://redirect.github.com/astral-sh/ruff/pull/23227">#23227</a>)</li> <li>Avoid suggesting <code>InitVar</code> for <code>__post_init__</code> that references PEP 695 type parameters (<a href="https://redirect.github.com/astral-sh/ruff/pull/23226">#23226</a>)</li> <li>Deduplicate type variables in generic functions (<a href="https://redirect.github.com/astral-sh/ruff/pull/23225">#23225</a>)</li> <li>Fix exception handler parenthesis removal for Python 3.14+ (<a href="https://redirect.github.com/astral-sh/ruff/pull/23126">#23126</a>)</li> <li>Fix f-string middle panic when parsing t-strings (<a href="https://redirect.github.com/astral-sh/ruff/pull/23232">#23232</a>)</li> <li>Wrap <code>RUF020</code> target for multiline fixes (<a href="https://redirect.github.com/astral-sh/ruff/pull/23210">#23210</a>)</li> <li>Wrap <code>UP007</code> target for multiline fixes (<a href="https://redirect.github.com/astral-sh/ruff/pull/23208">#23208</a>)</li> <li>Fix missing diagnostics for last range suppression in file (<a href="https://redirect.github.com/astral-sh/ruff/pull/23242">#23242</a>)</li> <li>[<code>pyupgrade</code>] Fix syntax error on string with newline escape and comment (<code>UP037</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/22968">#22968</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>Use <code>ruff</code> instead of <code>Ruff</code> as the program name in GitHub output format (<a href="https://redirect.github.com/astral-sh/ruff/pull/23240">#23240</a>)</li> <li>[<code>PT006</code>] Fix syntax error when unpacking nested tuples in <code>parametrize</code> fixes (<a href="https://redirect.github.com/astral-sh/ruff/issues/22441">#22441</a>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/22464">#22464</a>)</li> <li>[<code>airflow</code>] Catch deprecated attribute access from context key for Airflow 3.0 (<code>AIR301</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/22850">#22850</a>)</li> <li>[<code>airflow</code>] Capture deprecated arguments and a decorator (<code>AIR301</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/23170">#23170</a>)</li> <li>[<code>flake8-boolean-trap</code>] Add <code>multiprocessing.Value</code> to excluded functions for <code>FBT003</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/23010">#23010</a>)</li> <li>[<code>flake8-bugbear</code>] Add a secondary annotation showing the previous occurrence (<code>B033</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/22634">#22634</a>)</li> <li>[<code>flake8-type-checking</code>] Add sub-diagnostic showing the runtime use of an annotation (<code>TC004</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/23091">#23091</a>)</li> <li>[<code>isort</code>] Support configurable import section heading comments (<a href="https://redirect.github.com/astral-sh/ruff/pull/23151">#23151</a>)</li> <li>[<code>ruff</code>] Improve the diagnostic for <code>RUF012</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/23202">#23202</a>)</li> </ul> <h3>Formatter</h3> <!-- 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.1</h2> <p>Released on 2026-02-12.</p> <h3>Preview features</h3> <ul> <li>[<code>airflow</code>] Add ruff rules to catch deprecated Airflow imports for Airflow 3.1 (<code>AIR321</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/22376">#22376</a>)</li> <li>[<code>airflow</code>] Third positional parameter not named <code>ti_key</code> should be flagged for <code>BaseOperatorLink.get_link</code> (<code>AIR303</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/22828">#22828</a>)</li> <li>[<code>flake8-gettext</code>] Fix false negatives for plural argument of <code>ngettext</code> (<code>INT001</code>, <code>INT002</code>, <code>INT003</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/21078">#21078</a>)</li> <li>[<code>pyflakes</code>] Fix infinite loop in preview fix for <code>unused-import</code> (<code>F401</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/23038">#23038</a>)</li> <li>[<code>pygrep-hooks</code>] Detect non-existent mock methods in standalone expressions (<code>PGH005</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/22830">#22830</a>)</li> <li>[<code>pylint</code>] Allow dunder submodules and improve diagnostic range (<code>PLC2701</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/22804">#22804</a>)</li> <li>[<code>pyupgrade</code>] Improve diagnostic range for tuples (<code>UP024</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/23013">#23013</a>)</li> <li>[<code>refurb</code>] Check subscripts in tuple do not use lambda parameters in <code>reimplemented-operator</code> (<code>FURB118</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/23079">#23079</a>)</li> <li>[<code>ruff</code>] Detect mutable defaults in <code>field</code> calls (<code>RUF008</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/23046">#23046</a>)</li> <li>[<code>ruff</code>] Ignore std <code>cmath.inf</code> (<code>RUF069</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/23120">#23120</a>)</li> <li>[<code>ruff</code>] New rule <code>float-equality-comparison</code> (<code>RUF069</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/20585">#20585</a>)</li> <li>Don't format unlabeled Markdown code blocks (<a href="https://redirect.github.com/astral-sh/ruff/pull/23106">#23106</a>)</li> <li>Markdown formatting support in LSP (<a href="https://redirect.github.com/astral-sh/ruff/pull/23063">#23063</a>)</li> <li>Support Quarto Markdown language markers (<a href="https://redirect.github.com/astral-sh/ruff/pull/22947">#22947</a>)</li> <li>Support formatting <code>pycon</code> Markdown code blocks (<a href="https://redirect.github.com/astral-sh/ruff/pull/23112">#23112</a>)</li> <li>Use extension mapping to select Markdown code block language (<a href="https://redirect.github.com/astral-sh/ruff/pull/22934">#22934</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>Avoid false positive for undefined variables in <code>FAST001</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/23224">#23224</a>)</li> <li>Avoid introducing syntax errors for <code>FAST003</code> autofix (<a href="https://redirect.github.com/astral-sh/ruff/pull/23227">#23227</a>)</li> <li>Avoid suggesting <code>InitVar</code> for <code>__post_init__</code> that references PEP 695 type parameters (<a href="https://redirect.github.com/astral-sh/ruff/pull/23226">#23226</a>)</li> <li>Deduplicate type variables in generic functions (<a href="https://redirect.github.com/astral-sh/ruff/pull/23225">#23225</a>)</li> <li>Fix exception handler parenthesis removal for Python 3.14+ (<a href="https://redirect.github.com/astral-sh/ruff/pull/23126">#23126</a>)</li> <li>Fix f-string middle panic when parsing t-strings (<a href="https://redirect.github.com/astral-sh/ruff/pull/23232">#23232</a>)</li> <li>Wrap <code>RUF020</code> target for multiline fixes (<a href="https://redirect.github.com/astral-sh/ruff/pull/23210">#23210</a>)</li> <li>Wrap <code>UP007</code> target for multiline fixes (<a href="https://redirect.github.com/astral-sh/ruff/pull/23208">#23208</a>)</li> <li>Fix missing diagnostics for last range suppression in file (<a href="https://redirect.github.com/astral-sh/ruff/pull/23242">#23242</a>)</li> <li>[<code>pyupgrade</code>] Fix syntax error on string with newline escape and comment (<code>UP037</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/22968">#22968</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>Use <code>ruff</code> instead of <code>Ruff</code> as the program name in GitHub output format (<a href="https://redirect.github.com/astral-sh/ruff/pull/23240">#23240</a>)</li> <li>[<code>PT006</code>] Fix syntax error when unpacking nested tuples in <code>parametrize</code> fixes (<a href="https://redirect.github.com/astral-sh/ruff/issues/22441">#22441</a>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/22464">#22464</a>)</li> <li>[<code>airflow</code>] Catch deprecated attribute access from context key for Airflow 3.0 (<code>AIR301</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/22850">#22850</a>)</li> <li>[<code>airflow</code>] Capture deprecated arguments and a decorator (<code>AIR301</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/23170">#23170</a>)</li> <li>[<code>flake8-boolean-trap</code>] Add <code>multiprocessing.Value</code> to excluded functions for <code>FBT003</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/23010">#23010</a>)</li> <li>[<code>flake8-bugbear</code>] Add a secondary annotation showing the previous occurrence (<code>B033</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/22634">#22634</a>)</li> <li>[<code>flake8-type-checking</code>] Add sub-diagnostic showing the runtime use of an annotation (<code>TC004</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/23091">#23091</a>)</li> <li>[<code>isort</code>] Support configurable import section heading comments (<a href="https://redirect.github.com/astral-sh/ruff/pull/23151">#23151</a>)</li> <li>[<code>ruff</code>] Improve the diagnostic for <code>RUF012</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/23202">#23202</a>)</li> </ul> <h3>Formatter</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/astral-sh/ruff/commit/a2f11d239f91cf8daedb0764ec15fcfe29c5ae6d"><code>a2f11d2</code></a> Prepare for 0.15.1 (<a href="https://redirect.github.com/astral-sh/ruff/issues/23253">#23253</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/d29628e9665baa17272aad489398eb72b70e60ff"><code>d29628e</code></a> Remove docker-run-action (<a href="https://redirect.github.com/astral-sh/ruff/issues/23254">#23254</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/8a042667651d7b1cdfc1742478d2b29b04d91be0"><code>8a04266</code></a> [ty] Allow discovering dependencies in system Python environments (<a href="https://redirect.github.com/astral-sh/ruff/issues/22994">#22994</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/55d06c8879761c5500e9558502abc84cefcb7163"><code>55d06c8</code></a> Ensure pending suppression diagnostics are reported (<a href="https://redirect.github.com/astral-sh/ruff/issues/23242">#23242</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/d056a9fa6dfb842f2c0d439bf7b1a8099e5734ea"><code>d056a9f</code></a> [<code>isort</code>] support for configurable import section heading comments (<a href="https://redirect.github.com/astral-sh/ruff/issues/23151">#23151</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/e22fa4f14d8fae550249e452d11bc53756df5c7a"><code>e22fa4f</code></a> [ty] Fix method calls on subclasses of <code>Any</code> (<a href="https://redirect.github.com/astral-sh/ruff/issues/23248">#23248</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/fa56c1550d723e458b91dc2405d5537d40401d5c"><code>fa56c15</code></a> [ty] Fix bound method access on <code>None</code> (<a href="https://redirect.github.com/astral-sh/ruff/issues/23246">#23246</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/4fd07d0e1cbbb4e4c3f5b4c1f04f2d8b3f4a2bf2"><code>4fd07d0</code></a> Make range suppression test snapshot actually useful (<a href="https://redirect.github.com/astral-sh/ruff/issues/23251">#23251</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/8c63bced13b21d1952a56e6a096d9c2ec4af442f"><code>8c63bce</code></a> [ty] Include conditional symbols (like <code>datetime.UTC</code>) in auto-import in more...</li> <li><a href="https://github.com/astral-sh/ruff/commit/46be94361b3b4c54be911eb88bfbd9666eb06a6d"><code>46be943</code></a> Exclude WASM artifacts from GitHub releases (<a href="https://redirect.github.com/astral-sh/ruff/issues/23221">#23221</a>)</li> <li>Additional commits viewable in <a href="https://github.com/astral-sh/ruff/compare/0.14.11...0.15.1">compare view</a></li> </ul> </details> <br /> Updates `mypy` from 1.19.0 to 1.19.1 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/python/mypy/blob/master/CHANGELOG.md">mypy's changelog</a>.</em></p> <blockquote> <h3>Mypy 1.19.1</h3> <ul> <li>Fix noncommutative joins with bounded TypeVars (Shantanu, PR <a href="https://redirect.github.com/python/mypy/pull/20345">20345</a>)</li> <li>Respect output format for cached runs by serializing raw errors in cache metas (Ivan Levkivskyi, PR <a href="https://redirect.github.com/python/mypy/pull/20372">20372</a>)</li> <li>Allow <code>types.NoneType</code> in match cases (A5rocks, PR <a href="https://redirect.github.com/python/mypy/pull/20383">20383</a>)</li> <li>Fix mypyc generator regression with empty tuple (BobTheBuidler, PR <a href="https://redirect.github.com/python/mypy/pull/20371">20371</a>)</li> <li>Fix crash involving Unpack-ed TypeVarTuple (Shantanu, PR <a href="https://redirect.github.com/python/mypy/pull/20323">20323</a>)</li> <li>Fix crash on star import of redefinition (Ivan Levkivskyi, PR <a href="https://redirect.github.com/python/mypy/pull/20333">20333</a>)</li> <li>Fix crash on typevar with forward ref used in other module (Ivan Levkivskyi, PR <a href="https://redirect.github.com/python/mypy/pull/20334">20334</a>)</li> <li>Fail with an explicit error on PyPy (Ivan Levkivskyi, PR <a href="https://redirect.github.com/python/mypy/pull/20389">20389</a>)</li> </ul> <h3>Acknowledgements</h3> <p>Thanks to all mypy contributors who contributed to this release:</p> <ul> <li>A5rocks</li> <li>BobTheBuidler</li> <li>bzoracler</li> <li>Chainfire</li> <li>Christoph Tyralla</li> <li>David Foster</li> <li>Frank Dana</li> <li>Guo Ci</li> <li>iap</li> <li>Ivan Levkivskyi</li> <li>James Hilton-Balfe</li> <li>jhance</li> <li>Joren Hammudoglu</li> <li>Jukka Lehtosalo</li> <li>KarelKenens</li> <li>Kevin Kannammalil</li> <li>Marc Mueller</li> <li>Michael Carlstrom</li> <li>Michael J. Sullivan</li> <li>Piotr Sawicki</li> <li>Randolf Scholz</li> <li>Shantanu</li> <li>Sigve Sebastian Farstad</li> <li>sobolevn</li> <li>Stanislav Terliakov</li> <li>Stephen Morton</li> <li>Theodore Ando</li> <li>Thiago J. Barbalho</li> <li>wyattscarpenter</li> </ul> <p>I’d also like to thank my employer, Dropbox, for supporting mypy development.</p> <h2>Mypy 1.18</h2> <p>We’ve just uploaded mypy 1.18.1 to the Python Package Index (<a href="https://pypi.org/project/mypy/">PyPI</a>). Mypy is a static type checker for Python. This release includes new features, performance</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/python/mypy/commit/412c19a6bde31e7afa7f41afdf8356664689ae80"><code>412c19a</code></a> Bump version to 1.19.1</li> <li><a href="https://github.com/python/mypy/commit/20aea0a6ca0710f5427239bdd2fd8e8bf1caf634"><code>20aea0a</code></a> Update changelog for 1.19.1 (<a href="https://redirect.github.com/python/mypy/issues/20414">#20414</a>)</li> <li><a href="https://github.com/python/mypy/commit/2b23b507524bf1bd7513eea6f2a16fb91e072cb6"><code>2b23b50</code></a> Serialize raw errors in cache metas (<a href="https://redirect.github.com/python/mypy/issues/20372">#20372</a>)</li> <li><a href="https://github.com/python/mypy/commit/f60f90fb8872bf722e32aefd548daaf6d8560e05"><code>f60f90f</code></a> Fail on PyPy in main instead of setup.py (<a href="https://redirect.github.com/python/mypy/issues/20389">#20389</a>)</li> <li><a href="https://github.com/python/mypy/commit/58d485b4ea4776e0b9d4045b306cb0818ecc2aa6"><code>58d485b</code></a> Fail with an explicit error on PyPy (<a href="https://redirect.github.com/python/mypy/issues/20384">#20384</a>)</li> <li><a href="https://github.com/python/mypy/commit/a4b31a26788b70c4a2a19adbafa2bbda43dc2e8b"><code>a4b31a2</code></a> Allow <code>types.NoneType</code> in match cases (<a href="https://redirect.github.com/python/mypy/issues/20383">#20383</a>)</li> <li><a href="https://github.com/python/mypy/commit/8a6eff478416cd3ed3931a6ed77ce61c88ab69e9"><code>8a6eff4</code></a> [mypyc] fix generator regression with empty tuple (<a href="https://redirect.github.com/python/mypy/issues/20371">#20371</a>)</li> <li><a href="https://github.com/python/mypy/commit/70eceea682c041c0d8e8462dffef9c7bb252e014"><code>70eceea</code></a> Fix noncommutative joins with bounded TypeVars (<a href="https://redirect.github.com/python/mypy/issues/20345">#20345</a>)</li> <li><a href="https://github.com/python/mypy/commit/3890fc49bf7cc02db04b1e63eb2540aaacdeecc0"><code>3890fc4</code></a> Fix crash involving Unpack-ed TypeVarTuple (<a href="https://redirect.github.com/python/mypy/issues/20323">#20323</a>)</li> <li><a href="https://github.com/python/mypy/commit/c93d917a86993e06dcc88e508f28f4f5199ce1c8"><code>c93d917</code></a> Fix crash on star import of redefinition (<a href="https://redirect.github.com/python/mypy/issues/20333">#20333</a>)</li> <li>Additional commits viewable in <a href="https://github.com/python/mypy/compare/v1.19.0...v1.19.1">compare view</a></li> </ul> </details> <br /> Updates `ty` from 0.0.1a27 to 0.0.17 <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.17</h2> <h2>Release Notes</h2> <p>Released on 2026-02-13.</p> <h3>Bug fixes</h3> <ul> <li>Avoid <code>Literal</code> promotion for constrained <code>TypeVar</code>s with <code>Literal</code> bounds (<a href="https://redirect.github.com/astral-sh/ruff/pull/23209">#23209</a>)</li> <li>Fix false positives in <code>TypeVar</code> shadowing checks (<a href="https://redirect.github.com/astral-sh/ruff/pull/23222">#23222</a>)</li> </ul> <h3>Core type checking</h3> <ul> <li>Support generic protocols (<a href="https://redirect.github.com/astral-sh/ruff/pull/21902">#21902</a>)</li> <li>Perform control-flow analysis in loops (<a href="https://redirect.github.com/astral-sh/ruff/pull/22794">#22794</a>)</li> <li>Support <code>typing.Self</code> in attribute annotations (<a href="https://redirect.github.com/astral-sh/ruff/pull/23108">#23108</a>)</li> <li>Support type narrowing in situations with calls to <code>NoReturn</code> functions (<a href="https://redirect.github.com/astral-sh/ruff/pull/23109">#23109</a>)</li> <li>Support type narrowing and reachability analysis based on <code>os.name</code> checks (<a href="https://redirect.github.com/astral-sh/ruff/pull/23230">#23230</a>)</li> <li>Detect overrides of <code>Final</code> class variables in subclasses (<a href="https://redirect.github.com/astral-sh/ruff/pull/23180">#23180</a>)</li> <li>Fix bound method access on <code>None</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/23246">#23246</a>)</li> <li>Fix method calls on subclasses of <code>Any</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/23248">#23248</a>)</li> <li>Disallow type variables within PEP-695 type variable bounds and constraints (<a href="https://redirect.github.com/astral-sh/ruff/pull/22982">#22982</a>)</li> <li>Emit error for attribute access on union where some elements lack the attribute (<a href="https://redirect.github.com/astral-sh/ruff/pull/23042">#23042</a>)</li> <li>Emit error for invalid typevar defaults (<a href="https://redirect.github.com/astral-sh/ruff/pull/23194">#23194</a>)</li> <li>Improve display of <code>ParamSpec</code>s in some situations (<a href="https://redirect.github.com/astral-sh/ruff/pull/23211">#23211</a>)</li> </ul> <h3>LSP server</h3> <ul> <li>Add hover and go-to-declaration support for subscript literals (<a href="https://redirect.github.com/astral-sh/ruff/pull/22837">#22837</a>)</li> <li>Assign lower completion ranking to deprecated names in auto import (<a href="https://redirect.github.com/astral-sh/ruff/pull/23188">#23188</a>)</li> <li>Improve spans of references to submodules imported in an <code>__init__.py</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/21795">#21795</a>)</li> <li>Include conditional symbols (like <code>datetime.UTC</code>) in auto-import in more cases (<a href="https://redirect.github.com/astral-sh/ruff/pull/23249">#23249</a>)</li> <li>Support auto-import for symbols in inlay hints (<a href="https://redirect.github.com/astral-sh/ruff/pull/22111">#22111</a>)</li> <li>Include overload declarations in find-references (<a href="https://redirect.github.com/astral-sh/ruff/pull/23215">#23215</a>)</li> </ul> <h3>Performance</h3> <ul> <li>Avoid <code>UnionBuilder</code> overhead when creating a new union from the filtered elements of an existing union (<a href="https://redirect.github.com/astral-sh/ruff/pull/22352">#22352</a>)</li> </ul> <h3>Other changes</h3> <ul> <li>Allow discovering dependencies in system Python environments (<a href="https://redirect.github.com/astral-sh/ruff/pull/22994">#22994</a>)</li> <li>Apply workspace settings to virtual files (<a href="https://redirect.github.com/astral-sh/ruff/pull/23228">#23228</a>)</li> <li>Add support for <code>--output-format=junit</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/22125">#22125</a>)</li> <li>Use a smaller diagnostic range for <code>inconsistent-mro</code> diagnostics (<a href="https://redirect.github.com/astral-sh/ruff/pull/23213">#23213</a>)</li> </ul> <h3>Contributors</h3> <ul> <li><a href="https://github.com/carljm"><code>@carljm</code></a></li> <li><a href="https://github.com/BurntSushi"><code>@BurntSushi</code></a></li> <li><a href="https://github.com/charliermarsh"><code>@charliermarsh</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/ty/blob/main/CHANGELOG.md">ty's changelog</a>.</em></p> <blockquote> <h2>0.0.17</h2> <p>Released on 2026-02-13.</p> <h3>Bug fixes</h3> <ul> <li>Avoid <code>Literal</code> promotion for constrained <code>TypeVar</code>s with <code>Literal</code> bounds (<a href="https://redirect.github.com/astral-sh/ruff/pull/23209">#23209</a>)</li> <li>Fix false positives in <code>TypeVar</code> shadowing checks (<a href="https://redirect.github.com/astral-sh/ruff/pull/23222">#23222</a>)</li> </ul> <h3>Core type checking</h3> <ul> <li>Support generic protocols (<a href="https://redirect.github.com/astral-sh/ruff/pull/21902">#21902</a>)</li> <li>Perform control-flow analysis in loops (<a href="https://redirect.github.com/astral-sh/ruff/pull/22794">#22794</a>)</li> <li>Support <code>typing.Self</code> in attribute annotations (<a href="https://redirect.github.com/astral-sh/ruff/pull/23108">#23108</a>)</li> <li>Support type narrowing in situations with calls to <code>NoReturn</code> functions (<a href="https://redirect.github.com/astral-sh/ruff/pull/23109">#23109</a>)</li> <li>Support type narrowing and reachability analysis based on <code>os.name</code> checks (<a href="https://redirect.github.com/astral-sh/ruff/pull/23230">#23230</a>)</li> <li>Detect overrides of <code>Final</code> class variables in subclasses (<a href="https://redirect.github.com/astral-sh/ruff/pull/23180">#23180</a>)</li> <li>Fix bound method access on <code>None</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/23246">#23246</a>)</li> <li>Fix method calls on subclasses of <code>Any</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/23248">#23248</a>)</li> <li>Disallow type variables within PEP-695 type variable bounds and constraints (<a href="https://redirect.github.com/astral-sh/ruff/pull/22982">#22982</a>)</li> <li>Emit error for attribute access on union where some elements lack the attribute (<a href="https://redirect.github.com/astral-sh/ruff/pull/23042">#23042</a>)</li> <li>Emit error for invalid typevar defaults (<a href="https://redirect.github.com/astral-sh/ruff/pull/23194">#23194</a>)</li> <li>Improve display of <code>ParamSpec</code>s in some situations (<a href="https://redirect.github.com/astral-sh/ruff/pull/23211">#23211</a>)</li> </ul> <h3>LSP server</h3> <ul> <li>Add hover and go-to-declaration support for subscript literals (<a href="https://redirect.github.com/astral-sh/ruff/pull/22837">#22837</a>)</li> <li>Assign lower completion ranking to deprecated names in auto import (<a href="https://redirect.github.com/astral-sh/ruff/pull/23188">#23188</a>)</li> <li>Improve spans of references to submodules imported in an <code>__init__.py</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/21795">#21795</a>)</li> <li>Include conditional symbols (like <code>datetime.UTC</code>) in auto-import in more cases (<a href="https://redirect.github.com/astral-sh/ruff/pull/23249">#23249</a>)</li> <li>Support auto-import for symbols in inlay hints (<a href="https://redirect.github.com/astral-sh/ruff/pull/22111">#22111</a>)</li> <li>Include overload declarations in find-references (<a href="https://redirect.github.com/astral-sh/ruff/pull/23215">#23215</a>)</li> </ul> <h3>Performance</h3> <ul> <li>Avoid <code>UnionBuilder</code> overhead when creating a new union from the filtered elements of an existing union (<a href="https://redirect.github.com/astral-sh/ruff/pull/22352">#22352</a>)</li> </ul> <h3>Other changes</h3> <ul> <li>Allow discovering dependencies in system Python environments (<a href="https://redirect.github.com/astral-sh/ruff/pull/22994">#22994</a>)</li> <li>Apply workspace settings to virtual files (<a href="https://redirect.github.com/astral-sh/ruff/pull/23228">#23228</a>)</li> <li>Add support for <code>--output-format=junit</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/22125">#22125</a>)</li> <li>Use a smaller diagnostic range for <code>inconsistent-mro</code> diagnostics (<a href="https://redirect.github.com/astral-sh/ruff/pull/23213">#23213</a>)</li> </ul> <h3>Contributors</h3> <ul> <li><a href="https://github.com/carljm"><code>@carljm</code></a></li> <li><a href="https://github.com/BurntSushi"><code>@BurntSushi</code></a></li> <li><a href="https://github.com/charliermarsh"><code>@charliermarsh</code></a></li> <li><a href="https://github.com/Glyphack"><code>@Glyphack</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/ty/commit/8cec857182f4bc28bd8e103940341643162777f8"><code>8cec857</code></a> [ty] Bump version to 0.0.17 (<a href="https://redirect.github.com/astral-sh/ty/issues/2806">#2806</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/3650f58ffd1ce30b6ba92deed8bfc77322447aef"><code>3650f58</code></a> docs: Clarify that nvim-lspconfig is the recommended way of using ty in all v...</li> <li><a href="https://github.com/astral-sh/ty/commit/55b8ff2055aeb212d3412fb18df3ccc44553d074"><code>55b8ff2</code></a> Add note about fallback behavior to <code>python</code> in <code>PATH</code> (<a href="https://redirect.github.com/astral-sh/ty/issues/2787">#2787</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/e96ea4cd97534cb43bee6111f36bdff109c181b5"><code>e96ea4c</code></a> Bump version to 0.0.16 (<a href="https://redirect.github.com/astral-sh/ty/issues/2779">#2779</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/b393d32aa6e07e2c9100cb86b4383e78372edc40"><code>b393d32</code></a> Update docker/login-action action to v3.7.0 (<a href="https://redirect.github.com/astral-sh/ty/issues/2754">#2754</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/532b111c6a6787fb135e6491e47a9d41fe29d4a0"><code>532b111</code></a> Update actions/cache action to v5.0.3 (<a href="https://redirect.github.com/astral-sh/ty/issues/2751">#2751</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/61b037612f91b1683cab04bf68bdce4dca7857cf"><code>61b0376</code></a> Update astral-sh/setup-uv action to v7.3.0 (<a href="https://redirect.github.com/astral-sh/ty/issues/2753">#2753</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/216f8dc41a6222aac93feebda4828aa3b8535b4d"><code>216f8dc</code></a> Update prek dependencies (<a href="https://redirect.github.com/astral-sh/ty/issues/2752">#2752</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/044af7fda21189c69a489362f451ebd600ef460a"><code>044af7f</code></a> FAQ: Why doesn't ty warn about missing type annotations? (<a href="https://redirect.github.com/astral-sh/ty/issues/2721">#2721</a>)</li> <li><a href="https://github.com/astral-sh/ty/commit/eb43dff062024361be79449ebb1cff9ab61366a9"><code>eb43dff</code></a> Bump version to 0.0.15 (<a href="https://redirect.github.com/astral-sh/ty/issues/2717">#2717</a>)</li> <li>Additional commits viewable in <a href="https://github.com/astral-sh/ty/compare/0.0.1-alpha.27...0.0.17">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> |
||
|
|
d280bca8da |
chore(deps): bump langchain-core from 1.2.10 to 1.2.11 in /libs/sdk-py (#6829)
Bumps [langchain-core](https://github.com/langchain-ai/langchain) from 1.2.10 to 1.2.11. <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.2.11</h2> <p>Changes since langchain-core==1.2.10</p> <p>release(core): 1.2.11 (<a href="https://redirect.github.com/langchain-ai/langchain/issues/35144">#35144</a>) fix(openai): sanitize urls when counting tokens in images (<a href="https://redirect.github.com/langchain-ai/langchain/issues/35143">#35143</a>) chore(core): clean up docstring mismatch and redundant logic in langchain-core (<a href="https://redirect.github.com/langchain-ai/langchain/issues/35064">#35064</a>) fix(core): replace bare except with Exception in tracer (<a href="https://redirect.github.com/langchain-ai/langchain/issues/35138">#35138</a>)</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/langchain-ai/langchain/commit/524e1dab5e7c8229bd78be3c13ab38ac93a6216b"><code>524e1da</code></a> release(core): 1.2.11 (<a href="https://redirect.github.com/langchain-ai/langchain/issues/35144">#35144</a>)</li> <li><a href="https://github.com/langchain-ai/langchain/commit/2b4b1dc29a833d4053deba4c2b77a3848c834565"><code>2b4b1dc</code></a> fix(openai): sanitize urls when counting tokens in images (<a href="https://redirect.github.com/langchain-ai/langchain/issues/35143">#35143</a>)</li> <li><a href="https://github.com/langchain-ai/langchain/commit/0493b276e0be31d4f48d9d0ba5fcbce7fdded38f"><code>0493b27</code></a> fix(anthropic): support effort="max" and remove beta headers (<a href="https://redirect.github.com/langchain-ai/langchain/issues/35141">#35141</a>)</li> <li><a href="https://github.com/langchain-ai/langchain/commit/a5f22e7cb18a05ed057028797a7d0d79cd509b0d"><code>a5f22e7</code></a> chore(core): clean up docstring mismatch and redundant logic in langchain-cor...</li> <li><a href="https://github.com/langchain-ai/langchain/commit/97ee14c179f703473a6ec6ee24179ea756a5698f"><code>97ee14c</code></a> fix(core): replace bare except with Exception in tracer (<a href="https://redirect.github.com/langchain-ai/langchain/issues/35138">#35138</a>)</li> <li><a href="https://github.com/langchain-ai/langchain/commit/990e8076e1d61a0c8ced4d83607685bd71e23687"><code>990e807</code></a> release(standard-tests): release 1.1.5 (<a href="https://redirect.github.com/langchain-ai/langchain/issues/35139">#35139</a>)</li> <li><a href="https://github.com/langchain-ai/langchain/commit/74dffca3d89effdb62da567d1ff6d160c9ad5354"><code>74dffca</code></a> release(langchain): 1.2.10 (<a href="https://redirect.github.com/langchain-ai/langchain/issues/35137">#35137</a>)</li> <li>See full diff in <a href="https://github.com/langchain-ai/langchain/compare/langchain-core==1.2.10...langchain-core==1.2.11">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> |
||
|
|
fe4daa1c7c | release(sdk-py): 0.3.6 (#6805) | ||
|
|
eac6abb8ee | chore: update to add prune method (#6804) | ||
|
|
9f0ae94f27 |
chore: Re-organize client files. (#6787)
Additional guidelines: - Make sure optional dependencies are imported within a function. - Please do not add dependencies to `pyproject.toml` files (even optional ones) unless they are **required** for unit tests. - Most PRs should not touch more than one package. - Changes should be backwards compatible. --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> |
||
|
|
a734f5e6ce |
chore: server runtime type (#6774)
Main jtbd here:
a) clarify who/how a graph is being accessed and make the factory aware
of the `context` where relevant (and make it obvious when it is
available)
b) make it more clear when you can bypass / defer resources with
expensive lifespans (like MCp connections)
c) make auth access more type-safe.
Gives us room to add other information, like:
- langsmith distributed tracing information
---- old
Can start doing things like this:
```
def my_graph(runtime: ServerRuntime):
if runtime.ensure_user().permissions not in ("foo"):
raise ValueError("bar")
```
etc.
Points of expected confusion:
- You won't have a stream_writer in this context.
- This won't be an accessible object within the graph, only the graph
factory.
For maintainers, related draft PR int he server
https://github.com/langchain-ai/langgraph/pull/6774
|
||
|
|
0c0a159539 |
chore: release python sdk (#6754)
- Release cron patch and enabled fields |
||
|
|
1fb405bd55 |
feat(sdk-py): add update method for crons client (#6742)
# Description - Update Python SDK to add patch method to cron client - This method lets users modify cron attributes (except assistant ID and thread ID) --------- Co-authored-by: William Fu-Hinthorn <13333726+hinthornw@users.noreply.github.com> |
||
|
|
63bd852da9 |
feat(sdk-py): add support for enabling/disabling crons (#6740)
# Description - Update Python SDK to support enabling/disabling crons - Pass `enabled` to cron `create`, `create_for_thread`, and `search` methods |
||
|
|
82f9c09b95 |
chore(deps-dev): bump ruff from 0.14.7 to 0.14.11 in /libs/sdk-py (#6673)
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.14.7 to 0.14.11. <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.14.11</h2> <h2>Release Notes</h2> <p>Released on 2026-01-08.</p> <h3>Preview features</h3> <ul> <li>Consolidate diagnostics for matched disable/enable suppression comments (<a href="https://redirect.github.com/astral-sh/ruff/pull/22099">#22099</a>)</li> <li>Report diagnostics for invalid/unmatched range suppression comments (<a href="https://redirect.github.com/astral-sh/ruff/pull/21908">#21908</a>)</li> <li>[<code>airflow</code>] Passing positional argument into <code>airflow.lineage.hook.HookLineageCollector.create_asset</code> is not allowed (<code>AIR303</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/22046">#22046</a>)</li> <li>[<code>refurb</code>] Mark <code>FURB192</code> fix as always unsafe (<a href="https://redirect.github.com/astral-sh/ruff/pull/22210">#22210</a>)</li> <li>[<code>ruff</code>] Add <code>non-empty-init-module</code> (<code>RUF067</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/22143">#22143</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>Fix GitHub format for multi-line diagnostics (<a href="https://redirect.github.com/astral-sh/ruff/pull/22108">#22108</a>)</li> <li>[<code>flake8-unused-arguments</code>] Mark <code>**kwargs</code> in <code>TypeVar</code> as used (<code>ARG001</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/22214">#22214</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>Add <code>help:</code> subdiagnostics for several Ruff rules that can sometimes appear to disagree with <code>ty</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/22331">#22331</a>)</li> <li>[<code>pylint</code>] Demote <code>PLW1510</code> fix to display-only (<a href="https://redirect.github.com/astral-sh/ruff/pull/22318">#22318</a>)</li> <li>[<code>pylint</code>] Ignore identical members (<code>PLR1714</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/22220">#22220</a>)</li> <li>[<code>pylint</code>] Improve diagnostic range for <code>PLC0206</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/22312">#22312</a>)</li> <li>[<code>ruff</code>] Improve fix title for <code>RUF102</code> invalid rule code (<a href="https://redirect.github.com/astral-sh/ruff/pull/22100">#22100</a>)</li> <li>[<code>flake8-simplify</code>]: Avoid unnecessary builtins import for <code>SIM105</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/22358">#22358</a>)</li> </ul> <h3>Configuration</h3> <ul> <li>Allow Python 3.15 as valid <code>target-version</code> value in preview (<a href="https://redirect.github.com/astral-sh/ruff/pull/22419">#22419</a>)</li> <li>Check <code>required-version</code> before parsing rules (<a href="https://redirect.github.com/astral-sh/ruff/pull/22410">#22410</a>)</li> <li>Include configured <code>src</code> directories when resolving graphs (<a href="https://redirect.github.com/astral-sh/ruff/pull/22451">#22451</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Update <code>T201</code> suggestion to not use root logger to satisfy <code>LOG015</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/22059">#22059</a>)</li> <li>Fix <code>iter</code> example in unsafe fixes doc (<a href="https://redirect.github.com/astral-sh/ruff/pull/22118">#22118</a>)</li> <li>[<code>flake8_print</code>] better suggestion for <code>basicConfig</code> in <code>T201</code> docs (<a href="https://redirect.github.com/astral-sh/ruff/pull/22101">#22101</a>)</li> <li>[<code>pylint</code>] Restore the fix safety docs for <code>PLW0133</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/22211">#22211</a>)</li> <li>Fix Jupyter notebook discovery info for editors (<a href="https://redirect.github.com/astral-sh/ruff/pull/22447">#22447</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/ntBre"><code>@ntBre</code></a></li> <li><a href="https://github.com/cenviity"><code>@cenviity</code></a></li> <li><a href="https://github.com/njhearp"><code>@njhearp</code></a></li> <li><a href="https://github.com/cbachhuber"><code>@cbachhuber</code></a></li> <li><a href="https://github.com/jelle-openai"><code>@jelle-openai</code></a></li> <li><a href="https://github.com/AlexWaygood"><code>@AlexWaygood</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.14.11</h2> <p>Released on 2026-01-08.</p> <h3>Preview features</h3> <ul> <li>Consolidate diagnostics for matched disable/enable suppression comments (<a href="https://redirect.github.com/astral-sh/ruff/pull/22099">#22099</a>)</li> <li>Report diagnostics for invalid/unmatched range suppression comments (<a href="https://redirect.github.com/astral-sh/ruff/pull/21908">#21908</a>)</li> <li>[<code>airflow</code>] Passing positional argument into <code>airflow.lineage.hook.HookLineageCollector.create_asset</code> is not allowed (<code>AIR303</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/22046">#22046</a>)</li> <li>[<code>refurb</code>] Mark <code>FURB192</code> fix as always unsafe (<a href="https://redirect.github.com/astral-sh/ruff/pull/22210">#22210</a>)</li> <li>[<code>ruff</code>] Add <code>non-empty-init-module</code> (<code>RUF067</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/22143">#22143</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>Fix GitHub format for multi-line diagnostics (<a href="https://redirect.github.com/astral-sh/ruff/pull/22108">#22108</a>)</li> <li>[<code>flake8-unused-arguments</code>] Mark <code>**kwargs</code> in <code>TypeVar</code> as used (<code>ARG001</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/22214">#22214</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>Add <code>help:</code> subdiagnostics for several Ruff rules that can sometimes appear to disagree with <code>ty</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/22331">#22331</a>)</li> <li>[<code>pylint</code>] Demote <code>PLW1510</code> fix to display-only (<a href="https://redirect.github.com/astral-sh/ruff/pull/22318">#22318</a>)</li> <li>[<code>pylint</code>] Ignore identical members (<code>PLR1714</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/22220">#22220</a>)</li> <li>[<code>pylint</code>] Improve diagnostic range for <code>PLC0206</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/22312">#22312</a>)</li> <li>[<code>ruff</code>] Improve fix title for <code>RUF102</code> invalid rule code (<a href="https://redirect.github.com/astral-sh/ruff/pull/22100">#22100</a>)</li> <li>[<code>flake8-simplify</code>]: Avoid unnecessary builtins import for <code>SIM105</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/22358">#22358</a>)</li> </ul> <h3>Configuration</h3> <ul> <li>Allow Python 3.15 as valid <code>target-version</code> value in preview (<a href="https://redirect.github.com/astral-sh/ruff/pull/22419">#22419</a>)</li> <li>Check <code>required-version</code> before parsing rules (<a href="https://redirect.github.com/astral-sh/ruff/pull/22410">#22410</a>)</li> <li>Include configured <code>src</code> directories when resolving graphs (<a href="https://redirect.github.com/astral-sh/ruff/pull/22451">#22451</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Update <code>T201</code> suggestion to not use root logger to satisfy <code>LOG015</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/22059">#22059</a>)</li> <li>Fix <code>iter</code> example in unsafe fixes doc (<a href="https://redirect.github.com/astral-sh/ruff/pull/22118">#22118</a>)</li> <li>[<code>flake8_print</code>] better suggestion for <code>basicConfig</code> in <code>T201</code> docs (<a href="https://redirect.github.com/astral-sh/ruff/pull/22101">#22101</a>)</li> <li>[<code>pylint</code>] Restore the fix safety docs for <code>PLW0133</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/22211">#22211</a>)</li> <li>Fix Jupyter notebook discovery info for editors (<a href="https://redirect.github.com/astral-sh/ruff/pull/22447">#22447</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/ntBre"><code>@ntBre</code></a></li> <li><a href="https://github.com/cenviity"><code>@cenviity</code></a></li> <li><a href="https://github.com/njhearp"><code>@njhearp</code></a></li> <li><a href="https://github.com/cbachhuber"><code>@cbachhuber</code></a></li> <li><a href="https://github.com/jelle-openai"><code>@jelle-openai</code></a></li> <li><a href="https://github.com/AlexWaygood"><code>@AlexWaygood</code></a></li> <li><a href="https://github.com/ValdonVitija"><code>@ValdonVitija</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/c920cf8cdb247a9fd8e15a4c9d2efa838f7a78a3"><code>c920cf8</code></a> Bump 0.14.11 (<a href="https://redirect.github.com/astral-sh/ruff/issues/22462">#22462</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/bb757b5a79888f28264f629b5667a0514071f7d6"><code>bb757b5</code></a> [ty] Don't show diagnostics for excluded files (<a href="https://redirect.github.com/astral-sh/ruff/issues/22455">#22455</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/1f49e8ef518b75207e155595aba57acd48205078"><code>1f49e8e</code></a> Include configured <code>src</code> directories when resolving graphs (<a href="https://redirect.github.com/astral-sh/ruff/issues/22451">#22451</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/701f5134ab7c1a860145dccc8abb3716a3f89fe7"><code>701f513</code></a> [ty] Only consider fully static pivots when deriving transitive constraints (...</li> <li><a href="https://github.com/astral-sh/ruff/commit/eea9ad83528a7f492662f6427cdbb6fc2f655bb5"><code>eea9ad8</code></a> Pin maturin version (<a href="https://redirect.github.com/astral-sh/ruff/issues/22454">#22454</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/eeac2bd3eed2f4b8f4a71e0c945721481b25efc0"><code>eeac2bd</code></a> [ty] Optimize union building for unions with many enum-literal members (<a href="https://redirect.github.com/astral-sh/ruff/issues/22363">#22363</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/7319c37f4eb063e9590e1f09c8e92d7dabc63403"><code>7319c37</code></a> docs: fix jupyter notebook discovery info for editors (<a href="https://redirect.github.com/astral-sh/ruff/issues/22447">#22447</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/805503c19a6b74c5803e10123077997e29a0da37"><code>805503c</code></a> [<code>ruff</code>] Improve fix title for <code>RUF102</code> invalid rule code (<a href="https://redirect.github.com/astral-sh/ruff/issues/22100">#22100</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/68a2f6c57d70052d0805b46b0e3a2538598b856f"><code>68a2f6c</code></a> [ty] Fix <code>super()</code> with TypeVar-annotated <code>self</code> and <code>cls</code> parameter (<a href="https://redirect.github.com/astral-sh/ruff/issues/22208">#22208</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/abaa735e1d027cf458a2ab83d8a422d74111580c"><code>abaa735</code></a> [ty] Improve <code>UnionBuilder</code> performance by changing <code>Type::is_subtype_of</code> cal...</li> <li>Additional commits viewable in <a href="https://github.com/astral-sh/ruff/compare/0.14.7...0.14.11">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 merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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) </details> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: William Fu-Hinthorn <13333726+hinthornw@users.noreply.github.com> |
||
|
|
b0c6126f2a |
chore(deps): upgrade dependencies with uv lock --upgrade (#6671)
This PR updates the dependencies in all Python packages using `uv lock --upgrade`. This is an automated PR created by the UV Lock Upgrade workflow. Co-authored-by: sydney-runkle <54324534+sydney-runkle@users.noreply.github.com> |
||
|
|
0cab88c7dd |
docs: clarify cron job schedule interpretation in UTC (#6692)
## Description Adds docstring clarification that cron schedules are interpreted in UTC for `CronClient.create`, `CronClient.create_for_thread`, and their sync variants. |
||
|
|
089cdd0ffb | chore: update twitter URLs (#6683) | ||
|
|
e820097701 | chore: Better error messages (#6681) | ||
|
|
5212369bd0 |
feat(sdk-py): add end-time to crons client (#6674)
**Description:** The crons create endpoint supports an end-time field that is not currently supported in the client. Adding that parameter here. **Issue:** N/A **Dependencies:** N/A **Twitter handle:** N/A |
||
|
|
454af21896 |
feat(sdk-py): cron.on_run_completed support (#6662)
**Description:** this PR adds cron.on_run_completed support to the SDK. documentation https://github.com/langchain-ai/docs/pull/2147 js equivalent change https://github.com/langchain-ai/langgraphjs/pull/1845 original langgraph-api change https://github.com/langchain-ai/langgraph-api/pull/1731 **Issue:** LSD-172 --------- Signed-off-by: Connor Braa <cwlbraa@langchain.dev> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com> |
||
|
|
b4630d8452 | chore: delete docs (#6488) | ||
|
|
eec823cbd6 |
release(sdk-py): bump to 0.3.1 (#6610)
bumping sdk-py for custom encryption cleanup changes (#6595) - these are breaking changes on this beta, unreleased and unused feature. Signed-off-by: Connor Braa <cwlbraa@langchain.dev> |
||
|
|
9eac53db4b |
fix(sdk-py): remove model-type specific custom json encryption annotations & document key preservation limitations (#6595)
In langgraph-api, custom-encrypted JSONs need to continue to be SQL-json-mergable after encryption. Previous WIP docs advocated for custom encryption impls where all encrypted kv pairs were shoved into a `__encrypted__: $encrypted_kvs` meta-key. Turns out that pattern causes data loss when running PATCH-style partial updates or in the many places langgraph-api json-SQL-merges across model types. This PR contains 2 SDK fixes: 1. remove model-type specific custom json encryption annotations - these cause surprising behavior as config and context data propagates across model types, specifically because today we can't guarantee that data encrypted as one model-type will be decrypted as the same model-type because kv pairs move across model-types in pure SQL 2. document limitations and validation around "key preservation" in custom json encryption functions. langgraph-api now validates that custom JSON encryption fns don't change keys. That validation prevents customizers from writing custom encryption functions that cause data loss through patch endpoints and x-model merge propagation. --------- Signed-off-by: Connor Braa <cwlbraa@langchain.dev> |
||
|
|
efe78447b3 |
feat(sdk-py): emit id as part of stream events (#6581)
- **Description:** Provide the id of the event for routes that use SSE streams. This will allow for more custom retry logic when streams disconnect if needed. - **Issue:** N/A - **Dependencies:** N/A - **Twitter handle:** N/A --------- Co-authored-by: William FH <13333726+hinthornw@users.noreply.github.com> |
||
|
|
76711536f9 |
feat(sdk-py): Add name parameter to Assistants count API (#6558)
**Description**: The Agent Server API now supports counting assistants by name. This is similar to adding the `name` parameter to the Assistants search API: https://github.com/langchain-ai/langgraph/pull/6483 |
||
|
|
94698c8a34 |
feat: custom encryption at rest (#6482)
**Description:** This PR adds the Python SDK types necessary for langgraph platform users to inject their own custom encryption-at-rest functions. See [docs PR](https://github.com/langchain-ai/docs/pull/1715) for more details. note: this PR adds a starlette dev dependency so that custom encryption can access BaseUser information. **Issue:** required for LSD-172 **Dependencies:** - [depended upon by associated langgraph-api changes](https://github.com/langchain-ai/langgraph-api/pull/1773)(this PR must merge before that one) - [docs PR](https://github.com/langchain-ai/docs/pull/1715) **TODO:** - [x] move docs to docs repo - [x] bump package versions before merge --------- Signed-off-by: Connor Braa <cwlbraa@langchain.dev> Co-authored-by: Claude <noreply@anthropic.com> |
||
|
|
f211fadc2b |
release(sdk-py): Configure loopback client (#6536)
Will defer defaulting to deferred registration until a later date. |
||
|
|
024468c5dd | chore: Bump lockfile (#6537) | ||
|
|
55ed7d4b49 | feat: Include pagination in assistants search response (#6526) | ||
|
|
4cb108ccd9 | release(sdk-py): 0.2.11 (#6501) |