pypi / langgraph
langgraph
What changed in langgraph 1, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.
3 breaking1 security1 new APIs and options1 behavior and defaults16 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initlanggraph 122 changes
Breaking changes 3
Each bulk_update_state update now gets its own task id.
Delta channel replay is ordered by task path.
An update_state Overwrite that resets a DeltaChannel now snapshots that channel.
Security 1
LangGraph checkpoint loading has unsafe msgpack deserialization
New APIs and options 1
PostgresSaver and AsyncPostgresSaver gain prune.
Behavior and default changes 1
Every message written to a messages DeltaChannel now gets an id.
Fixes and other changes 16
A resumed Command's update is now applied once.
DeltaChannel keeps its value when its field changes to a plain reducer.
Other tasks now finish when a resume value is invalid.
A resumed exit run's pending writes are now saved once.
A subgraph no longer reruns its finished tasks on resume.
astream_events no longer drops control or interrupts on v1 or v2.
Writes from a cached node are saved as if the node ran.
A failed DeltaChannel write no longer allows saving a later checkpoint.
An exit run from a checkpoint stays out of a newer branch after the thread has moved past it.
A resumed exit-mode run replays its delta writes in live order.
A run's DeltaChannel input is read back only on that run's checkpoints.
A fork's DeltaChannel snapshot no longer starts nodes that never ran.
A drain requested before an interrupt_before breakpoint now stops at that breakpoint.
Exit-mode delta writes are no longer stored under the null task id.
ToolNode no longer swallows invalid resume values.
Writes from an update_state input are stored on the checkpoint it updates.