Skip to content

0.3.19

Choose a tag to compare

@github-actions github-actions released this 24 Mar 16:57

langgraph 0.3.19

Summary of Changes

  • Added significant performance optimization for node execution by only triggering nodes dependent on updated channels (#3916, #3931)
  • Improved task ID generation performance using XXH3 hash algorithm instead of SHA-1 (#3954)
  • Fixed issues with node writers in StateGraph to properly handle channel writes (#3949)
  • Fixed checkpoint configuration reference in PregelLoop (#3960)
  • Added explicit function configuration support to improve handling of callable arguments (#3949)
  • Added direct subgraph specification support for PregelNode (#3949)

Detailed Changes

langgraph.pregel.algo.apply_writes

  • Now returns a tuple containing both managed value writes and a set of updated channels (#3916)
  • Fixed channel update logic to check if channels are available before updating them (#3949)

langgraph.pregel.algo.prepare_next_tasks

  • Added optimization to only consider nodes that depend on channels that were updated in the previous step (#3916)
  • Added parameters trigger_to_nodes and updated_channels to support the optimization (#3916)
  • Added special case handling for empty channel versions to skip unnecessary processing (#3931)

langgraph.pregel.Pregel

  • Added trigger_to_nodes property to store mapping from triggers to dependent nodes (#3931)
  • Updated validate method to compute trigger_to_nodes mapping (#3931)
  • Fixed type annotations across multiple methods for better consistency (#3931)

langgraph.pregel.PregelLoop

  • Fixed reference to checkpoint configuration in loop initialization (#3960)
  • Updated tick and _first methods to track and pass updated channels information (#3916)

langgraph.pregel.read.PregelNode

  • Added subgraphs parameter to directly specify subgraphs instead of extracting them from bound runnable (#3949)
  • Fixed copy method to properly handle subgraphs (#3949)

langgraph.graph.state.StateGraph

  • Fixed how channel writers are attached to nodes using writers.append() instead of |= operator (#3949)
  • Improved branch handling by moving code to avoid redundant computations (#3949)

langgraph.utils.runnable.RunnableCallable

  • Added func_accepts_config parameter to explicitly control whether a function accepts config parameter (#3949)
  • Improved parameter inspection logic to handle explicit configuration (#3949)

langgraph.pregel.algo._xxhash_str

  • Added new function for task ID generation using XXH3 hash algorithm, which is faster than the previous SHA-1 implementation (#3954)
  • Updated task ID generation to use xxhash for newer checkpoint versions (#3954)