Repository navigation
v0.4.0
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.