Changelog
What shipped.
CAS is in beta. Releases ship on a continuous cadence as features stabilise. Breaking changes are still possible before 1.0 — consult the entry notes before upgrading in a team environment.
New releases are announced at hello@cas.dev. A JSON feed is available at /changelog.json.
May 22, 2026
Desktop release packaging and welcome experience.
Added
- Release pipeline produces signed and notarized `.dmg` for Apple Silicon and Intel; both targets ship from the same release job.
- First-launch welcome installer: detects missing runtime dependencies, requests permissions, and runs `cas init` automatically on the selected project.
- Multi-window support: each mission board or transcript viewer opens in an independent renderer process with shared daemon state.
- Toast notification system (via sonner) surfaces task state transitions, verify-gate outcomes, and merge completions in the desktop shell.
Changed
- Auto-updater channel switched from `latest` to `stable`; delta patches reduce download size by ~70% on typical minor releases.
- Window restore position and zoom level are now persisted across restarts.
Fixed
- Project daemon connection failed to resolve when the app bundle was relocated after install.
May 9, 2026
TUI virtual list and paged history.
Added
- Virtual list renderer in the TUI replaces full re-renders; transcript views with 10 000+ events no longer degrade frame rate.
- Paged history navigation: `PageUp` / `PageDown` scroll by viewport height, `G` jumps to the live tail, `gg` returns to the top.
- Heartbeat supervision watchdog restarts the daemon process if the last heartbeat exceeds the configured `watchdog_timeout` threshold.
Changed
- Event tail view defaults to follow-live mode; press `f` to toggle.
- TUI status bar now shows elapsed time since last event and active worktree count.
Fixed
- Rapid resize events could leave the viewport in an inconsistent scroll offset state.
- Assertion in the TUI verification view panicked on empty acceptance criteria list.
April 28, 2026
Mission inspector ergonomics.
Added
- Mission inspector panel surfaces worktree path, verify command, merge policy, and the last five events inline — no separate `cas task show` call required.
- Keyboard shortcut `i` opens the inspector for the focused task row; `Esc` dismisses it.
- Acceptance criteria checklist renders inside the inspector with pass/fail state per criterion.
Changed
- Inspector width is now responsive: collapses to a bottom sheet on viewports narrower than 900 px.
- Phase pill labels shortened to fit narrower terminal columns without truncation.
April 10, 2026
Verify gate, Playwright e2e suite, and visual regression baselines.
Added
- Verify gate blocks task closure until all acceptance criteria and the configured check suite pass against the current snapshot SHA.
- Playwright e2e suite covers the core delivery loop: task create → assign → agent start → tool events → verify → merge.
- Visual regression baselines captured for the mission board, inspector, and transcript view; diffs block the merge gate on CI.
- Performance budget enforcement in CI rejects bundles that exceed the configured JS size or LCP thresholds.
Changed
- Verify command output now includes the snapshot SHA and a diff summary relative to the last passing snapshot.
Fixed
- Merge gate was cleared optimistically before the verify record was written to the event log.
March 24, 2026
Hook runtime and policy enforcement.
Added
- Runtime hooks (`SessionStart`, `UserPromptSubmit`, `PreToolUse`, `PostToolUse`, `Stop`) bridge CAS task and planner context into both Claude and Codex agent sessions.
- `PreToolUse` hook enforces path, command, and tool policy; denied actions are recorded as `policy_denied` events and returned to the runtime as a block response.
- `PostToolUse` hook writes structured tool events to the operating record for every read, edit, bash, and search call.
Changed
- Hook bridge is fully deterministic: no model call is made inside the hook path.
- Hook context injection on `SessionStart` includes the active task contract, epic metadata, and worktree lease details.
Removed
- Legacy `cas hook legacy` shim removed; all providers now route through the unified hook bridge.
March 5, 2026
Dead-code gate and perf budgets.
Added
- Knip dead-code gate runs on every PR; unreferenced exports block merge until removed or explicitly annotated.
- Bundle performance budget check enforces JS chunk size, LCP target, and total transfer weight; thresholds are configurable in `.cas/config.toml`.
- Worker resource tracking exposes CPU and memory per worktree lease in `cas workers` and the desktop workers panel.
Changed
- CI pipeline reorganised: lint → typecheck → unit → e2e → bundle-budget run in dependency order with shared caches.
Fixed
- Stale worktree leases were not released when the daemon restarted after an unclean shutdown.
- Type errors in the hook bridge introduced by the v0.2.x series.
February 14, 2026
Worktree leases, parallel execution, and the operating record.
Added
- Worktree lease system: each task is assigned an isolated copy of the repository with a tracked owner, start time, and expiry.
- Parallel task execution: up to `max_workers` tasks run concurrently without cross-contamination between worktrees.
- Append-only event log records `task_created`, `worktree_leased`, `agent_started`, `tool_event`, `verify`, `merge_gate`, and `task_done` events with full context.
- Runtime policy: allowed commands, blocked paths, and required approvals are enforced per task label.
Changed
- `cas task list` output groups rows by phase with colored phase rails matching the mission board.