0.17.0 (2026-08-08)
- annotate a canvas by picking a component or marqueeing a region (#216) (76994a6)
- annotate a session's plan and diff, then send the notes back (#202) (7d2c93f)
- open and copy a review file's path from its card header (#213) (98c8c73)
- replace the webview context menu with an app-controlled one (#212) (1a69e13)
- scroll the active side panel tab clear of the strip edges (#210) (68099e7)
- toggle hidden files in the workspace file tree (#205) (18d99dd)
- keep the connection server alive when the last session closes (#199) (25fa04c)
- keep the pinned user message working across session switches (#227) (eae2400)
- paint inline diff rows across the full scroll width (#215) (46b944c)
- resolve @-mention file URIs against the session's worktree (#204) (66aed7f)
- root the workspace file browser at the session's worktree (#218) (44772f4)
- stop failed worktree removal leaving orphaned directories on Windows (#217) (05f6a3e)
- stop sessions getting stuck in "thinking" with a dead interrupt button (#207) (45aaa79)
- stop wide content pushing the user bubble off the stream (#209) (a920546)
- use the accent color for selected text (#200) (da13f22)
0.16.0 (2026-07-31)
- download files to a folder over any connection (#190) (d454a59)
- open the interactive terminal inside container projects (#189) (746be39)
- report connection health for every connection type (#191) (99b8693)
- ask better questions in the maestro-custom-agents skill (e860590)
- capture session start SHA for container projects (#184) (68194e2)
- clip ScrollArea to its max-height (#195) (0e45b22)
- detect the container CLI with the which crate (#188) (3c51d78)
- keep the canvas title visible when several canvases exist (#192) (1424854)
- open files from artifact cards on remote connections (#187) (598e774)
- probe the WSL distro architecture before deploying maestro-server (#186) (2fc4560)
- scroll the side panel tab bar horizontally when tabs overflow (#196) (b3325db)
- show "needs your input" during elicitation requests (#193) (9bdd095)
0.15.0 (2026-07-31)
- acp session spawn race, SSH PTY no-wait, prompt capabilities on reconnect (#181) (d96d2be)
- allow terminal sessions on the main worktree (#178) (a773422)
- permission card overflow on long commands (#179) (eb1c494)
- user message bubble overflow at minimum stream width (#180) (0282525)
0.14.0 (2026-07-29)
- always reopen sessions on startup (#150) (9bf8e17)
- label a search by what it looked for (8f42865)
- name an MCP tool call by what it does (#147) (11bd6d7)
- notify when an agent finishes, blocks, or fails (#164) (124e0aa)
- always lead a search row with "Search" (9cd6532)
- give the resize separator the panels' background (00c1a58)
- give the session side panel three real states (#153) (170cc22)
- hide the side panel separator and steady the stream (#159) (a5d6e94)
- keep one agent reply in one bubble (#148) (d0958ff)
- keep the failure count to the summary line (ff701ff)
- keep the message timestamp ticking (#158) (44a85cd)
- keep the session branch live and stop badging busy worktrees unused (#160) (44aa770)
- let a tool call update refine its kind (#151) (8b13255)
- make the session Review tab show what git says changed (#146) (c998dbd)
- make the session side panel resizable again (#157) (a90bdd1)
- make the worktree selector match the branch picker (#163) (90d7969)
- mark a shell row that runs git as repository work (46faefd)
- measure the side panel's width when it wants to expand (#162) (8d43d4b)
- open a file that lives outside the project (#155) (c268627)
- replace the new-worktree checkbox with a New/Existing toggle (#161) (3d50437)
- stop deleting worktrees sessions are still using (#149) (75d6da2)
- stop the action bar from setting the message bubble's width (c75f183)
0.13.0 (2026-07-29)
- auto-advance elicitation to next question on single-select (#138) (074badb)
- create a worktree from the new session dialog (#137) (581f55c)
- detect issue tracking provider from the git remote (#132) (70947ff)
- restyle the elicitation summary card and inset the prompt (#139) (378ad34)
- show an expanded command as a coloured code block (#135) (f40eade)
- surface the tool call detail the ACP payload already carries (#140) (2e599f9)
- unbox tool output and make a file row's name a link to the file (#142) (7fd5d17)
- give every tool call row one layout (#144) (3374631)
- hide console window flashes on Windows (4ca1a2a)
- keep the chevron beside the label and the toggle off the row (6651844)
- preserve line breaks in expanded tool call output (#136) (a628581)
- stop out-of-turn session updates from arming the turn flag (2879561)
- strip Windows extended-length prefix from canonicalized repo paths (#134) (7fcd7be)
0.12.1 (2026-07-28)
- improve tool call group labels and render content as markdown (21a1089)
- keep compose bar locked while waiting for first agent response (8ca266c)
- make tool call groups always expandable and skip redundant title in inline mode (b5cb065)
- make tool calls easier to open while the stream moves (#128) (07673f2)
- record the released versions in Cargo.lock (#126) (64fcdbf)
- session sidebar alignment and close button (0ee3d73)
- terminal display corruption when switching tabs (#129) (55ebbbd)
- use natural-English labels and category-based alias grouping for tool call groups (b3aa12a)
0.12.0 (2026-07-27)
- add glab CLI credential detection and refactor agent session sidebar (a96eb6f)
- forward project additional workspace roots to ACP agents (#118) (c260c9b)
- forward project MCP servers to ACP agents (#117) (ee2c725)
- let users choose the log level and location (#114) (7734d16)
- persist canvas surfaces to .maestro/canvases/ and restore on session load (2db716a)
- correct three ACP v1 client conformance bugs (#116) (c9b0616)
- dedupe React in Vite (4a9564c)
- download release artifacts across reruns (#99) (1853cda)
- emit replay-drained for late-mounting panels (a0aa3c5)
- give release assets stable, version-free names (#115) (af46b5d)
- harden database schema migration (#104) (f9939bb)
- move macOS signing scripts to .github and fix REPO_ROOT path (bac185c)
- navigate to plan tab when clicking plan ready card in agent stream (e468f55)
- normalize collapsed session rail row height and close button timing (92537d4)
- normalize collapsed session rail row height and show group labels on hover (d30f5e2)
- pin last user message above viewport in agent stream (41fef73)
- preserve group label layout in collapsed session rail (31ebe6b)
- prevent blank macOS startup window (c026d58)
- prevent sessions from staying stuck at Starting status on load (5282a7c)
- prevent silent auto-approval of plan permissions (9fb4c97)
- render canvas DataTable rows from resolved data bindings (56a3367)
- show red dots for failed/interrupted subagents in overview (1793d88)
0.11.2 (2026-07-24)
0.11.1 (2026-07-23)
0.11.0 (2026-07-23)
- add Chart canvas component and canvas skill system (57a1976)
- add scatter, radar, radialBar, funnel, treemap, composed, sunburst chart types (4b356b4)
- add SSH file download, search icon, and UI polish (01b8cb2)
- add UI scale presets to Appearance settings (9646ecb)
- add WSL connection delete and fix connection list filtering (181699f)
- redesign file tree with folder/file icons and refined hover (eb26d68)
- remove preset hint labels from appearance settings (2f8e3f6)
- rename Backlog→Planning and Ready→Queue task statuses (300ac90)
- show close button on session row hover (285c809)
- show History icon in empty session history state (39d2752)
- add One Dark/Light ANSI palette and live theme switching to xterm (486519f)
- keep session close button vertically centered when held (1458e7f)
- load artifacts outside cwd and pass sshConnectionId in overview (3520c1f)
- reset agent selection and filters when session history reopens (60318d1)
- show skeleton when canvas surface has no components yet (ecff90d)
- skip format/lint hook when node_modules is missing (2d28c1d)
- strip nested markdown fences before remark parsing (a9e18d0)
- suppress spurious artifact errors on SSH remote connections (785d7f8)
- switch xterm to WebGL renderer for consistent font alignment (7cc2ca5)
0.10.0 (2026-07-19)
- agent authentication flow with auth terminal (c3e2dea)
- agent authentication flow with auth terminal (ec792b1)
- agents tab UX polish — awaiting_input treatment, search collapse, side panel arch (f5dd20b)
- awaiting ring on avatar, muted hover gradient for session rows (0667bbe)
- awaiting-input visual treatment — breathe overlay and ring in agent monitor (2417b74)
- implement ACP terminal capability (9b0d77e)
- redesign Agents tab — unified chrome arch, session rail, shell parity (e313146)
- show plan review state badge on Overview panel plan card (22f2fb1)
- support file:// links in markdown activity stream (607c84a)
- constrain compose bar width to stream content width in compact mode (315085a)
- group thought chunks by messageId across interleaved tool calls (0ab8c5f)
- improve inline code and code block header contrast using color-mix (c8f6a43)
- increase user bubble max width to 90% (e1cf9d2)
- remove empty avatar rows and gaps when hiding thoughts or tool calls (426f267)
- right-align user bubbles in agent stream (060e564)
- support all SSH remote platforms in maestro-server deploy (3ef19b4)
- theme-aware iframe background and conditional status dot in agent monitor (120c899)
0.9.0 (2026-07-12)
- card grid layout for WSL and container pickers (6338e9f)
- docker/container connections, incremental DB migration, SSH auth improvements (d2803d7)
- implement session delete and select-all in history panel (7d04cd2)
- improve plan panel, session UX, and checkbox indeterminate state (e10da92)
- maestro-server PATH resolution, diff truncation, and worktree stats (aed4096)
- multi-account integration support (43245ee)
- resolve relative and data-URI images in markdown blocks (ca2f553)
- add missing supports_session_delete to test initializers and mock (65a8282)
- add tooltip to worktree select items in spawn session dialog (a925ee0)
- display linked badge images inline for single-row centering (ee276e8)
- handle mermaid v11 error SVG resolved as success (02f3bf3)
- markdown image rendering for badges, centering, and anchor links (689df12)
- resolve lib/bin output filename collision in Cargo (5104882)
- truncate long branch names in spawn session dialog (36dcf53)
- truncate long branch names in spawn session dialog (40d1c5e)
- truncate long branch names in worktree dropdown list (3d3959f)
- truncate long branch names in worktree dropdown list (cd0b6e7)
- truncate long branch names in worktree dropdown list (80d6daa)
- use CSS columns layout for overview cards and round checkbox corners (397c036)
- vertical alignment of badge images to middle of line box (66b84f0)
0.8.0 (2026-07-09)
- add clickable @filename links in user message bubbles (ee5029c)
- add MessageScroller primitive and binary file reading (b94a329)
- graceful update UX for Linux package installs (605d5ba)
- improve execution side panel UX and activity rendering (ab9a2fa)
- lazy file browser with refresh on tab focus (75d0ad5)
- multi-arch deploy, file attachment cards, remove xtask (b27ee52)
- refactor session history to modal, extract attachment shelf, fix agent panel layout (1f773cd)
- upgrade shadcn/ui to base-ui and fix visual regressions (4a8ec6a)
- add clear button to file selector search and close add-tab popover on selection (59fee40)
- add initialFile ref guard in ArtifactsPanel, fix RefObject imports in compose-bar (aea5d90)
- diff: fix unified diff 50/50 column split in worktree panel (b590c91)
- fix checkbox dark mode styling, add artifact deep-link from overview (4b410f8)
- fix horizontal scrollbar position in workspace file browser (b3fedbc)
- remove dead_code allows in linear and gitlab providers (0a5f0d7)
- replace sync-state-to-ref effects in zoomable-content, replace reset-on-prop effect in App (a7606a2)
- test: stub missing Web Animations API in JSDOM (b039fdc)
- truncate long worktree names in spawn session dialog (c9df3a1)
0.7.0 (2026-07-03)
- add WSL file browser, SFTP download progress, and deploy timeouts (9f6a250)
0.6.0 (2026-07-03)
- add execution side panel with workspace files, artifacts, and diff tabs (9fd9851)
- add open-in-app for workspace and artifact files (56e0d75)
- redesign execution side panels with shared file picker and diff stats (7247b02)
- simplify agent connection pool and enrich execution overview (0157e90)
- eliminate connection races in maestro-server agent pool (a3a1c45)
- route session load errors to the failing session only (c2b88f1)
- use theme background for code blocks in file views (ce24db6)
0.5.0 (2026-06-29)
- add compact stream width setting for agent panel (0820426)
- redesign update flow with auto-update splash screen (c404408)
- show agent picker when dragging task to Ready (9b86da9)
- update agent registry and polish execution UI (7b661b1)
- run xtask in beforeBuildCommand to bundle fresh remote binary (73ef3e8)
0.4.0 (2026-06-28)
- 38-01: add 4 Rust IPC commands for git staging workflow (5319d03)
- 38-01: add extractHunkPatch and countHunks to diff-utils with tests (6dfc59f)
- 38-02: add 4 TanStack mutation hooks for stage/commit/discard/shelve (6c058e8)
- 38-02: add file checkboxes, staging state, and commit area (9e2f5b6)
- 38-03: add hunk checkboxes to DiffViewer and wire to staging state (5aa7321)
- 38-03: add Revert and Shelve action bar buttons with confirmation UI (53d9d0d)
- 39-01: add append_to_history + change SshPtyHandle.history to String (8bf3f40)
- 39-01: rewrite attach_terminal SSH path — live/dead split + DB persistence (9e0e0d7)
- 39-02: add pty_attach_cancel to AppState + cancel token in local PTY attach/detach (21ebd4f)
- 39-02: add Tauri shutdown hook to flush live SSH PTY session histories to DB (53a04bc)
- 40-01: add keepalive config to open_handle and AppHandle to AppState (c70062d)
- 40-01: implement background heartbeat task with Tauri event emission and reconnection (e05b877)
- 40-02: add PTY session cleanup to heartbeat task on connection loss (3912925)
- 40-03: add DisconnectBackdrop component and wire into App.tsx (e6dd564)
- 40-03: create useConnectionHealth hook (4088228)
- 41-01: create Cargo workspace root and maestro-protocol crate (c64e308)
- 41-02: add ACP client module with MaestroAcpClient stub, session types, registry types, transport re-exports (510112f)
- 41-03: implement maestro-server binary crate skeleton (ce30542)
- 42-01: add PermitResponse variant to ServerRequest in maestro-protocol (d27b6dd)
- 42-01: create sessions.rs and client.rs with MaestroServerClient (1eb3289)
- 42-02: wire real stdin/stdout loop and agent spawner in maestro-server (219d33f)
- 43-01: create AcpProcess struct and acp/manager.rs (8a784d7)
- 43-01: extend AppState with acp_sessions field (073f004)
- 43-02: create acp_handlers.rs with three IPC commands (f3e573e)
- 43-02: register ACP IPC commands in lib.rs and regenerate TypeScript bindings (6e4039b)
- 44-01: replace generic send_to_acp_session with dedicated IPC commands (85b75e7)
- 44-01: schema v11 with execution_mode/agent_id/structured_output columns (081ca57)
- 44-02: add periodic structured_output flush to ACP reader task (a798d25)
- 45-01: extend registry types, add fetch/cache/resolve logic with tests (98360ad)
- 45-02: add fetch_agent_registry and resolve_agent_launch_command IPC commands (e3fb29e)
- 45: untracked files in diff panel, SSH status probe, ACP permission fix (70abc25)
- 46-01: add useAgentRegistryQuery and useSpawnAcpSessionMutation hooks (8e44de8)
- 46-01: create AgentSelectorDialog component with agent search and spawn form (2c68c1a)
- 46-02: add session-type badge to AgentMonitor sidebar items (f32bdf7)
- 46-02: wire AgentSelectorDialog into AgentsView with Spawn Agent button (1538988)
- 47-01: add get_structured_output IPC + regen bindings + install react-markdown (c915c2a)
- 47-01: define activity types, useStructuredOutputQuery, and useAcpActivity hook (d56f8ca)
- 47-02: create activity sub-components (MessageItem, ToolCallCard, PlanPanel, AcpTerminalPanel) (430af20)
- 47-02: create AgentActivityPanel and wire ACP branch in AgentMonitor (f39a627)
- 50: add OAuth capabilities and close out infrastructure phase (7d3ce53)
- 51-01: add ticketing IPC handlers and register commands (d2f8abe)
- 51-01: TicketingConfig model and schema V16 with new task columns (815052b)
- 51-02: remove legacy import/sync code from React frontend (1b8c91a)
- 51-02: remove legacy Rust sync handlers and models (74eef21)
- 52-01: add aes-gcm, sha2, machine-uid cargo deps (8652459)
- 52-02: create ticketing module skeleton with StoredToken and TokenManager stubs (8dd7292)
- 52-03: implement keychain.rs with OS keyring CRUD and AES-256-GCM file fallback (aa7ded9)
- 52-04: implement TokenManager with per-project mutex guards and event emission (42f031b)
- 52-05: wire TokenManager into AppState (c68048c)
- 53-01: add 5 IPC commands for ticketing provider auth and issue fetching (65b85e3)
- 53-01: create github.rs, gitlab.rs, forgejo.rs provider modules (a1e1ad7)
- 53-01: update ProviderConfig to 7 variants, add RemoteIssue struct (c5c148b)
- 54-01: implement Linear API client with validate_and_store, list_teams, fetch_issues (2746db4)
- 54-02: implement Jira Cloud API client with ADF conversion (2a3e8c3)
- 54-03: implement Azure DevOps API client module (299430f)
- 54-04: wire Phase 54 provider modules into IPC layer (fcf798d)
- 55-01: add integration model and provider-keyed keychain methods (177f3da)
- 55-01: create integration IPC handlers, rewrite ticketing handlers (d2a8af3)
- 55-02: add integration service, IntegrationsTab, IntegrationConnectDialog, tabbed ProjectPicker (98d8c7c)
- 55-02: add Ticketing card to SettingsPage with inline provider picker (952b00f)
- 55-03: add IntegrationMissingDialog and cascade check on project open (dbcc55d)
- 55: replace Tabs with animated nav in ProjectPicker, fix integration UI (afb1caf)
- 56-01: add priority to RemoteIssue, update provider files, add htmd (f5d313a)
- 56-01: implement import_tasks, update_task_from_remote, dismiss_task_change IPC commands (2f9be15)
- 56-01: regenerate TypeScript bindings with priority field and three new IPC commands (5b36b8a)
- 56-02: add ticketing query keys, four service hooks, Wave 0 test stubs (a15824c)
- 56-02: implement ImportTicketsModal + BacklogView import button + tests (5b90318)
- 57-01: add auto_approve/isolated_worktree to Task struct and TaskAttachment model (f53f1ec)
- 57-01: bump schema to V18 with auto_approve, isolated_worktree, task_attachments (2b0a80b)
- 57-02: add attachment CRUD and interrupt TanStack Query hooks to task.service.ts (3f48af4)
- 57-02: add attachment CRUD handlers and interrupt_task IPC handler (07b0553)
- 57-02: register attachment+interrupt commands in lib.rs, regenerate bindings (c1427c9)
- 57: model_override in task creation, structured BranchList, view animation refactor (dc00683)
- 58-01: add TaskDetailScreen stub component (7ede9a7)
- 58-02: clean App.tsx — remove pendingTask/TaskDetail flow (917972e)
- 58-02: simplify KanbanView — activeTaskId routing, remove sub-view machinery (b75475e)
- 59-01: refactor BoardView — 5-column grid + tasks prop (93540f3)
- 59-01: wire KanbanView to pass tasks prop to BoardView (731a394)
- 59-02: add filter state and action bar to KanbanView (33e8e08)
- 59-02: delete BacklogView.tsx and its test — superseded by Backlog column (33ebba8)
- 60-01: add PRIORITY_COLORS map and priority dot to TaskCard metadata (65e0dce)
- 60-01: add ShieldAlert auto-approve indicator to metadata row (d5473cb)
- 60-01: add worktree badge prop threaded through KanbanView → BoardView → KanbanColumn → TaskCard (581cf61)
- 60-01: restructure TaskCard layout to title / metadata / footer rows (16a8376)
- 60-01: wire card click to setActiveTaskId via useNavigationActions (11dbdb4)
- 60-01: wire inline action buttons with mutations in TaskCard footer (6788621)
- 61-01: Extend create_task/update_task IPC + frontend mutation with agent_id (f9e32d7)
- 61-01: Schema V19 with agent_id column on tasks + Task model extension (4eb3a3a)
- 61-02: implement CreateTaskModal with From Branch and From Issue tabs (d615ab7)
- 61-02: wire CreateTaskModal into KanbanView, delete legacy creation components (26de20b)
- 62-01: extend update_task with labels/auto_approve/isolated_worktree; add cancel_task (5d934a9)
- 62-01: regenerate bindings; update useUpdateTask; add useCancelTaskMutation (da6b2df)
- 62-02: delete legacy TaskDetail.tsx modal overlay (4bf4aa1)
- 62-02: implement full TaskDetailScreen component (5c2c8d2)
- 63-01: create ArchiveModal component with search, tab filters, and task navigation (58a48e7)
- 63-01: wire ArchiveModal into KanbanView action bar and delete ArchiveView (d3b1f1e)
- acp: interactive session UI — WP1-WP6 complete (dbaa7dc)
- acp: rich markdown, model switching, file context, slash commands (a714c85)
- add clipboard image paste support in ComposeBar (cc02c61)
- add issue tracking lookup commands and settings provider form (a423d2a)
- add OAuth/ticketing deps and centered compose bar with animations (18389de)
- connection loss detection (630cea8)
- maestro-server: ACP SDK upgrade and agent registry improvements (a4c8e91)
- phase-46: check remote agent availability at connect time (22e9d95)
- phase-46: complete agent selector spawn flow with remote ACP support (395c9e9)
- quick-260402-d3x-01: add delete_branch param to delete_worktree IPC (0ad92a2)
- quick-260402-d3x-02: add branch deletion checkbox to delete dialog (db61a9b)
- quick-260407-eu5: add folder tri-state checkboxes and propagate toggle to children (9a77d38)
- quick-260407-eu5: inline hunk checkboxes with diff-native styling and full-height diff panel (608e83b)
- quick-260408-cee-01: apply terminalTheme to both terminal components (a42b809)
- quick-260408-cee-01: create terminalTheme helper (8da6785)
- quick-260408-s08-01: replace branch selector with worktree selector in spawn dialog (05310aa)
- quick-260408-se1-01: add worktree_id param to spawn_interactive_execution (32c910b)
- quick-260408-se1-01: wire worktreeId through frontend to IPC (38935df)
- quick-260408-se1: pass worktree path directly through IPC + fix clear-screen PTY bug (784177c)
- quick-260409-fnx: add session_name to execution_logs and wire through IPC (8c69d66)
- quick-260409-fnx: rename label to sessionName in frontend, display session_name in AgentMonitor (17a42eb)
- quick-260410-amc: add Maestro logo to project picker brand block (e1623f5)
- quick-260410-awn: add task_id/description params and named session to spawn_interactive_execution (ada3024)
- quick-260410-awn: update frontend to pass task_id/description and show InProgress optimistically (23e2473)
- quick-260416-sir: rename onDismiss to onLeaveConnection, update button label and helper text (6c9b92a)
- quick-260416-sir: wire Leave Connection to navigate back to project picker (37e8fae)
- reduce SSH heartbeat interval 30s → 5s for near-immediate disconnect detection (bf480cd)
- rename origin_branch to base_branch and make it required (04191ff)
- show Leave Connection button immediately on disconnect, not only after all retries exhausted (64ae039)
- ui: add AgentSelector config-selector component (0c16b3b)
- ui: polish AgentSelector with glass styling, hover tooltip, and check mark (a9a17ee)
- 39-03: move tryAttach inside rAF callback with clear-screen guard (ff70d02)
- 39: fix btop/streaming via drain-aware pos tracking in SSH reader (32a718e)
- 39: replay SSH history from pos=0 + guard pos>hist.len() trim race (9b5548e)
- 40: revise plans based on checker feedback (80c2589)
- 42-01: wire mod declarations and fix ACP Error API usage in client.rs (8fab75d)
- 42: revise plans based on checker feedback (a513dce)
- 44: revise plans based on checker feedback (bd623b0)
- 45: resolve checker issues in RESEARCH.md and VALIDATION.md (5c15c97)
- 47: revise plans based on checker feedback (9db3189)
- 47: revise plans based on checker feedback (2f021b1)
- 53: always delete file fallback on credential deletion (f31cb1d)
- 53: clear stored token when save_ticketing_config changes provider (14e8fc7)
- 53: deduplicate normalize_instance_url into ticketing mod (6b7e155)
- 53: guard zero-expiry tokens in cache check (ccb035e)
- 53: replace constant machine ID fallback with persistent random secret (9215329)
- 53: url-encode owner/repo in GitHub and Forgejo API paths (7e656b2)
- 54: address code review security findings (287cbff)
- 55-02: remove jira_server from provider maps, fix implicit any in onOpenChange (5fd0f14)
- 55-03: add panel testids to ProjectPicker, update tests for tab wrapper structure (dc005e0)
- 56: replace asChild with render prop on TooltipTrigger, inline PopoverTrigger (da9846d)
- 57: file_size i32→i64 with BigIntExportBehavior::Number, add best-effort comment to interrupt_task (14cd9f2)
- 59: add auto_approve + isolated_worktree fields to pre-existing test fixtures (6fcb07b)
- 59: constrain search input width to left-align action bar controls (e100e2f)
- 61: polish CreateTaskModal UI — hover, tabs, spacing, agent (7f76a63)
- 61: revise Plan 02 per checker feedback (59e5735)
- 62: replace broken HTML5 drop handler with Tauri onDragDropEvent (0ced10e)
- 63: document archive filter Cancelled intent (5fd6d2f)
- 63: guard modals behind projectId !== null check in KanbanView (fb3088f)
- 63: implement ArchiveModal unit tests (9ffb491)
- acp: group sessions by worktree branch in sidebar (b9c18dd)
- acp: handle session/elicitation with UntypedMessage catch-all (e333014)
- activity: suppress duplicate user messages from opencode agent echo (08dd5d8)
- agent-monitor: add seen state for idle sessions, fix status dot colors (82e5ada)
- agents: search sessions by branch_name + rename placeholder (fb2a172)
- always use log_id as PTY session key in AgentMonitor (0a2a96e)
- bundle Nerd Font, fix task read-back deadlock, drop unused worktree param (86fdc7f)
- diff-action-bar: add loading state and error handling for file delete (75e6532)
- execute button spawns interactive session on task's worktree branch (4db0cef)
- grow centered ComposeBar width progressively with text content (7c11408)
- maestro-server: fix stdin framing desync on Windows (bef10c5)
- maestro-server: flush diagnostics via background task; fix spawn_cmd for npx/uvx agents (a9a17ee)
- maestro-server: normalize registry binary paths via which (9afac25)
- maestro-server: skip Diagnostic/Ping frames in integration test helpers (34e68c6)
- maestro-server: suppress agent stderr noise, fix elicitation method name (7b06078)
- migrate Jira Cloud to POST /search/jql, show labels on TaskCard (9ff1089)
- phase-46: redesign agent spawn UI and fix remote ACP session support (65c6856)
- preserve session_name when reconnecting to a session (e5b4c40)
- quick-260408-g78-01: reconnect skips dialog and spawns directly (dc81db5)
- quick-260408-guc-01: delete old failed session on successful reconnect (d30a434)
- quick-260408-guc-01: use deleteMutation instead of raw api import for session cleanup (b6f7894)
- quick-260408-h39-01: remove all eprintln! from IPC handler files (6907384)
- quick-260408-h39-02: remove all eprintln! from non-IPC backend files (b0b2a23)
- quick-260408-il9-01: add Google Fonts and Tauri IPC allowances to CSP (b10e8b9)
- quick-260408-iyu-01: replace broken handleExecute with navigate to Agents tab (b5e7292)
- remove auto-navigation after spawning agent session from execute button (89a6d82)
- review cleanup — forgejo/gitea auth format, Vec<String> args, redundant setProvider reset (a0a4804)
- scope active sessions to current project (3888217)
- ssh: add connection timeout and delegate reconnect to heartbeat (ea94f7d)
- terminal: persist SSH history on shutdown + dead session fallback after restart (ed6781b)
- terminal: resolve 4 SSH terminal runtime issues (594ccec)
- use \r (carriage return) for PTY description injection (98da49c)
- undo quick-260408-iyu navigate-to-agents approach (f006456)
0.3.0 (2026-06-27)
- 38-01: add 4 Rust IPC commands for git staging workflow (5319d03)
- 38-01: add extractHunkPatch and countHunks to diff-utils with tests (6dfc59f)
- 38-02: add 4 TanStack mutation hooks for stage/commit/discard/shelve (6c058e8)
- 38-02: add file checkboxes, staging state, and commit area (9e2f5b6)
- 38-03: add hunk checkboxes to DiffViewer and wire to staging state (5aa7321)
- 38-03: add Revert and Shelve action bar buttons with confirmation UI (53d9d0d)
- 39-01: add append_to_history + change SshPtyHandle.history to String (8bf3f40)
- 39-01: rewrite attach_terminal SSH path — live/dead split + DB persistence (9e0e0d7)
- 39-02: add pty_attach_cancel to AppState + cancel token in local PTY attach/detach (21ebd4f)
- 39-02: add Tauri shutdown hook to flush live SSH PTY session histories to DB (53a04bc)
- 40-01: add keepalive config to open_handle and AppHandle to AppState (c70062d)
- 40-01: implement background heartbeat task with Tauri event emission and reconnection (e05b877)
- 40-02: add PTY session cleanup to heartbeat task on connection loss (3912925)
- 40-03: add DisconnectBackdrop component and wire into App.tsx (e6dd564)
- 40-03: create useConnectionHealth hook (4088228)
- 41-01: create Cargo workspace root and maestro-protocol crate (c64e308)
- 41-02: add ACP client module with MaestroAcpClient stub, session types, registry types, transport re-exports (510112f)
- 41-03: implement maestro-server binary crate skeleton (ce30542)
- 42-01: add PermitResponse variant to ServerRequest in maestro-protocol (d27b6dd)
- 42-01: create sessions.rs and client.rs with MaestroServerClient (1eb3289)
- 42-02: wire real stdin/stdout loop and agent spawner in maestro-server (219d33f)
- 43-01: create AcpProcess struct and acp/manager.rs (8a784d7)
- 43-01: extend AppState with acp_sessions field (073f004)
- 43-02: create acp_handlers.rs with three IPC commands (f3e573e)
- 43-02: register ACP IPC commands in lib.rs and regenerate TypeScript bindings (6e4039b)
- 44-01: replace generic send_to_acp_session with dedicated IPC commands (85b75e7)
- 44-01: schema v11 with execution_mode/agent_id/structured_output columns (081ca57)
- 44-02: add periodic structured_output flush to ACP reader task (a798d25)
- 45-01: extend registry types, add fetch/cache/resolve logic with tests (98360ad)
- 45-02: add fetch_agent_registry and resolve_agent_launch_command IPC commands (e3fb29e)
- 45: untracked files in diff panel, SSH status probe, ACP permission fix (70abc25)
- 46-01: add useAgentRegistryQuery and useSpawnAcpSessionMutation hooks (8e44de8)
- 46-01: create AgentSelectorDialog component with agent search and spawn form (2c68c1a)
- 46-02: add session-type badge to AgentMonitor sidebar items (f32bdf7)
- 46-02: wire AgentSelectorDialog into AgentsView with Spawn Agent button (1538988)
- 47-01: add get_structured_output IPC + regen bindings + install react-markdown (c915c2a)
- 47-01: define activity types, useStructuredOutputQuery, and useAcpActivity hook (d56f8ca)
- 47-02: create activity sub-components (MessageItem, ToolCallCard, PlanPanel, AcpTerminalPanel) (430af20)
- 47-02: create AgentActivityPanel and wire ACP branch in AgentMonitor (f39a627)
- 50: add OAuth capabilities and close out infrastructure phase (7d3ce53)
- 51-01: add ticketing IPC handlers and register commands (d2f8abe)
- 51-01: TicketingConfig model and schema V16 with new task columns (815052b)
- 51-02: remove legacy import/sync code from React frontend (1b8c91a)
- 51-02: remove legacy Rust sync handlers and models (74eef21)
- 52-01: add aes-gcm, sha2, machine-uid cargo deps (8652459)
- 52-02: create ticketing module skeleton with StoredToken and TokenManager stubs (8dd7292)
- 52-03: implement keychain.rs with OS keyring CRUD and AES-256-GCM file fallback (aa7ded9)
- 52-04: implement TokenManager with per-project mutex guards and event emission (42f031b)
- 52-05: wire TokenManager into AppState (c68048c)
- 53-01: add 5 IPC commands for ticketing provider auth and issue fetching (65b85e3)
- 53-01: create github.rs, gitlab.rs, forgejo.rs provider modules (a1e1ad7)
- 53-01: update ProviderConfig to 7 variants, add RemoteIssue struct (c5c148b)
- 54-01: implement Linear API client with validate_and_store, list_teams, fetch_issues (2746db4)
- 54-02: implement Jira Cloud API client with ADF conversion (2a3e8c3)
- 54-03: implement Azure DevOps API client module (299430f)
- 54-04: wire Phase 54 provider modules into IPC layer (fcf798d)
- 55-01: add integration model and provider-keyed keychain methods (177f3da)
- 55-01: create integration IPC handlers, rewrite ticketing handlers (d2a8af3)
- 55-02: add integration service, IntegrationsTab, IntegrationConnectDialog, tabbed ProjectPicker (98d8c7c)
- 55-02: add Ticketing card to SettingsPage with inline provider picker (952b00f)
- 55-03: add IntegrationMissingDialog and cascade check on project open (dbcc55d)
- 55: replace Tabs with animated nav in ProjectPicker, fix integration UI (afb1caf)
- 56-01: add priority to RemoteIssue, update provider files, add htmd (f5d313a)
- 56-01: implement import_tasks, update_task_from_remote, dismiss_task_change IPC commands (2f9be15)
- 56-01: regenerate TypeScript bindings with priority field and three new IPC commands (5b36b8a)
- 56-02: add ticketing query keys, four service hooks, Wave 0 test stubs (a15824c)
- 56-02: implement ImportTicketsModal + BacklogView import button + tests (5b90318)
- 57-01: add auto_approve/isolated_worktree to Task struct and TaskAttachment model (f53f1ec)
- 57-01: bump schema to V18 with auto_approve, isolated_worktree, task_attachments (2b0a80b)
- 57-02: add attachment CRUD and interrupt TanStack Query hooks to task.service.ts (3f48af4)
- 57-02: add attachment CRUD handlers and interrupt_task IPC handler (07b0553)
- 57-02: register attachment+interrupt commands in lib.rs, regenerate bindings (c1427c9)
- 57: model_override in task creation, structured BranchList, view animation refactor (dc00683)
- 58-01: add TaskDetailScreen stub component (7ede9a7)
- 58-02: clean App.tsx — remove pendingTask/TaskDetail flow (917972e)
- 58-02: simplify KanbanView — activeTaskId routing, remove sub-view machinery (b75475e)
- 59-01: refactor BoardView — 5-column grid + tasks prop (93540f3)
- 59-01: wire KanbanView to pass tasks prop to BoardView (731a394)
- 59-02: add filter state and action bar to KanbanView (33e8e08)
- 59-02: delete BacklogView.tsx and its test — superseded by Backlog column (33ebba8)
- 60-01: add PRIORITY_COLORS map and priority dot to TaskCard metadata (65e0dce)
- 60-01: add ShieldAlert auto-approve indicator to metadata row (d5473cb)
- 60-01: add worktree badge prop threaded through KanbanView → BoardView → KanbanColumn → TaskCard (581cf61)
- 60-01: restructure TaskCard layout to title / metadata / footer rows (16a8376)
- 60-01: wire card click to setActiveTaskId via useNavigationActions (11dbdb4)
- 60-01: wire inline action buttons with mutations in TaskCard footer (6788621)
- 61-01: Extend create_task/update_task IPC + frontend mutation with agent_id (f9e32d7)
- 61-01: Schema V19 with agent_id column on tasks + Task model extension (4eb3a3a)
- 61-02: implement CreateTaskModal with From Branch and From Issue tabs (d615ab7)
- 61-02: wire CreateTaskModal into KanbanView, delete legacy creation components (26de20b)
- 62-01: extend update_task with labels/auto_approve/isolated_worktree; add cancel_task (5d934a9)
- 62-01: regenerate bindings; update useUpdateTask; add useCancelTaskMutation (da6b2df)
- 62-02: delete legacy TaskDetail.tsx modal overlay (4bf4aa1)
- 62-02: implement full TaskDetailScreen component (5c2c8d2)
- 63-01: create ArchiveModal component with search, tab filters, and task navigation (58a48e7)
- 63-01: wire ArchiveModal into KanbanView action bar and delete ArchiveView (d3b1f1e)
- acp: interactive session UI — WP1-WP6 complete (dbaa7dc)
- acp: rich markdown, model switching, file context, slash commands (a714c85)
- add clipboard image paste support in ComposeBar (cc02c61)
- add issue tracking lookup commands and settings provider form (a423d2a)
- add OAuth/ticketing deps and centered compose bar with animations (18389de)
- connection loss detection (630cea8)
- maestro-server: ACP SDK upgrade and agent registry improvements (a4c8e91)
- phase-46: check remote agent availability at connect time (22e9d95)
- phase-46: complete agent selector spawn flow with remote ACP support (395c9e9)
- quick-260402-ctz-01: add viewMode state and group/grid toggle button to WorktreesView (1003004)
- quick-260402-ctz-02: render flat grid mode in WorktreeCardGrid (65af374)
- quick-260402-d3x-01: add delete_branch param to delete_worktree IPC (0ad92a2)
- quick-260402-d3x-02: add branch deletion checkbox to delete dialog (db61a9b)
- quick-260407-eu5: add folder tri-state checkboxes and propagate toggle to children (9a77d38)
- quick-260407-eu5: inline hunk checkboxes with diff-native styling and full-height diff panel (608e83b)
- quick-260408-cee-01: apply terminalTheme to both terminal components (a42b809)
- quick-260408-cee-01: create terminalTheme helper (8da6785)
- quick-260408-s08-01: replace branch selector with worktree selector in spawn dialog (05310aa)
- quick-260408-se1-01: add worktree_id param to spawn_interactive_execution (32c910b)
- quick-260408-se1-01: wire worktreeId through frontend to IPC (38935df)
- quick-260408-se1: pass worktree path directly through IPC + fix clear-screen PTY bug (784177c)
- quick-260409-fnx: add session_name to execution_logs and wire through IPC (8c69d66)
- quick-260409-fnx: rename label to sessionName in frontend, display session_name in AgentMonitor (17a42eb)
- quick-260410-amc: add Maestro logo to project picker brand block (e1623f5)
- quick-260410-awn: add task_id/description params and named session to spawn_interactive_execution (ada3024)
- quick-260410-awn: update frontend to pass task_id/description and show InProgress optimistically (23e2473)
- quick-260416-sir: rename onDismiss to onLeaveConnection, update button label and helper text (6c9b92a)
- quick-260416-sir: wire Leave Connection to navigate back to project picker (37e8fae)
- reduce SSH heartbeat interval 30s → 5s for near-immediate disconnect detection (bf480cd)
- rename origin_branch to base_branch and make it required (04191ff)
- show Leave Connection button immediately on disconnect, not only after all retries exhausted (64ae039)
- ui: add AgentSelector config-selector component (0c16b3b)
- ui: polish AgentSelector with glass styling, hover tooltip, and check mark (a9a17ee)
- 39-03: move tryAttach inside rAF callback with clear-screen guard (ff70d02)
- 39: fix btop/streaming via drain-aware pos tracking in SSH reader (32a718e)
- 39: replay SSH history from pos=0 + guard pos>hist.len() trim race (9b5548e)
- 40: revise plans based on checker feedback (80c2589)
- 42-01: wire mod declarations and fix ACP Error API usage in client.rs (8fab75d)
- 42: revise plans based on checker feedback (a513dce)
- 44: revise plans based on checker feedback (bd623b0)
- 45: resolve checker issues in RESEARCH.md and VALIDATION.md (5c15c97)
- 47: revise plans based on checker feedback (9db3189)
- 47: revise plans based on checker feedback (2f021b1)
- 53: always delete file fallback on credential deletion (f31cb1d)
- 53: clear stored token when save_ticketing_config changes provider (14e8fc7)
- 53: deduplicate normalize_instance_url into ticketing mod (6b7e155)
- 53: guard zero-expiry tokens in cache check (ccb035e)
- 53: replace constant machine ID fallback with persistent random secret (9215329)
- 53: url-encode owner/repo in GitHub and Forgejo API paths (7e656b2)
- 54: address code review security findings (287cbff)
- 55-02: remove jira_server from provider maps, fix implicit any in onOpenChange (5fd0f14)
- 55-03: add panel testids to ProjectPicker, update tests for tab wrapper structure (dc005e0)
- 56: replace asChild with render prop on TooltipTrigger, inline PopoverTrigger (da9846d)
- 57: file_size i32→i64 with BigIntExportBehavior::Number, add best-effort comment to interrupt_task (14cd9f2)
- 59: add auto_approve + isolated_worktree fields to pre-existing test fixtures (6fcb07b)
- 59: constrain search input width to left-align action bar controls (e100e2f)
- 61: polish CreateTaskModal UI — hover, tabs, spacing, agent (7f76a63)
- 61: revise Plan 02 per checker feedback (59e5735)
- 62: replace broken HTML5 drop handler with Tauri onDragDropEvent (0ced10e)
- 63: document archive filter Cancelled intent (5fd6d2f)
- 63: guard modals behind projectId !== null check in KanbanView (fb3088f)
- 63: implement ArchiveModal unit tests (9ffb491)
- acp: group sessions by worktree branch in sidebar (b9c18dd)
- acp: handle session/elicitation with UntypedMessage catch-all (e333014)
- activity: suppress duplicate user messages from opencode agent echo (08dd5d8)
- agent-monitor: add seen state for idle sessions, fix status dot colors (82e5ada)
- agents: search sessions by branch_name + rename placeholder (fb2a172)
- always use log_id as PTY session key in AgentMonitor (0a2a96e)
- bundle Nerd Font, fix task read-back deadlock, drop unused worktree param (86fdc7f)
- diff-action-bar: add loading state and error handling for file delete (75e6532)
- execute button spawns interactive session on task's worktree branch (4db0cef)
- grow centered ComposeBar width progressively with text content (7c11408)
- maestro-server: fix stdin framing desync on Windows (bef10c5)
- maestro-server: flush diagnostics via background task; fix spawn_cmd for npx/uvx agents (a9a17ee)
- maestro-server: normalize registry binary paths via which (9afac25)
- maestro-server: skip Diagnostic/Ping frames in integration test helpers (34e68c6)
- maestro-server: suppress agent stderr noise, fix elicitation method name (7b06078)
- migrate Jira Cloud to POST /search/jql, show labels on TaskCard (9ff1089)
- phase-46: redesign agent spawn UI and fix remote ACP session support (65c6856)
- preserve session_name when reconnecting to a session (e5b4c40)
- quick-260408-g78-01: reconnect skips dialog and spawns directly (dc81db5)
- quick-260408-guc-01: delete old failed session on successful reconnect (d30a434)
- quick-260408-guc-01: use deleteMutation instead of raw api import for session cleanup (b6f7894)
- quick-260408-h39-01: remove all eprintln! from IPC handler files (6907384)
- quick-260408-h39-02: remove all eprintln! from non-IPC backend files (b0b2a23)
- quick-260408-il9-01: add Google Fonts and Tauri IPC allowances to CSP (b10e8b9)
- quick-260408-iyu-01: replace broken handleExecute with navigate to Agents tab (b5e7292)
- remove auto-navigation after spawning agent session from execute button (89a6d82)
- review cleanup — forgejo/gitea auth format, Vec<String> args, redundant setProvider reset (a0a4804)
- scope active sessions to current project (3888217)
- ssh: add connection timeout and delegate reconnect to heartbeat (ea94f7d)
- terminal: persist SSH history on shutdown + dead session fallback after restart (ed6781b)
- terminal: resolve 4 SSH terminal runtime issues (594ccec)
- use \r (carriage return) for PTY description injection (98da49c)
- undo quick-260408-iyu navigate-to-agents approach (f006456)