{"releases":[{"version":"v0.5.0","date":"2026-05-22","url":"https://cas.dev/changelog#v0.5.0","headline":"Desktop release packaging and welcome experience.","changes":{"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."]}},{"version":"v0.4.2","date":"2026-05-09","url":"https://cas.dev/changelog#v0.4.2","headline":"TUI virtual list and paged history.","changes":{"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."]}},{"version":"v0.4.1","date":"2026-04-28","url":"https://cas.dev/changelog#v0.4.1","headline":"Mission inspector ergonomics.","changes":{"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."]}},{"version":"v0.4.0","date":"2026-04-10","url":"https://cas.dev/changelog#v0.4.0","headline":"Verify gate, Playwright e2e suite, and visual regression baselines.","changes":{"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."]}},{"version":"v0.3.1","date":"2026-03-24","url":"https://cas.dev/changelog#v0.3.1","headline":"Hook runtime and policy enforcement.","changes":{"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."]}},{"version":"v0.3.0","date":"2026-03-05","url":"https://cas.dev/changelog#v0.3.0","headline":"Dead-code gate and perf budgets.","changes":{"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."]}},{"version":"v0.2.0","date":"2026-02-14","url":"https://cas.dev/changelog#v0.2.0","headline":"Worktree leases, parallel execution, and the operating record.","changes":{"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."]}}]}