Changelog
What's new in Colony
v0.2.0
February 23, 2026
Agent Orchestration & Brood System
Colony 0.2.0 introduces AI agent execution via HumanLayer’s hld daemon, multi-colony orchestration with the brood system, and persistent state across restarts.
Added
- HumanLayer hld daemon integration — Agent execution via JSON-RPC over Unix socket, replacing the previous OpenCode Zen API
- Brood orchestration system — Multi-colony coordination toward shared objectives with planning agent decomposition
- Brood cost guardrails — Max 20 sessions per brood, max 3 parallel sessions, with automatic queuing
- Agent event streaming — Real-time text_delta, tool_use, tool_result, and status events via WebSocket
- Agent preview panel — Streaming event viewer in Bloom with status indicator and auto-scroll
- Brood UI — List page, detail view with multi-colony grid and per-colony preview panels
- Two brood creation modes — Simple (objective-based with planning agent) and advanced (explicit colony specs)
- Script execution mode — Deterministic shell commands for setup steps without API cost
- Project persistence — Erlang term storage with atomic writes (tmp+rename) for crash safety
- Brood persistence — State survives Mycelium restarts
- Chat interface — Brood-level chat for instructing agents from Bloom
- Service-driven preview tabs — One tab per service from colony.toml, plus agent and terminal tabs
- Master prompt editor — Configure system prompts for agent sessions
Changed
- Agent backend — Migrated from OpenCode Zen API to HumanLayer hld daemon (ADR-0013)
- Bloom WebSocket protocol — Switched from Protobuf to JSON messages
- Colony spawning — Now accepts
repo_urlandbranchinstead of template config - Preview system — Tabs generated dynamically from colony.toml services section
Fixed
- Safe deserialization —
binary_to_term(Bin, [safe])prevents atom table exhaustion from persistence data - Atomic file writes — tmp+rename pattern prevents data corruption on crash
- Brood state reads — Use GetState instead of RefreshState to avoid blocking the brood actor
- Socket buffer size — Increased to 4MB for large agent responses
- Chat overflow — Fixed CSS overflow issues in brood chat
Stats
- 1,316 tests — Gleam (540), Rust (317), SolidJS (459)
v0.1.0
February 14, 2026
Initial Preview Release
Colony’s first public preview. This release includes the complete Phase 1 infrastructure and the Phase 2 preview system.
Added
- Colony lifecycle management — Spawn, stop, delete, and list colonies via HTTP API and IPC
- Actor-per-colony architecture — Each colony runs as an OTP actor with full lifecycle state machine
- Linux network namespace isolation — Kernel-level environment isolation at zero overhead
- Jujutsu VCS workspace management — Per-colony workspaces with automatic conflict resolution
- Caddy dynamic route registration — Automatic subdomain routing per colony
- Structured logging — JSON structured logs with correlation IDs via glogg
- Per-colony RingLogger — ETS ring buffer for in-memory log retention
- Log API with SSE streaming — Query and stream logs by colony in real-time
- UDS transport — Length-prefixed Protobuf over Unix Domain Sockets (Stem to Mycelium)
- IPC handler with command dispatch — Decode requests, dispatch to colony manager, encode responses
- Stem TUI — Ratatui-based terminal UI with component architecture and Lazygit-style UX
- DNS resolution — *.colony.local via dnsmasq with setup script
- Production command executor — Erlang open_port FFI for shell commands
- Bloom web dashboard — SolidStart-based colony management UI
- Preview plugin architecture — Extensible registry with dynamic component rendering
- Web preview — Sandboxed iframe with multi-port endpoint tabs and DevTools toolbar
- Terminal preview — xterm.js v5 with Nerd Font support, dedicated binary WebSocket, PTY backend
- 910+ tests — Gleam (508), Rust (317), SolidJS (85) — zero warnings, zero failures