See below for all notable changes to the GraphAI library.

0.0.6 - 2025-05-28

Added

  • Explicit callback parameter in execute() method for better control over callback instances
  • NodeProtocol type definition for improved type safety and IDE support
  • Enhanced documentation examples demonstrating proper parallel execution patterns
  • New set_callback() method for customizing default callback class

Changed

  • BREAKING: Refactored callback handling to eliminate shared state between parallel executions
  • Modified execute() method signature to accept optional callback parameter
  • Removed internal self.callback attribute
  • Updated all documentation notebooks to use new callback pattern
  • Improved type hints throughout codebase using Type[Callback]

Fixed

  • Critical: Fixed callback stream contamination when multiple graphs executed in parallel
  • Resolved race conditions in multi-threaded environments
  • Fixed inconsistent streaming behavior in concurrent scenarios
  • Improved memory management and reduced callback-related memory leaks
  • Better cleanup of callback resources after execution

Security

  • Enhanced thread-safety for parallel graph execution
  • Eliminated shared state vulnerabilities in callback handling

Migration Guide

For basic usage, no changes required - the API remains backwards compatible. For custom callbacks, update from:

# Before (v0.0.5)
cb = graph.get_callback()
graph.callback = cb
result = await graph.execute(input=data)

To:

# After (v0.0.6)
cb = graph.get_callback()
result = await graph.execute(input=data, callback=cb)

0.0.5 - 2025-03-30

Added

  • New function schema functionality for generating standardized function schemas compatible with various LLM providers
  • Built-in colored logger with support for different log levels and custom formatting
  • Support for generating function schemas from Pydantic models

Changed

  • Removed dependency on semantic router library
  • Improved type mapping for function parameters in schemas
  • Enhanced documentation and code organization

Fixed

  • Various bug fixes and improvements

Security

  • No security-related changes in this release