LangGraph Updates & Release Notes

53 updates curated from 1 source by the Releasebot Team. Last updated: May 23, 2026

Get this feed:
  • May 22, 2026
    • Date parsed from source:
      May 22, 2026
    • First seen by Releasebot:
      May 23, 2026
    LangChain logo

    LangGraph by LangChain

    langgraph-sdk==0.3.15

    LangGraph releases a new SDK update with better cron search and count filtering, safer URL handling for caller-supplied identifiers, and refreshed package versions across the stack.

    Changes since sdk==0.3.14

    • release(checkpoint): 4.1.1 (#7890)
    • release(sdk-py): 0.3.15 (#7891)
    • fix(sdk-py): percent-encode caller-supplied identifiers in URL paths (#7893)
    • release(langgraph): 1.2.1 (#7883)
    • chore(deps): bump idna from 3.11 to 3.15 in /libs/sdk-py (#7863)
    • chore(deps): bump urllib3 from 2.6.3 to 2.7.0 in /libs/sdk-py (#7764)
    • chore(deps): bump langsmith from 0.7.31 to 0.8.0 in /libs/sdk-py (#7789)
    • release: bump alpha packages to official versions (#7775)
    • chore(langgraph): bump langchain-core to 1.4.0 (#7767)
    • feat(sdk-py): support metadata filter for crons search/count (#7737)
    • chore(deps): bump ty from 0.0.23 to 0.0.33 in /libs/sdk-py (#7666)
    Original source
  • May 22, 2026
    • Date parsed from source:
      May 22, 2026
    • First seen by Releasebot:
      May 23, 2026
    LangChain logo

    LangGraph by LangChain

    langgraph-checkpoint==4.1.1

    LangGraph fixes checkpoint envelope revival and updates checkpoint dependencies in 4.1.1.

    Changes since checkpoint

    release(checkpoint): 4.1.1 (#7890)

    fix(checkpoint): restrict lc:2 envelope revival to default constructor (#7892)

    chore(deps): bump idna from 3.11 to 3.15 in /libs/checkpoint (#7860)

    chore(deps): bump langsmith from 0.7.31 to 0.8.0 in /libs/checkpoint (#7784)

    Original source
  • All of your release notes in one feed

    Join Releasebot and get updates from LangChain and hundreds of other software products.

    Create account
  • May 21, 2026
    • Date parsed from source:
      May 21, 2026
    • First seen by Releasebot:
      May 22, 2026
    LangChain logo

    LangGraph by LangChain

    langgraph==1.2.1

    LangGraph ships 1.2.1 with opt-in before_builtins stream transformers and fixes to keep tool results out of v3 messages.

    Changes since 1.2.0

    release(langgraph): 1.2.1 (#7883)

    feat(langgraph): add before_builtins opt-in for stream transformers (#7882)

    chore(deps): bump idna from 3.11 to 3.15 in /libs/langgraph (#7866)

    fix(langgraph): keep tool results out of v3 messages (#7838)

    chore(deps): bump langsmith from 0.7.31 to 0.8.0 in /libs/langgraph (#7788)

    Original source
  • May 12, 2026
    • Date parsed from source:
      May 12, 2026
    • First seen by Releasebot:
      May 12, 2026
    LangChain logo

    LangGraph by LangChain

    langgraph==1.2.0

    LangGraph releases a new update with official package versions and key reliability upgrades, including durable error-handler resume across host crashes, a new set_node_defaults() option for StateGraph, and checkpoint and delta channel improvements.

    Changes since 1.2.0a7

    release: bump alpha packages to official versions (#7775)

    feat(langgraph): durable error-handler resume across host crashes (#7773)

    feat(langgraph): add set_node_defaults() to StateGraph (#7747)

    chore(deps): bump urllib3 from 2.6.3 to 2.7.0 in /libs/langgraph (#7766)

    chore(deps): bump mistune from 3.2.0 to 3.2.1 in /libs/langgraph (#7733)

    chore(langgraph): bump langchain-core to 1.4.0 (#7767)

    feat(checkpoint): force delta channel snapshot after max supersteps since last snapshot (#7746)

    test(langgraph): de-flake heartbeat progress test (#7735)

    chore(langgraph): re-implement exit mode for delta channel (#7730)

    chore(deps): bump ty from 0.0.23 to 0.0.33 in /libs/sdk-py (#7666)

    docs(checkpoint): mark DeltaChannel and delta-history APIs as beta (#7732)

    chore(deps): bump jupyter-server from 2.17.0 to 2.18.0 in /libs/langgraph (#7713)

    feat(checkpoint-sqlite): override get_delta_channel_history with streaming walk (#7702)

    chore: "chore: minor clean up around checkpoint and delta channel" (#7706)

    chore: minor clean up around checkpoint and delta channel (#7705)

    Original source
  • May 12, 2026
    • Date parsed from source:
      May 12, 2026
    • First seen by Releasebot:
      May 12, 2026
    LangChain logo

    LangGraph by LangChain

    langgraph-prebuilt==1.1.0

    LangGraph ships alpha updates with official package versions, a new checkpoint-sqlite streaming walk override, and dependency bumps.

    Changes since prebuilt==1.1.0a2

    release: bump alpha packages to official versions (#7775)

    chore(deps): bump urllib3 from 2.6.3 to 2.7.0 in /libs/prebuilt (#7763)

    chore(langgraph): bump langchain-core to 1.4.0 (#7767)

    chore(deps): bump ty from 0.0.23 to 0.0.33 in /libs/sdk-py (#7666)

    feat(checkpoint-sqlite): override get_delta_channel_history with streaming walk (#7702)

    chore(deps-dev): bump the minor-and-patch group across 1 directory with 3 updates (#7698)

    release: alpha bump (a4) for langgraph, checkpoint, checkpoint-postgres (#7701)

    release: alpha bump langgraph 1.2.0a6 (#7697)

    Original source
  • May 12, 2026
    • Date parsed from source:
      May 12, 2026
    • First seen by Releasebot:
      May 12, 2026
    LangChain logo

    LangGraph by LangChain

    langgraph-cli==0.4.26

    LangGraph releases CLI 0.4.26 with prerelease API version support and dependency updates.

    Changes since cli==0.4.25

    release(cli): 0.4.26 (#7772)

    fix(cli): add support for prerelease api_versions (#7771)

    chore(deps): bump the uv group across 2 directories with 1 update (#7749)

    chore(deps): bump urllib3 from 2.6.3 to 2.7.0 in /libs/cli (#7765)

    chore(deps): bump langchain-core from 1.3.0 to 1.3.3 in /libs/cli (#7753)

    Original source
  • May 12, 2026
    • Date parsed from source:
      May 12, 2026
    • First seen by Releasebot:
      May 12, 2026
    LangChain logo

    LangGraph by LangChain

    langgraph-checkpoint-sqlite==3.1.0

    LangGraph ships checkpoint-sqlite updates, bumps dependencies, removes a helper, and adds delta channel checkpointer conformance guidance.

    Changes since checkpointsqlite==3.1.0a1

    • release: bump alpha packages to official versions (#7775)
    • chore(deps): bump urllib3 from 2.6.3 to 2.7.0 in /libs/checkpoint-sqlite (#7760)
    • chore(deps): bump langchain-core from 1.2.28 to 1.3.3 in /libs/checkpoint-sqlite (#7751)
    • chore: remove keepset helper (#7745)
    • chore(langgraph): add guide/conformance for delta channel checkpointer (#7736)
    Original source
  • May 12, 2026
    • Date parsed from source:
      May 12, 2026
    • First seen by Releasebot:
      May 12, 2026
    LangChain logo

    LangGraph by LangChain

    langgraph-checkpoint-postgres==3.1.0

    LangGraph ships checkpoint-postgres updates with official package versions, dependency bumps, and a UNION ALL fix.

    Changes since checkpointpostgres==3.1.0a4

    • release: bump alpha packages to official versions (#7775)
    • chore(deps): bump urllib3 from 2.6.3 to 2.7.0 in /libs/checkpoint-postgres (#7761)
    • chore(deps): bump langchain-core from 1.3.2 to 1.3.3 in /libs/checkpoint-postgres (#7754)
    • fix(checkpoint-postgres): add column aliases to seed-blob branch of delta stage-2 UNION ALL (#7728)
    Original source
  • May 12, 2026
    • Date parsed from source:
      May 12, 2026
    • First seen by Releasebot:
      May 12, 2026
    LangChain logo

    LangGraph by LangChain

    langgraph-checkpoint==4.1.0

    LangGraph releases checkpoint updates with alpha packages moved to official versions, a new delta channel snapshot rule after max supersteps, and a Reviver fix. It also marks DeltaChannel and delta-history APIs as beta while refining checkpoint and delta channel behavior.

    Changes since checkpoint==4.1.0a4

    release: bump alpha packages to official versions (#7775)

    chore(deps): bump urllib3 from 2.6.3 to 2.7.0 in /libs/checkpoint (#7762)

    chore(deps): bump langchain-core from 1.3.2 to 1.3.3 in /libs/checkpoint (#7752)

    feat(checkpoint): force delta channel snapshot after max supersteps since last snapshot (#7746)

    fix(checkpoint): specify allowed_objects in Reviver (#7743)

    chore: remove keepset helper (#7745)

    chore(langgraph): add guide/conformance for delta channel checkpointer (#7736)

    docs(checkpoint): mark DeltaChannel and delta-history APIs as beta (#7732)

    chore(deps): bump the minor-and-patch group across 1 directory with 3 updates (#7670)

    chore: "chore: minor clean up around checkpoint and delta channel" (#7706)

    chore: minor clean up around checkpoint and delta channel (#7705)

    Original source
  • May 7, 2026
    • Date parsed from source:
      May 7, 2026
    • First seen by Releasebot:
      May 8, 2026
    LangChain logo

    LangGraph by LangChain

    langgraph-cli==0.4.25

    LangGraph adds CLI studio deploy support and bumps the CLI version with dependency updates.

    Changes since cli==0.4.24

    release: bump cli version (#7734)

    feat(cli): support studio deploy (#7394)

    chore(deps): bump the minor-and-patch group in /libs/cli with 4 updates (#7674)

    chore(deps): bump the minor-and-patch group in /libs/cli/js-examples with 8 updates (#7673)

    chore(deps): bump the minor-and-patch group in /libs/cli/js-monorepo-example with 7 updates (#7671)

    chore: update x links to langchain_oss (#7645)

    Original source
  • May 5, 2026
    • Date parsed from source:
      May 5, 2026
    • First seen by Releasebot:
      May 6, 2026
    LangChain logo

    LangGraph by LangChain

    langgraph-sdk==0.3.14

    LangGraph releases SDK-Python 0.3.14 with return_minimal for thread updates, adds v3 stream_events support on Pregel, and brings new streaming transformer infrastructure. The update also includes fresh alpha bumps across LangGraph, checkpoint, prebuilt, and timers.

    Changes since sdk==0.3.13

    release(sdk-py): 0.3.14 (#7712)

    feat(sdk-py): add return_minimal to threads update (#7704)

    release: alpha bump (a4) for langgraph, checkpoint, checkpoint-postgres (#7701)

    release: alpha bump langgraph 1.2.0a6 (#7697)

    release: alpha bump prebuilt 1.1.0a2, langgraph 1.2.0a5 (#7682)

    release: alpha bump prebuilt 1.1.0a1, langgraph 1.2.0a4 (#7679)

    feat(langgraph): dispatch stream_events(version='v3') on Pregel (#7677)

    release: alpha bump (a3) for langgraph, checkpoint, checkpoint-postgres (#7678)

    release: alpha for timers (#7647)

    chore: update x links to langchain_oss (#7645)

    feat(langgraph): add streaming transformer infrastructure and tests (#7519)

    chore(deps): bump the minor-and-patch group across 1 directory with 4 updates (ty held back) (#7635)

    release(prebuilt): 1.0.12, langgraph 1.1.10 (#7623)

    release(checkpoint): 4.0.3 (#7625)

    release(prebuilt): 1.0.11 (#7610)

    feat(prebuilt): allow ToolNode tools to return list[Command | ToolMessage] (#7596)

    chore(langgraph): bump version 1.1.8 -> 1.1.9 (#7563)

    release(langgraph): 1.1.8 (#7545)

    release(prebuilt): 1.0.10 (#7541)

    release(langgraph): 1.1.7 (#7540)

    chore(deps): bump langsmith from 0.7.20 to 0.7.31 in /libs/sdk-py (#7528)

    release(checkpoint): 4.0.2 (#7518)

    chore(deps-dev): bump pytest from 9.0.2 to 9.0.3 in /libs/sdk-py (#7504)

    release(langgraph): 1.1.7a2 (#7511)

    chore: allow passing some metadata only for tracing purposes (#7383)

    release(langgraph): 1.1.7a1 (#7476)

    chore(deps): bump langchain-core from 1.2.22 to 1.2.28 in /libs/sdk-py (#7449)

    Original source
  • May 5, 2026
    • Date parsed from source:
      May 5, 2026
    • First seen by Releasebot:
      May 6, 2026
    LangChain logo

    LangGraph by LangChain

    langgraph-checkpoint-sqlite==3.1.0a1

    LangGraph adds checkpoint-sqlite improvements, including a streaming walk override for get_delta_channel_history, a public get_writes_history saver API, and a delta cadence rework. It also ships alpha bumps across langgraph, checkpoint, checkpoint-postgres, plus alpha timers support.

    Changes since checkpointsqlite==3.0.3

    feat(checkpoint-sqlite): override get_delta_channel_history with streaming walk (#7702)
    release: alpha bump (a4) for langgraph, checkpoint, checkpoint-postgres (#7701)
    feat: public get_writes_history saver API + delta cadence rework (#7699)
    chore(deps): bump the minor-and-patch group in /libs/checkpoint-sqlite with 2 updates (#7668)
    release: alpha bump (a3) for langgraph, checkpoint, checkpoint-postgres (#7678)
    release: alpha for timers (#7647)
    chore: update x links to langchain_oss (#7645)
    release(checkpoint): 4.0.3 (#7625)
    chore(deps): bump langsmith from 0.6.4 to 0.7.31 in /libs/checkpoint-sqlite (#7524)
    release(checkpoint): 4.0.2 (#7518)
    docs: document LANGGRAPH_STRICT_MSGPACK for checkpoint security (#7517)
    chore(deps): bump pytest from 9.0.2 to 9.0.3 in /libs/checkpoint-sqlite (#7502)
    chore(deps): bump langchain-core from 1.2.22 to 1.2.28 in /libs/checkpoint-sqlite (#7451)
    chore(deps): bump the minor-and-patch group in /libs/checkpoint-sqlite with 3 updates (#7374)
    chore(deps): bump pygments from 2.19.2 to 2.20.0 in /libs/checkpoint-sqlite (#7350)
    chore(deps): bump langchain-core from 1.2.11 to 1.2.22 in /libs/checkpoint-sqlite (#7318)
    chore(deps): bump requests from 2.32.5 to 2.33.0 in /libs/checkpoint-sqlite (#7279)
    chore(deps): bump the all-dependencies group in /libs/checkpoint-sqlite with 2 updates (#7248)
    chore(deps): bump ruff from 0.15.5 to 0.15.6 in /libs/checkpoint-sqlite in the all-dependencies group (#7191)
    chore(deps): bump orjson from 3.11.5 to 3.11.6 in /libs/checkpoint-sqlite (#7144)
    chore(deps): bump the all-dependencies group across 1 directory with 2 updates (#7070)
    release(checkpoint): 0.4.1 (#6966)
    chore: add serde events (#6954)
    chore: update defaults (#6953)
    release: rc2 (#6949)
    release: Candidate (#6947)
    Merge commit from fork
    chore(deps-dev): bump ruff from 0.15.1 to 0.15.2 in /libs/checkpoint-sqlite in the all-dependencies group (#6913)
    chore: add make type target for type checking (#6748)
    chore(deps): bump ruff from 0.14.13 to 0.15.1 in /libs/checkpoint-sqlite in the all-dependencies group (#6807)
    chore(deps): bump langchain-core from 1.2.7 to 1.2.11 in /libs/checkpoint-sqlite (#6828)

    Original source
  • May 4, 2026
    • Date parsed from source:
      May 4, 2026
    • First seen by Releasebot:
      May 4, 2026
    LangChain logo

    LangGraph by LangChain

    langgraph==1.2.0a7

    LangGraph adds a public get_writes_history saver API and reworks delta cadence in an alpha update.

    Changes since 1.2.0a6

    release: alpha bump (a4) for langgraph, checkpoint, checkpoint-postgres (#7701)

    feat: public get_writes_history saver API + delta cadence rework (#7699)

    Original source
  • May 4, 2026
    • Date parsed from source:
      May 4, 2026
    • First seen by Releasebot:
      May 4, 2026
    LangChain logo

    LangGraph by LangChain

    langgraph==1.2.0a6

    LangGraph adds alpha controls for node execution with timeouts, error recovery, and graceful shutdown, plus DeltaChannel to reduce checkpoint overhead for long-running threads and a new beta content-block streaming API with typed per-channel projections.

    langgraph v1.2 (alpha)

    This release adds finer-grained control over node execution — timeouts, error recovery, and graceful shutdown — a new channel type that cuts checkpoint overhead for long-running threads, and a new content-block-centric streaming API (v3) with typed, per-channel projections.

    DeltaChannel (beta)

    A new channel type that stores only the incremental delta at each step rather than re-serializing the full accumulated value. Most useful for channels that grow large over time — for example, a message list in a long-running thread. Without it, the full message list is written into every checkpoint; with DeltaChannel, only the new messages from each step are stored.

    Use snapshot_frequency=K to write a full snapshot every K steps and bound read latency:

    from typing import Annotated, Sequence
    from typing_extensions import TypedDict
    from langgraph.channels import DeltaChannel
    
    # batch reducer: receives the current value and all writes from the superstep at once
    def list_reducer(messages: list[str], writes: Sequence[list[str]]) -> list[str]:
        return [*messages, *(item for write in writes for item in write)]
    
    class State(TypedDict):
        messages: Annotated[list[str], DeltaChannel(list_reducer, snapshot_frequency=5)]
    

    Read the DeltaChannel docs →

    Per-node timeouts

    Pass timeout= to add_node to cap how long a single attempt may run. You can set a hard wall-clock limit (run_timeout), an idle limit that resets on progress (idle_timeout), or both. When the limit fires, LangGraph raises NodeTimeoutError, clears any writes from that attempt, and hands off to the retry policy. Timeouts apply to async nodes only; sync nodes with timeout= are rejected at compile time.

    from langgraph.types import RetryPolicy, TimeoutPolicy
    
    # Hard wall-clock limit: abort after 2 minutes regardless of progress
    builder.add_node(
        "call_model",
        call_model,
        timeout=TimeoutPolicy(run_timeout=120),
        retry_policy=RetryPolicy(max_attempts=3),
    )
    
    # Idle limit: abort if no output is yielded for 30 seconds —
    # useful for streaming nodes where partial progress should keep the clock reset
    builder.add_node(
        "stream_response",
        stream_response,
        timeout=TimeoutPolicy(idle_timeout=30),
    )
    
    # Both: cap total duration and require steady progress
    builder.add_node(
        "fetch_and_parse",
        fetch_and_parse,
        timeout=TimeoutPolicy(run_timeout=120, idle_timeout=30),
    )
    
    # Heartbeat: yield sentinel values to reset the idle clock during long async work,
    # without writing anything meaningful to state
    async def slow_tool(state: State) -> AsyncIterator[dict]:
        async for chunk in call_external_api():
            process(chunk)
            yield {}  # heartbeat — resets idle_timeout, writes nothing
    
    builder.add_node(
        "slow_tool",
        slow_tool,
        timeout=TimeoutPolicy(idle_timeout=10),
    )
    

    Read the timeouts docs →

    Node-level error handlers

    Pass error_handler= to add_node to run a recovery function after all retries are exhausted. The handler receives a typed NodeError with the failing node name and exception, and can return a Command to update state and route to a different node — useful for Saga/compensation patterns where you want to recover gracefully rather than abort the graph. Handler failures propagate up normally; interrupt() inside a node bypasses the handler as expected.

    from langgraph.errors import NodeError
    from langgraph.types import Command, RetryPolicy
    
    def payment_error_handler(state: State, error: NodeError) -> Command:
        return Command(
            update={"status": f"compensated: {error.error}"},
            goto="finalize",
        )
    
    builder.add_node(
        "charge_payment",
        charge_payment,
        retry_policy=RetryPolicy(max_attempts=3, retry_on=ConnectionError),
        error_handler=payment_error_handler,
    )
    

    Read the error handler docs →

    Graceful shutdown

    Stop an in-flight run cooperatively — after the current superstep completes — and save a resumable checkpoint. Unlike timeouts, which fire mid-node, graceful shutdown waits for running work to finish before halting.

    import signal
    from langgraph.runtime import RunControl
    from langgraph.errors import GraphDrained
    
    control = RunControl()
    signal.signal(signal.SIGTERM, lambda *_: control.request_drain("sigterm"))
    
    try:
        result = graph.invoke(inputs, config, control=control)
    except GraphDrained as e:
        # Stopped cleanly after the current superstep. Resume later with the same config.
        log.info("graph drained: %s", e.reason)
    
    # Resume on next startup:
    result = graph.invoke(None, config)
    

    Read the graceful shutdown docs →

    All five features require langgraph>=1.2. Timeouts and error handlers are Python-only; retry policies continue to work in both Python and TypeScript.

    New event streaming API (beta)

    A new content-block-centric streaming protocol that replaces dict-shaped events with typed, per-channel streams. version="v3" returns a GraphRunStream (sync) or AsyncGraphRunStream (async) — a handle whose typed projections the caller drives by iterating, rather than an iterator of StreamEvent dicts that callers must filter and reassemble.

    run = graph.stream_events(input, version="v3")
    for state in run.values:  # one snapshot per superstep
        print(state)
    print(run.output)  # final state
    print(run.interrupted, run.interrupts)
    

    run.output, run.interrupted, and run.interrupts are populated regardless of which transformers are registered, so the "run to completion and read the result" path stays one line.

    Per-LLM streams with typed sub-projections

    run.messages yields one ChatModelStream (or AsyncChatModelStream) per LLM call. Each exposes typed sub-projections — text tokens, reasoning, tool calls, usage — so consumers can pick the slice they care about without filtering chunks by hand:

    async for chat in graph.astream_events(input, version="v3").messages:
        async for token in chat.text:
            print(token, end="", flush=True)
    tool_calls = await chat.tool_calls.collect()
    final = await chat.output  # finalized AIMessage
    

    This is the recommended path for token-level streaming to a UI in 1.2. Content-block streaming requires v3 end-to-end, including any inner graphs.

    Built-in projections

    Projection
    What it carries

    run.values
    full state snapshot per superstep (also drives run.output etc.)

    run.messages
    one ChatModelStream per LLM call

    run.lifecycle
    subgraph started / completed / failed payloads

    run.subgraphs
    navigation handles for direct-child subgraphs

    Other channels are opt-in — register them via compile(transformers=[...]) or the call-site transformers= on stream_events:

    Transformer
    Adds

    UpdatesTransformer
    run.updates

    CustomTransformer
    run.custom

    CheckpointsTransformer
    run.checkpoints

    TasksTransformer
    run.tasks

    DebugTransformer
    run.debug

    from langgraph.stream import UpdatesTransformer, CustomTransformer
    
    graph = builder.compile(transformers=[UpdatesTransformer, CustomTransformer])
    run = graph.stream_events(input, version="v3")
    for update in run.updates:
        print(update)
    

    Projections are single-consumer by default — iterating run.values twice raises. Use projection.tee(n) (or atee(n) async) for fan-out, or run.interleave("messages", "values") to consume multiple projections in arrival order.

    Custom transformers

    Compile with transformers=[...] to register custom projections that propagate to subgraph scopes automatically. Each transformer declares the stream modes it needs; the runtime builds the union and subscribes to exactly that — no hardcoded defaults, no overhead for modes nobody consumes.

    from typing import Any
    from langgraph.stream import StreamTransformer, StreamChannel
    
    class TokenCounter(StreamTransformer):
        """Surface per-call token usage for chat models at the run scope."""
        required_stream_modes = ("messages",)
    
        def __init__(self, scope: tuple[str, ...] = ()) -> None:
            super().__init__(scope)
            self._scope_list = list(scope)
            self.usage: StreamChannel[dict[str, int]] = StreamChannel()
    
        def init(self) -> dict[str, Any]:
            return {"token_usage": self.usage}
    
        def process(self, event) -> bool:
            if event["method"] != "messages":
                return True
            if event["params"]["namespace"] != self._scope_list:
                return True
            payload, _meta = event["params"]["data"]
            if not isinstance(payload, dict) or payload.get("event") != "message-finish":
                return True
            if "usage" in payload:
                self.usage.push(payload["usage"])
            return True
    
    graph = builder.compile(transformers=[TokenCounter])
    run = graph.stream_events(input, version="v3")
    run.output  # drive to completion
    usages = list(run.extensions["token_usage"])
    total_in = sum(u.get("input_tokens", 0) for u in usages)
    total_out = sum(u.get("output_tokens", 0) for u in usages)
    

    Migration notes

    v3 is opt-in via version="v3"; version="v1" and version="v2" are unchanged.

    The protocol is in beta and may change before stabilization.

    Original source
  • May 4, 2026
    • Date parsed from source:
      May 4, 2026
    • First seen by Releasebot:
      May 4, 2026
    LangChain logo

    LangGraph by LangChain

    langgraph-checkpoint-postgres==3.1.0a4

    LangGraph ships an alpha bump and a new public get_writes_history saver API with delta cadence rework.

    Changes since checkpointpostgres==3.1.0a3

    release: alpha bump (a4) for langgraph, checkpoint, checkpoint-postgres (#7701)

    feat: public get_writes_history saver API + delta cadence rework (#7699)

    chore(deps): bump the minor-and-patch group in /libs/checkpoint-postgres with 2 updates (#7665)

    Original source
Releasebot

Curated by the Releasebot team

Releasebot is an aggregator of official product update announcements from hundreds of software vendors and thousands of sources.

Our editorial process involves the manual review and audit of release notes procured with the help of automated systems.

Similar to LangGraph with recent updates: