v0.1.0 — Pre-release

Everything built before the first tagged release, organized by date.


2026-03-24

Added

  • spawn_agent session supportspawn_agent can now create agents in new tmux sessions (session: true or session: "name"), not just windows; useful for long-lived or multi-repo agents
  • pi-bosun auto-rename slot — bosun agents get a prompt slot encouraging early rename via mesh_manage for better identification in multi-agent workflows
  • bash-readonly frontmatter — all 10 agent definitions now declare bash-readonly in tools: frontmatter

Changed

  • pi-tmux core extraction — extracted shared core.ts module with listWindows, sendKeys, capturePane, findWindow, resolveSession primitives; all tmux tools rewritten over these shared functions
  • pi-agents uses pi-tmux/corespawn.ts and mesh-identity-sync now import from pi-tmux/core instead of inline tmux shell commands; socket removed from BackendConfig, replaced with pi-tmux peer dependency
  • Bumped pi-mesh to 0.2.2, pi-bash-readonly to 0.2.0
  • Removed stale socket config from backend settings and e2e test harness

Fixed

  • pi-tmux/core.js module resolution — fixed module not found error after core extraction
  • pi-question text wrapping — long option labels and descriptions now wrap instead of being truncated
  • tmux prefix+n/N keybindings — use dynamic agent name instead of hardcoded value
  • Sibling extension resolution — resolve via import.meta.dirname; guard fallback with sanity check

Tests

  • Added unit tests for pi-tmux/core.ts

2026-03-23

Added

  • pi-exec — plan-driven executor with phase loops, verification gates, eval infrastructure; 95.7% pass rate on gpt-5.4-mini (22/23 tasks)
  • Deckhand agent — interactive executor for sustained coding sessions, per-agent emoji, workspace lookup
  • GPU passthrough — bind Vulkan/OpenCL render nodes and /sys into bwrap sandbox; configurable via gpu_passthrough in config.toml
  • Sandbox indicator — footer bar shows 🛡️ bwrap+tool, 🛡️ tool, etc. based on active sandbox layers
  • memory-embed daemon workflow — background embedding for pi-memory

Fixed

  • OSC 52 clipboard for sandboxed nvim — vim yank now flows to host clipboard via OSC 52 escape sequences through tmux, bypassing the Wayland socket which isn't available inside bwrap
  • Dependency fixes for downstream consumers — remove workspace:*, add transitive deps, resilient postinstall, resolve hooksModule path in dependency mode
  • Nix devshell — add vulkan-headers/vulkan-loader, synthesize VULKAN_SDK for node-llama-cpp
  • Remove duplicate config/agentFile declarations in session_start

Changed

  • Docs updated — sandbox architecture, downstream guides, stale config snippets, deckhand selection heuristics

2026-03-20

Changed

  • pi-coding-agent 0.61.0 → 0.62.0 — built-in tools as extensible ToolDefinitions, unified sourceInfo provenance, duplicate command disambiguation, thinking disable fixes across all providers
  • pi-bash-readonly extracted to npm — removed local workspace package, now consumed as pi-bash-readonly@0.1.0 from npm (like pi-mesh). Configurable writable paths via .pi/pi-bash-readonly.json, no writable paths by default (truly read-only). Published to npmjs.com with docs at rhnvrm.github.io/pi-bash-readonly
  • pi-question — updated renderCall/renderResult signatures for pi 0.62.0 breaking changes (new ToolRenderContext parameter)
  • promptSnippet added to all 10 custom tools — pi 0.59.0 requires explicit promptSnippet for tools to appear in the system prompt; split description (tool schema — how to call it) from promptSnippet (system prompt — when to reach for it)
  • Test runner scoped to packages/bun test was picking up Playwright specs from workspace/ clones; added just test recipe and npm script scoped to packages/

Fixed

  • Agent spawn prefers live $TMUX socket over config, passes through sandbox correctly
  • Spawn targets correct tmux session when multiple sessions exist
  • Uses $TMUX_PANE for reliable session resolution during spawn

2026-03-19

Added

  • pi-auto-resume — automatically resume after context compaction so agents continue from the summary's next steps
  • pi-bosun package — extracted framework identity (agents, slots, skills) from .pi/ into packages/pi-bosun/, making bosun usable as a dependency
  • Downstream onboardingnpx bosun onboard scaffolds config, justfile, and directories for downstream projects; bosun doctor detects config drift
  • Dual-mode initinit.ts detects local vs node_modules/bosun/ and resolves paths accordingly
  • Testing guide — docs for unit tests, e2e scripts, and live Pi tests
  • Changelog, wiki links, shortcodes — moat v0.6.0 features: [[wiki links]], note/details shortcodes, GitHub topnav, nav_children: false for changelog
  • Dependency update docs — pinning policy and just init requirement after dep changes

Fixed

  • Init includes version specs for npm packages in settings.json
  • split_pane targets caller's pane instead of active pane
  • LLM notified when mesh identity is renamed
  • split_pane commands wrapped in bash -ic for alias support
  • Pinned exact dependency versions (no caret ranges)

2026-03-17

Added

  • pi-memory — native memory retrieval backed by qmd v2 library API with search, get, multi_get, and status actions; role-appropriate slots for orchestrators, project managers, and analysis agents
  • Bundled nvim config with lazy.nvim and render-markdown for tmux splits

Fixed

  • Force bash shell for tmux splits

2026-03-16

Added

  • CDP browser rewrite — full TypeScript/Bun rewrite with library mode, visual-review script, overflow dedup, and device emulation for screenshots
  • Runtime identity — sync agent name across Pi UI, mesh registry, and tmux window; parent identity passed to spawned children

Fixed

  • Skip scrollable containers in overflow check
  • Handle object-shaped reservations in session sidebar

2026-03-12

Added

  • Session sidebar with mesh integration
  • rw_bind support for read-write host path mounts in sandbox
  • Updated qmd from v1 to v2

Fixed

  • Pi keybinding conflicts with tmux
  • Disable extended-keys to restore Shift+Enter in Pi

2026-03-10

Added

  • pi-bash-readonly — sandboxed read-only bash via bwrap, with /readonly toggle for write-capable agents
  • Agent tools: frontmatter enforced via setActiveTools()
  • Config drift detection before session start
  • Scout gets read-only bash access

Fixed

  • Add pi-bash-readonly to bosun and lite agents

2026-03-06

Added

  • Workspace and git etiquette slots for agents
  • Run tmux server inside bwrap sandbox

Fixed

  • Handle start/attach when only daemon is running

2026-03-04–05

Added

  • Agent template engine — Handlebars-based templating with {{> partial}} slots and {{#if extension}} conditionals

Fixed

  • Update medium model default to claude-sonnet-4-6
  • Orchestrator/worker slots to prevent capture_pane misuse

2026-02-25

Added

  • Initial commit — multi-agent environment with pi-agents, pi-mesh, pi-tmux, pi-daemon, pi-sandbox, pi-q, pi-chronicles, pi-session-tools, pi-session-context, pi-question
  • Six default agents: bosun (orchestrator), lite (fast helper), verify (validator), scout (recon), review (code reviewer), oracle (deep reasoning)
  • Q agent with task, project, and roadmap management
  • Daemon with scheduled workflows: session catchup, handoff filling, chronicle generation, workspace backup
  • Process-level sandboxing via bwrap, tool-level via pi-sandbox
  • Documentation site via moat with GitHub Pages deployment
  • Skills: git, github, context-management, chronicle, mesh, and meta-skills for creating agents, skills, extensions, tools, workflows, and commands