Skip to content

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 15 Sep 05:37

0.6.0 (2026-09-15)

Features

  • accounts: browser-based OAuth login for anthropic/openai accounts (#70) (d213ac8)
  • add Codex (OpenAI) as a native third-party provider (#40) (d6ac499)
  • add Kimi as a second ACP-speaking provider (#39) (f6c884c)
  • cli: smind account test <provider> wraps provider.test (#104) (f7c2766)
  • cli: task send --approval-policy flag + plan notes (#97) (e69c507)
  • delete workspace/space (removes smind's tracking only, never on-disk) (#73) (0c2b3f4)
  • merge account CLI and unified task dev hot reload (#49) (50e1a6c)
  • persist run/conversation history so it survives a daemon restart (#38) (60bbc28)
  • store: add terminal_sessions persistence (6634490)
  • store: PRAGMA-checked additive migration for pre-existing DBs (#100) (d45a287)
  • taskrunner,wsapi,web: derive accounts-dialog provider list from provider.list (Item 7d) (#102) (c971d6b)
  • taskrunner,wsapi,web: surface CLI-kind providers (GLM) in accounts dialog (Item 7b) (#99) (43a5196)
  • taskrunner: add approval-policy + permission-request timeout (Items 1+2) (#93) (0ca93fb)
  • taskrunner: allowlist local git add/commit under auto-safe (#109) (3898fcc)
  • taskrunner: extract shell commands from ACP execute tool calls (#119) (ffd07b1)
  • taskrunner: preserve unknown ACP session-update kinds as raw events (#126) (d2e8d0a)
  • terminal: survive a daemon restart, mirroring internal/runs (97b8601)
  • ui: design tokens, dark mode, primitives + structured/lifecycle events (Items 1,2,7,16) (#120) (b421b09)
  • ui: surface permission_resolved's reason in the timeline (#125) (bcf2962)
  • ui: Track A — shell (keyboard, palette, routing, splits, responsive) (#124) (728a5db)
  • ui: Track B — structured timeline, tool-call cards, composer v2, permissions v2 (#122) (7b75b1e)
  • ui: Track C — panes (file explorer/editor, diff/review, terminal, quick-open) (#123) (b07acce)
  • ui: Track D — settings screen, accounts v2, quota (Items 13-15) (#127) (1507384)
  • ui: Track D — sidebar signal, settings, accounts v2, quota (#121) (89e31bb)
  • web: add WsClient onClose hook and a browser reconnect wrapper (7baea05)
  • web: approval-policy selector in run-start prompt form (Item 7a) (#98) (15bc3d0)
  • web: CRUD UI for workspace/space/task create, archive, accounts (#69) (d3ee082)
  • web: drive App.tsx's connection status from real socket events (fd97f12)
  • web: editor preview pane (markdown, svg, sandboxed html) (#51) (5a520ff)
  • web: file conflict detection with reload/overwrite (#62) (0839cf5)
  • web: live UI on event subscriptions (#59) (fda2c5b)
  • web: per-file staging and commit flow (#61) (7a2fb9b)
  • web: pin permission card near composer, attention notifications, resizable layout (Items 3, 4, 6) (#94) (9454f33)
  • web: provider dropdown from provider.list (#60) (e53d6d8)
  • web: resync TaskDetailPane/TerminalPane after a reconnect (fe9b995)
  • web: server-side folder picker for New workspace's Path field (#72) (1caab67)
  • web: tab registry with per-task scoping and attention badges (#53) (7df8514)
  • workspace,wsapi,web: task.createPr RPC + Create PR button in diff view (Item 5) (#96) (d3e9fed)
  • wsapi,web: provider.test diagnostic RPC + health status and Test button in accounts dialog (Item 7c) (#101) (c50b2a9)
  • wsapi: event subscription RPC (#54) (3fda4ec)
  • wsapi: thread store persistence into terminal.Registry construction (f1c6a6f)

Bug Fixes

  • accounts: accept epoch-millis/seconds expires_at in OAuthCredential import (#77) (b3230df)
  • kill in-flight run.start subprocesses on daemon shutdown (#37) (210d14c)
  • persist a run's terminal status before it becomes visible in memory (#42) (46d9ec5)
  • store: empty lists must marshal as [], never null (fresh-install crash) (#68) (06bd802)
  • taskrunner: allowlist task test/lint/build for auto-safe runs (#105) (13245e1)
  • taskrunner: AllowlistedCommand handles cd-prefixed chained commands (#103) (80c3b79)
  • taskrunner: auto-allow ACP file edits inside the worktree under auto-safe (#111) (fb8a2a3)
  • taskrunner: claude runs with a human decider need acceptEdits mode (#91) (f60a03d)
  • taskrunner: fall back to the ACP tool-call title for file-edit auto-allow (#115) (d1da783)
  • taskrunner: pre-approve allowlisted Bash at the Claude CLI's own gate (#107) (2bb1e57)
  • taskrunner: resolve relative paths in ACP structured locations too (#118) (5589b7a)
  • taskrunner: resolve relative paths in ACP title-fallback file-edit gate (#117) (24143e6)
  • terminal: close checkpoint/finish write race and reap zombies on Create failure (1a19ae7)
  • ux: stop leaking a raw stat error, tighten guide copy at 3 spots (#74) (1a51f0a)
  • web: clip sidebar container overflow so long content can't bleed out (#78) (2c65046)
  • web: close the remaining min-w-0 gap in the sidebar's own flex chain (#76) (8f55cd1)
  • web: handleClose must reset lastTerminalIdRef, not just terminalId (0dc52fb)
  • web: isolate one throwing onClose callback from its siblings (8f21c1d)
  • web: long names no longer overflow/overlap in sidebar, tabs, and panes (#75) (a98e1e2)
  • web: reconnect must resolve previousId to its exact session (b9f550e)
  • workspace: checkpoint task work before archiving (#52) (06d6a87)
  • workspace: default empty workspace title to repo dir name; exclude archived tasks from task.list (#84) (82b390e)
  • wsapi: stop pumpEvents from spinning at 100% CPU after connection close (#95) (f8d1bf7)