v0.2.1
New Features
- MCP Client: Model Context Protocol client implementation with JSON-RPC 2.0 messaging, stdio and SSE transport support, tool schema management, and connection lifecycle management.
- Web Dashboard: Real-time monitoring dashboard with WebSocket hub, REST API v2, orchestrator for multi-agent coordination, event bridge for system state streaming, and static asset serving.
- Flight Recorder: Multi-agent runtime intelligence recording with timeline tracking, decision logging, diagnostics engine, agent genealogy graph, DOT/JSON export, and replay pipeline.
- Chaos Engineering Arena: Fault injection framework with injector supporting process_kill, network_partition, latency_spike, and kill_orchestrator fault types; resilience scoring with configurable metrics; survival mode for continuous chaos testing; HTTP API and YAML scenario configuration.
- Callbacks System: Event-driven callback mechanism with typed event contexts, handler registry, and lifecycle hooks for agent/tool/runtime events.
- LLM Output Parsing: Multi-provider output adapters (OpenAI, Ollama, OpenRouter), prompt template engine with Go template syntax, function calling extraction and validation, schema-based parameter validation, and streaming output parser.
- Function Calling: LLM function calling support with tool schema generation, argument extraction, and result formatting.
- Agent Genealogy: Agent lineage tracking with parent-child relationships, birth/death event recording, and genealogy graph export.
- Event Auto-Compaction: Configurable event store compaction with retention policies, snapshot-based trimming, and automatic execution.
- Tool Lifecycle Hooks: Pre/post execution hooks for tools with context injection and error handling.
- Quant Demo: Quantitative analysis example with CSV data processing.
- DevAgent Example: Development agent example with workflow configuration.
- MCP Dashboard Example: Dashboard integration example with MCP transport.
- Capability Demo: Tool capability demonstration example.
Improvements
- Pruned unused components and deduplicated code across runtime resurrection module
- Improved error visibility with structured error messages
- Extracted restore logic into reusable functions
- Exposed migration DDL for external tooling
- Cleaned up validators and reduced code duplication
- Streamlined dashboard frontend assets
- Generalized domain models for broader use cases beyond original fashion domain
Bug Fixes
- Fixed various lint issues identified by golangci-lint
- Added
GetAgentmethod to Runtime interface - Wired
verifyRestoredStatein example code - Corrected semaphore available count calculation
- Escaped password in DSN connections
- Added ILIKE pattern escaping for PostgreSQL queries
v2.0.0 (2026-06-11)
New Features
- Leader Failover: Checkpoint-based recovery with
LeaderSupervisordetecting leader failure, recovering stale tasks from last checkpoint, and reassigning work to available sub-agents.ColdRestartStrategyfor deterministic recovery. - Runtime Dynamic Graph:
MutableDAGwith thread-safe mutation (add/remove nodes and edges at runtime).DynamicExecutorwithApplyModefor hot-reload without stopping execution. Incremental cycle detection on edge insertion. - Human-in-the-Loop:
InterruptConfigon workflow steps for human approval gates.InterruptHandlerblocks execution until approved.InterruptStoreprovides crash recovery of pending approvals. - Agent Resurrection Plugin: Pluggable
HealthCheckerinterface for custom health detection.HeartbeatAdapterfor heartbeat-based liveness.Supervisorfor automatic agent restart on failure. - Event Sourcing:
EventStoreinterface with optimistic concurrency control.MemoryEventStorefor dev/test,PostgresEventStorefor production. 17 event types covering agent lifecycle, tasks, sessions, workflows, and failover. Pub/sub viaSubscribewith filtered event channels. DLQ auto-retry with configurable retry budgets. - Pluggable Vector Store:
VectorStoreinterface replacing concrete*VectorSearcherin Repository. PostgreSQL + pgvector for production, in-memory for dev/test. Drop-in replacement support for Qdrant, Milvus, SQLite, or custom backends. - WorkflowService API: High-level workflow orchestration abstraction over the DAG engine.
Bug Fixes (46 fixes)
Storage (12 fixes)
- C1: Embedding queue dedup key mismatch causing duplicate embeddings
- C2: Write buffer data loss on
Stop()before flush completes - C3: Embedding enqueue outside transaction leading to orphaned records
- C4:
FetchPendingTaskslock ineffective withFOR UPDATE SKIP LOCKED - C5: Reconcile threshold time arithmetic off by orders of magnitude
- M1:
ManagedRowconnection leak on error paths - M2: Missing migration tables in
migrate.go - M3: Circuit breaker
halfOpenInflightcounter leak - M4:
VectorSearchermissing dimension validation - M6: FileWatcher TOCTOU race in
scanAndLoad - M7: Map reference shared unsafely in callbacks
- M8: Graph
Edge()no validation of node endpoints
Workflow (8 fixes)
- C6: Panic recovery ordering in
executor.go(recovery after cleanup) - C7: Graph executor in-degree tracking incorrect after node removal
- H1: Deadlock false positive in
executor.go(errgroup misuse) - H2:
DynamicExecutorhang on node removal during execution - H3:
stepEg.Wait()concurrent withGo()causing race - H4:
NewDAGsilently dropping duplicate step IDs - M5:
MaxAttempts=0skips execution entirely - M9:
recomputeOrderversion-check race on concurrent access
AHP Protocol (7 fixes)
- C8: Queue
send on closed channelpanic during shutdown - C9:
HeartbeatSenderStart/Stop race condition - H5:
getRandomSuffixnil dereference on empty slice - H6:
SendMessageswallows all errors silently - H7:
Protocolhas noClose()method (resource leak) - M10:
Peek()non-atomic read (race under concurrent access) - M12:
DLQ.Removeleaks trailing pointer after deletion
What's Changed
- v0.2.1 by @Timwood0x10 in #30
Full Changelog: v0.2.0...v0.2.1