Release v0.2.3 - Observability, Checkpointing, and Tool Approval
This release adds significant new capabilities for production-ready agent systems including observability, state persistence, and human-in-the-loop workflows.
✨ New Features
OpenTelemetry Integration
- Automatic instrumentation following OpenTelemetry Gen-AI semantic conventions
- Trace and metrics export for agent executions, tool calls, and LLM interactions
- Enable with
PICOAGENTS_ENABLE_OTEL=trueenvironment variable - Includes docker-compose setup for Jaeger backend
Workflow Checkpointing
- Save and restore workflow execution state
- File-based and in-memory storage backends
- Automatic workflow structure validation for checkpoint compatibility
- Resume interrupted workflows from any checkpoint
Tool Approval System
- Human-in-the-loop workflows with
@tooldecorator ApprovalModesupport:always_requireornever_require- Enhanced middleware with approval flow hooks
- Web UI integration with tool approval banners
Enhanced Features
- Context management improvements with agent-specific contexts
- Memory tools for persistent agent memory across sessions
- Poethepoet task automation (
poe test,poe check, etc.) - Improved Web UI with example tasks display and debug panel
📚 Examples
New example directories with complete working code:
examples/memory/- Memory management patternsexamples/otel/- OpenTelemetry instrumentationexamples/tools/- Tool approval workflowsexamples/workflows/- Checkpoint and resume workflows
🔧 Changes
- Enhanced middleware system with better error handling and event emission
- Reorganized test structure (workflow tests moved to
tests/workflow/) - Updated Web UI with latest React components
- Improved debug panel with detailed execution traces
🗑️ Removals
- Deprecated planning tools module (functionality moved to core tools)
- Old workflow test files from
src/picoagents/workflow/tests/
📦 Installation
pip install picoagents==0.2.3
# With all features
pip install "picoagents[all]==0.2.3"
# With specific features
pip install "picoagents[otel]==0.2.3" # OpenTelemetry supportSee CHANGELOG.md for complete details.