Skip to content

v0.4.0

Choose a tag to compare

@provos provos released this 18 Feb 18:45
· 64 commits to main since this release

Release Notes

Summary

This release enhances task and graph management, improves thread safety and error handling.

Features

  • Enable multiple consumers per task type by switching consumer storage from a single object to a list, requiring explicit consumer specification.
  • Introduce a SimplePlanAdaptor and create_simple_planning_graph function to support a simplified planning workflow when no iterations are required.
  • Extend the task notification interface by adding optional parameters and support for an additional BaseModel context in status updates.
  • Add helper methods in the Task class, including an 'is_type' method and a new find_input_tasks method, to improve type verification and provenance retrieval.
  • Improve handling of multiple graphs and allow selection of specific graphs within the dashboard.
  • Improve TaskWorker by incorporating provenance-based user state management. This state will get automatically cleaned when the provenance leaves the graph.
  • Support multiple sink workers in a single graph.

Bug Fixes

  • Eliminated a race condition in the dispatcher when there were multiple outstanding notifications but no other work left in the graph
  • Resolved a race condition in work publishing and provenance tracking by separating check and removal phases.
  • Fix XML serialization issues by modifying list item conversion and implementing recursive sanitization to correctly handle various data types.

Documentation

  • Add an "Example: Deep Research" section in the README with Docker Compose instructions and updated licensing details.
  • Include a detailed command-line example for automatic prompt optimization

Tests

  • Enhance InvokeTaskWorker tests by integrating a MockProvenanceTracker and MockGraph, disabling debug_mode when detected, and ensuring caching functionality is initialized.