Skip to content

0.2.45

Choose a tag to compare

@github-actions github-actions released this 04 Nov 19:42
895079b

langgraph 0.2.45

Summary of Changes

  • Added new Control class for programmatically controlling graph flow directly from node functions (PR #2323)
  • Added better metadata handling for graph checkpoints, preserving metadata across updates (PR #2323)
  • Added ability for nodes to specify their destination nodes via type annotations
  • Fixed configuration handling to properly ensure all required fields are present

Detailed Changes

langgraph.types.Control

  • Added new Control class that allows node functions to both update state and control graph flow
  • Supports updating state values, triggering next nodes, and sending values to other nodes
  • Can be used as a return type annotation to specify possible destination nodes

langgraph.graph.graph.NodeSpec

  • Added ends attribute to allow nodes to specify their potential destination nodes
  • Updated validation logic to consider these explicit end nodes in graph validation
  • Modified edge creation to automatically add conditional edges to specified end nodes

langgraph.graph.state.StateGraph

  • Added support for detecting and processing Control return type annotations in node functions
  • Added automatic creation of a special "self" branch for handling Control values
  • Improved error reporting for invalid state updates

langgraph.pregel.Pregel

  • Improved metadata handling in update_state and aupdate_state to preserve metadata across updates
  • Fixed configuration handling to use ensure_config instead of merge_configs for more reliable behavior

langgraph.pregel.loop.PregelLoop

  • Added proper handling of metadata from configuration when creating checkpoints
  • Fixed behavior of skip_done_tasks flag when resuming execution

langgraph.constants.SELF

  • Added new constant to represent the implicit branch that handles Control values