What Shipped
The LangGraph alpha wave spans several coordinated package releases. The core library moved from 1.2.0a3 through 1.2.0a7, with intermediate stops at 1.2.0a4 and 1.2.0a5 [1][6][7]. Companion packages advanced in lockstep: langgraph-checkpoint reached 4.1.0a4 [5], langgraph-checkpoint-postgres reached 3.1.0a4 [4], and langgraph-checkpoint-sqlite reached 3.1.0a1 [2]. The Python SDK landed at 0.3.14 [1]. Stable 1.1.x builds continued shipping in parallel, with langgraph 1.1.10 and prebuilt 1.0.12 released during the same window [1].
Node-Level Error Handlers
Version 1.2.0a3 introduced node-level error handlers, a feature that allows error handling logic to be attached at the individual node rather than at the graph boundary [8]. The distinction matters for operators running complex multi-node graphs: a graph-level handler catches any unhandled exception after it propagates up, while a node-level handler can intercept and respond to failures at the point of origin without unwinding the rest of the execution graph.
The same release changed NodeTimeoutError to be retryable by default [8]. Previously, a node timeout would not automatically qualify for retry logic. With the default flipped, operators relying on existing retry configurations should verify that their retry budgets and backoff policies account for timeout-triggered retries, since the behavior change applies without additional configuration.
Streaming Overhaul
The streaming layer received its most significant structural change in this wave. A new streaming transformer infrastructure was merged and tested in 1.2.0a3 [8], providing a foundation for the subsequent stream dispatch work. On the Pregel runtime, the framework now dispatches stream_events at version 3 [8], a capability that was added in 1.2.0a3 and listed explicitly in the SDK 0.3.14 changelog [1].
Native version 2 projections were added for the custom, updates, checkpoints, debug, and tasks stream modes [8], meaning those streams no longer require a separate projection step to produce v2-compatible output. The EventLog component was merged into StreamChannel with an optional name parameter [8], consolidating two previously separate abstractions. A fix also addressed arrival-ordered interleaving for StreamChannel projections [8], correcting a condition where events could be delivered out of the order in which they arrived.
Checkpoint and Persistence Changes
The get_writes_history method on the checkpoint saver was made part of the public API in 1.2.0a7, with the change landing simultaneously in langgraph-checkpoint 4.1.0a4, langgraph-checkpoint-postgres 3.1.0a4, and langgraph-checkpoint-sqlite 3.1.0a1 [3][4][5]. The same pull request also reworked delta cadence behavior [2][3].
The DeltaChannel component was updated to store its sentinel value in blobs and reconstruct state from checkpoint_writes [8], a change that affects how incremental channel state is persisted and recovered. For the SQLite backend specifically, the get_delta_channel_history method was overridden with a streaming walk implementation [2], replacing an earlier approach and aligning the SQLite backend more closely with how the Postgres backend handles history traversal.
Operational Additions
Graceful shutdown and drain support arrived in 1.2.0a3, allowing a running graph to be signaled to stop accepting new work and finish in-flight tasks before exiting [8]. Dynamic push-task timeouts were added in the same release [8], giving the runtime the ability to adjust timeout values for tasks that are pushed onto the execution queue rather than using a single static value. Idle timeout handling was also introduced [8], addressing the case where a graph execution remains open but inactive.
On the SDK side, version 0.3.14 added a return_minimal option to the threads update call [1]. The sources do not detail the precise semantics of that option beyond its presence in the SDK changelog.
Maturity and Adoption Considerations
All packages in this wave carry alpha version designations. The 1.2.0a7 label on the core library, the a4 suffixes on the checkpoint packages, and the a1 on the SQLite backend all indicate pre-release status. Teams that require stability guarantees have the 1.1.x line available; langgraph 1.1.10 and prebuilt 1.0.12 shipped as stable releases during the same period [1]. The alpha packages introduce API surface, such as get_writes_history, that could still change before a stable release. Operators evaluating the alpha builds should pay particular attention to the NodeTimeoutError retry default change and the streaming infrastructure rework, both of which affect runtime behavior in ways that may interact with existing retry and observability configurations.
FAQ
Q. Are the 1.2.0 alpha packages compatible with the stable 1.1.x checkpoint backends? The sources do not explicitly address cross-version compatibility between the 1.2.0 alpha core and the stable checkpoint backends. Teams should treat the alpha checkpoint packages (checkpoint 4.1.0a4, checkpoint-postgres 3.1.0a4, checkpoint-sqlite 3.1.0a1) as the intended companions for the 1.2.0 alpha core [3][4][5].
Q. What does the NodeTimeoutError retryable default change mean for existing retry policies? Prior to 1.2.0a3, NodeTimeoutError was not retryable by default, so existing retry configurations would not have been exercised on timeouts. With the default changed [8], any retry policy already in place will now also trigger on node timeouts, potentially increasing retry counts and execution time for graphs that encounter slow nodes.
Q. Is the get_writes_history API stable enough to build against? The method is now public across the SQLite, Postgres, and base checkpoint backends [2][3][4][5], but all carrying packages remain in alpha. The API could change before a stable release, and operators should treat it as subject to revision.
Q. Does stream_events v3 on Pregel replace v2, or do both coexist? The sources indicate that native v2 projections were added for several stream modes [8] and that v3 dispatch was added to Pregel [8], but do not specify whether v2 dispatch is removed or deprecated. Both additions appear in the same 1.2.0a3 release.
Q. Which stable packages shipped alongside the alpha wave? During the same release window, langgraph 1.1.10, prebuilt 1.0.12, and checkpoint 4.0.3 were published as stable releases [1], providing a non-alpha baseline for teams not ready to adopt the 1.2.0 alpha series.
Key takeaways
- LangGraph 1.2.0a7 is the latest in a coordinated alpha wave covering the core library, checkpoint, checkpoint-postgres, checkpoint-sqlite, and the Python SDK [1][3][4][5].
- Node-level error handlers arrived in 1.2.0a3, and NodeTimeoutError was made retryable by default in the same release, a behavioral change that affects existing retry configurations [8].
- A new streaming transformer infrastructure underpins stream_events v3 dispatch on Pregel and native v2 projections for custom, debug, and other stream modes [8].
- The
get_writes_historysaver API is now public across all three checkpoint backends, accompanied by a delta cadence rework and DeltaChannel sentinel storage changes [2][3][4][5]. - Stable 1.1.x builds remain available for teams that cannot accept alpha-level API instability [1].