0.1.32 (2026-08-09)
- terminal: show IME/dictation marked text in the embedded terminal (fcce2f6)
0.1.31 (2026-08-09)
- add first-class subagents (f4d4a85)
- add first-class subagents (8e749e3)
- add per-subagent compact thresholds (8ad6f5f)
- chat: carry a text selection from one message into the next (23cea10)
- chat: draw every message text row in one selectable text view (11b0564)
- chat: give the chat composer the keyboard back, the way the terminal has it (1974d5c)
- chat: let a selection run through cards and channel messages (35920d1)
- delivery: steer, queue, and interrupt as first-class semantics (69bb219)
- diagnostics: attribute memory pressure to tmux session process trees (a2e7c17)
- markdown: render markdown into one attributed string with real tables (2f9197d)
- queue: add a prompt history to the card menu (b446b10)
- queue: journal every queued prompt before it can be lost (2f03797)
- shortcuts: make Cmd+P pin the selected card (843b711)
- subagent: let a child ask for its own worktree (ae0a8f0)
- subagents: escalate per-card compaction the same way as global (b5bfff3)
- subagents: fork owned children and label parent DMs (667aff6)
- accumulated verified fixes from recent sessions (d01cd10)
- board: centre the notice banner on the window (b533d1f)
- board: make the notice banner readable over a terminal (43bb7b3)
- board: show session ended instead of tmux attach error after reboot (c52695f)
- board: stop good news arriving as a warning (ffeb985)
- chat: cap system-style messages like every other block (5e5f85b)
- chat: hold task notifications to the same column as every message (096900f)
- chat: keep a table at the width it was measured at (3e3301b)
- chat: land the search on the match instead of near it (4033035)
- chat: make in-conversation search find and paint its match (16c0480)
- chat: make search agree with the transcript on which turn is which (237734c)
- chat: resolve repo#123 references against the card's owner (20d3a7d)
- chat: stop a message with a table drawing over the one below it (11637f3)
- chat: stop a restored draft from being thrown away on the next keystroke (8abd6fd)
- codex: make restore-to-turn actually truncate (8102284)
- diagnostics: survive-the-night defenses after 28GB balloon incident (bfafaf0)
- gh: group PR lookups by remote slug so worktrees stop multiplying GraphQL calls (1249195)
- harden subagent workflows (4de5046)
- migration: write message.model so claude --resume works (bdda634)
- preserve piped self-compact handoffs (7ec472c)
- search: put the quick palette back on an eager stack (6b97180)
- sessions: resolve symlinks when encoding Claude project folders (d086f45)
- shell: close the pipe descriptors every spawned command borrows (5ff532a)
- terminal: don't glue soft-wrap boundaries in implicit links (090070d)
- terminal: stop the terminal eating scrolls meant for the palette (43c2dba)
- terminal: trim URL punctuation; parse current codex rollouts (4442098)
- windows: wrap pinnedCards Zustand selector in useShallow (#139) (1db691f)
- search: deliver each match as it lands instead of per batch (5cfe872)
- search: open the quick palette on the frame it is asked for (a25441f)
- search: read transcripts in blocks instead of byte by byte (a17c51c)
- search: stop scanning every transcript byte for every query (1ab21c5)
- search: stop the quick palette indexing every card before it opens (edcf5d2)
- search: stop the quick palette re-sorting the board on every render (7b2fb70)
- gh: extract PR lookup grouping into a tested pure helper (503fabf)
0.1.30 (2026-06-16)
- app: board auto-selects a room's channel via a focus-channel marker (507826e)
- app: board auto-selects a room's channel via a focus-channel marker (9f6add7)
- cli: kanban launch --no-resume for fresh ephemeral agents (8133764)
- slack: post a 👀 ack on relay and delete it on the agent's first reply (c512824)
- windows: add project switcher dropdown to board header (0dd340b)
- windows: add structured logging + verify Phase 0 baseline (982e412)
- windows: APIService entity + per-card endpoint binding (#130) (30eb132)
- windows: app-wide font scaling (Ctrl+/-/0) and list view mode (ccbd139)
- windows: BM25 deep transcript search wired into SearchOverlay (db4a28f)
- windows: browser keyboard shortcuts + reopen-last-closed ring (#125 steps 5+6) (#137) (816a860)
- windows: browser tabs data layer + Tauri CRUD (#125 step 1) (#134) (10dc02d)
- windows: browser tabs UI shell — tab strip + URL bar + DnD reorder (#125 step 2) (#135) (b37f39f)
- windows: card merge via drop-onto-card (c8249a6)
- windows: chat message actions — edit/delete/reactions/mentions (#113) (bad627f)
- windows: Codex adapter — discovery + AssistantId wiring (#124 sub-PR 1/3) (#132) (bdf3a5c)
- windows: confirm card delete + auto-select neighbor after delete/archive (b43bc8f)
- windows: copy-to-clipboard menu in card drawer header (8a3d3fb)
- windows: discovered-projects suggestions in Settings → Projects (926a94d)
- windows: DM panel in chat UI (#109) (2d9c81c)
- windows: embedded WebView2 per browser tab + back/forward/reload (#125 steps 3+4) (#138) (fdab015)
- windows: emit drafts-changed watcher event (#111) (c73078e)
- windows: fork_session + truncate_session — Fork in drawer menu, Checkpoint per turn (b2827fc)
- windows: Gemini adapter — discovery + projects.json mapping (#124 sub-PR 2/3) (#133) (acab542)
- windows: git_remote.rs + Tauri commands for canonical GitHub URLs (da2e20a)
- windows: image upload in chat + CLI --image (#112) (1a7d760)
- windows: image-paste pipeline for prompts (075f2f6)
- windows: image-paste pipeline for prompts and queued prompts (8c4bc88)
- windows: in-app merge_pr command + Merge pill in PR drawer tab (406d411)
- windows: inject KANBAN_CARD_ID/HANDLE into card tmux launch (#106) (2118df4)
- windows: keyboard polish — Ctrl+, opens settings, Esc layer-pop (f3a367f)
- windows: launch confirmation dialog + richer command builder (8cde8e6)
- windows: log when settings.json appears to originate from macOS (710c8da)
- windows: make terminal shell configurable; default to native cmd.exe (73fad21)
- windows: move card to another project (2e928b4)
- windows: multi-assistant abstraction (Claude + Gemini scaffolding) (8e01c21)
- windows: multi-tab shells per card via tmux windows (3bf5bf5)
- windows: notification polish — last-message body + 62s dedup (2ac5984)
- windows: notifications for inbound chat messages (#110) (c395f60)
- windows: panic hook writes crash-*.log before abort (d6713fd)
- windows: per-card runtime gate + in-terminal history + auto-resume (#140) (0523d42)
- windows: per-project settings — name, repoRoot, githubFilter, promptTemplate (5718791)
- windows: persist same-column reorder via reorder_cards command (34e9b8a)
- windows: Phase 5 — Mutagen sync, remote status, bash wrapper deploy (c0d59ba), closes #96
- windows: Phase 7 — channels + kanban CLI (7ebda6b)
- windows: Phase 7 follow-ups (Parts 1–4) (43daa0a)
- windows: pinned cards + self-compact settings (2d2a4c3)
- windows: pinned cards section + self-compact settings (67d270a)
- windows: port KSUID + add links.json .bkp corruption recovery (6fd7739)
- windows: Process Manager modal (Ctrl+Shift+M) (a639cc2)
- windows: Process Manager modal (tmux / Claude / worktrees) (a713e05)
- windows: Pushover delivery wired into notification path (f831597)
- windows: queued-prompt auto-send driven by hook Stop events (ca66f91)
- windows: rich PR enrichment — body, CI checks, review decision, approvals (37deb36)
- windows: self-compact generation loop + Claude Code statusline (#131) (6f6956f)
- windows: Session History parity — transcript font + auto-load (770c5e4)
- windows: Session History parity — transcript font size + auto-load (cfea354)
- windows: standalone parity gaps — lastOpenedAt, channel reorder, bulk kill, Ctrl+click checkpoint (#129) (7826c89)
- windows: tmux-in-WSL adapter for terminal persistence (Phase 3) (965a797)
- windows: unresolved-thread count + worst-CI dot on card (06dc71b)
- windows: wire git worktree discovery + add Remove worktree action (e00f29d)
- windows: wrap embedded terminal in tmux for reattach across drawer close (f7e4edb)
- windows: WSL terminal-shell hint in onboarding ClaudeCodeStep (8659440)
- windows: WSL-side hook.sh install + JSONL event tail (7fff195)
- cli: delete a channel's history log on channel delete (d1fb6bf)
- cli: forceFresh mints a unique session id, not uuidv5(slug) (2775ef7)
- cli: fresh ephemeral room agents + clean channel teardown (9ae55af)
- cli: prioritize channel help over low-level send (3410a9f)
- self-compact: prioritize compact queue prompts (263caaf)
- slack: clear pill + delete 👀 when the user runs /stop (6b9fc4c)
- slack: drop stale pill on bridge restore when the agent's turn already ended (f9e0fc1)
- slack: skip the 👀 ack on relay when the agent is already mid-turn (a988068)
- tmux: route every paste through a uniquely-named buffer (ed3f458)
- windows: harden crash handler against recursive panic + cross-PID race (1c8ea43)
- windows: image-paste review fixes — renumber on remove + persist edits (24a403b)
- windows: keyboard shortcuts also match on physical key code (0145fc5)
- windows: make Transcript font size slider actually take effect (809b3a7)
- windows: process-manager review fixes — tighten filter + flag boundary (545625d)
- windows: thread theme tokens through dark-hardcoded views (b2081a8)
0.1.29 (2026-06-07)
- board: add pinned cards section (3e72a89)
- board: reorder channels and pinned cards (160c492)
- bridge: mirror Codex agent movement to Slack via rollout transcript (c330f35)
- card: copy conversation as markdown (383b8f8)
- channels: copy conversation as markdown (5c31168)
- cli: headless agent runtime (launch/resume, reconcile, daemon, hooks, slack) (afc01cc)
- cli: headless agent runtime (launch/resume, reconcile, daemon, hooks, slack) (86012bf)
- headless: add a Codex runtime alongside Claude (06be666)
- headless: add a Codex runtime alongside Claude (2983a12)
- slack: /stop slash command to interrupt the agent in its channel (30f7fda)
- slack: add 'kanban slack post' to post to a channel as the bot (631ed55)
- slack: age out attachments after 7 days so the inbox does not grow (5da540e)
- slack: announce self-compact in the channel (31317a7)
- slack: broaden bot scopes to full read + write in any invited channel (b8b1002)
- slack: buffer tool calls and flush them on the NEXT text post (227ae06)
- slack: follow codex rollout rotation so mirroring survives restarts/compaction (552f0b5)
- slack: live "working…" pill via assistant.threads.setStatus (04439a8)
- slack: mark automated sends with [SYSTEM MESSAGE] (07d46e3)
- slack: mirror Claude Code's numbered picker as Slack buttons (c40e6fb)
- slack: mirror codex out-of-credits to the channel (e3955c5)
- slack: mirror codex received prompts as '>>> Received user message' (c4429d9)
- slack: mirror every injected prompt as ">>> Received user message" (cc6fa1e)
- slack: relay file attachments into the agent prompt (25d5bb1)
- slack: relay file attachments to the agent's tmux prompt (77ce266)
- slack: render command tool calls in fenced code blocks (65d1a59)
- slack: route text to channel root, fold tool calls into in-thread batches (e6571a5)
- slack: thread agent activity under the received prompt (8381dc6)
- slack: translate GFM markdown to Slack mrkdwn before posting (e0c817a)
- app: make quit confirmation app-modal (0e878f5)
- app: make quit confirmation delegate-owned (2d8f0b8)
- app: present quit confirmation reliably (56b462a)
- app: restore managed-session quit dialog (c376a68)
- board: avoid lazy layout hang when pinning cards (02a2b1d)
- bridge: match codex rollout cwd via regex (session_meta line is huge) (a9176ec)
- build: bundle the whole cli/dist tree, not just top-level files (5fce3e5)
- channels: avoid heavy markdown render hangs (a293d9c)
- channels: avoid reloading cached message tails (5ea50e6)
- channels: cap chat rendering hot path (4600dd4)
- channels: skip no-op state reloads (4e04853)
- chat: avoid history pagination plateau (b565af8)
- codex: resume the prior session on restart instead of starting fresh (0df50c8)
- daemon: send self-compact nudge straight away, not queued for Stop (ec0767a)
- hooks: wrap codex hooks.json events under top-level "hooks" key (9665210)
- make channel live share startup reliable (0871638)
- notifications: bound transcript reads (93d1737)
- remeasure prompt editor after complex pastes (440afa7)
- search: exact PR and URL deep search (911c2fb)
- search: highlight quoted exact matches (5252817)
- search: make PR deep search exact and fast (6e3d487)
- self-compact: give Claude Code 2s to settle before sending Escape (433130e)
- slack: also detect the footer-less 'Review your answers' submit picker (961386d)
- slack: clear the previous "is working…" pill explicitly on each new text (8ca0dde)
- slack: drop "is working…" pill on codex out-of-credits (f904adb)
- slack: drop the eyes-emoji ack post; light the pill on the prior anchor (4bdc027)
- slack: drop the working pill when a codex turn ends (task_complete) (a8d68d6)
- slack: drop the working pill when Claude finishes its turn (end_turn) (0d670d9)
- slack: drop working pill on codex out-of-credits warning (437d1df)
- slack: light the working pill the moment we deliver a user prompt (15fb4a9)
- slack: light working pill immediately when a Slack human relays a prompt (5dd137a)
- slack: mirror prompts only on confirmed receipt, suppress bridge echoes (8792f8a)
- slack: persist the working pill across bridge restarts (2667543)
- slack: persist working pill across bridge restarts (d8591b1)
- slack: post pickers to channel root, not into the current thread (20a5a84)
- slack: render agent markdown + drop stale pill on Claude end_turn (2aaa594)
- slack: thread Claude agent activity too, via a shared thread-root (759a298)
- stabilize prompt editor height measurement (cfacf24)
- store: isolate chat actions from card rebuilds (0a5dd5e)
- transcript: preserve slash command prompt text (db42014)
- ui: keep watcher notifications on main thread (78a92e2)
- wait for share tunnel warmup before publishing URL (6bf744d)
- terminal: reuse resolved render attributes (49a6176)
- card-menu: require explicit action routing (ec40ef9)
- slack: drop per-tool status label, show plain "working…" pill (ce5aa83)
- cli: operator guide for headless agents (4964b0e)
- spec: codex mirrors via rollout transcript, not hooks (2cb8583)
0.1.28 (2026-05-23)
- app: improve prompts and self compact settings (50915f2)
- channels: add from filters to search (7c8a4d1)
- cli: add self-compact command (fdda9c2)
- prompts: preserve inline image placement (e577db4)
- settings: link to full disk access permission (971ab1f)
- shortcuts: resume ended sessions with command return (c76f94e)
- ui: add channel activity and navigation cues (bd9ab1e)
- app: avoid stale self compact prompts (d66a6ce)
- app: include message participants in channel activity (c04b20f)
- app: reduce UI hangs and stale undo crashes (796c5e1)
- app: throttle active card branch discovery (e37aaf4)
- channels: improve search and hang diagnostics (4235f35)
- channels: repair tmux ownership and self-compact follow-up (7370ab9)
- chat: page Codex history and restore working state (25dbc86)
- cli: submit self compact command reliably (f8c8528)
- cli: use fixed self compact follow-up delay (4057c0c)
- launch: keep prompt text with image attachments (36d305a)
- limit activity refresh to discovered sessions (2eb52bb)
- stabilize chat rendering and add UI diagnostics (825640b)
- store: avoid observable state exclusivity crash (4a7c2d7)
- ui: reduce channel render load and stabilize prompt height (44213ca)
- ui: render all card toolbar PR pills (6afd05c)
- ui: render card drawer PRs as separate toolbar buttons (4336516)
- ui: show more PR buttons in card toolbar (fa6e2b5)
- ui: show sorted PR badges in card drawer (9a47f99)
0.1.27 (2026-04-29)
- channels: improve navigation search and memory use (40007df)
- reconciler: drop stale orphan worktrees (6ad2572)
- search: stabilize quick palette selection (3e83afb)
0.1.26 (2026-04-25)
- @mention autocomplete in channel/DM composer (f87764f)
- add Codex CLI assistant support (338788f)
- api-service: third-party launcher support (Ollama, model flags, base URL) (12fd29a)
- api-service: third-party launcher support via APIService entity (0b094e3)
- broadcast message images via inline markdown paths (a61012e)
- browser tab shortcuts and new-tab link handling (3e41a9d)
- channels: kick members, markdown + truncation, logger & codex fixes (f654acd)
- channels: tint own messages in channel and DM views (1db6ccd)
- chat: arrow-key nav + escape for @-mention picker (370866f)
- chat: Enter inserts top mention match when picker is open (938cfb6)
- chat: flag external messages with a warning prefix in tmux fanout (27ce61b)
- chat: text selection, cmd+click URLs, smart scroll, and new-messages pill (f25de70)
- Cmd+Shift+T reopens last closed tab, address bar focused on new tab (4a1416b)
- first-class chat channels for multi-agent coordination (826c61a)
- kanban channel/dm open deep-links into the app (f25b577)
- share: headless share-server + cloudflared tunnel + kanban channel share (4197980)
- share: OpenAPI spec at /.well-known + "API for Agents" button (637e8bf)
- share: robustness, images, theme toggle, and polish (b702979)
- share: swap SSE for long-polling + drop 50 MB of dev deps (2af885e)
- share: Swift UI for public channel shares (66539d0)
- share: web client (Vite + React + Tailwind + shadcn) (59e048f)
- storage: rolling 7-day backup snapshots of links.json (f24c0cd)
- TypeScript CLI for card inspection and agent orchestration (f0eb6df)
- activity: detect ralph-loop / stop-hook continuation via transcript mtime (87bc0d9)
- activity: route detectors to their own sessions (08fcde5)
- apply excluded paths filter to CLI card listing (b7fe51e)
- apply same activeTimeout window to Notification handler (42be99a)
- build: use ad-hoc codesign for local dev builds (ab7c03b)
- build: use ad-hoc codesign for local dev builds (3135148)
- card-detail: discard stale transcript loads after card switch (285635a)
- card: focus terminal on card switch when focusTerminal is already true (c879b0f)
- chat scroll rewrite, send reliability, terminal selection, tmux discovery (fb3d256)
- chat: Enter in @-mention picker inserts selected handle (9bd673a)
- chat: float mention popover above composer (no layout shift) (1ff85f1)
- chat: mention popover sits above composer + hover highlight (bf9de4f)
- chat: re-focus chat composer / card terminal on drawer switch (f0c5347)
- disable noUnusedLocals and noUnusedParameters in tsconfig (919aee8)
- disable noUnusedLocals and noUnusedParameters in tsconfig (be2eb8b)
- native WebKit inspector via entitlements and autoresizing (3a93ec9)
- prevent reconcile from reverting configuredProjects (639ab6a)
- reconciler: catch branch checkout inside existing worktrees (1985c14)
- settings: one bad field can no longer wipe the whole config (4d0add8)
- stable notification identifier per channel/dm (3c7321e)
- Stop grace period instead of 5-min activeTimeout window (7591122)
- stop Stop-event flicker without promoting dormant sessions (8185d3d)
- use stable code signing and disable smart text substitutions (3b6db1b)
- use which instead of where for command detection on Linux (a481ebe)
- use which instead of where for command detection on Linux (c8726b5)
- include markdown image refs in Swift fanout (parity with CLI) (712b692)
0.1.25 (2026-04-07)
- add
kanbanCLI and centralize shortcut display strings (8a7420b) - clickable #123 PR refs in chat mode, fix blank rendering (a78b8ba)
- cmd+click GitHub issue/PR refs (#123) in terminal (8d620ec)
- absorb new sessions by project+tmux, copy all grouped messages, add checkpoint (6aeb023)
- Add Link always visible, Show more clickable, notification-based Add Link (d099da6)
- chat mode scroll, rendering, and UX improvements (7260393)
- drop custom equatable on ChatMessageView (75ac58b)
- resolve type-checker timeout in CardDetailView onChange (61b4e77)
- resolve type-checker timeout in CardDetailView onChange (38a9bf7)
- rotate log file on startup when over 10MB (d8d2aeb)
- update worktreeLink when Claude switches worktrees (EnterWorktree) (e3f921c)
- virtualize card list in expanded sections (df8e920)
0.1.24 (2026-03-30)
- add Copy Session .jsonl Path to card actions menu (5d32d04)
- context usage donut chart via Claude Code statusline (93c4a65)
- message timestamps on hover, prompt history cycling, fix project cache (ba27a13)
- show tab names in Process Manager, navigate to specific terminal tab (09ff183)
- absorb shell tab sessions into parent card instead of creating duplicates (4d01339)
- activity detection after Stop, merge assistant turns, show thinking blocks (545f297)
- Add Link menu item visible in all card menus, not just expanded toolbar (16f8595)
- add Merge label pill to list view drag-and-drop (matches kanban) (70de4a1)
- derive current context tokens from percentage × window size (c32a64d)
- empty statusline output, smaller gray donut chart (16defe6)
- merge duplicate sessionId cards from launch race condition (5fc19ab)
- PR number thousand separator, restore Unlink PR in toolbar menu (55d82f3)
- rename action not working from context menus (c6d3ae0)
- search overlay invisible items, render markdown tables in chat (9c31561)
- tiny ellipsis button, add card merge to list/sidebar view (730f03f)
- worktree session not matching manual card, same-column merge blocked (8fe056a)
- fix search overlay slowness from VStack, scroll to top on query change (72f5420)
- unify all card context menus into shared CardActionsMenu (ac6233d)
0.1.23 (2026-03-22)
- add in-page browser DevTools via Eruda (bd709af)
- add in-page browser DevTools via Eruda (d8a332b)
- read plan approval options from tmux pane instead of hardcoding (14555f3)
- Add Link in expanded mode, auto-expand last tool call, terminal flicker (8480f6c)
- auto-expand last tool call, scroll on expand, busy indicator, prompt retry (8d65216)
- auto-expand uses filtered last turn, fix terminal flicker on card switch (c1dea9a)
- browser tab scroll not intercepted by terminal scroll handler (2929e65)
- clear browser tab selection when new shell tab is created (d8a3445)
- Cmd+1-9 tab switching includes browser tabs, fix image popover (3c26593)
- Cmd+W closes browser tabs too, not just shell tabs (07ace67)
- dismiss stale pending message on chat view appear (5756342)
- plan options missing, search perf, scroll on auto-expand (a68e885)
- remember per-card tab selection, fix stale chat on switch, fix unsent prompts (5405dad)
- resolve unused variable and return statement warnings (f72a470)
- tab click delay, chat scroll perf, expanded terminal focus (cfa009d)
- validate restored tab selection against live sessions (02ad278)
- adaptive polling — fast when busy, idle when idle (5109718)
- cache selectedCard to avoid CardDetailView re-renders (0f444c3)
- fine-grained SwiftUI re-renders via @Observable AppState (903bfb9)
- instant terminal response for typing and cursor movement (17cc0f0)
- pre-compute per-column card arrays for independent observation (8f79d6f)
- extract content tabs and PR helpers from CardDetailView (787600b)
- extract launch, sync, and worktree logic from ContentView (75bac83)
- split ChatView.swift and CardDetailView.swift into smaller cohesive files (8766ccd)
- add productive-mode screenshot, project's goal and testimonials to README (ce34c28)
0.1.22 (2026-03-19)
- crash in SystemTray.terminate, pending message dedup, lazy image preview (edc211d)
- cross-bubble text selection and line spacing in chat mode (45417f6)
- dismiss pending message when any new user turn arrives (191a230)
- image hover loading reads line incrementally instead of entire file (56e413c)
- lid-closed pushover skips when external display active, cross-bubble text selection (b1fd8f4)
- passthrough mode for tmux copy-mode, less aggressive frame dropping (6cf7829)
0.1.21 (2026-03-18)
- chat search, scroll fix, image thumbnails, worktree removal (0f73c47)
- lid-closed pushover, per-project worktree pref, tab & scroll fixes (80e2c61)
- pushover lid-closed mode, per-project worktree pref, UI fixes (f74995b)
- persist browser tabs across card switches (15a1d52)
- persist browser tabs across card switches (f9d9af5)
- resolve compiler warnings from contributor PR (17c4eb3)
- task notifications parsed from XML, rendered as centered system messages (31b30df)
0.1.20 (2026-03-17)
- add embedded browser tabs to card detail view (f901780)
- add embedded browser tabs to card detail view (2de5322)
- auto-scroll on expand, instant scroll to bottom (e4b71a8)
- card info section in expanded mode actions menu (a3b1c9a)
- chat UX improvements, queue prompt from input, drag-reorder queued prompts (78d2786)
- grouped tool calls, image labels, queue fixes, escape behavior, prompt state (e9e3a4c)
- image chips on user bubbles, up-arrow history, working indicator grace period (af71be0)
- interactive plan approval and AskUserQuestion in chat view (7dbe248)
- native Chat View with terminal toggle (Phase 1-5) (677708c)
- queue prompt button in chat view, edit diff stats, spinner fix (9aea657)
- render subagents, plan mode, AskUserQuestion in chat view (32e6e26)
- chat view stability, prompt sending, path encoding, performance (c60dfb7)
- checkpoint kills session, refreshes chat, LazyVStack blank screen (f2b43a1)
- hide sidebar toggle in kanban mode, center search overlay on full window (494f286)
- per-card chat drafts, scroll reliability, prompt sending retry (efaed0b)
- project selector always visible in toolbar, compact sync icon in expanded mode (6e2bce2)
- prompt editor state isolation per card, clear pending on card switch (388b179)
- fork SwiftTerm async dispatch, off-main-actor history loading (d4a131e)
- wait-for-silence terminal rendering, always drop to tail (0bbcd60)
- wait-for-silence terminal rendering, always drop to tail (d5262f3)
- enrich ContentBlock for chat view (Phase 0) (cc12243)
- global dialog state (Elm-like) for all card action dialogs (c29a463)
0.1.19 (2026-03-15)
- add drag and drop to list view (413c5bc)
- add drag and drop to list view (67dd18d)
- add expanded mode for card detail inspector and image drag-and-drop (5aec3f3)
- add Gemini hooks, enable/disable assistants, fix activity detection and notifications (aa3e1b9)
- add multi-coding-assistant support (Claude Code + Gemini CLI) (24211bc)
- centralize keyboard shortcuts with context-aware conditions (b9c7bae)
- Cmd+1-9 switches terminal tabs when drawer is open (4c7c34b)
- Cmd+T new terminal, search badges, terminal flicker logging (7f03cc7)
- improve terminal tab UX with double-click rename, drag reorder, and shell names (baf4464)
- multi-coding-assistant support (Claude Code + Gemini CLI) (d58dd50)
- NavigationSplitView sidebar, Finder-style terminal tabs, list view redesign (296c68f)
- Parse inline markdown in session history assistant turns (d0cbb9d)
- Parse inline markdown in session history assistant turns (a77839f)
- persist expanded mode, board split, and list section collapse (bcaef03)
- remove expand/contract buttons, close-button hover, persist card selection (d2df9a6)
- terminal tab folder names, Cmd+W close tab, Cmd+T focus (4cb7884)
- terminal tab rename, per-project remote toggle, worktree branch input (b09dd97)
- transform search overlay into VS Code-style command palette (ab35bea)
- unify list mode and expanded mode into single view toggle (f15ced7)
- use custom icons for assistants and decouple assistant from card creation (a30fc47)
- Windows port (Tauri + React) (8c0a60e)
- windows: queued prompts, search, font size, issues, onboarding wizard (72e435c)
- archived cards no longer reappear after session discovery (2d6e6c1)
- cards manually moved to backlog stay there despite activity (6f950d7)
- detect CLIs installed via nvm/volta/fnm and add assistants to settings (ee47c3a)
- filter Claude Code internal metadata from session display (9ee4f8b)
- Gemini prompt detection, error messages, and session linking (2997c20)
- Gemini remote execution and special character handling (cad77b7)
- Gemini remote shell wrapper crashes and temp file warnings (cdefbe0)
- make Gemini sparkle icon bolder and fix hardcoded prompt character (1c57ce6)
- match Claude CLI's path encoding by also stripping dots (08fd5c0)
- move assistant picker to footer row in New Task dialog (45902e0)
- parse inline markdown per-line to preserve multiline structure (a791b5b)
- persist last-chosen assistant in New Task dialog (e3cbdcb)
- prevent cursor jumping to end in prompt editor during re-renders (1616d9c)
- prevent terminal flicker during background state updates (4d591a3)
- queued prompt empty on restart and auto-send while editing (6cb0499)
- resolve Cmd+Enter conflict between detail expand and deep search (e8b2b7f)
- retry terminal focus after 500ms for heavy cards (5e3ab18)
- selected project takes priority over last-used in new task dialog (e22329d)
- swap order of path encoding to match Claude CLI (dots first, then slashes) (1912958)
- swap order of path encoding to match Claude CLI (slashes first, then dots) (3237755)
- sync status toolbar icon uses primary color when files in sync (87e19b2)
- terminal scroll works in full area, not just upper portion (a931436)
- terminal tab rename uses dialog, add branch name field (c110648)
- use assistant-specific icons everywhere and fix Gemini history loading (e6bbad5)
- windows: GitHub-style thin white border lines in dark mode (e5c329e)
- windows: GitHub-style thin white border lines in dark mode (ec89b35)
- cache worktrees by mtime and pre-compute cards array (5d6a46f)
- eliminate launch flicker by restoring state synchronously in init (688cebf)
- eliminate terminal flicker with time-budgeted batch feeding (6dc9eb8)
- optimize reconciliation loop from ~1s to ~0.4s (7c0a098)
- tune terminal batching for 1M context sessions (57635bc)
- add Windows installation and usage instructions to README (a0e0a95)
0.1.18 (2026-03-07)
- improve manual task prompt UX and image support (23346ff)
- open new task from lane double click (596074f)
- open new task from lane double click (096033d)
- add label selector to mutagen sync flush calls (3653f66)
- add Start button and auto-create sync from remote shell (293eaa9)
- mutagen stop/reset/flush commands were silently failing (fb5d3dc)
- stop ignoring VCS in mutagen sync (e8855f9)
- sync popover auto-resizes when content changes (fd1f9ab)
- sync popover text area uses fixed height (892f89c)
- sync status button padding, title case, adaptive polling (85ff9b7)
- sync status icon now reflects actual mutagen state (f254988)
- toolbar padding and sync status polish (ad942b4)
0.1.17 (2026-03-06)
- add cmd+click to open URLs in history view (1e671f4)
- add drag-to-reorder for projects in settings (235dcff)
- macos: card reordering within same column (7045925)
- macos: card reordering within same column via drag-and-drop (21695bd)
- paste images into prompts and send them to Claude Code via tmux (ed7a24b)
- merge button toast stuck and card not moving to done (3f5557b)
- remove terminal associations from cards when killing sessions on quit (4d2aa74)
- use editor CLI to open worktree folders as project root (ce54bb1)
- use single mutagen sync session instead of one per project (a97446c)
0.1.16 (2026-03-05)
- add pushoverEnabled toggle to disable Pushover without deleting keys (93083e8)
- improve search relevance with word-start scoring, fuzzy initials, and recency boost (2695a18)
- relocate session file on resume when worktree was cleaned up (9a33395)
0.1.15 (2026-03-05)
- add configurable UI text size and terminal font size (09e7465), closes #19
- fix worktree paths for remote sync, redesign merge button, add rate limit badges (7de7f21)
- merge button never loads forever, hide for multiple open PRs (9ba72f5)
- only fetch GitHub issues for projects with explicit filter (604c5c1)
- prevent cross-project branch matching in session reconciliation (10b9b2f)
- skip main repo checkout in worktree reconciliation (b5cbd02)
- split GitHub issues filter into separate args for gh CLI (e4d9ece)
0.1.14 (2026-03-04)
0.1.13 (2026-03-04)
- add kanbancode:// deep links for Pushover notification taps (cd4504a)
- drag folders from Finder to create projects (7feec20)
- queued prompts with auto-send on Claude stop (97f61c2)
- cap prompt editor height to prevent text overflow in dialogs (9d7bf8d)
0.1.12 (2026-03-04)
- kill orphaned clawd processes to keep Amphetamine in sync (1ae6fb3)
- replace GNU
timeoutwith perl-based alternative in remote shell (e41d5cd) - replace GNU timeout with perl-based alternative in remote shell (1c3ef11)
- use CLEAN instead of MERGEABLE for merge state check, prevent button wrapping (3c62ab7)
0.1.11 (2026-03-04)
- add in-app PR merge button via gh CLI (5587a35)
- configurable merge command with squash + delete-branch default (6dadad9)
- detect merge eligibility via GitHub mergeStateStatus (8f44d27)
- per-PR dismissal and manual PR linking (3ab9c88)
- show unresolved comments on PR badge and add merge button (5baba1f)
- add onPRMerged to CardDetailView explicit init (b90d0ad)
- detect PR approval when reviewDecision is empty (f36a008)
- handle missing mergeCommand in settings JSON to prevent data loss (635b9ef)
- handle partial merge failures and update card status instantly (e4d9f87)
- kill stale tmux session on resume instead of reusing it (31c54af)
- set isRemote on resume and add mutagen flush + uname preamble (716435b)
0.1.10 (2026-03-04)
- consistent matching, reverse numbering, and stable scroll for history search (21cbc79)
- don't forward modifier keys or Esc from tmux scroll mode (6931d61)
- SessionStart triggering in-progress and add streaming history search (4a50f20)
- chunk large terminal data to avoid blocking main thread (ce9305f)
0.1.9 (2026-03-03)
- wrap clawd in .app bundle for Amphetamine detection (b7dedf5)
0.1.8 (2026-03-03)
- clean fork without worktree/PR baggage, option to fork to same worktree (e3709a0)
- detect worktree branch changes during reconciliation (87f620a)
- scroll inside tmux via copy-mode on mouse wheel (7100f2d)
- activity detector redesign, fork worktree fix, search/terminal improvements (7292231)
- clear stale PR link when worktree branch changes (747d122)
- detect GitHub rate limit and show toast with 5-minute cooldown (0f5c2a2)
- fork dialog from right-click, improved labels, smarter scroll exit (baa67b6)
- intercept scroll wheel events over tmux terminals via NSEvent monitor (f04ab42)
- label primary terminal tab "Shell" and avoid extra shell name collisions (3bcc2fc)
- prevent cross-repo worktree flipping and read JSONL bottom-up (0d429f8)
- prevent tmux scroll mode key/scroll leaks to shell (2b91f7a)
- respect PR dismiss override and show discovered branches in UI (0699249)
- shorten tmux copy-mode auto-exit to 1 second (e202d2c)
0.1.7 (2026-03-03)
- resolve user login shell environment and throttle gh API calls (75f7381)
- resolve user login shell environment and throttle gh API calls (c62b49e)
0.1.6 (2026-03-03)
- card merge via drag-and-drop (e0ba4f7)
- dynamic editor discovery, pull-to-load history, and button hover feedback (c21e616)
- improve link icons and add copy toast in card detail (eb8d45c)
- independent terminal tabs, cancel launch, and wkhtmltopdf install fix (9926262)
- break up ContentView.body for release build type-checking (36c5764)
- clear isLaunching immediately on launch/resume completion (d677c2f)
- decouple build from release-please to prevent skipped uploads (5c26d1f)
- expand binary search paths and show not-found banners in process manager (1cbf6ce)
- further split ContentView.body for CI type-checker compatibility (6286a3d)
- launch flow, project filter, prompt overflow, and worktree race condition (fa7be45)
- load project list and cached cards instantly on startup (040ad9a)
- make quit confirmation dialog reliable and instant (a0edc5b)
- place SPM resource bundle at app root for Bundle.module discovery (4e0efbc)
- prepend cd to tmux send-keys to survive zshrc directory changes (97f7337)
- remove duplicate release trigger that caused asset upload conflict (0f3fbd6)
- replace SwiftUI Menu with NSMenu for actions button (0c67955)
- resolve CLI binaries by absolute path for .app bundles (1ee3f3e)
- scope PR lookups by repo to prevent cross-repo collisions (746ac3b)
- sign binary only to avoid unsealed contents error from resource bundle (879d276)
- skip codesign in CI to allow root-level SPM resource bundle (43d61fa)
- support manual release trigger in CI build job (392dd8a)
- use Bundle.appResources for .app bundle resource discovery (3a70c27)
- use macos-26 runner for Swift 6.2 compatibility (a3458a4)
- add download link to releases in README (53bbf85)
0.1.5 (2026-03-03)
- independent terminal tabs, cancel launch, and wkhtmltopdf install fix (9926262)
- remove duplicate release trigger that caused asset upload conflict (0f3fbd6)
0.1.4 (2026-03-03)
- card merge via drag-and-drop (e0ba4f7)
- dynamic editor discovery, pull-to-load history, and button hover feedback (c21e616)
- improve link icons and add copy toast in card detail (eb8d45c)
- break up ContentView.body for release build type-checking (36c5764)
- clear isLaunching immediately on launch/resume completion (d677c2f)
- further split ContentView.body for CI type-checker compatibility (6286a3d)
- launch flow, project filter, prompt overflow, and worktree race condition (fa7be45)
- load project list and cached cards instantly on startup (040ad9a)
- make quit confirmation dialog reliable and instant (a0edc5b)
- place SPM resource bundle at app root for Bundle.module discovery (4e0efbc)
- replace SwiftUI Menu with NSMenu for actions button (0c67955)
- resolve CLI binaries by absolute path for .app bundles (1ee3f3e)
- scope PR lookups by repo to prevent cross-repo collisions (746ac3b)
- sign binary only to avoid unsealed contents error from resource bundle (879d276)
- skip codesign in CI to allow root-level SPM resource bundle (43d61fa)
- support manual release trigger in CI build job (392dd8a)
- use Bundle.appResources for .app bundle resource discovery (3a70c27)
- use macos-26 runner for Swift 6.2 compatibility (a3458a4)
- add download link to releases in README (53bbf85)
0.1.3 (2026-03-03)
- card merge via drag-and-drop (e0ba4f7)
- improve link icons and add copy toast in card detail (eb8d45c)
- launch flow, project filter, prompt overflow, and worktree race condition (fa7be45)
- load project list and cached cards instantly on startup (040ad9a)
- make quit confirmation dialog reliable and instant (a0edc5b)
- replace SwiftUI Menu with NSMenu for actions button (0c67955)
- scope PR lookups by repo to prevent cross-repo collisions (746ac3b)
0.1.2 (2026-03-02)
- dynamic editor discovery, pull-to-load history, and button hover feedback (c21e616)
- clear isLaunching immediately on launch/resume completion (d677c2f)
- Fix CLI binary resolution for .app bundles — gh, tmux, mutagen, pandoc now found via absolute path lookup instead of PATH-dependent /usr/bin/env
- Fix terminal dying after ~2 seconds on resume — reconciler was clearing tmuxLink on cards mid-launch before the tmux session was visible
- Fix cached terminal frame to avoid SIGWINCH on reparent (zero-frame resize)
- Fast activity refresh path for immediate hook event processing
Initial release.
- Kanban board for managing Claude Code sessions
- Launch, resume, and monitor Claude Code agents from a visual board
- Automatic session discovery and linking
- Remote server support with mutagen file sync
- Claude Code hook integration for real-time session tracking
- Fork and checkpoint session management
- Deep search across session transcripts
- Worktree-aware branch detection
- System tray with session notifications