Every Meshfleet release, newest first. For the full changelog of all changes (including pre-0.7), see /changelog. For upgrade notes and breaking changes, see the GitHub releases page.
Witnessed messaging
- +Receipts ledger: every ack is a timestamped, per-recipient receipt — who saw this, who approved it, prove it
- +New receipt tool (non-consuming annotations: seen, r-ack, retracted) + get_receipts (full audit trail per message)
- +Fleet broadcast: to_agent_id: "*" delivers to every agent; acknowledged only when all recipients have acked
- +Ledger schema v2 with automatic migration — v1 acks backfilled as receipts, no audit gap
Design ported from a production fleet bus: 10+ agents, 40 days, 18,404 messages. 192 tests across 18 files.
Code of Conduct
- +Contributor Covenant v2.1 as the project code of conduct
- +Every open source project should have a CoC so contributors know what behavior is expected and how to report violations
Add CODE_OF_CONDUCT.md to the repo. Wire a Conduct link into the homepage footer.
Fleet dashboard TUI
- +Live TUI for running fleets, recent agents (with retry counts), and recent events
- +Refreshes every 1s; ANSI in-place updates; Ctrl+C to exit
- +Verified against a live ledger with 13 fleets
npx agent-mesh-dashboard (or npx agent-mesh dashboard). Closes the last open issue.
Template sharing
- +exportFleetTemplate writes portable meshfleet-template-v1 JSON
- +importFleetTemplate reads, validates the schema, and inserts (auto-suffix on conflict)
Closes issue #7. Templates can now move between machines, back up, or share via Git.
Template versioning
- +saveFleetTemplate now creates a new version on each save (auto-increment)
- +getFleetTemplate(name, version?) returns latest or specific
- +listFleetTemplateVersions + deleteFleetTemplate(name, version?) round out the API
Closes issue #6. Internal ledger key uses `${name}@v${version}` so versions coexist.
Performance benchmarks
- +Self-contained benchmark/bench.ts + BENCHMARKS.md
- +v1.0 perf gates verified: spawn bookkeeping 5.5ms p50 (target <100ms)
- +10k messages persisted with no drops
Known bottleneck: sendMessage rewrites full ledger (3.8ms/msg at 10k scale). Batch writes are v0.9+.
Synonym expansion
- +Curated synonym table for 30+ common dev terms (frontend ↔ ui/ux/web, database ↔ db/sql, etc.)
- +routeWork now expands 'ui' to also match a frontend agent
- +Zero network cost, no ML dep, override via setSynonymOverrides()
Closes issue #1. Lightweight semantic routing without an embedding model.
Routing feedback loop
- +New record_routing_outcome(agent_id, capability_key, success) MCP tool
- +Wilson-style score adjustment on future route_work calls
- +RouteMatch.weight field exposes the adjusted score
Closes issue #4. Future routing calls weight by past outcomes.
Skill taxonomy
- +Hierarchical skill matching with ancestor/descendant decay
- +JSON taxonomy: { frontend: { react: [nextjs, remix] } }
Closes issue #2. Wire into route_work planned for v0.9.
Hardening push
- +Automatic retry with exponential backoff (1s/2s/4s + ±20% jitter, max 3 attempts)
- +Partial result recovery on startup (interrupted status)
- +Ledger schema versioning (schema_version: 1, auto-migrate v0)
- +route_work top_n parameter for fan-out routing
Closes issues #3, #5. v0.8 series hardening foundation.
Real-time push + heartbeat
- +subscribe_inbox MCP tool (SSE)
- +Standalone HTTP SSE server with per-agent cap + heartbeat
- +notifySubscribers hooked into send_message
- +Heartbeat watchdog (auto-fail agents that miss N liveness checks)
v0.7.x hardening series foundation.
Pre-0.7.0 history
The v0.1.0–v0.6.0 history is preserved in the /changelog page.
Next: v0.9.0
Batch writes for sendMessage (the 3.8ms/msg bottleneck at 10k scale), wire the existing skill-taxonomy into route_work, wire synonyms into role/skill parsing, and per-version fixture tests for COMPATIBILITY.md.
Read the v0.9.0 preview