v0.2.0 — Federation, richer surfaces, portable build
The v0.2 slice. All additive — the default cargo build keeps the full macOS experience.
Highlights
- NATS federation — event bus (F1): opt-in
[nats]+ the newentheai-buscrate publish every--fanoutrun's lifecycle toentheai.fanout.<session>.*for any tailnet subscriber. Fail-safe; the orchestrator stays NATS-agnostic. entheai --skills add <url>: install a skill from the web via layered discovery (/.well-known/skills.json→/llms.txt→ the page). Path-traversal-safe, SSRF-guarded, bounded, skip-if-exists.- Obsidian wiki-sync: per-session, fail-safe sync of the repo into an Obsidian vault (
[obsidian]). - Native app:
entheai --app(minimalist Ghostty window) andentheai --doctor(installs the rain-on-glass shader into your Ghostty config). - Live swarm visualization: inline ratatui swarm graph during fan-out (
Ctrl-V//viz,/workers). entheai --memory list|search|stats, theentheai-mappertask router, and a broad config surface.
Changed
- Portable headless build: GUI + audio are default features;
cargo build --no-default-featuresbuilds with zero system libraries; sentry → rustls.
Fixed
- Fan-out v2 used the read-only decompose prompt (edit tasks became explore-only) — now coder-oriented with a guaranteed coder.
- Bounded external inputs (MCP/shell/file timeouts + caps).
Performance
- Borrowed provider messages/tools (drop per-turn O(n²) clones), TUI per-message line cache, Obsidian mtime read cache.
Full changelog: https://github.com/peterlodri-sec/entheai/blob/v0.2.0/CHANGELOG.md