# Changelog All notable changes to autonomOS are documented here. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html). From the next release onward, the version sections below this line are generated automatically from [changesets](.changeset/README.md) when the "Version Packages" PR is merged. The 0.0.1 and 0.0.2 sections are hand-written history that predates the changesets pipeline. ## [0.8.0] — 2026-10-29 ### Minor Changes - [#369](https://github.com/aterrylu/autonomOS/pull/369) `652d1af` — feat(dashboard): Projects panel revamp — provider-aware rows + 9 bug fixes (ADR-098) - [#390](https://github.com/aterrylu/autonomOS/pull/390) `0073f67` — feat(orgchart): rebuild on the sidebar's vocabulary — ghosts keep teams, amber attention, side-by-side layout, click-to-select inspector, shared agent menu (ADR-104) - [#391](https://github.com/aterrylu/autonomOS/pull/391) `ea720b1` — feat(orgchart): team rollups + collapse — each lead summarizes its whole team, folded teams still say who needs you - [#392](https://github.com/aterrylu/autonomOS/pull/392) `7fcc3f3` — feat(update): in-app update — GitHub release notes, agent-aware pre-flight, out-of-band upgrader, snapshots + Restore (ADR-105) - [#399](https://github.com/aterrylu/autonomOS/pull/399) `5f95a0a` — feat(orgchart): message flow — envelopes + speech bubbles for agent-to-agent messages, inspector Communication (ADR-108) - [#402](https://github.com/aterrylu/autonomOS/pull/402) `bbfb267` — feat(orgchart): rich inspector — per-agent analytics (ADR-110) - [#418](https://github.com/aterrylu/autonomOS/pull/418) `1f7fdd6` — feat(permissions): agents spawn from their CLI's own permission values (ADR-115, PR 2/3) - [#428](https://github.com/aterrylu/autonomOS/pull/428) `bd0a15f` — feat(auth): sign in by opening a link — token in the URL fragment, exchanged for the session cookie - [#438](https://github.com/aterrylu/autonomOS/pull/438) `b37c33c` — feat(projects): projects are git repos — worktrees fold into their repo, no more Unknown (ADR-121, server half) - [#443](https://github.com/aterrylu/autonomOS/pull/443) `62a97f6` — feat(dashboard): Projects grouped by git repo — worktrees fold in, automated runs hidden, temp dirs in Other - [#445](https://github.com/aterrylu/autonomOS/pull/445) `651ef2f` — feat(update): verify each release's Sigstore build provenance before installing (ADR-126) - [#448](https://github.com/aterrylu/autonomOS/pull/448) `436bfd5` — feat(permissions): per-runtime permissions in the dashboard; never-asks defaults need a confirm and every change is reported (ADR-138) - [#459](https://github.com/aterrylu/autonomOS/pull/459) `d0b0d7e` — feat(security): weak operator tokens: warn every boot, refuse new network installs, autonomos token rotate (V2b, ADR-130) - [#475](https://github.com/aterrylu/autonomOS/pull/475) `de6dab9` — feat(security): a short token is protected by a new-device lock, not nagging (ADR-135) - [#480](https://github.com/aterrylu/autonomOS/pull/480) `924eecc` — feat(server): --host takes a list (loopback + tailnet); canonical remote-access docs (ADR-139) - [#525](https://github.com/aterrylu/autonomOS/pull/525) `f063edb` — feat(permissions): the inspector shows the mode Claude Code is actually running ### Patch Changes - [#362](https://github.com/aterrylu/autonomOS/pull/362) `e1cecfd` — fix(dashboard): reconnect the focused pane's terminal on restart (ADR-097) - [#382](https://github.com/aterrylu/autonomOS/pull/382) `ca90b3d` — fix(agents): project · branch on every agent row, not just Claude Code - [#383](https://github.com/aterrylu/autonomOS/pull/383) `de0f69d` — feat(dashboard): one "Idle" label for ready+idle; passive label fades with recency (ADR-101) - [#384](https://github.com/aterrylu/autonomOS/pull/384) `17416df` — perf(usage): async + memoized Claude keychain read — no event-loop freeze - [#387](https://github.com/aterrylu/autonomOS/pull/387) `0c57ed8` — fix(claude-usage): say why usage is unavailable + read the limits[] window list - [#388](https://github.com/aterrylu/autonomOS/pull/388) `4b66500` — test(integration): run real-spawn suites under a throwaway HOME; assert nothing lands in real ~/.claude (ADR-103) - [#394](https://github.com/aterrylu/autonomOS/pull/394) `2c9a230` — feat(claude-usage): spend display for spend-metered accounts — text | % | bar - [#396](https://github.com/aterrylu/autonomOS/pull/396) `5493a53` — fix(dashboard): Daylight muted text meets WCAG AA (statusFg 2.63:1 → 5.19:1) - [#397](https://github.com/aterrylu/autonomOS/pull/397) `ed184cb` — fix(dashboard): honest connection status — per-keystroke acks, 'Not reaching server' in 1s, no late keystrokes - [#398](https://github.com/aterrylu/autonomOS/pull/398) `bb8455f` — fix(codex): Codex agents survive a server/daemon restart - [#401](https://github.com/aterrylu/autonomOS/pull/401) `743d6b2` — fix(runtime): the boot resume sweep never crashes a live agent - [#403](https://github.com/aterrylu/autonomOS/pull/403) `c1026ce` — fix(claude-code): resume probes the realpath; a not-resumable reattach never reuses the session id (ADR-111) - [#404](https://github.com/aterrylu/autonomOS/pull/404) `eaf5d8e` — fix(server): stopping the server no longer orphans a mid-turn Codex agent - [#405](https://github.com/aterrylu/autonomOS/pull/405) `b3bc068` — fix(server): kills end the agent's whole process group, so Gemini can't survive them - [#406](https://github.com/aterrylu/autonomOS/pull/406) `78b9bd1` — fix(codex): the auto/plan notices say 'not wired up yet', never 'Codex has no …' - [#407](https://github.com/aterrylu/autonomOS/pull/407) `635d500` — fix(gemini): keep the picked permission mode in untrusted folders (--skip-trust under Auto-Trust) - [#408](https://github.com/aterrylu/autonomOS/pull/408) `ad4abb8` — fix(claude-usage): Pro/Max spend guard on the full-cookie (lastActiveOrg) path too - [#410](https://github.com/aterrylu/autonomOS/pull/410) `269160e` — fix(dashboard): dark-theme muted text meets AA; Codex shows OpenAI's official icon, never dimmed - [#412](https://github.com/aterrylu/autonomOS/pull/412) `d4ff9c7` — feat(permissions): each CLI's permission options in its own words + a drift check (per-runtime PR 1) - [#414](https://github.com/aterrylu/autonomOS/pull/414) `1e93f1f` — perf(dashboard): cache + precompress dashboard assets (ADR-116) - [#415](https://github.com/aterrylu/autonomOS/pull/415) `377256d` — fix(dashboard): tsc output out of the served dist/ + guard - [#419](https://github.com/aterrylu/autonomOS/pull/419) `a029213` — fix(claude-code): turn hooks run in order, so an idle agent can't be left showing Working - [#420](https://github.com/aterrylu/autonomOS/pull/420) `84e3809` — perf(dashboard): persist writes only when persisted state changes - [#422](https://github.com/aterrylu/autonomOS/pull/422) `ac2ae38` — perf(dashboard): a status frame no longer re-renders the whole sidebar - [#423](https://github.com/aterrylu/autonomOS/pull/423) `22c22be` — fix(claude-code): no false "never dismissed: trust" when the folder is pre-trusted - [#424](https://github.com/aterrylu/autonomOS/pull/424) `7cca939` — perf(dashboard): memoize sidebar row bodies; age labels tick on a shared clock - [#425](https://github.com/aterrylu/autonomOS/pull/425) `5c9cfad` — fix(orgchart): sticky inspector, same-name id hints, one manager/live-reports definition - [#427](https://github.com/aterrylu/autonomOS/pull/427) `32d18e7` — feat(server): opt-in log of every keystroke sent into agent terminals - [#430](https://github.com/aterrylu/autonomOS/pull/430) `2acc677` — feat(orgchart): canvas — drag to pan, pinch/⌘ zoom, Fit, and a bottom-right map (ADR-120) - [#433](https://github.com/aterrylu/autonomOS/pull/433) `da78b52` — fix: Restart always says how it went; Codex & Gemini agents show and resume in Projects; Gemini keeps its chat (ADR-118) - [#436](https://github.com/aterrylu/autonomOS/pull/436) `8ede630` — fix(dashboard): Projects labels same-named directories apart instead of listing duplicate rows - [#437](https://github.com/aterrylu/autonomOS/pull/437) `128e9aa` — fix(server): a restart no longer marks never-used agents unread - [#444](https://github.com/aterrylu/autonomOS/pull/444) `a64383b` — fix(gateway): validate every /ws/gateway frame; one bad frame no longer crashes the server (V6, ADR-127) - [#447](https://github.com/aterrylu/autonomOS/pull/447) `dff32b8` — fix(auth): one same-origin guard on every mutating route and WS upgrade (V1, ADR-122) - [#449](https://github.com/aterrylu/autonomOS/pull/449) `8a6c0a7` — fix(security): operator token never in logs; 0600 logs; owner-only modes re-applied on boot (V8, ADR-123) - [#450](https://github.com/aterrylu/autonomOS/pull/450) `ae95c05` — fix(release): only tags on main ship; source installs verify it (V5, ADR-128) - [#452](https://github.com/aterrylu/autonomOS/pull/452) `e702279` — fix(auth): throttle failed auth per address + globally, counting only distinct wrong tokens (V2a, ADR-124) - [#453](https://github.com/aterrylu/autonomOS/pull/453) `7b41c72` — fix(auth): honor an explicit CORS_ORIGIN even under Fetch Metadata (ADR-125) - [#455](https://github.com/aterrylu/autonomOS/pull/455) `a4942ba` — feat(install): new installs verify the release's signed build record, fail closed (ADR-126) - [#457](https://github.com/aterrylu/autonomOS/pull/457) `070a2c4` — fix(security): agents never hold the operator token (V3, ADR-129) - [#463](https://github.com/aterrylu/autonomOS/pull/463) `e29cdd9` — fix(security): home guard walks real ancestors; CLI help tells the truth about the default bind - [#464](https://github.com/aterrylu/autonomOS/pull/464) `2af48e4` — fix(security): Codex daemon on an owner-only unix socket, TCP only as a noticed fallback (V4, ADR-131) - [#465](https://github.com/aterrylu/autonomOS/pull/465) `0c1622a` — fix(codex): stop an orphaned daemon before starting a new one, so a resumed agent receives messages again (ADR-132) - [#467](https://github.com/aterrylu/autonomOS/pull/467) `bea7c83` — fix(codex): a restart carries a queued inbound message to the respawned agent instead of dropping it - [#469](https://github.com/aterrylu/autonomOS/pull/469) `da90235` — fix(gateway): 1 MiB frame limit, per-socket warning budget, quoted log fields (ADR-133) - [#471](https://github.com/aterrylu/autonomOS/pull/471) `f33d0c8` — fix(server): shutdown survives a closed stdout pipe and finishes its timed stages (ADR-134) - [#473](https://github.com/aterrylu/autonomOS/pull/473) `6af81b1` — fix(dashboard): restore the Codex cloud icon, always white on every theme (reverts #410's Blossom tile) - [#474](https://github.com/aterrylu/autonomOS/pull/474) `1267209` — fix(codex): pass the prompt after -- so it is never parsed as a flag (V11) - [#477](https://github.com/aterrylu/autonomOS/pull/477) `fbc3713` — fix(deps): hono 4.13.12 (CORS ReDoS + later advisories), deduped (V12) - [#478](https://github.com/aterrylu/autonomOS/pull/478) `5fe0c6a` — fix: Codex pane can't scroll + Claude no_flicker blackout — Codex inline, replay restores state (ADR-135) - [#481](https://github.com/aterrylu/autonomOS/pull/481) `cdfa914` — fix(statusline): never flips offline or drops the branch under load - [#482](https://github.com/aterrylu/autonomOS/pull/482) `f0912cc` — fix(security): ws 8.22 refuses fragment floods, and every upgrade actually applies it (V12b, ADR-137) - [#485](https://github.com/aterrylu/autonomOS/pull/485) `1817084` — fix(claude-code): say when a bypass agent is waiting for its consent screen - [#486](https://github.com/aterrylu/autonomOS/pull/486) `e41f440` — test: make restart-agent and pty-terminate deterministic under load - [#492](https://github.com/aterrylu/autonomOS/pull/492) `a382126` — feat(update): a postponed update gets its own calm state, not the failure screen - [#496](https://github.com/aterrylu/autonomOS/pull/496) `af06854` — fix(security): env presets set only allowlisted keys (V13, ADR-143) - [#501](https://github.com/aterrylu/autonomOS/pull/501) `392c2ea` — fix(presets): Kimi and every documented provider preset works again; operator extra keys; refuse unknown keys (ADR-144) - [#502](https://github.com/aterrylu/autonomOS/pull/502) `6c6d22e` — fix(claude-code): home-dir agents survive the trust dialog, and a fast exit never discards a saved session - [#503](https://github.com/aterrylu/autonomOS/pull/503) `7130ff1` — fix(runtime): a restart during a resume-retry backoff cancels the pending retry and gets a full run - [#505](https://github.com/aterrylu/autonomOS/pull/505) `74079e7` — test(runtime): resume-retry tests are driven by the test and wait on state, not time (deflake) - [#510](https://github.com/aterrylu/autonomOS/pull/510) `42b9cfc` — fix(claude-usage): a scoped-only plan shows its window on the bar, even at 0% - [#511](https://github.com/aterrylu/autonomOS/pull/511) `74a5626` — perf(server): /api/projects shares one scan across concurrent requests + 5s cache - [#516](https://github.com/aterrylu/autonomOS/pull/516) `ea9c2c7` — fix(security): pasted agent text can't end bracketed paste early (V7) - [#518](https://github.com/aterrylu/autonomOS/pull/518) `8f06fbd` — test(startup-watcher): assert virtual time structurally, not by wall-clock duration (deflake) - [#519](https://github.com/aterrylu/autonomOS/pull/519) `2569dca` — fix(security): gateway identity comes from the agent record, not a session title (V10) - [#521](https://github.com/aterrylu/autonomOS/pull/521) `1ce532d` — fix(permissions): Claude manual really asks: pin defaultMode on spawn, the flag on resume (ADR-152) - [#522](https://github.com/aterrylu/autonomOS/pull/522) `e6a226f` — fix(update): unit re-render keeps identity env and names what it drops; systemd escaping; Restore refuses links; anchored tag - [#523](https://github.com/aterrylu/autonomOS/pull/523) `78a5053` — fix(update): refuse a bundle whose symlink points outside it - [#528](https://github.com/aterrylu/autonomOS/pull/528) `1e25e32` — fix(security): the statusline command shell-quotes its script path (H1) - [#532](https://github.com/aterrylu/autonomOS/pull/532) `4b98296` — fix(build): node-pty on N-API so one bundle runs on every Node - [#533](https://github.com/aterrylu/autonomOS/pull/533) `2aeb496` — fix(perf): bound the Codex usage fallback and the Projects title scan on large session dirs - [#534](https://github.com/aterrylu/autonomOS/pull/534) `401baa4` — fix(server): an agent's out-of-memory kill stops only that agent, never the server or the other agents (ADR-156) - [#535](https://github.com/aterrylu/autonomOS/pull/535) `76facb7` — fix(update): refuse a bundle link that leaves and re-enters by the dir's own name - [#541](https://github.com/aterrylu/autonomOS/pull/541) `01b2c13` — fix(orgchart): two top-level teams stay in view as agents come and go (ADR-159) - [#542](https://github.com/aterrylu/autonomOS/pull/542) `672affd` — fix(server): a WebSocket client vanishing mid-handshake (or a malformed upgrade URL) no longer crashes the server - [#546](https://github.com/aterrylu/autonomOS/pull/546) `61b8acf` — fix(build): the release bundle must prove it can spawn on macOS: +x spawn-helper, repointed path, a live agent in CI - [#548](https://github.com/aterrylu/autonomOS/pull/548) `d453a58` — fix(security): remove the tailscale serve trust-proxy mode; a leftover setting is refused loudly (ADR-158) - [#550](https://github.com/aterrylu/autonomOS/pull/550) `1e9f3b6` — fix(dashboard): the notification bell takes the theme's status-bar colour, so it's visible on Daylight (#513) - [#555](https://github.com/aterrylu/autonomOS/pull/555) `f7b534b` — fix(server): an install updated from v0.7.0 says how to turn on per-agent OOM isolation (freeze exception) - [#556](https://github.com/aterrylu/autonomOS/pull/556) `f952f63` — fix(dashboard): Presets, Schedules and New Agent follow the theme on Daylight (freeze exception) ## [0.7.0] — 2026-09-19 ### Minor Changes - [#353](https://github.com/aterrylu/autonomOS/pull/353) `1b73ba7` — feat(dashboard): right-click context menu on agent rows (ADR-093) - [#355](https://github.com/aterrylu/autonomOS/pull/355) `847a11d` — feat(handoff): hand-off queue — human-mediated inbound for inbound-less agents (server) - [#356](https://github.com/aterrylu/autonomOS/pull/356) `c77fea2` — feat(handoff): hand-off queue dashboard — badge + minimal delivery overlay - [#357](https://github.com/aterrylu/autonomOS/pull/357) `d1e66a8` — feat(dashboard): sidebar drag-reorder revamp — whole-row native + slide-apart - [#360](https://github.com/aterrylu/autonomOS/pull/360) `93a1a9a` — feat(server)!: delete route compat aliases + scheduler sender courtesy (executes ADR-084/092) - [#361](https://github.com/aterrylu/autonomOS/pull/361) `cdfec15` — feat(dashboard): right-click Rename agent — restart-under-new-name (ADR-096) ### Patch Changes - [#346](https://github.com/aterrylu/autonomOS/pull/346) `fb34e6c` — feat(dashboard): status-label muted-accent colors + working shimmer (ADR-090) - [#348](https://github.com/aterrylu/autonomOS/pull/348) `c54d778` — fix(codex): suppress the in-pane self-update popup that kills spawned sessions (ADR-091) - [#349](https://github.com/aterrylu/autonomOS/pull/349) `1dd3d13` — feat(gateway): schedule:// sender scheme for scheduled prompts (ADR-092) - [#350](https://github.com/aterrylu/autonomOS/pull/350) `5ce42c7` — fix(server): config-dir test-escape guard — tests can never touch the real ~/.autonomos - [#351](https://github.com/aterrylu/autonomOS/pull/351) `6276dba` — feat(agents): lastActivityAt — session recency that survives upgrades - [#352](https://github.com/aterrylu/autonomOS/pull/352) `15a4521` — fix(codex): advance lastActivityAt from the status feed (T2, #351) - [#354](https://github.com/aterrylu/autonomOS/pull/354) `72d648a` — fix(terminal): full-viewport refresh after WebGL recreate (blackout hardening) - [#358](https://github.com/aterrylu/autonomOS/pull/358) `94df064` — fix(codex): count completed Codex turns in the unread (#num) badge - [#363](https://github.com/aterrylu/autonomOS/pull/363) `5131cdc` — fix(permissions): honest "Ask" explainer — Claude Code's own default governs - [#364](https://github.com/aterrylu/autonomOS/pull/364) `84a7e98` — fix(statusline): authenticate with the per-agent token (offline since #297) - [#365](https://github.com/aterrylu/autonomOS/pull/365) `f7f34e7` — fix(dashboard): first-run copy — drop tool names and stale claims from user-facing text - [#366](https://github.com/aterrylu/autonomOS/pull/366) `106f737` — fix(install): claude pre-flight + boot-cause surfacing in the post-install report (F2) - [#368](https://github.com/aterrylu/autonomOS/pull/368) `c8dcb89` — fix(notifications): unread badge == bell panel; codex turns show with content (F3) - [#373](https://github.com/aterrylu/autonomOS/pull/373) `8158f97` — test(server): de-flake restart-all permission-mode test (idMap classification + env retry) - [#374](https://github.com/aterrylu/autonomOS/pull/374) `0082260` — fix(auto-trust): survive CC ≥2.1.26x default-No trust dialog — pre-trust at spawn + verified dismissal - [#375](https://github.com/aterrylu/autonomOS/pull/375) `48406e3` — fix(codex-usage): Pro 5x plan — Codex-CLI labels for known lanes, graceful render for unknown ones - [#377](https://github.com/aterrylu/autonomOS/pull/377) `f827dd4` — fix(mcp): bundle channel-server deps inline — MCP bridge self-contained on bundle installs (#376) - [#378](https://github.com/aterrylu/autonomOS/pull/378) `35d952d` — fix(runtime): Codex crash-net retains the resumable thread (ADR-100) - [#379](https://github.com/aterrylu/autonomOS/pull/379) `22f4f32` — fix(codex): read the current rollout reply shape for the unread badge ## [0.6.1] — 2026-08-26 ### Patch Changes - [#344](https://github.com/aterrylu/autonomOS/pull/344) `a1f34a5` — fix(install): migrate AUTONOMOS_TOKEN across source migration — upgrades never break existing auth (ADR-089) ## [0.6.0] — 2026-08-25 ### Minor Changes - [#319](https://github.com/aterrylu/autonomOS/pull/319) `00953d9` — feat(shortcuts): ⌘K agent quick-switcher (ADR-073) — terminal-clear moves to ⌘⇧K - [#320](https://github.com/aterrylu/autonomOS/pull/320) `10e7f47` — feat(cli): autonomos upgrade/rollback — recorded install marker, health gate, auto-rollback (ADR-071, PR 1/3) - [#321](https://github.com/aterrylu/autonomOS/pull/321) `a0bfdd5` — feat(cli): source-mode upgrades — managed clone pinned to release tags (ADR-071, PR 2/3) - [#323](https://github.com/aterrylu/autonomOS/pull/323) `94ee89c` — feat(dashboard): passive update badge — server-side cached release check (ADR-072, PR 3/3) - [#333](https://github.com/aterrylu/autonomOS/pull/333) `058f751` — feat(cli): idempotent supervisor-unit sync on upgrade (ADR-080) + test-only service label (ADR-081) - [#340](https://github.com/aterrylu/autonomOS/pull/340) `9a7ccd2` — feat(dashboard): draggable per-terminal usage-queue overlay ### Patch Changes - [#310](https://github.com/aterrylu/autonomOS/pull/310) `1d9adc7` — ci(release): blocking changeset-check + sync-changelog collapse guard + /release skill footer fix - [#311](https://github.com/aterrylu/autonomOS/pull/311) `9221e35` — feat(dashboard): move env-preset pill to row bottom-right + gold accent highlight - [#314](https://github.com/aterrylu/autonomOS/pull/314) `040729d` — fix(notifications): kill the false-positive warning classes from the live-install audit - [#316](https://github.com/aterrylu/autonomOS/pull/316) `05e4ffa` — perf(terminal): instant agent switch — keep-alive terminal cache + coalesced reconnect-replay (ADR-072) - [#317](https://github.com/aterrylu/autonomOS/pull/317) `e5485b7` — fix(usage): bar/queue window alignment + auto-detect selects the credential source (ADR-075) - [#318](https://github.com/aterrylu/autonomOS/pull/318) `0389128` — fix(prompt-delivery): settle-gated receipt windows + retractable give-up (ADR-072) - [#322](https://github.com/aterrylu/autonomOS/pull/322) `f54f0db` — refactor(shortcuts): Escape protects popover drafts + terminal keymap as data + help Tab trap - [#330](https://github.com/aterrylu/autonomOS/pull/330) `3d4bed1` — refactor(api): conventions ADR + dead-surface removal (consolidation PR 1) - [#334](https://github.com/aterrylu/autonomOS/pull/334) `43c6a4e` — feat(dashboard): API client layer + push-over-poll migration (consolidation PR A, ADR-082) - [#335](https://github.com/aterrylu/autonomOS/pull/335) `d3cd50c` — feat(server): typed errors + one Zod source + store-level secrets guard (consolidation PR B, ADR-083) - [#336](https://github.com/aterrylu/autonomOS/pull/336) `8922e24` — feat(server): route renames behind one-release compat aliases (consolidation PR C, ADR-084) - [#337](https://github.com/aterrylu/autonomOS/pull/337) `59a09c4` — fix(codex): stop per-session MCP approval prompt — mode-aware pre-approval + read-only annotations (ADR-085) - [#339](https://github.com/aterrylu/autonomOS/pull/339) `db7706d` — fix(terminal): atomic repaints (trailing-edge coalescing) + jump-to-latest pill (ADR-086) - [#341](https://github.com/aterrylu/autonomOS/pull/341) `1bb7bcd` — fix(terminal): remove focus-path fake-resize nudge; anchor parked viewports across scrollback wipes (ADR-087) - [#342](https://github.com/aterrylu/autonomOS/pull/342) `b0dbbac` — fix(gateway): fail loud on inbound to a no-inbound runtime (Gemini) instead of false-acking - [#343](https://github.com/aterrylu/autonomOS/pull/343) `a629132` — feat(dashboard): recency timestamp fade on agent rows (ADR-088) ## [0.5.0] — 2026-08-08 ### Minor Changes - [#271](https://github.com/aterrylu/autonomOS/pull/271) `744adc2` — feat(server): retire pm2 from operator path — launchd/systemd-user supervision + rotating logs - [#272](https://github.com/aterrylu/autonomOS/pull/272) `131fa2b` — feat(cli): first-run install UX — post-install smoke test + connect panel - [#273](https://github.com/aterrylu/autonomOS/pull/273) `ea57b14` — refactor: cut the Electron desktop app — remote always-on server is canonical (ADR-051) - [#276](https://github.com/aterrylu/autonomOS/pull/276) `509ed54` — feat(dashboard): Codex usage tracking plugin (live /wham/usage + rollout fallback) - [#283](https://github.com/aterrylu/autonomOS/pull/283) `4f1e5c6` — fix(server): resume external Claude Code sessions — adopt-into-managed (ADR-056) - [#284](https://github.com/aterrylu/autonomOS/pull/284) `7bbb876` — feat(security): move /mcp + agent hook relay onto a Unix socket (ADR-055 PR A) — **breaking transport change** - [#288](https://github.com/aterrylu/autonomOS/pull/288) `4b6c758` — refactor(mcp): deprecate agent capabilities — bypassable + misleading (ADR-058) - [#289](https://github.com/aterrylu/autonomOS/pull/289) `2777645` — refactor(dashboard): remove the broken markdown file preview (ADR-059) - [#293](https://github.com/aterrylu/autonomOS/pull/293) `b45043d` — feat(security): gateway onto the control socket + per-agent identity (ADR-055 PR B) - [#299](https://github.com/aterrylu/autonomOS/pull/299) `28b0adc` — fix(gateway): send() acks DELIVERY, not routing — remove broadcast:// and slack:// (ADR-064) - [#300](https://github.com/aterrylu/autonomOS/pull/300) `b7222e1` — feat(dashboard): keyboard shortcut registry + mod+digit pane switching (ADR-063) - [#302](https://github.com/aterrylu/autonomOS/pull/302) `c8262cd` — feat(providers): model-override env presets — agent-configured, human-keyed (ADR-067) - [#304](https://github.com/aterrylu/autonomOS/pull/304) `b230d72` — fix(shortcuts): free the dead ctrl+d/w/b swallow + registry Escape dismissal (ADR-065) - [#305](https://github.com/aterrylu/autonomOS/pull/305) `d2e1e2e` — feat(shortcuts): mod+digit switches sidebar agents + hold-mod row badges (ADR-066) - [#306](https://github.com/aterrylu/autonomOS/pull/306) `e79aa84` — feat(shortcuts): mod+↑/↓ relative agent navigation + neighbor hint chips - [#308](https://github.com/aterrylu/autonomOS/pull/308) `b64326f` — feat(usage-queue): per-tab + per-runtime auto-Enter (ADR-068) - [#309](https://github.com/aterrylu/autonomOS/pull/309) `470b045` — docs(changeset): complete the v0.5.0 changelog — retroactive changesets for 5 undocumented PRs ### Patch Changes - [#269](https://github.com/aterrylu/autonomOS/pull/269) `e6b8290` — feat(dashboard): distinct highlight for co-visible sidebar rows - [#270](https://github.com/aterrylu/autonomOS/pull/270) `f5c4939` — fix(server): keep Claude Code agents on restart via provider-parity resume fallback - [#274](https://github.com/aterrylu/autonomOS/pull/274) `788d3df` — fix(security): stop leaking the auth token in a URL (post-install panel) - [#278](https://github.com/aterrylu/autonomOS/pull/278) `f7a1f60` — fix(server): recover agent status after compaction — order-independent hooks (ADR-053) - [#281](https://github.com/aterrylu/autonomOS/pull/281) `df6806e` — fix(security): require auth on /mcp — closes an unauthenticated RCE (ADR-054) - [#282](https://github.com/aterrylu/autonomOS/pull/282) `d973992` — fix(dashboard): eliminate layout/terminal/store stuck-states (audit sweep) - [#287](https://github.com/aterrylu/autonomOS/pull/287) `84a8bbd` — fix(codex): stop losing inbound messages in silence + kill the prompt-delivery false alarm - [#294](https://github.com/aterrylu/autonomOS/pull/294) `59aade5` — fix(codex): inject inbound immediately — remove the idle gate (ADR-060) - [#296](https://github.com/aterrylu/autonomOS/pull/296) `3064753` — fix(permissions): the record follows the process; rename `default` → `ask` (ADR-061) - [#297](https://github.com/aterrylu/autonomOS/pull/297) `7edfc47` — fix(security): consolidate per-agent token delivery to a 0600 file (ADR-055 follow-up) - [#298](https://github.com/aterrylu/autonomOS/pull/298) `fa1370c` — refactor(scheduler): remove the isolated target — the last spawn outside PermissionMode (ADR-062) - [#301](https://github.com/aterrylu/autonomOS/pull/301) `bed3654` — refactor(security): hygiene bundle — dir-modes, config validation, link-scheme filter, dep bumps - [#307](https://github.com/aterrylu/autonomOS/pull/307) `2319e96` — refactor(mcp): rewrite MCP_INSTRUCTIONS + drift-guard test + peer-discovery note ## [0.4.0] — 2026-06-28 ### Minor Changes - [#249](https://github.com/aterrylu/autonomOS/pull/249) `8a0257a` — feat(dashboard): default hierarchical sidebar view + remove exited-agents list - [#250](https://github.com/aterrylu/autonomOS/pull/250) `4e1fde3` — feat(dashboard): flat-view agent pinning + drag-reorder - [#257](https://github.com/aterrylu/autonomOS/pull/257) `08de6c2` — feat(settings): per-provider permission modes (replaces autonomousMode) - [#261](https://github.com/aterrylu/autonomOS/pull/261) `4806642` — fix(settings): default permission mode is 'default', not 'bypass' (fail-closed) - [#263](https://github.com/aterrylu/autonomOS/pull/263) `0998a6d` — feat(dashboard): rebuild tabs + split-pane layout on dockview, default on ### Patch Changes - [#244](https://github.com/aterrylu/autonomOS/pull/244) `49e35f8` — fix(release): consolidated CHANGELOG.md misses changesets without @autonomos/app - [#248](https://github.com/aterrylu/autonomOS/pull/248) `69b9a2e` — feat(dashboard): brighter active-agent highlight in sidebar - [#253](https://github.com/aterrylu/autonomOS/pull/253) `37b4372` — perf(server): flag-gated PTY→WebSocket frame coalescing + ablation harness - [#254](https://github.com/aterrylu/autonomOS/pull/254) `5b57cfe` — fix(server): resume after self_exit fails with 'resumeAgentId not found' - [#255](https://github.com/aterrylu/autonomOS/pull/255) `1c393c5` — feat(dashboard): vertical pin icon in flat-view sidebar rows - [#258](https://github.com/aterrylu/autonomOS/pull/258) `42b56a4` — fix(claude-usage): switch accounts when a new Claude session is detected - [#259](https://github.com/aterrylu/autonomOS/pull/259) `8117dfe` — test(server): quarantine usage-queue-sim-integration flake - [#260](https://github.com/aterrylu/autonomOS/pull/260) `c786abd` — perf(server): enable terminal frame coalescing by default (leading-edge) - [#264](https://github.com/aterrylu/autonomOS/pull/264) `c36e0ae` — feat(claude-usage): read-only OAuth usage + manual override; remove cookie scan - [#265](https://github.com/aterrylu/autonomOS/pull/265) `333534d` — fix(dashboard): clearer permission-mode labels (Ask, Accept edits) - [#266](https://github.com/aterrylu/autonomOS/pull/266) `a2815cb` — refactor(dashboard): remove the legacy layout engine (dockview-only) ## [0.3.0] — 2026-06-22 ### Patch Changes - [#208](https://github.com/aterrylu/autonomOS/pull/208) [`06389b0`](https://github.com/aterrylu/autonomOS/commit/06389b0c07912c68c0e1ca168e95c08296d2db82) Thanks [@aterrylu](https://github.com/aterrylu)! - Fix Claude Code statusline not applying in the desktop app. Two runtime-loaded scripts (the statusline renderer and the per-agent MCP channel-server) were referenced by path but never copied into the bundled server, so spawned sessions silently lost the statusline and the agent messaging tools. The build now stages both scripts (with a manifest), path resolution is centralized in scriptPaths.ts so source and bundle stay consistent, the server warns at boot if a script is missing, and the bundle smoke test fails on any missing runtime script. ## [0.2.0] — 2026-06-10 ## [0.1.0] — 2026-06-08 ### Minor Changes - [#183](https://github.com/aterrylu/autonomOS/pull/183) [`f301061`](https://github.com/aterrylu/autonomOS/commit/f3010614a016bbb4c5ef2b33a433401f0471cbe9) Thanks [@aterrylu](https://github.com/aterrylu)! - Professional release pipeline: universal2 macOS DMG built and validated in CI (lipo'd Node + native modules across arm64/x64), changesets-driven versioning with a single root CHANGELOG, lefthook + commitlint git hooks, and CHANGELOG-derived GitHub Release notes. ### Patch Changes - [#186](https://github.com/aterrylu/autonomOS/pull/186) [`9c81ca4`](https://github.com/aterrylu/autonomOS/commit/9c81ca4067c76846bf664df5faefaaa8452048c5) Thanks [@aterrylu](https://github.com/aterrylu)! - Release pipeline: add a dry-run dispatch mode to test the universal DMG build without publishing, and SLSA build-provenance attestations on shipped artifacts. - [#187](https://github.com/aterrylu/autonomOS/pull/187) [`ec1f536`](https://github.com/aterrylu/autonomOS/commit/ec1f5363849dfa04d7f12c30043dd572678cd0de) Thanks [@aterrylu](https://github.com/aterrylu)! - Fixed: the universal2 macOS app now runs on Intel Macs (a native HTTP dependency failed to load) and Built-in mode reliably spawns agents on both Apple Silicon and Intel (the bundled PTY spawn helper wasn't shipped correctly). Earlier 0.0.x desktop builds were affected. ## [0.0.2] — unreleased baseline The desktop-app era. Built but never cut as a formal signed release — the work here is the baseline the first changesets-driven release supersedes. ### Added - **Desktop app — Built-in / Always-on / Remote modes** (ADR-028 + ADR-029). The macOS Desktop can run an embedded server, supervise an always-on daemon, or connect to a remote server. (#173) - **"Try it out" ephemeral mode** — spin up a throwaway server in an isolated temp dir straight from the Welcome screen; cleared on quit (ADR-030). (#179) - **End-to-end DMG validation** — `validate-dmg.sh` drives the packaged app via CDP to assert the Welcome flow, auto-auth, and first-run UX; the bundle smoke-test now covers the auth-cookie path. (#180) ### Changed - **Statusline** — intelligent duration formatting + clock-glyph spacing. (#174) ### Fixed - **Built-in server reachability** — spawned Claude Code sessions now phone home to the actual bound port + token (routed via `serverState`), fixing silent hook/MCP failures when the server runs on an OS-assigned port. (#178) - **200% CPU peg on the Welcome window** — removed the stacked macOS vibrancy + CSS `backdrop-filter` that pegged the GPU compositor. (#176) ### Removed - **`autonomos://` deep-link handler** — dropped over phishing-surface concerns; pairing is paste-URL-and-token in the "Add a server" modal. (#175) ## [0.0.1] — 2026-05-15 First public release. Terminal-style agent dashboard, session spawning, hook telemetry relay, the URI-based multi-agent gateway, MCP tools, the cron scheduler, and the Phase 1C server distribution stack (`install.sh`, launchd/systemd-user supervision, `autonomos` CLI). [0.0.2]: https://github.com/aterrylu/autonomOS/compare/v0.0.1...HEAD [0.0.1]: https://github.com/aterrylu/autonomOS/releases/tag/v0.0.1