From 925ba655a9b78e4666948dd680830d58d96d7f42 Mon Sep 17 00:00:00 2001 From: ClaudeDo CI Date: Mon, 17 Aug 2026 09:45:24 +0000 Subject: [PATCH] docs(changelog): update for v2.10.0 --- CHANGELOG.md | 2485 ++++++++++++++++++++++++++------------------------ 1 file changed, 1301 insertions(+), 1184 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f7afc7e..63aae931 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,1449 +1,1566 @@ # Changelog +## v2.10.0 — 2026-08-17 + +### Features + +- report progress for continue_merge and unit-merge verify gate (23aab26d) +- report progress for cleanup_task_worktree, get_task_diff, preview_merge_set (aeb1a5eb) +- report per-item progress on all 7 batch_* MCP tools (53e26f03) +- gate OperationTiming.Shared behind a kill switch, off by default (43fbfd3f) +- add generic OperationProgress channel, port MergeProgress onto it (b8caa270) +- route detail-pane review actions through OperationStatus (bea85a9e) +- [A4] WeeklyReport, DailyPrep und Planning-Aktionen auf OperationStatus umstellen (bbd6151b) +- separate OperationStatus per worktree action (refresh/cleanup/reset/force-remove/batch-merge) (a0d5db0d) +- add OperationStatus feedback primitive and OperationIndicator control (ca658492) +- add operation-timing NDJSON sink for hub invokes and bulk DB paths (a614feb9) +- render dependency-chain rail, step badge, and after-chip in TaskRowView (b81d6e0b) +- compute dependency-chain step/grouping in TasksIslandViewModel (18babe3d) +- surface task numbers in row/detail UI and worker log (38af549a) +- accept #123 task numbers as MCP tool input (2a3133ef) +- surface task numbers in MCP tool return payloads (106c9644) +- add task numbers schema, allocator, and backfill migration (9e46c96b) +- wire list-handler nextPhase through the handoff hub event (c8244c67) +- wire list-handler phase parameter through handoff chain (f2609d18) +- split list-handler prompt into triage/wait/merge roles (d3b91b52) +- let set_list_config write the verify command (095d216b) +- add reconcile tick to self-heal lost worker broadcasts (1cad2649) +- auto-rebase overlapping WaitingForReview branches after a merge (2662e7bd) +- warn when the base branch has uncommitted changes (d3155e68) +- truncate/select batch_get_tasks payload, expose roadblockText (ca6eb62b) +- dependsOn via MCP + honest staleness signal in merge preview (6c8ec245) +- expose the conflict resolver's hunk API over MCP (5653daca) +- show child tasks as children in the merge-helper picker (659bf3e7) +- paths filter for get_task_diff, subset hint for preview_merge_set (c715c96a) +- build/test the merge preview, not just the post-merge merge (effece3a) +- wire prompt_override into the daily prep prompt (1b7f7f38) +- open a list's findings folder (0568f003) +- toggle whether the findings folder is committed (696abd0a) +- point autonomous runs at the findings index (87397ecf) +- add save_finding to the in-task server (519f64c0) +- add save_finding to the external server (2d4288ab) +- resolve the target store from task or list (9a09dd61) +- add findings_tracked to lists (389892d2) +- add the .claudedo findings store (d3c2e2e7) + +### Fixes + +- stop tests from polluting the live operation-timing.ndjson (c1ec05a4) +- offload DiffAlignment.Build off the UI thread above a line threshold (c9afc81f) +- unfreeze the operation spinner and attribute rebind churn (589b9e75) +- show ParseOp indicator on the planning-mode diff parse too (f6994f32) +- offload UnifiedDiffParser.Parse off the UI thread in DiffViewerViewModel (9fc8ed39) +- connection pill opens worker help only when disconnected (b9827eac) +- conventional merge-commit default and live verify progress (cad0582b) +- stop ClearCompletedAsync from mutating chain-display fields (e55c84cd) +- reconcile the log visualizer tick instead of clearing Rows (d327a100) +- move the tasks list inset off the ListBox onto the panel (1861832b) +- honor wait_for_task_change's NotFound contract, harden TaskNumberAllocator (b656a241) +- name quarantined prompt files and their replacements in the recovery Warn (1003fdbf) +- close the outgoing ConPTY pane on merge-helper handoff (e343baf2) +- cap the list-handler wait/merge handoff chain server-side (39b24c2f) +- stop the reconcile ticks from destroying user state (79b35801) +- keep task rows without a chain relation flat (eb66ae7b) +- give Ui.Tests task seeds a unique Number (8da1a123) +- stop clipping the last log line in scrollable output (69278056) +- stop review-feedback field clipping placeholder and typed text (d60ecb7f) +- add vertical spacing between task rows (6a731beb) +- only fail a run on denied write tools with a worktree (11103d4d) +- carry the pathspec into GetBranchDiffAsync's fallback (1acd4c17) +- stop the merge-helper tick from re-ticking unticked candidates (d3ba279b) +- keep wait_for_task_change waiting through a planning-chain block (7106bf75) +- stop set_list_config from clearing settings it doesn't expose (f31b1b4f) +- normalize a list working dir's trailing separator on write (d451edd3) +- stop AddTaskDependency's table rebuild from dropping scope_globs (6d8cbacc) +- re-emit the flat list's section headers on a language change (bbfe4024) +- stop the reconcile tick on native close, index rows in the tick (82881acc) +- name the cancellationToken arg in the preview_merge_set subset test (514d6111) +- wire mcp config into resumed runs (47918869) +- substitute acceptEdits for haiku's silent auto-mode downgrade, fail permission-denial-only runs (db50e710) +- don't drop the prerelease marker when comparing versions (84715665) +- keep wait_for_task_change alive past Claude Code's idle timeout (09add299) +- report a Failed task's failureReason instead of a bare status (a067a7bf) +- make set_task_config/set_list_config patch instead of overwrite (5eea4391) +- diff viewer opens non-modal and maximizable (f74c7dd7) +- refuse a merge that would overwrite an untracked file in the target (afe1b68f) +- stop sibling worktrees from landing inside the repo tree (5d362b69) +- stage only resolved conflict paths in continue_merge (29c79e8b) + +### Performance + +- build task row context menu lazily on right-click (e98cf460) +- push task-list filtering into SQL (7f10d458) + +### Refactoring + +- extract ProgressReporter from TaskMergeService (555933a9) +- flatten TasksIsland's task list into one virtualized ListBox (ec6c2308) +- clean up task-row drag visuals (359bb3a4) +- trim the save_finding description to the style budget (b312095f) +- share the info/exclude writer with the findings store (4d997a5f) + +### Documentation + +- record the operation-feedback state before the v2.10.0 cut (f9a8ed76) +- document OperationStatus and MCP progress-reporting rules (8098b7f4) +- grobe Task-Entwürfe je Gruppe und Test-Kommandos ergänzen (eca16a35) +- Vorgaben je Merge-Helper-Gruppe für Operations-Feedback (260cb5a8) +- Peer-Commit als aufgelöste Abhängigkeit festhalten (72d46af6) +- Design für Feedback bei langlaufenden Operationen (ba1a745e) +- drop the nameof leak from the handoff tool description (4ce5ae71) +- update for task-numbers features (Slice 5) (e8e2fcec) +- add task-numbers and dependency-chain display designs (31a9e87b) +- report Phase 2a virtualization+drag gate spike (2a899149) +- record the findings store and fix the git-test skip convention (6a2a19cc) +- correct the findings-pointer comment (f7177423) +- plan the findings store implementation (37c3b476) +- spec the .claudedo findings store (ae1f6fc7) +- update for v2.9.0 (18a32606) + ## v2.9.0 — 2026-08-08 ### Features -- default to the Git tab for manual and interactive tasks (549aee0) -- let resizable modals snap to the screen edges (b06bbc2) -- add fable to the cost-ascending model list (15958b9) -- split throttle thresholds per bucket, add draggable gauge markers (7eeb8f5) -- add persisted side-by-side and wrap toggles to the diff viewer (cf80fe3) -- sync vertical scrolling across the split panes (14e0cff) -- tint diff rows and changed words via background renderers (861ba12) -- draw old and new line numbers in a custom margin (e299421) -- add AvaloniaEdit-based diff control with TextMate highlighting (ffc60c4) -- add filler, gap and word-diff brushes (e2d987e) -- persist diff view mode and wrap preference in ui config (5982775) -- highlight changed words inside paired diff lines (ebbee60) -- align parsed diff lines into side-by-side rows (3cd0f08) +- default to the Git tab for manual and interactive tasks (549aee09) +- let resizable modals snap to the screen edges (b06bbc21) +- add fable to the cost-ascending model list (15958b99) +- split throttle thresholds per bucket, add draggable gauge markers (7eeb8f50) +- add persisted side-by-side and wrap toggles to the diff viewer (cf80fe3c) +- sync vertical scrolling across the split panes (14e0cffa) +- tint diff rows and changed words via background renderers (861ba12f) +- draw old and new line numbers in a custom margin (e299421f) +- add AvaloniaEdit-based diff control with TextMate highlighting (ffc60c41) +- add filler, gap and word-diff brushes (e2d987e9) +- persist diff view mode and wrap preference in ui config (59827757) +- highlight changed words inside paired diff lines (ebbee600) +- align parsed diff lines into side-by-side rows (3cd0f087) ### Fixes -- label split panes, unify the mode switch, sync split scrolling (9437121) -- install background renderers on attach so themed brushes resolve (2f3f938) -- resolve themed brushes and stop recomputing alignment on layout toggle (54b179f) -- close TOCTOU race in slot-failure broadcast poll (c6d1fff) -- broadcast TaskUpdated after online-inbox import (3acb1cb) -- broadcast WorktreeUpdated when a worktree is created (a7a3545) -- fail the task when a queue slot runner throws (c1184ad) -- drop stale delta refreshes so the newest task state wins (ac099dd) -- retry the task delta refresh instead of swallowing the error (cba7d01) -- give both processes a SQLite busy timeout (f62dbb9) -- correct five prompt claims that contradicted the tool allowlists (315bea7) -- correct the list-handler wait cap and wait through WaitingForChildren (c4e4e09) -- make template token substitution order-independent (028ac57) -- stop a dispatcher exception from killing the whole app (17e6cd6) -- strip trailing separator from the list repo in ConPTY launch args (4a7b00e) +- label split panes, unify the mode switch, sync split scrolling (9437121f) +- install background renderers on attach so themed brushes resolve (2f3f9387) +- resolve themed brushes and stop recomputing alignment on layout toggle (54b179fb) +- close TOCTOU race in slot-failure broadcast poll (c6d1fff8) +- broadcast TaskUpdated after online-inbox import (3acb1cba) +- broadcast WorktreeUpdated when a worktree is created (a7a3545e) +- fail the task when a queue slot runner throws (c1184adc) +- drop stale delta refreshes so the newest task state wins (ac099dd1) +- retry the task delta refresh instead of swallowing the error (cba7d01c) +- give both processes a SQLite busy timeout (f62dbb92) +- correct five prompt claims that contradicted the tool allowlists (315bea7c) +- correct the list-handler wait cap and wait through WaitingForChildren (c4e4e097) +- make template token substitution order-independent (028ac573) +- stop a dispatcher exception from killing the whole app (17e6cd61) +- strip trailing separator from the list repo in ConPTY launch args (4a7b00ed) ### Refactoring -- drop rendering helpers orphaned by DiffLinesView (51371cf) -- render planning mode per file and retire DiffLinesView (f7fa829) -- rewrite external MCP tool descriptions for trigger clarity (c792765) -- split the list-handler prompt per session phase (a7ff1b3) +- drop rendering helpers orphaned by DiffLinesView (51371cf6) +- render planning mode per file and retire DiffLinesView (f7fa8292) +- rewrite external MCP tool descriptions for trigger clarity (c792765e) +- split the list-handler prompt per session phase (a7ff1b3a) ### Documentation -- record the shared diff plumbing and the modal chrome rules (af0f318) -- pin the review-merge verified-against commit (4e44251) -- implementation plan for handler-run task links (231b063) -- record that the sqlite busy-timeout finding was wrong, drop stale RunCreated mention (1f8f3ef) -- design for linking a handler run to the tasks it processed (fb29e8a) -- drop task 7, the handler-task broadcast already exists at the hub (1e383e1) -- add implementation plan for the side-by-side diff viewer (6e9a7ce) -- step-by-step plan for phase 1 reactivity fixes (8acf9f8) -- design for side-by-side diff view with syntax and word highlighting (292d171) -- design for UI reactivity and task-list performance (482d7ec) -- document the ConPTY trailing-separator quoting trap (d5730a8) -- update for v2.8.0 (f3e6655) +- record the shared diff plumbing and the modal chrome rules (af0f318b) +- pin the review-merge verified-against commit (4e44251d) +- implementation plan for handler-run task links (231b0637) +- record that the sqlite busy-timeout finding was wrong, drop stale RunCreated mention (1f8f3efc) +- design for linking a handler run to the tasks it processed (fb29e8a8) +- drop task 7, the handler-task broadcast already exists at the hub (1e383e1c) +- add implementation plan for the side-by-side diff viewer (6e9a7cea) +- step-by-step plan for phase 1 reactivity fixes (8acf9f8d) +- design for side-by-side diff view with syntax and word highlighting (292d1717) +- design for UI reactivity and task-list performance (482d7ec3) +- document the ConPTY trailing-separator quoting trap (d5730a84) +- update for v2.8.0 (f3e6655f) ## v2.8.0 — 2026-08-06 ### Features -- persist interactive session id so a closed/aborted ConPTY session can be resumed (1a988ff) -- repo scan discovers nested repos in subfolders (7affb4c) -- warn when the running worker predates the selected repo's merged HEAD (8bc7bc0) -- add treatWaitingForChildrenAsBusy to wait_for_task_change (af16830) -- warn on near-duplicate titles in add_task/batch_add_tasks (3e07536) -- add Diagnose section to SettingsWindow (7e1b117) -- raise wait_for_task_change timeout, expose queue slot state (d43b5fc) -- add get_effective_run_config MCP tool (a768bc4) -- hand off to a fresh session after Phase 2 (4ef0127) -- add copy-last-40-lines button to log visualizer (8c251c7) -- make max-turns ceiling editable in General tab (2975f90) -- add SystemCheckPage with blocking-error gating (5cc1ec9) -- pull in preflight check implementations as prerequisite for SystemCheckPage (05be07b) -- add Claude CLI preflight checks (found, version, login, auto-mode) (d743a9d) -- add Git, GitIdentity, Port, and WriteAccess preflight checks (45bc324) -- add check abstraction and EnvironmentCheckService (8b26e23) -- clamp max-turns to a configurable ceiling (08ac8bf) -- make overview panes and queue strip individually resizable (3ea48ff) -- add reading-discipline section to default system prompt (f02b7d6) +- persist interactive session id so a closed/aborted ConPTY session can be resumed (1a988ff4) +- repo scan discovers nested repos in subfolders (7affb4c2) +- warn when the running worker predates the selected repo's merged HEAD (8bc7bc0c) +- add treatWaitingForChildrenAsBusy to wait_for_task_change (af168300) +- warn on near-duplicate titles in add_task/batch_add_tasks (3e07536e) +- add Diagnose section to SettingsWindow (7e1b1177) +- raise wait_for_task_change timeout, expose queue slot state (d43b5fce) +- add get_effective_run_config MCP tool (a768bc41) +- hand off to a fresh session after Phase 2 (4ef01274) +- add copy-last-40-lines button to log visualizer (8c251c78) +- make max-turns ceiling editable in General tab (2975f90f) +- add SystemCheckPage with blocking-error gating (5cc1ec98) +- pull in preflight check implementations as prerequisite for SystemCheckPage (05be07b2) +- add Claude CLI preflight checks (found, version, login, auto-mode) (d743a9d0) +- add Git, GitIdentity, Port, and WriteAccess preflight checks (45bc3244) +- add check abstraction and EnvironmentCheckService (8b26e23d) +- clamp max-turns to a configurable ceiling (08ac8bf7) +- make overview panes and queue strip individually resizable (3ea48ff7) +- add reading-discipline section to default system prompt (f02b7d6e) ### Fixes -- honor RunCancellationRegistry.Register's return value at both dispatch sites (109e85d) -- treat an immediate ConPTY exit as a start failure (4a28bfe) -- surface merge-drain cancel rejection in task-row quick cancel (27d50b8) -- close interactive-session gate bypasses in reset-and-retry and plan queueing (1660210) -- surface worker-offline failures when deleting a task (a78cc52) -- bound the ConPTY launch-gate wait so a hung launch can't freeze other panes (4310f88) -- reparse-check repo-scan root folder and move scan off UI thread (b97f55b) -- serialize ConPTY env launch and close open-path dedupe races (176ba78) -- gate Mission Control submit-for-review, add retry, fix event leak (57c61a2) -- block cancelling a task while its unit merge is draining (79f90a9) -- filter the transliterated 'fuer' stopword, not the untransliterated 'fur' (efee147) -- claim Running before creating run resources (774f9d3) -- gate queueing on an open interactive ConPTY session (d84607f) -- route details-pane task delete through worker to advance blocked parents (9e2a15e) -- advance planning chains and parents on stale-Running recovery (58741c2) -- keep ConPTY sessions alive across Mission Control layout rebuilds (aac84e4) -- suppress auto-open conflict resolver during MCP-driven merges (5d1d2d8) -- release the ShellLink COM object so reading a .lnk doesn't lock it (c6213d7) -- surface empty review ranges and blocked children over MCP (e59f6c2) -- clean up three review leftovers from the list-handler run (b54a133) -- make list_tasks/batch_get_tasks lean by default (f8c48e2) -- restore ForegroundHelper.AllowAny call before wt.exe launch (46c664a) -- skip rewriting the autostart shortcut when already current (445242c) -- remove duplicate list-settings context menu entry (68aa2f5) -- read the persisted MCP port on update instead of the wizard default (3462ca1) -- show the MCP registration step in the progress list (e717c90) -- refresh the run session id live, close the stale handoff pane (f106c89) -- stop NumericUpDown from writing null into non-nullable settings (56f7d64) -- apply the verify gate to worktree-less approvals and report it everywhere (091aca5) -- recover the planning session id from the on-disk transcript (b679126) -- make Files-tab system prompts view-only, drop external-editor edit path (6887b1d) -- broadcast TaskUpdated on queue-claimed task start (8602010) -- remove duplicate Let-Claude entry point and icon collision (df16989) -- filter EF Core/ASP.NET Core noise out of log ring buffer (29bd1b5) -- clarify worktree commits aren't auto-commits (a7d95a0) -- resolve claude CLI shims (.cmd/.bat) not just .exe on PATH (e88f9d0) -- stop 429s with an activity-dependent poll cadence + manual refresh (2700c3d) -- pass FakeTranscriptUsageReader to TaskRunner in FailureDiagnosisTests (f6cb825) -- stop on-disk prompt overrides from freezing forever (b153869) -- surface the real reason a Claude run failed instead of a generic exit-code message (2ebdadf) -- record real raw token usage per run, not the uncached remainder (7d3d6d7) +- honor RunCancellationRegistry.Register's return value at both dispatch sites (109e85da) +- treat an immediate ConPTY exit as a start failure (4a28bfe8) +- surface merge-drain cancel rejection in task-row quick cancel (27d50b81) +- close interactive-session gate bypasses in reset-and-retry and plan queueing (16602104) +- surface worker-offline failures when deleting a task (a78cc526) +- bound the ConPTY launch-gate wait so a hung launch can't freeze other panes (4310f88e) +- reparse-check repo-scan root folder and move scan off UI thread (b97f55bf) +- serialize ConPTY env launch and close open-path dedupe races (176ba78e) +- gate Mission Control submit-for-review, add retry, fix event leak (57c61a20) +- block cancelling a task while its unit merge is draining (79f90a9a) +- filter the transliterated 'fuer' stopword, not the untransliterated 'fur' (efee1478) +- claim Running before creating run resources (774f9d3d) +- gate queueing on an open interactive ConPTY session (d84607f7) +- route details-pane task delete through worker to advance blocked parents (9e2a15e4) +- advance planning chains and parents on stale-Running recovery (58741c2b) +- keep ConPTY sessions alive across Mission Control layout rebuilds (aac84e48) +- suppress auto-open conflict resolver during MCP-driven merges (5d1d2d89) +- release the ShellLink COM object so reading a .lnk doesn't lock it (c6213d77) +- surface empty review ranges and blocked children over MCP (e59f6c24) +- clean up three review leftovers from the list-handler run (b54a133c) +- make list_tasks/batch_get_tasks lean by default (f8c48e2e) +- restore ForegroundHelper.AllowAny call before wt.exe launch (46c664a0) +- skip rewriting the autostart shortcut when already current (445242cd) +- remove duplicate list-settings context menu entry (68aa2f5f) +- read the persisted MCP port on update instead of the wizard default (3462ca13) +- show the MCP registration step in the progress list (e717c901) +- refresh the run session id live, close the stale handoff pane (f106c890) +- stop NumericUpDown from writing null into non-nullable settings (56f7d64f) +- apply the verify gate to worktree-less approvals and report it everywhere (091aca52) +- recover the planning session id from the on-disk transcript (b6791265) +- make Files-tab system prompts view-only, drop external-editor edit path (6887b1d0) +- broadcast TaskUpdated on queue-claimed task start (86020101) +- remove duplicate Let-Claude entry point and icon collision (df169894) +- filter EF Core/ASP.NET Core noise out of log ring buffer (29bd1b50) +- clarify worktree commits aren't auto-commits (a7d95a00) +- resolve claude CLI shims (.cmd/.bat) not just .exe on PATH (e88f9d01) +- stop 429s with an activity-dependent poll cadence + manual refresh (2700c3d8) +- pass FakeTranscriptUsageReader to TaskRunner in FailureDiagnosisTests (f6cb8250) +- stop on-disk prompt overrides from freezing forever (b1538692) +- surface the real reason a Claude run failed instead of a generic exit-code message (2ebdadff) +- record real raw token usage per run, not the uncached remainder (7d3d6d7b) ### Performance -- stop echoing task description from writing MCP tools (ecba129) +- stop echoing task description from writing MCP tools (ecba1299) ### Documentation -- document the ConPTY env race and open-path dedupe fixes (4d9ceef) -- reflect claim-before-create ordering in worker-task-pipeline (42a234b) -- document the queueing gate on open ConPTY sessions (ed7cd7d) -- document interactive session id persistence and resume precedence (6118698) -- document stale-Running chain/parent advance fix (1649291) -- document the kill-on-detach gotcha and ConPtyPaneHost reparenting (0d1e3b9) -- point both drift checks at the merged state (0878bae) -- point external-mcp drift check at the merged state (03c4ed4) -- evaluate planning-chain fork-base options, recommend fork-from-predecessor (db4177d) -- record the verify-gate reach and the NumericUpDown null trap (0f187d8) -- mark the usage-monitor pass done and drop the light-theme checks (730ecb1) -- record the findings from the 2026-08-06 visual pass (b6ecbb1) -- re-verify the 2026-07-24 findings and drop the fixed ones (b5a8d58) -- drop the verified 2026-07-27 visual-pass block, keep its design notes (e113987) -- mark the MaxTurnsCeiling editor as shipped (4309c4c) -- drop the stale reserved-slot comment now that Claude Help Me shipped (41c2de5) -- document Environment Checks + note unmerged prerequisite gap (a6af90f) -- break growing enumerations into one entry per line (beef57f) -- root-cause --permission-mode auto + CLI/.NET preflight research (dce42a9) -- rename ConPTY session UI text to interactive session (b1e4e54) -- update for v2.7.0 (0e0438d) +- document the ConPTY env race and open-path dedupe fixes (4d9ceefe) +- reflect claim-before-create ordering in worker-task-pipeline (42a234b4) +- document the queueing gate on open ConPTY sessions (ed7cd7dc) +- document interactive session id persistence and resume precedence (6118698d) +- document stale-Running chain/parent advance fix (1649291e) +- document the kill-on-detach gotcha and ConPtyPaneHost reparenting (0d1e3b9a) +- point both drift checks at the merged state (0878bae1) +- point external-mcp drift check at the merged state (03c4ed46) +- evaluate planning-chain fork-base options, recommend fork-from-predecessor (db4177db) +- record the verify-gate reach and the NumericUpDown null trap (0f187d8e) +- mark the usage-monitor pass done and drop the light-theme checks (730ecb1a) +- record the findings from the 2026-08-06 visual pass (b6ecbb13) +- re-verify the 2026-07-24 findings and drop the fixed ones (b5a8d58e) +- drop the verified 2026-07-27 visual-pass block, keep its design notes (e113987d) +- mark the MaxTurnsCeiling editor as shipped (4309c4cb) +- drop the stale reserved-slot comment now that Claude Help Me shipped (41c2de5a) +- document Environment Checks + note unmerged prerequisite gap (a6af90ff) +- break growing enumerations into one entry per line (beef57fb) +- root-cause --permission-mode auto + CLI/.NET preflight research (dce42a9c) +- rename ConPTY session UI text to interactive session (b1e4e543) +- update for v2.7.0 (0e0438d3) ## v2.7.0 — 2026-08-05 ### Features -- add usage monitor modal with gauges and model/task usage analysis (8103006) -- add usage pill to footer and mission control header (7cbd4e6) -- expose usage/model-usage hub surface and persist run model (d4cd202) -- add roadblock reply field to the ROADBLOCK card (d2ca7fb) -- record merge commit SHA and add revert_merge tool (10e561f) -- let CreateChildTask set maxTurns on child tasks (65db1cd) -- add post-merge verification gate for list merges (c9ba1e2) -- add preview_merge and preview_merge_set MCP tools (394feba) -- add splitting, turns-preflight, merge-order rules to list-handler prompt (8ed6e08) -- add wait_for_task_change MCP tool (194ce58) -- render task descriptions into the list-handler brief (b38b085) -- add TranscriptUsageReader for per-model token usage (e926f4d) -- add OAuth usage client + poller (20d17c6) -- add usage gate thresholds and task run model column (bedd2de) -- give the list handler its own review task (c07c1f7) -- clear focus from textboxes on Escape in the main window (52c2186) -- show newest log entries first in Log Visualizer (47edab5) +- add usage monitor modal with gauges and model/task usage analysis (8103006e) +- add usage pill to footer and mission control header (7cbd4e66) +- expose usage/model-usage hub surface and persist run model (d4cd2024) +- add roadblock reply field to the ROADBLOCK card (d2ca7fb5) +- record merge commit SHA and add revert_merge tool (10e561f3) +- let CreateChildTask set maxTurns on child tasks (65db1cde) +- add post-merge verification gate for list merges (c9ba1e26) +- add preview_merge and preview_merge_set MCP tools (394febad) +- add splitting, turns-preflight, merge-order rules to list-handler prompt (8ed6e087) +- add wait_for_task_change MCP tool (194ce58a) +- render task descriptions into the list-handler brief (b38b0857) +- add TranscriptUsageReader for per-model token usage (e926f4db) +- add OAuth usage client + poller (20d17c68) +- add usage gate thresholds and task run model column (bedd2def) +- give the list handler its own review task (c07c1f70) +- clear focus from textboxes on Escape in the main window (52c21869) +- show newest log entries first in Log Visualizer (47edab59) ### Fixes -- install a real localizer in UsagePillViewModelTests (677a4c1) -- avoid int CommandParameter cast crash in usage monitor presets (57326f1) -- transport ConPTY task brief via file, not CLI argument (3972ce5) -- drop notification for the removed CanPickUpInTerminal property (eee87f0) -- normalize model alias before preset lookup, wire DefaultMaxTurns as fallback (7d636c6) -- only ask list-handler dedupe questions when a candidate exists (fd50a4f) +- install a real localizer in UsagePillViewModelTests (677a4c18) +- avoid int CommandParameter cast crash in usage monitor presets (57326f1d) +- transport ConPTY task brief via file, not CLI argument (3972ce50) +- drop notification for the removed CanPickUpInTerminal property (eee87f08) +- normalize model alias before preset lookup, wire DefaultMaxTurns as fallback (7d636c60) +- only ask list-handler dedupe questions when a candidate exists (fd50a4fb) ### Refactoring -- remove pick-up-in-terminal, keep ConPTY as the single session entry (87de53e) +- remove pick-up-in-terminal, keep ConPTY as the single session entry (87de53e0) ### Documentation -- mark the 2026-08-05 list-handler run complete (032debc) -- document usage monitor & gate across CLAUDE.md files (cf9dd1c) -- update for v2.6.0 (342a061) +- mark the 2026-08-05 list-handler run complete (032debc7) +- document usage monitor & gate across CLAUDE.md files (cf9dd1cc) +- update for v2.6.0 (342a061d) ## v2.6.0 — 2026-08-04 ### Fixes -- unbreak the update path and cache the download (63d8b5c) -- clear task selection when switching lists (ab56644) +- unbreak the update path and cache the download (63d8b5c2) +- clear task selection when switching lists (ab56644d) ### Documentation -- update for v2.5.0 (71050e2) +- update for v2.5.0 (71050e26) ## v2.5.0 — 2026-07-29 ### Features -- move a task to another list via drag & drop (92ce7a4) -- sidebar shows queued+running, no auto-monitor seeding (44cdad3) -- expose maxParallelExecutions in get_app_settings (e653677) -- accent color presets in Settings → General (149e2ad) -- allow Done via update_task_status with worktree guard (d569313) -- add Let Claude handle it broom button to tasks header (7d6cb2b) +- move a task to another list via drag & drop (92ce7a4a) +- sidebar shows queued+running, no auto-monitor seeding (44cdad38) +- expose maxParallelExecutions in get_app_settings (e6536774) +- accent color presets in Settings → General (149e2ada) +- allow Done via update_task_status with worktree guard (d5693135) +- add Let Claude handle it broom button to tasks header (7d6cb2bd) ### Fixes -- stop swallowing mutating hub call failures (b5464fc) -- pin LogRingBuffer clock in Does_not_throw_when_detached (58f8b11) -- propagate HubException from ApproveReviewAsync so blocked merges surface errors (e1807fd) +- stop swallowing mutating hub call failures (b5464fc5) +- pin LogRingBuffer clock in Does_not_throw_when_detached (58f8b11d) +- propagate HubException from ApproveReviewAsync so blocked merges surface errors (e1807fd5) ### Documentation -- update for v2.4.0 (3fbbd7a) +- update for v2.4.0 (3fbbd7ab) ## v2.4.0 — 2026-07-27 ### Features -- mark tasks and lists as manual (3a648b7) -- per-model effort and turn presets (fde9615) -- Interactive chip for tasks with an open ConPTY session (c93a20f) -- spinners for ConPTY session start and task refine (1466d0f) -- five-phase list-handler prompt with dedupe and enhance (e3bacc3) -- allow update_task_status to set Cancelled (cc823ec) +- mark tasks and lists as manual (3a648b7d) +- per-model effort and turn presets (fde9615b) +- Interactive chip for tasks with an open ConPTY session (c93a20f2) +- spinners for ConPTY session start and task refine (1466d0fb) +- five-phase list-handler prompt with dedupe and enhance (e3bacc31) +- allow update_task_status to set Cancelled (cc823ec4) ### Fixes -- bind search focus to Ctrl+K instead of OemQuestion (7f9f0ca) -- persist title edits from the detail pane (edd2774) +- bind search focus to Ctrl+K instead of OemQuestion (7f9f0ca1) +- persist title edits from the detail pane (edd2774d) ### Refactoring -- make the list-handler launch spec single-list and single-repo (4877802) -- scope "Let Claude handle it" to a single list (40eb979) +- make the list-handler launch spec single-list and single-repo (4877802b) +- scope "Let Claude handle it" to a single list (40eb9799) ### Documentation -- record the manual-task, effort-preset and chip/spinner changes (24f999f) -- document the list-handler selection modal (62fc5aa) -- describe the list-scoped five-phase handler (023e136) -- implementation plan for the per-list task handler (ec10b06) -- per-list task handler with read/dedupe/enhance/run/merge (81cf941) -- update for v2.3.1 (538b4ed) +- record the manual-task, effort-preset and chip/spinner changes (24f999fa) +- document the list-handler selection modal (62fc5aaa) +- describe the list-scoped five-phase handler (023e136c) +- implementation plan for the per-list task handler (ec10b068) +- per-list task handler with read/dedupe/enhance/run/merge (81cf9418) +- update for v2.3.1 (538b4ede) ## v2.3.1 — 2026-07-24 ### Fixes -- retry stashing app/worker through transient file locks on update (9591841) +- retry stashing app/worker through transient file locks on update (95918414) ### Documentation -- update for v2.3.0 (9349386) +- update for v2.3.0 (93493866) ## v2.3.0 — 2026-07-24 ### Features -- open merge-helper ConPTY tile from selection (083e1f3) -- add "Let Claude handle it" entry points (ecbc734) -- add merge-helper task selection dialog (327ae2b) -- expose merge-helper launch spec over hub + client (5ba0c09) -- build merge-helper interactive launch spec (78d4e1a) -- add merge-helper prompt templates (c7d64e9) -- add continue_merge and abort_merge MCP tools (7517f2a) -- let review_task/merge_task leave conflicts in tree via MCP (f4f7c81) +- open merge-helper ConPTY tile from selection (083e1f39) +- add "Let Claude handle it" entry points (ecbc7349) +- add merge-helper task selection dialog (327ae2b6) +- expose merge-helper launch spec over hub + client (5ba0c09d) +- build merge-helper interactive launch spec (78d4e1a4) +- add merge-helper prompt templates (c7d64e9c) +- add continue_merge and abort_merge MCP tools (7517f2a9) +- let review_task/merge_task leave conflicts in tree via MCP (f4f7c810) ### Documentation -- helper handles all merges; manual conflict fallback (2a3ab55) -- spec + implementation plan (962f68c) -- update for v2.2.0 (d12a888) +- helper handles all merges; manual conflict fallback (2a3ab550) +- spec + implementation plan (962f68c9) +- update for v2.2.0 (d12a8886) ## v2.2.0 — 2026-07-24 ### Features -- submit interactive (ConPTY) work for review (109a35c) -- gate Approve & Merge behind opening the diff (2aaaa23) -- run interactive planning sessions via embedded ConPTY (ef285b2) -- AskUser question banner in the detail island (798d100) -- conflict resolver shows why Continue is disabled (da6a70a) -- session-skills empty-state + neutral subtask terminology (85d0f9d) +- submit interactive (ConPTY) work for review (109a35c5) +- gate Approve & Merge behind opening the diff (2aaaa239) +- run interactive planning sessions via embedded ConPTY (ef285b21) +- AskUser question banner in the detail island (798d1006) +- conflict resolver shows why Continue is disabled (da6a70ae) +- session-skills empty-state + neutral subtask terminology (85d0f9dc) ### Fixes -- use default permission mode so MCP planning tools don't prompt (624ec7a) -- hide misleading Idle chip on planning parents (e8f7e3a) -- show structured-output summary instead of raw JSON in OUTCOME (8a7275a) -- live-refresh child rows on parent planning transitions (f4dd67d) -- restore turn/token counts on task reload (0226c98) -- clearer rename display in diff viewer (b9b3053) -- diagnostic error surfacing on attachment drop (671c886) -- surface resume-planning-session failures (ffff1ee) -- render Plus and agent-settings gear icons (ad2acdd) -- kill cancelled runs' processes and make MCP approve actually merge (fee6999) -- make external MCP filter params optional, surface tool errors (d7ebafd) -- merge preflights ignore untracked files in target working tree (14e4c08) -- UnifiedDiffParser mishandles paths with spaces and git-quoted paths (0f2d202) -- validate conflict markers before staging in ContinueMergeAsync (377409e) -- cascade cancel of a WaitingForChildren parent to its non-terminal children (941c8b9) -- advance parent when the last non-terminal child is deleted (2452e39) -- keep planning-chain cascade moving past an Idle middle link (816f247) +- use default permission mode so MCP planning tools don't prompt (624ec7a6) +- hide misleading Idle chip on planning parents (e8f7e3a4) +- show structured-output summary instead of raw JSON in OUTCOME (8a7275a7) +- live-refresh child rows on parent planning transitions (f4dd67d5) +- restore turn/token counts on task reload (0226c980) +- clearer rename display in diff viewer (b9b30530) +- diagnostic error surfacing on attachment drop (671c886c) +- surface resume-planning-session failures (ffff1ee1) +- render Plus and agent-settings gear icons (ad2acddc) +- kill cancelled runs' processes and make MCP approve actually merge (fee69998) +- make external MCP filter params optional, surface tool errors (d7ebafd5) +- merge preflights ignore untracked files in target working tree (14e4c086) +- UnifiedDiffParser mishandles paths with spaces and git-quoted paths (0f2d202b) +- validate conflict markers before staging in ContinueMergeAsync (377409e6) +- cascade cancel of a WaitingForChildren parent to its non-terminal children (941c8b98) +- advance parent when the last non-terminal child is deleted (2452e393) +- keep planning-chain cascade moving past an Idle middle link (816f247d) ### Documentation -- spec for ConPTY planning sessions (2612831) -- record session progress (A/B done, C#9+#11, D#13+#14; C#10/#12 + group E deferred) (04044bd) -- add fix-plan for fresh session (findings grouped by fixability); defer §10, mark §11 OK per Mika (efd7cc9) -- §3 UnfinishedPlanning modal (Finalize/Discard PASS, Resume BUG); generalize child-row live-refresh finding; edges done (75a6e0e) -- finding — Resume planning session is broken (session_id never captured) + error swallowed by empty catch (9efc5c9) -- §1 DiffModal error-state resolved via code analysis (defensive/unreachable, gates prevent it) (6ca8cac) -- §4 merge-editor Abort PASS (tree clean, task stays WaitingForReview) (9a1fa3d) -- §9 attachments drag&drop UI PASS (overlay/drop/picker/remove); finding — intermittent first-drop error (9b4d343) -- §8 Session Skills complete (Remove PASS); refresh handoff summary + fixture state (a1ba3b6) -- §8 per-task activation + no-leak counterprobe PASS; UI partial (cards/general-tab open) (9b041ba) -- finding — agent-settings gear uses Unicode glyph, not Icon.Settings PathIcon (inconsistent) (39fc594) -- §8 skill install PASS (6 skills, commit-pinned); finding — Skills tab has no empty-state (b353ed6) -- note Mika explicitly wants AskUser interaction in detail island (416e47e) -- §7 AskUser complete — timeout UI-cleanup visually verified (banner clears) (e8b5e97) -- §7 AskUser PASS (happy-path + backend timeout); finding — banner only in Mission Control, absent in detail island (d19ef54) -- note fixture cleanup (verif tasks/worktrees removed, ClaudeDoTests reset) (ded068c) -- refresh handoff for next session — progress, remaining (§7-§11+edges), gotchas, fixture state (9556e0e) -- trim to actively-verified 2026-07-24 findings; drop stale manual-verif/historical blocks (9d39a8f) -- §5 ConPTY/Mission Control PASS (prompt-send, close kills proc); ad-hoc icon invisible + re-open re-sends noted (b536b6f) -- §5 findings — invisible New-session icon (Icon.Plus stroke-only), re-open re-sends prompt (1b80bb0) -- §3 PASS end-to-end (+§1 children-band, +§4 planning-conflict); dequeue-X UX nit (4394623) -- §3 finalize findings — improvements-mislabel, child-badge live-refresh, chain not visualized (f0b0582) -- planning session permission-prompt bug + planning-active parent shows Idle (UX) (07de897) -- clean additive approve PASS (2101228) -- §1 commit-range-after-merge PASS; blocked-merge silent-fail confirmed on clean path too (8241bf8) -- §4 merge editor PASS end-to-end + UX findings (continue-btn, multi-file, blocked-merge) (255705d) -- Approve & Merge silently swallows a blocked merge (no footer error) (3dfd75f) -- §1 findings — raw-JSON outcome bug, rename/turns nits, session-tab expected (26c03a5) -- correct permission finding — auto+haiku denies writes (not a CLI regression), §2 happy-path PASS (3211bfc) -- log autonomous-batch results (§2/§6/§9/§12) (79ce7af) -- track CLI 2.1.207 --permission-mode auto write-denial regression (0ad93f4) -- remove chain-cascade bug bullet (fixed in 110364a) (3d668da) -- explore-notes convention + verification handoff for manual checks (d6891b8) -- update for v2.1.0 (ad58129) +- spec for ConPTY planning sessions (2612831a) +- record session progress (A/B done, C#9+#11, D#13+#14; C#10/#12 + group E deferred) (04044bd1) +- add fix-plan for fresh session (findings grouped by fixability); defer §10, mark §11 OK per Mika (efd7cc9b) +- §3 UnfinishedPlanning modal (Finalize/Discard PASS, Resume BUG); generalize child-row live-refresh finding; edges done (75a6e0ef) +- finding — Resume planning session is broken (session_id never captured) + error swallowed by empty catch (9efc5c90) +- §1 DiffModal error-state resolved via code analysis (defensive/unreachable, gates prevent it) (6ca8cac7) +- §4 merge-editor Abort PASS (tree clean, task stays WaitingForReview) (9a1fa3db) +- §9 attachments drag&drop UI PASS (overlay/drop/picker/remove); finding — intermittent first-drop error (9b4d3431) +- §8 Session Skills complete (Remove PASS); refresh handoff summary + fixture state (a1ba3b6e) +- §8 per-task activation + no-leak counterprobe PASS; UI partial (cards/general-tab open) (9b041ba7) +- finding — agent-settings gear uses Unicode glyph, not Icon.Settings PathIcon (inconsistent) (39fc594b) +- §8 skill install PASS (6 skills, commit-pinned); finding — Skills tab has no empty-state (b353ed6c) +- note Mika explicitly wants AskUser interaction in detail island (416e47ec) +- §7 AskUser complete — timeout UI-cleanup visually verified (banner clears) (e8b5e97a) +- §7 AskUser PASS (happy-path + backend timeout); finding — banner only in Mission Control, absent in detail island (d19ef540) +- note fixture cleanup (verif tasks/worktrees removed, ClaudeDoTests reset) (ded068c5) +- refresh handoff for next session — progress, remaining (§7-§11+edges), gotchas, fixture state (9556e0e8) +- trim to actively-verified 2026-07-24 findings; drop stale manual-verif/historical blocks (9d39a8fc) +- §5 ConPTY/Mission Control PASS (prompt-send, close kills proc); ad-hoc icon invisible + re-open re-sends noted (b536b6fb) +- §5 findings — invisible New-session icon (Icon.Plus stroke-only), re-open re-sends prompt (1b80bb0a) +- §3 PASS end-to-end (+§1 children-band, +§4 planning-conflict); dequeue-X UX nit (4394623b) +- §3 finalize findings — improvements-mislabel, child-badge live-refresh, chain not visualized (f0b05825) +- planning session permission-prompt bug + planning-active parent shows Idle (UX) (07de8971) +- clean additive approve PASS (21012283) +- §1 commit-range-after-merge PASS; blocked-merge silent-fail confirmed on clean path too (8241bf8d) +- §4 merge editor PASS end-to-end + UX findings (continue-btn, multi-file, blocked-merge) (255705d8) +- Approve & Merge silently swallows a blocked merge (no footer error) (3dfd75fb) +- §1 findings — raw-JSON outcome bug, rename/turns nits, session-tab expected (26c03a5a) +- correct permission finding — auto+haiku denies writes (not a CLI regression), §2 happy-path PASS (3211bfc0) +- log autonomous-batch results (§2/§6/§9/§12) (79ce7afe) +- track CLI 2.1.207 --permission-mode auto write-denial regression (0ad93f48) +- remove chain-cascade bug bullet (fixed in 110364a) (3d668da6) +- explore-notes convention + verification handoff for manual checks (d6891b8b) +- update for v2.1.0 (ad581291) ## v2.1.0 — 2026-07-23 ### Features -- seed fresh task session with the task prompt (d8194ad) -- New session button for ad-hoc ConPTY sessions (3feb08d) -- fresh-worktree-on-demand + ad-hoc launch specs (9ab48d7) -- host task-based ConPTY sessions in Command Center (0513265) -- embedded ConPTY terminal host in UI (5f740c0) -- worker launch-spec for embedded ConPTY sessions (1245e75) -- session skills registry tab + per-level selectors (7c3c061) -- session skills SignalR surface + per-level persistence (b4c5808) -- resolve and seed session skills before each run (4626481) -- session skill registry (install/update/remove, pinned clone) (dea2b7d) -- session skills entity, repository, and migration (54cdaf8) -- pick up a task's session in a terminal (eb88dc1) -- resume a task's claude session in a terminal (140ae2f) +- seed fresh task session with the task prompt (d8194ad5) +- New session button for ad-hoc ConPTY sessions (3feb08d9) +- fresh-worktree-on-demand + ad-hoc launch specs (9ab48d70) +- host task-based ConPTY sessions in Command Center (0513265c) +- embedded ConPTY terminal host in UI (5f740c05) +- worker launch-spec for embedded ConPTY sessions (1245e759) +- session skills registry tab + per-level selectors (7c3c0614) +- session skills SignalR surface + per-level persistence (b4c58087) +- resolve and seed session skills before each run (46264813) +- session skill registry (install/update/remove, pinned clone) (dea2b7db) +- session skills entity, repository, and migration (54cdaf89) +- pick up a task's session in a terminal (eb88dc13) +- resume a task's claude session in a terminal (140ae2fd) ### Fixes -- set monospace font + stretch on ConPTY terminal (d9a4627) -- use library LaunchProcess instead of custom pty bypass (2b06ab0) -- correct ConPTY terminal size + reduce lag (bb62740) -- forward keyboard input to ConPTY terminal (25922a2) -- seed planning brief via file to avoid newline truncation (865e12c) +- set monospace font + stretch on ConPTY terminal (d9a4627a) +- use library LaunchProcess instead of custom pty bypass (2b06ab0a) +- correct ConPTY terminal size + reduce lag (bb62740a) +- forward keyboard input to ConPTY terminal (25922a27) +- seed planning brief via file to avoid newline truncation (865e12c0) ### Refactoring -- remove streaming interactive stack (superseded by ConPTY) (c412a84) +- remove streaming interactive stack (superseded by ConPTY) (c412a84f) ### Documentation -- update ConPTY spec + open items to final state (85c7e65) -- record ConPTY library + binding decision from spike (d28c63d) -- ConPTY interactive sessions spec + plan (d91ad2d) -- session skills verification items (f33838d) -- mark cwd-skill discovery verified in headless mode (dbaefe9) -- revise for multi-skill plugin repos (ponytail) (62b245a) -- spec + plan for per-level session skills (4e5057d) -- pick up a task's session in a terminal — verification (1bf08ec) -- update for v2.0.0 (914fa5a) +- update ConPTY spec + open items to final state (85c7e650) +- record ConPTY library + binding decision from spike (d28c63d2) +- ConPTY interactive sessions spec + plan (d91ad2d6) +- session skills verification items (f33838d0) +- mark cwd-skill discovery verified in headless mode (dbaefe92) +- revise for multi-skill plugin repos (ponytail) (62b245aa) +- spec + plan for per-level session skills (4e5057d3) +- pick up a task's session in a terminal — verification (1bf08eca) +- update for v2.0.0 (914fa5aa) ## v2.0.0 — 2026-06-26 ### Features -- remove a queued interactive message with a ✕ (afe7218) -- remove a queued interactive message (fd1e38f) -- show queued interactive messages above the composer (7c9ff18) -- broadcast interactive message queue + delivery (84034e8) -- highlight user chat messages + opt-in interrupt (stop) button (786eb28) -- queue interactive messages by default, interrupt opt-in (bdda98e) -- interactive chat composer in the session terminal + work console (1fe72a1) -- interactive chat composer state on the session monitor VM (140b8e1) -- worker client surface for in-app interactive sessions (9effdde) -- in-app interactive session service, replacing the wt terminal launch (30e87e6) -- persistent streaming Claude session + live session registry (d8a043f) -- answer a running task's question inline in Mission Control (917301d) -- AskUser MCP tool so a running task can ask the user mid-run (c7f8280) -- replace OLE task-row drag with custom ghost drag (bec26b2) -- ghost-window drag infrastructure for task rows (05aec8e) -- drag a task into Mission Control to queue it (3b629c2) -- read-only queue side strip in Mission Control (9eb54a0) -- batch MCP tools for the external endpoint (1c94fbd) -- open Settings from the Mission Control header (7f4dc8b) -- drag-reorder Mission Control panes by their header (f6ecfc9) -- mission control pane header actions + status tinting (e2fad88) -- mission control detach/redock toggle, clear review panes, reorder helper (fbcffce) -- detach a monitor into its own window (5f6e748) -- open Mission Control from the title bar (b1bd912) -- add MissionControl window + grid (283310a) -- add MonitorPaneView (15a3e65) -- reveal a task by id from anywhere (5a21d67) -- add MissionControlViewModel (42da840) -- extract TaskMonitorViewModel streaming core; DetailsIsland delegates (aa7a49f) -- collapse parent task rows by default with granular row sync (38defee) -- shell-style review prompt line in WorkConsole (0a119f1) -- Log Visualizer overlay reachable from a clickable footer log line (c4f74a7) -- route Serilog Warn/Error to footer + buffer recent logs for overlay (08a4f97) -- segmented Description/Steps/Files header (9301bbc) -- drag-and-drop file attachments on the detail pane (d8ff8cc) -- MCP tools to attach/list/remove task files (f7e946e) -- inject reference files into the run + clean up files on delete (6a0c0f5) -- data layer for task file attachments (3f9f047) +- remove a queued interactive message with a ✕ (afe7218b) +- remove a queued interactive message (fd1e38fb) +- show queued interactive messages above the composer (7c9ff18c) +- broadcast interactive message queue + delivery (84034e83) +- highlight user chat messages + opt-in interrupt (stop) button (786eb287) +- queue interactive messages by default, interrupt opt-in (bdda98ec) +- interactive chat composer in the session terminal + work console (1fe72a1f) +- interactive chat composer state on the session monitor VM (140b8e15) +- worker client surface for in-app interactive sessions (9effddeb) +- in-app interactive session service, replacing the wt terminal launch (30e87e69) +- persistent streaming Claude session + live session registry (d8a043fa) +- answer a running task's question inline in Mission Control (917301d6) +- AskUser MCP tool so a running task can ask the user mid-run (c7f82801) +- replace OLE task-row drag with custom ghost drag (bec26b22) +- ghost-window drag infrastructure for task rows (05aec8eb) +- drag a task into Mission Control to queue it (3b629c21) +- read-only queue side strip in Mission Control (9eb54a0d) +- batch MCP tools for the external endpoint (1c94fbdb) +- open Settings from the Mission Control header (7f4dc8b9) +- drag-reorder Mission Control panes by their header (f6ecfc99) +- mission control pane header actions + status tinting (e2fad88f) +- mission control detach/redock toggle, clear review panes, reorder helper (fbcffce7) +- detach a monitor into its own window (5f6e7480) +- open Mission Control from the title bar (b1bd9129) +- add MissionControl window + grid (283310a3) +- add MonitorPaneView (15a3e655) +- reveal a task by id from anywhere (5a21d673) +- add MissionControlViewModel (42da8400) +- extract TaskMonitorViewModel streaming core; DetailsIsland delegates (aa7a49f6) +- collapse parent task rows by default with granular row sync (38defee3) +- shell-style review prompt line in WorkConsole (0a119f14) +- Log Visualizer overlay reachable from a clickable footer log line (c4f74a7a) +- route Serilog Warn/Error to footer + buffer recent logs for overlay (08a4f97a) +- segmented Description/Steps/Files header (9301bbc8) +- drag-and-drop file attachments on the detail pane (d8ff8cc1) +- MCP tools to attach/list/remove task files (f7e946e4) +- inject reference files into the run + clean up files on delete (6a0c0f59) +- data layer for task file attachments (3f9f0479) ### Fixes -- reap idle interactive sessions so they don't pile up (711374e) -- kill spawned claude trees when the worker dies (faf6104) -- scroll revealed task into view + stronger selection highlight (f63be28) -- persist Online Inbox tab on settings save (66907d2) -- paint accent buttons with moss tokens instead of Fluent blue (178fd25) -- make worktree state chips readable with on-theme tints (df84fc3) -- keep interactive & planning prompts intact past Windows Terminal (ea16da2) -- honor runtime disable in sync loop to stop OIDC discovery (f86b785) -- surface interactive/planning launch errors in footer (134b9fb) -- render X remove icon as filled geometry (637886f) -- hide batch Merge All in the global overview (5231ad6) +- reap idle interactive sessions so they don't pile up (711374e8) +- kill spawned claude trees when the worker dies (faf61046) +- scroll revealed task into view + stronger selection highlight (f63be285) +- persist Online Inbox tab on settings save (66907d24) +- paint accent buttons with moss tokens instead of Fluent blue (178fd25b) +- make worktree state chips readable with on-theme tints (df84fc3f) +- keep interactive & planning prompts intact past Windows Terminal (ea16da27) +- honor runtime disable in sync loop to stop OIDC discovery (f86b7859) +- surface interactive/planning launch errors in footer (134b9fb5) +- render X remove icon as filled geometry (637886f3) +- hide batch Merge All in the global overview (5231ad6b) ### Refactoring -- split LogLineViewModel into its own file (7b6a8f0) -- single DiffViewer replaces DiffModal + WorktreeModal + PlanningDiff (167d2fe) -- single AgentConfigEditor for list + task scopes (eb0ddb5) -- drop self-update, publish stable-named ClaudeDo.Installer.exe (3cb4802) -- single IMergeCoordinator replaces the 5 conflict seams (5be4b5c) -- single IDialogService replaces scattered Show* dialog seams (d598a53) -- route UI quick-add through TaskRepository.AddAsync (1fb2e34) -- drop dead hunks conflict API (b3e099c) +- split LogLineViewModel into its own file (7b6a8f08) +- single DiffViewer replaces DiffModal + WorktreeModal + PlanningDiff (167d2fec) +- single AgentConfigEditor for list + task scopes (eb0ddb56) +- drop self-update, publish stable-named ClaudeDo.Installer.exe (3cb4802f) +- single IMergeCoordinator replaces the 5 conflict seams (5be4b5c5) +- single IDialogService replaces scattered Show* dialog seams (d598a539) +- route UI quick-add through TaskRepository.AddAsync (1fb2e34f) +- drop dead hunks conflict API (b3e099ca) ### Documentation -- queued messages can be removed via ✕ (3eea2b7) -- queued messages show in a pending strip above the composer (e7fa373) -- interactive send=queue, interrupt opt-in via stop button (8e1732a) -- manual-verification items for in-app interactive sessions (9c292e5) -- spec + plan for in-app interactive sessions (10342bc) -- spec + plan for answering Claude's mid-run questions in Mission Control (946d26c) -- add Mission Control multi-task monitoring spec + plan (d80a578) -- document footer log routing + Log Visualizer overlay (4022bd7) -- spec + plan for worker-log footer routing and log visualizer overlay (60eb671) -- document task file attachments across project docs (8716dd8) -- spec + phased plan for one-component-per-feature (0993eb0) -- update for v1.9.0 (bae8921) +- queued messages can be removed via ✕ (3eea2b7c) +- queued messages show in a pending strip above the composer (e7fa373a) +- interactive send=queue, interrupt opt-in via stop button (8e1732a3) +- manual-verification items for in-app interactive sessions (9c292e50) +- spec + plan for in-app interactive sessions (10342bc5) +- spec + plan for answering Claude's mid-run questions in Mission Control (946d26cc) +- add Mission Control multi-task monitoring spec + plan (d80a5783) +- document footer log routing + Log Visualizer overlay (4022bd71) +- spec + plan for worker-log footer routing and log visualizer overlay (60eb671e) +- document task file attachments across project docs (8716dd8e) +- spec + phased plan for one-component-per-feature (0993eb0e) +- update for v1.9.0 (bae89212) ## v1.9.0 — 2026-06-19 ### Features -- diff Merge opens the 3-pane editor + conflict overview ruler (29a294b) -- toggle add/remove per side, MAIN/INCOMING labels, files readout (ca4377e) -- additive conflict accept — stack ours/theirs in click order (d5eec75) -- add accept-both control to the 3-pane conflict gutter (18479c0) -- Rider-style 3-pane conflict editor view (c4d1acc) -- unify planning conflicts onto the resolver + 3-pane VM foundation (378a92c) -- move review feedback to the Output tab + review/worktree polish (3e4e4a0) -- in-app 3-way merge editor (chunk 2b) (92767c6) -- real conflict-hunk parsing pipeline (chunk 2 backend) (e779e13) -- My Day actions, orphan-aware grouping, menu restructure (4847c5c) -- unify review actions into the Git-tab cockpit (43fb506) -- carry ownerId on sync to prepare for multi-user (cee051b) -- gate access on Zitadel "user" project role (23c3065) -- Online Inbox settings tab + auth-code/PKCE login (80a2de6) -- Online Inbox config + auth hub plumbing (Phase 2) (17c7ff5) -- real ZitadelAuthProvider (refresh-token grant, auth-code+PKCE) (619bc0c) -- Online Inbox sync engine (Phase 1) (1ac9ced) -- let Claude set the cheapest model per generated task via MCP (c27a179) +- diff Merge opens the 3-pane editor + conflict overview ruler (29a294b7) +- toggle add/remove per side, MAIN/INCOMING labels, files readout (ca4377e6) +- additive conflict accept — stack ours/theirs in click order (d5eec75b) +- add accept-both control to the 3-pane conflict gutter (18479c02) +- Rider-style 3-pane conflict editor view (c4d1acc7) +- unify planning conflicts onto the resolver + 3-pane VM foundation (378a92c1) +- move review feedback to the Output tab + review/worktree polish (3e4e4a03) +- in-app 3-way merge editor (chunk 2b) (92767c64) +- real conflict-hunk parsing pipeline (chunk 2 backend) (e779e136) +- My Day actions, orphan-aware grouping, menu restructure (4847c5c0) +- unify review actions into the Git-tab cockpit (43fb506e) +- carry ownerId on sync to prepare for multi-user (cee051bb) +- gate access on Zitadel "user" project role (23c3065f) +- Online Inbox settings tab + auth-code/PKCE login (80a2de6c) +- Online Inbox config + auth hub plumbing (Phase 2) (17c7ff51) +- real ZitadelAuthProvider (refresh-token grant, auth-code+PKCE) (619bc0c3) +- Online Inbox sync engine (Phase 1) (1ac9ced0) +- let Claude set the cheapest model per generated task via MCP (c27a179d) ### Fixes -- unresolved conflicts compose to empty, not Ours (+ review nits) (23a93ce) -- harden 3-pane editor + document the new conflict resolver (869dd25) -- invalidate cached access token when the signed-in user changes (cfe23cd) -- preserve API base path in Online Inbox client (8b347de) -- queue dispatches skip the StartRunning re-claim (74ca2e0) -- document and test Queued→Failed guard in FailAsync (fe73f45) -- stateless AbortPlanningMerge after worker restart mid-merge (fb1d799) -- route FinalizeParentDoneAsync through TaskStateService (e9e4ad8) +- unresolved conflicts compose to empty, not Ours (+ review nits) (23a93ce0) +- harden 3-pane editor + document the new conflict resolver (869dd25a) +- invalidate cached access token when the signed-in user changes (cfe23cdd) +- preserve API base path in Online Inbox client (8b347de1) +- queue dispatches skip the StartRunning re-claim (74ca2e0d) +- document and test Queued→Failed guard in FailAsync (fe73f45b) +- stateless AbortPlanningMerge after worker restart mid-merge (fb1d799b) +- route FinalizeParentDoneAsync through TaskStateService (e9e4ad8f) ### Refactoring -- bring IWorkerClient to parity with WorkerClient (b5417f6) +- bring IWorkerClient to parity with WorkerClient (b5417f6b) ### Documentation -- spec + plan for Rider-style 3-pane merge editor (983c177) -- KunsZitadel is server-side only; desktop uses an OIDC client flow (96da9fb) -- API contract, desktop design spec, and implementation plan (8cbe1ad) -- close out the review round in open.md, sync CLAUDE.md with merges (23ff391) -- record correctness-review findings (4 confirmed as tasks) (ddeded9) -- record review findings as refactoring backlog (1448794) -- spec + plan for per-task model override via MCP (51ef488) -- refresh CLAUDE.md files and open.md to current code state (4904631) -- update for v1.8.0 (f8f20bf) +- spec + plan for Rider-style 3-pane merge editor (983c177c) +- KunsZitadel is server-side only; desktop uses an OIDC client flow (96da9fba) +- API contract, desktop design spec, and implementation plan (8cbe1adb) +- close out the review round in open.md, sync CLAUDE.md with merges (23ff3916) +- record correctness-review findings (4 confirmed as tasks) (ddeded98) +- record review findings as refactoring backlog (14487947) +- spec + plan for per-task model override via MCP (51ef488d) +- refresh CLAUDE.md files and open.md to current code state (49046310) +- update for v1.8.0 (f8f20bf6) ## v1.8.0 — 2026-06-09 ### Features -- richer diff viewer + surface child roadblocks on parents (f21c65b) -- allow cancelling a WaitingForChildren parent (d6e0953) -- single approve action merges the whole unit (a8b86e2) -- approve drives the unit merge for parents with children (1abb429) -- planning finalize enters WaitingForChildren (12732d6) -- add get_task_config, continue_task; fix status enum, branchDeleted, merge-from-review (9f19a71) -- surface agent roadblocks and run outcome in the detail pane (763732a) -- localize task-header, task-row and prime-schedule tooltips (a41b8de) -- wire layer A/B conflict seams to the inline resolver (7f173da) -- expose conflict-resolver factory and dialog seam for integrator (72687e9) -- add inline conflict resolver view and localization (8cafad3) -- add inline conflict resolver view-model (d8a973d) -- add inline conflict model (file/hunk with resolution) (0b623b8) -- batch-merge cockpit view with checkboxes and conflicts panel (5edb433) -- add batch-merge cockpit strings (en/de) (c8f82ed) -- wire batch selection, target loading and resolve seam (1aa0607) -- expose conflict-resolution merge methods (cb20877) -- read conflict stages and write user resolutions (dcbf67c) -- add skip-and-continue batch merge orchestration (02b11c7) -- add conflict-stage blob reads and single-path staging (74afc46) -- add batch-merge row state to worktrees cockpit VM (ef3fba1) -- fuse git tab into one approve+merge cockpit (3596053) -- route single-task merge conflicts into a resolution seam (4bf4a27) -- maximize work console via green traffic-light dot (de4ad5d) -- add conflict-resolution worker contract (foundation for merge rework) (2dfc455) -- rename review Retry to Continue and make Reset discard the worktree (42bb79e) -- send Retry on Enter in the review prompt (9c5872e) -- rework review into terminal footer and add Git tab (8819a56) -- add IsGitTab flag to work console view model (6c65158) -- add mergeability indicator and Merge button to work console (de01579) -- show mergeability and surface approve conflicts in the work console (0d8999d) -- wire merge-aware approve and preview into the worker client (3202c76) -- expose PreviewMerge hub method and merge-on-approve (43f8f7f) -- approve merges worktree before marking task done (b817c87) -- add Refine button, icon, and command to task card (2a6781f) -- add non-destructive merge-tree conflict probe (4098f7f) -- add RefineTask client call and refine events (8239004) -- wire RefineTask hub method, broadcaster events, and DI (e523ed8) -- add RefineRunner, prompt/args helper, and interfaces (0460d7b) -- add Refine prompt kind and default (eca6813) -- add add_subtask tool to claudedo MCP (22830d3) -- resize detail split by dragging the console's top edge (b840655) -- rework work console — single Session tab, right-aligned header, turns x/y (ac9bae9) -- make steps visible at a glance; lift details card off background (99c6bf4) -- wire redesigned detail island (header + description/steps card + work console) (c71026d) -- add WorkConsole detail component (ce50f9f) -- add DescriptionStepsCard detail component (c323953) -- add TaskHeaderBar detail component (9f95942) -- compose task prompt from title + description + open steps only (299867d) -- fold parent branch into combined-diff for improvement parents (469e68b) -- focused custom prompt for improvement children so they stay narrow (176b985) -- show improvement-child outcomes on the parent review card + enable tree-merge (5d34f95) -- mark agent-suggested improvement children in the task tree (0e13017) -- surface WaitingForChildren status (chip, color, agent-strip, labels) (5363570) -- instruct agents to offload out-of-scope work via SuggestImprovement (f60beca) -- fold parent branch into tree-merge for improvement parents (519bfbe) -- mint per-run MCP token + emit run-scoped --mcp-config (06e3acd) -- resolve per-run tokens in MCP auth + register TaskRunMcpService (f3052dc) -- add SuggestImprovement tool (server-stamped, one layer deep) (9d133e2) -- add TaskRunMcpContext + accessor (7542bc2) -- add per-run TaskRunTokenRegistry (ef86a8c) -- base improvement-child worktree on parent HEAD (da23b6c) -- route standalone success with children to WaitingForChildren + enqueue them (c10f564) -- advance WaitingForChildren parent to review when children terminal (7873e60) -- add SubmitForChildrenAsync (Running -> WaitingForChildren) (6f4b5d5) -- generalize CreateChildAsync for any parent + CreatedBy stamp (6fdf04d) -- add WaitingForChildren task status value (ee0d125) -- roadblock badge on the task card; relocate review actions off the row (2455eac) -- host review actions in the details panel; show review state and diff meter (d8b86e3) -- persist roadblock count on the task (49b9f1f) -- surface reported roadblocks in the review result (1e547de) -- carry blocks through RunResult (56ebc28) -- collect and strip CLAUDEDO_BLOCKED markers in StreamAnalyzer (cf7f0da) -- weekly-report instructions from file, point at data sections (ac1e9b0) -- daily-prep prompt from file, English default (79bfc79) -- expose all editable prompt files, drop agent prompt (bd1e3db) -- retry prompt from file, append only real captured errors (edc9f77) -- externalize prompt kinds with defaults and token renderer (9bdf99d) -- show inherited markers and max-turns override in task flyout (cd683ba) -- show inherited markers and max-turns override in list settings (d0ab382) -- add reusable inherited-source badge control (3e3041c) -- add inheritance resolver returning value and source (92cee12) -- add inherited-marker, turns, and prepended-prompt strings (bba3c55) -- mirror max-turns field on signalr config dtos (26f5936) -- expose max-turns override over signalr and mcp config tools (b72a788) -- resolve max-turns from task then list then global default (beae2d6) -- persist max_turns in list and task repositories (ac137f7) -- add nullable max_turns override to list_config and tasks (97e38fb) -- replace Plan-My-Day header icon with a stroked sun icon (52e3980) -- trigger planning from inside the prep-log window with an empty-state hint (7d743f1) -- load persisted prep log into the terminal on open (914095d) -- persist last prep run to a log file and serve it via GetLastPrepLog (4d82079) -- move Clear-day and Prep-log into MyDay header icon row (c764b2b) -- reuse SessionTerminal for prep log; fix invisible Sort icon; add Broom/List icons (f7d1b37) -- clear textbox focus on click outside any text box (fab1772) -- add Prep-log and Clear-day buttons to MyDay header (c45f892) -- add live prep-output mode to the Details island (a8670ee) -- expose prep stream events and ClearMyDay on the UI worker client (7676ecf) -- add ClearMyDay hub method (fa83d7f) -- stream prep output via PrepStarted/PrepLine/PrepFinished (e48475d) -- add Prepare-day button to MyDay header (46ac3fc) -- add DailyPrepMaxTasks editor to Prime Claude settings (5e0859f) -- add RunDailyPrepNow hub method and expose DailyPrepMaxTasks (2d00160) -- run daily prep from PrimeRunner via allowed MCP tools (20b3a29) -- add set_my_day MCP tool with cap-guard (fd7f8ac) -- add get_daily_prep_candidates MCP tool (0bb8094) -- add DailyPrepMaxTasks app setting (3c66d65) +- richer diff viewer + surface child roadblocks on parents (f21c65be) +- allow cancelling a WaitingForChildren parent (d6e09532) +- single approve action merges the whole unit (a8b86e25) +- approve drives the unit merge for parents with children (1abb429f) +- planning finalize enters WaitingForChildren (12732d6d) +- add get_task_config, continue_task; fix status enum, branchDeleted, merge-from-review (9f19a714) +- surface agent roadblocks and run outcome in the detail pane (763732a9) +- localize task-header, task-row and prime-schedule tooltips (a41b8de4) +- wire layer A/B conflict seams to the inline resolver (7f173dae) +- expose conflict-resolver factory and dialog seam for integrator (72687e9b) +- add inline conflict resolver view and localization (8cafad37) +- add inline conflict resolver view-model (d8a973d0) +- add inline conflict model (file/hunk with resolution) (0b623b8e) +- batch-merge cockpit view with checkboxes and conflicts panel (5edb4337) +- add batch-merge cockpit strings (en/de) (c8f82ed3) +- wire batch selection, target loading and resolve seam (1aa06077) +- expose conflict-resolution merge methods (cb208776) +- read conflict stages and write user resolutions (dcbf67c6) +- add skip-and-continue batch merge orchestration (02b11c72) +- add conflict-stage blob reads and single-path staging (74afc469) +- add batch-merge row state to worktrees cockpit VM (ef3fba16) +- fuse git tab into one approve+merge cockpit (35960535) +- route single-task merge conflicts into a resolution seam (4bf4a270) +- maximize work console via green traffic-light dot (de4ad5dc) +- add conflict-resolution worker contract (foundation for merge rework) (2dfc4559) +- rename review Retry to Continue and make Reset discard the worktree (42bb79e2) +- send Retry on Enter in the review prompt (9c5872eb) +- rework review into terminal footer and add Git tab (8819a564) +- add IsGitTab flag to work console view model (6c65158b) +- add mergeability indicator and Merge button to work console (de01579e) +- show mergeability and surface approve conflicts in the work console (0d8999dc) +- wire merge-aware approve and preview into the worker client (3202c766) +- expose PreviewMerge hub method and merge-on-approve (43f8f7f7) +- approve merges worktree before marking task done (b817c876) +- add Refine button, icon, and command to task card (2a6781f8) +- add non-destructive merge-tree conflict probe (4098f7f3) +- add RefineTask client call and refine events (82390047) +- wire RefineTask hub method, broadcaster events, and DI (e523ed85) +- add RefineRunner, prompt/args helper, and interfaces (0460d7be) +- add Refine prompt kind and default (eca6813c) +- add add_subtask tool to claudedo MCP (22830d3e) +- resize detail split by dragging the console's top edge (b8406551) +- rework work console — single Session tab, right-aligned header, turns x/y (ac9bae95) +- make steps visible at a glance; lift details card off background (99c6bf44) +- wire redesigned detail island (header + description/steps card + work console) (c71026d1) +- add WorkConsole detail component (ce50f9fc) +- add DescriptionStepsCard detail component (c323953f) +- add TaskHeaderBar detail component (9f95942d) +- compose task prompt from title + description + open steps only (299867d8) +- fold parent branch into combined-diff for improvement parents (469e68bb) +- focused custom prompt for improvement children so they stay narrow (176b9855) +- show improvement-child outcomes on the parent review card + enable tree-merge (5d34f95f) +- mark agent-suggested improvement children in the task tree (0e130177) +- surface WaitingForChildren status (chip, color, agent-strip, labels) (5363570f) +- instruct agents to offload out-of-scope work via SuggestImprovement (f60becaf) +- fold parent branch into tree-merge for improvement parents (519bfbe6) +- mint per-run MCP token + emit run-scoped --mcp-config (06e3acd5) +- resolve per-run tokens in MCP auth + register TaskRunMcpService (f3052dc5) +- add SuggestImprovement tool (server-stamped, one layer deep) (9d133e22) +- add TaskRunMcpContext + accessor (7542bc20) +- add per-run TaskRunTokenRegistry (ef86a8c2) +- base improvement-child worktree on parent HEAD (da23b6cd) +- route standalone success with children to WaitingForChildren + enqueue them (c10f5642) +- advance WaitingForChildren parent to review when children terminal (7873e600) +- add SubmitForChildrenAsync (Running -> WaitingForChildren) (6f4b5d55) +- generalize CreateChildAsync for any parent + CreatedBy stamp (6fdf04d6) +- add WaitingForChildren task status value (ee0d1257) +- roadblock badge on the task card; relocate review actions off the row (2455eacb) +- host review actions in the details panel; show review state and diff meter (d8b86e33) +- persist roadblock count on the task (49b9f1ff) +- surface reported roadblocks in the review result (1e547dea) +- carry blocks through RunResult (56ebc280) +- collect and strip CLAUDEDO_BLOCKED markers in StreamAnalyzer (cf7f0da4) +- weekly-report instructions from file, point at data sections (ac1e9b06) +- daily-prep prompt from file, English default (79bfc79d) +- expose all editable prompt files, drop agent prompt (bd1e3db1) +- retry prompt from file, append only real captured errors (edc9f773) +- externalize prompt kinds with defaults and token renderer (9bdf99d9) +- show inherited markers and max-turns override in task flyout (cd683ba2) +- show inherited markers and max-turns override in list settings (d0ab3829) +- add reusable inherited-source badge control (3e3041c1) +- add inheritance resolver returning value and source (92cee125) +- add inherited-marker, turns, and prepended-prompt strings (bba3c55e) +- mirror max-turns field on signalr config dtos (26f5936d) +- expose max-turns override over signalr and mcp config tools (b72a7888) +- resolve max-turns from task then list then global default (beae2d63) +- persist max_turns in list and task repositories (ac137f7c) +- add nullable max_turns override to list_config and tasks (97e38fb4) +- replace Plan-My-Day header icon with a stroked sun icon (52e3980c) +- trigger planning from inside the prep-log window with an empty-state hint (7d743f17) +- load persisted prep log into the terminal on open (914095dc) +- persist last prep run to a log file and serve it via GetLastPrepLog (4d82079c) +- move Clear-day and Prep-log into MyDay header icon row (c764b2bf) +- reuse SessionTerminal for prep log; fix invisible Sort icon; add Broom/List icons (f7d1b373) +- clear textbox focus on click outside any text box (fab17720) +- add Prep-log and Clear-day buttons to MyDay header (c45f8925) +- add live prep-output mode to the Details island (a8670ee2) +- expose prep stream events and ClearMyDay on the UI worker client (7676ecf0) +- add ClearMyDay hub method (fa83d7f4) +- stream prep output via PrepStarted/PrepLine/PrepFinished (e48475d6) +- add Prepare-day button to MyDay header (46ac3fc9) +- add DailyPrepMaxTasks editor to Prime Claude settings (5e0859fb) +- add RunDailyPrepNow hub method and expose DailyPrepMaxTasks (2d001602) +- run daily prep from PrimeRunner via allowed MCP tools (20b3a29d) +- add set_my_day MCP tool with cap-guard (fd7f8ac7) +- add get_daily_prep_candidates MCP tool (0bb80944) +- add DailyPrepMaxTasks app setting (3c66d651) ### Fixes -- mark task Done on every successful merge path, not just approve (f56cc61) -- merge_task marks the task Done after a successful merge (ca8326c) -- drop unique index on lists.name (allow duplicate list names) (f5d165b) -- harden FK pragma per-connection and seed concurrency (7f1a14a) -- harden CLI injection, stuck-Running, chain wedge, and Fail guard (33bdff8) -- serialize concurrent worktree add to prevent commondir race (b672c9a) -- dispose VM subscriptions/timers, guard offline Stop, align review delta-path (01e0c1d) -- populate review queue from WaitingForReview tasks (00a065b) -- set prompt-action resting color on ContentPresenter (561028e) -- discard stale mergeability probe after task or target switch (6e3f90d) -- guard blank working dir in approve-merge before resolving target (f1cf29b) -- update TaskMergeService ctor calls after ITaskStateService injection (98b0d58) -- stop the console clipping the last log line (1603be0) -- render Output log directly on the console, not as a nested card (71a3765) -- stop app crash when approving review after Merge all (cc7355e) -- live-update child outcomes + enable Review combined diff for improvement parents (a3f407b) -- only planning-active children are drafts; allow improvement children to queue (8036de1) -- exempt improvement children from orphan-dequeue sweep (f25c759) -- populate diff meter when selecting a finished task (c035720) -- warning icon fill-rule and dedicated review section header (4522ac9) -- apply system default on every run; dedupe roadblocks (9a117a5) -- clean up orphaned worktree when the DB row insert fails (71ac481) -- hide task header, footer and agent strip in prep/notes mode (39fa83a) -- register IWorkerClient mapping for WeeklyReportModalViewModel (46f42a4) +- mark task Done on every successful merge path, not just approve (f56cc617) +- merge_task marks the task Done after a successful merge (ca8326c4) +- drop unique index on lists.name (allow duplicate list names) (f5d165ba) +- harden FK pragma per-connection and seed concurrency (7f1a14ab) +- harden CLI injection, stuck-Running, chain wedge, and Fail guard (33bdff8a) +- serialize concurrent worktree add to prevent commondir race (b672c9aa) +- dispose VM subscriptions/timers, guard offline Stop, align review delta-path (01e0c1d7) +- populate review queue from WaitingForReview tasks (00a065bf) +- set prompt-action resting color on ContentPresenter (561028e6) +- discard stale mergeability probe after task or target switch (6e3f90d2) +- guard blank working dir in approve-merge before resolving target (f1cf29b5) +- update TaskMergeService ctor calls after ITaskStateService injection (98b0d58e) +- stop the console clipping the last log line (1603be0c) +- render Output log directly on the console, not as a nested card (71a3765c) +- stop app crash when approving review after Merge all (cc7355ea) +- live-update child outcomes + enable Review combined diff for improvement parents (a3f407b0) +- only planning-active children are drafts; allow improvement children to queue (8036de10) +- exempt improvement children from orphan-dequeue sweep (f25c7599) +- populate diff meter when selecting a finished task (c035720b) +- warning icon fill-rule and dedicated review section header (4522ac90) +- apply system default on every run; dedupe roadblocks (9a117a54) +- clean up orphaned worktree when the DB row insert fails (71ac4816) +- hide task header, footer and agent strip in prep/notes mode (39fa83a0) +- register IWorkerClient mapping for WeeklyReportModalViewModel (46f42a4d) ### Refactoring -- single parent-advance path for planning + improvement (b3a2daf) -- render worktree modal diff via canonical DiffLinesView (d52243c) -- blend review prompt into the terminal instead of a boxed footer (e22a326) -- remove dead inline-layout handlers from DetailsIslandView (3e84871) -- share color-coded diff rendering between per-task and combined diff viewers (22a1ba7) -- planning prompts read from editable files (1b3c6bd) -- collapse agent prompt into system prompt (883dbc6) -- address code smells (run-dir helper, App DI injection) (3756b81) -- remove unused Sort button from MyDay header (3a40e39) +- single parent-advance path for planning + improvement (b3a2daf4) +- render worktree modal diff via canonical DiffLinesView (d52243cc) +- blend review prompt into the terminal instead of a boxed footer (e22a3267) +- remove dead inline-layout handlers from DetailsIslandView (3e848710) +- share color-coded diff rendering between per-task and combined diff viewers (22a1ba7f) +- planning prompts read from editable files (1b3c6bdb) +- collapse agent prompt into system prompt (883dbc6a) +- address code smells (run-dir helper, App DI injection) (3756b818) +- remove unused Sort button from MyDay header (3a40e39f) ### Documentation -- document the unified parent-task model (c300f8c) -- Task 4 = full approve/merge UX consolidation (803c04d) -- spec + plan for unifying the parent-task model (8f49ebb) -- add CHANGELOG (Keep a Changelog format) (384e058) -- Layer C inline conflict resolver (ef2f5c5) -- Layer B multi-worktree merge cockpit plan (3060cb0) -- foundation + Layer A plan and Layer B/C parallel kickoff prompts (dd3b03b) -- git tab merge & review rework — shared foundation + 3 layers (f4416ee) -- add implementation plan for terminal-style review controls (096519b) -- spec terminal-style review with Git tab and footer actions (266e6d1) -- document real git merge on approve, PreviewMerge hub method, and new GitService/WorkerClient members (cb4c396) -- add approve-merge + conflict-preview implementation plan (75ad7b1) -- add approve-merge + conflict-preview design spec (66a7b23) -- add Refine Task implementation plan (3573548) -- add Refine Task design spec (0867bc8) -- add ClaudeDo distribution website design spec (a2c339c) -- task-detail island redesign spec + component build prompts (8f7e289) -- implementation plan for build-config logging + traceability (c5a4e35) -- runtime build-config detection, Warning in Release, retain 2 (e547921) -- design for build-config debug logging + task traceability (f1316df) -- align Task 6 with rebased HandleSuccess (preserve SetRoadblockCount) (204b089) -- child tasks + agent improvement loop implementation plan (da4ab0c) -- plan for review & roadblock UX follow-up (4d52845) -- refresh prompt inventory for externalized prompts + roadblock marker (202e8de) -- implementation plan for bundled-prompts overhaul (c8f468f) -- child base off parent HEAD, shared planning-style tree merge (84fd2c1) -- design for reusable child tasks + agent improvement loop (30b49d1) -- design for bundled-prompts overhaul (ad7d748) -- note max-turns override and inherited markers in module docs (75aa42b) -- implementation plan for inherited markers, overrides, and Turns (b63c78c) -- spec for inherited-settings display, overrides, and Turns (37ce673) -- slim open.md down to open items only (b9741ef) -- park mailbox proposal; skip architecture.md and ADRs (0a0d7e8) -- drop CI-pipeline item (push-to-main + release workflow makes it redundant) (72a86fc) -- regenerate open.md against verified current state (bcf5e2f) -- document daily-prep across area CLAUDE.md files; add Installer CLAUDE.md (fb055ce) -- add autonomous working-style loop and agent gotchas to CLAUDE.md (9e7f37b) -- add plan-day-in-log-window plan (53d897a) -- add prep-log persistence plan (26758b6) -- add MyDay icons + terminal-reuse plan (2e73d33) -- add design specs and implementation plans (9470c5b) +- document the unified parent-task model (c300f8c3) +- Task 4 = full approve/merge UX consolidation (803c04d9) +- spec + plan for unifying the parent-task model (8f49ebb2) +- add CHANGELOG (Keep a Changelog format) (384e0588) +- Layer C inline conflict resolver (ef2f5c51) +- Layer B multi-worktree merge cockpit plan (3060cb02) +- foundation + Layer A plan and Layer B/C parallel kickoff prompts (dd3b03b9) +- git tab merge & review rework — shared foundation + 3 layers (f4416ee1) +- add implementation plan for terminal-style review controls (096519b9) +- spec terminal-style review with Git tab and footer actions (266e6d19) +- document real git merge on approve, PreviewMerge hub method, and new GitService/WorkerClient members (cb4c396a) +- add approve-merge + conflict-preview implementation plan (75ad7b17) +- add approve-merge + conflict-preview design spec (66a7b237) +- add Refine Task implementation plan (35735483) +- add Refine Task design spec (0867bc82) +- add ClaudeDo distribution website design spec (a2c339cd) +- task-detail island redesign spec + component build prompts (8f7e2898) +- implementation plan for build-config logging + traceability (c5a4e350) +- runtime build-config detection, Warning in Release, retain 2 (e547921f) +- design for build-config debug logging + task traceability (f1316dfd) +- align Task 6 with rebased HandleSuccess (preserve SetRoadblockCount) (204b0890) +- child tasks + agent improvement loop implementation plan (da4ab0ca) +- plan for review & roadblock UX follow-up (4d528451) +- refresh prompt inventory for externalized prompts + roadblock marker (202e8dea) +- implementation plan for bundled-prompts overhaul (c8f468f2) +- child base off parent HEAD, shared planning-style tree merge (84fd2c11) +- design for reusable child tasks + agent improvement loop (30b49d10) +- design for bundled-prompts overhaul (ad7d7482) +- note max-turns override and inherited markers in module docs (75aa42b8) +- implementation plan for inherited markers, overrides, and Turns (b63c78c2) +- spec for inherited-settings display, overrides, and Turns (37ce673a) +- slim open.md down to open items only (b9741ef3) +- park mailbox proposal; skip architecture.md and ADRs (0a0d7e85) +- drop CI-pipeline item (push-to-main + release workflow makes it redundant) (72a86fc1) +- regenerate open.md against verified current state (bcf5e2f5) +- document daily-prep across area CLAUDE.md files; add Installer CLAUDE.md (fb055ce7) +- add autonomous working-style loop and agent gotchas to CLAUDE.md (9e7f37b5) +- add plan-day-in-log-window plan (53d897af) +- add prep-log persistence plan (26758b6e) +- add MyDay icons + terminal-reuse plan (2e73d333) +- add design specs and implementation plans (9470c5b1) ## v1.7.0 — 2026-06-03 ### Features -- localize installer with language picker and config write-through (364a037) -- add WPF localization primitives and Language config to installer (2fbf054) -- localize ViewModel-built strings via ambient Loc accessor (350a89f) -- localize Avalonia view strings via loc:Tr markup (086c6f6) -- add language dropdown to settings and persist selection (070f5de) -- initialize Localizer at app startup from config/OS culture (f529a5f) -- add Language preference and Save() to AppSettings (6a85d82) -- add Avalonia loc:Tr markup extension and LocalizedString (35ad171) +- localize installer with language picker and config write-through (364a037c) +- add WPF localization primitives and Language config to installer (2fbf054a) +- localize ViewModel-built strings via ambient Loc accessor (350a89f3) +- localize Avalonia view strings via loc:Tr markup (086c6f6c) +- add language dropdown to settings and persist selection (070f5de1) +- initialize Localizer at app startup from config/OS culture (f529a5ff) +- add Language preference and Save() to AppSettings (6a85d82f) +- add Avalonia loc:Tr markup extension and LocalizedString (35ad1715) - seed en.json and wire locale copy to app output (3c40bb5e) -- add CultureResolver for OS-culture mapping (d95d55e) -- add Localizer with fallback chain and change event (d22b50e) -- add LocaleStore folder discovery (a83a0c4) -- add ClaudeDo.Localization project with nested-JSON locale parser (9efde2b) -- pinned Notes row in My Day opens the notes editor (a8943a9) -- notes mode in the Details island (eccd06e) -- NotesEditorView (731c291) -- NotesEditorViewModel with day navigation and bullet CRUD (c8b5ed3) -- INotesApi wrapper for daily notes (9bf44da) -- open Weekly Report modal from the menu (b748c15) -- WeeklyReportModalView (74fc39f) -- WeeklyReportModalViewModel with default-range logic (ccd2ee2) -- persist report excluded paths and standup weekday (5b89e3d) -- WorkerClient methods for week report and daily notes (e106b00) -- hub methods for week report and daily notes (d7558ef) -- register report reader and service in DI (4aa4353) -- WeekReportService orchestrates generate + store (50d84f1) -- week report prompt builder (day-major pivot) (e2271b5) -- ClaudeHistoryReader distills session logs (bec87b3) -- report activity models and reader interface (4cb7ad8) -- add WeekReportRepository with tests (992fbf0) -- add DailyNoteRepository with tests (1d7b86d) -- migration for daily notes and week reports (036586e) -- configure daily note + week report tables (d9e5d26) -- add daily note + week report entities and report settings (10d86b4) +- add CultureResolver for OS-culture mapping (d95d55e6) +- add Localizer with fallback chain and change event (d22b50e1) +- add LocaleStore folder discovery (a83a0c41) +- add ClaudeDo.Localization project with nested-JSON locale parser (9efde2bf) +- pinned Notes row in My Day opens the notes editor (a8943a9f) +- notes mode in the Details island (eccd06e1) +- NotesEditorView (731c291d) +- NotesEditorViewModel with day navigation and bullet CRUD (c8b5ed39) +- INotesApi wrapper for daily notes (9bf44da1) +- open Weekly Report modal from the menu (b748c156) +- WeeklyReportModalView (74fc39f1) +- WeeklyReportModalViewModel with default-range logic (ccd2ee2c) +- persist report excluded paths and standup weekday (5b89e3d0) +- WorkerClient methods for week report and daily notes (e106b00b) +- hub methods for week report and daily notes (d7558ef4) +- register report reader and service in DI (4aa4353d) +- WeekReportService orchestrates generate + store (50d84f12) +- week report prompt builder (day-major pivot) (e2271b5a) +- ClaudeHistoryReader distills session logs (bec87b3d) +- report activity models and reader interface (4cb7ad8d) +- add WeekReportRepository with tests (992fbf07) +- add DailyNoteRepository with tests (1d7b86db) +- migration for daily notes and week reports (036586e7) +- configure daily note + week report tables (d9e5d260) +- add daily note + week report entities and report settings (10d86b4b) ### Fixes -- live-refresh smart/virtual list names on language change (00ef11a) -- notes add row stays visible, English 'Add' label, Enter to add (2d55f88) -- sanitize report model arg, fix multi-repo summary attribution and standup-weekday sentinel (a8d8a8b) +- live-refresh smart/virtual list names on language change (00ef11ac) +- notes add row stays visible, English 'Add' label, Enter to add (2d55f88a) +- sanitize report model arg, fix multi-repo summary attribution and standup-weekday sentinel (a8d8a8bd) ### Documentation -- localization implementation plan (8dc8b8b) -- localization (i18n) design spec (baeea9c) -- document weekly report and daily notes feature (0bc3d2a) -- add weekly report implementation plan (f72cfae) -- add report prompt and day-major pivot to weekly report spec (e5a2ed2) -- add weekly report feature design spec (536d819) +- localization implementation plan (8dc8b8ba) +- localization (i18n) design spec (baeea9c2) +- document weekly report and daily notes feature (0bc3d2a6) +- add weekly report implementation plan (f72cfae7) +- add report prompt and day-major pivot to weekly report spec (e5a2ed25) +- add weekly report feature design spec (536d8193) ## v1.6.0 — 2026-06-02 ### Features -- use a 24h TimePicker for prime schedule time entry (869cf72) -- replace prime date range with weekday toggle buttons (7db8f21) -- drive prime schedule rows from weekday toggles (37738e3) -- map prime schedule weekday bitmask over the hub (81fd186) -- compute prime due-time from weekday bitmask (bed4255) -- migrate prime schedules to days_of_week bitmask (dff06d9) -- persist weekday bitmask in prime schedule repo (0efad7a) -- model Prime schedule as weekday bitmask (eaf27e8) -- surface review actions and WaitingForReview status in task rows (6c27ffb) -- add review hub methods and worker client wrappers (21f1cf2) -- add review_task MCP tool and status reference updates (c88ed9d) -- route standalone success to review and resume on re-queue (9c1f20f) -- add review state transitions to TaskStateService (e8d018d) -- add WaitingForReview status and review_feedback column (1ca32a6) +- use a 24h TimePicker for prime schedule time entry (869cf72a) +- replace prime date range with weekday toggle buttons (7db8f213) +- drive prime schedule rows from weekday toggles (37738e3c) +- map prime schedule weekday bitmask over the hub (81fd186f) +- compute prime due-time from weekday bitmask (bed4255a) +- migrate prime schedules to days_of_week bitmask (dff06d9e) +- persist weekday bitmask in prime schedule repo (0efad7a0) +- model Prime schedule as weekday bitmask (eaf27e8b) +- surface review actions and WaitingForReview status in task rows (6c27ffbd) +- add review hub methods and worker client wrappers (21f1cf2a) +- add review_task MCP tool and status reference updates (c88ed9d5) +- route standalone success to review and resume on re-queue (9c1f20f2) +- add review state transitions to TaskStateService (e8d018dd) +- add WaitingForReview status and review_feedback column (1ca32a6b) ### Fixes -- manual modal dragging, maximize/restore icon, day-toggle style (f1715a3) -- harden review re-run, timestamps, and queue affordance (1cb5171) +- manual modal dragging, maximize/restore icon, day-toggle style (f1715a34) +- harden review re-run, timestamps, and queue affordance (1cb5171f) ### Documentation -- describe recurring-weekday Prime schedule (26998f0) -- implementation plan for recurring-weekday Prime (13c3393) -- spec for recurring-weekday Prime schedules (4704a28) -- document WaitingForReview state across project CLAUDE.md files (4684a0a) -- waiting-for-review implementation plan (b86677d) -- waiting-for-review task state design (3e072fa) +- describe recurring-weekday Prime schedule (26998f05) +- implementation plan for recurring-weekday Prime (13c3393e) +- spec for recurring-weekday Prime schedules (4704a28e) +- document WaitingForReview state across project CLAUDE.md files (4684a0af) +- waiting-for-review implementation plan (b86677d5) +- waiting-for-review task state design (3e072fae) ## v1.5.0 — 2026-06-01 ### Features -- replay run log in session terminal, drop per-row live tail (4a36fbe) -- optionally register ClaudeDo MCP server with Claude (5170914) -- configurable max parallel task executions (b1f4349) -- list reordering, quick actions, and resizable modals (ab44ba5) +- replay run log in session terminal, drop per-row live tail (4a36fbe5) +- optionally register ClaudeDo MCP server with Claude (5170914a) +- configurable max parallel task executions (b1f4349d) +- list reordering, quick actions, and resizable modals (ab44ba5e) ## v1.4.2 — 2026-06-01 ### Fixes -- stop the running app before updating, not just the worker (4148dcd) -- keep step badges green and reset state on re-run (5783790) +- stop the running app before updating, not just the worker (4148dcdb) +- keep step badges green and reset state on re-run (57837907) ## v1.4.1 — 2026-06-01 ### Fixes -- track EF migration Designer files (were gitignored) (edfb702) +- track EF migration Designer files (were gitignored) (edfb702e) ## v1.4.0 — 2026-06-01 ### Features -- wire worker connection modal and make status pill clickable (1246bf7) -- prompt once on worker connection failure with grace timer (00dc7eb) -- add worker connection help modal (0139607) -- remove Startup worker shortcut on uninstall (759d905) -- start worker via Process.Start, drop schtasks stop (2f1dcdc) -- register autostart via Startup shortcut, drop scheduled task (133f2d2) -- add AutostartShortcut helper for Startup-folder lnk (e2bb43a) -- unify type scale to 11/13/18/24 and add canonical text classes (b00e4d9) -- add reusable ModalShell control (c20fbe3) -- set global Inter Tight font default on all windows (5a25818) -- add named tint and hairline overlay brush tokens (f0f8cd1) +- wire worker connection modal and make status pill clickable (1246bf7b) +- prompt once on worker connection failure with grace timer (00dc7ebc) +- add worker connection help modal (01396070) +- remove Startup worker shortcut on uninstall (759d9057) +- start worker via Process.Start, drop schtasks stop (2f1dcdc1) +- register autostart via Startup shortcut, drop scheduled task (133f2d2f) +- add AutostartShortcut helper for Startup-folder lnk (e2bb43ad) +- unify type scale to 11/13/18/24 and add canonical text classes (b00e4d99) +- add reusable ModalShell control (c20fbe36) +- set global Inter Tight font default on all windows (5a25818e) +- add named tint and hairline overlay brush tokens (f0f8cd10) ### Fixes -- restore resize and full-width rows in WorktreesOverview modal (16717ab) -- unclip Edit/Preview buttons; enlarge section labels and use mono field labels (e86464e) -- correct SettingsModal font snap (11px is Mono, not Body) (b1006ac) -- use LineBrush for schedule flyout border and tokenize TaskRowView (3d4a64a) +- restore resize and full-width rows in WorktreesOverview modal (16717ab9) +- unclip Edit/Preview buttons; enlarge section labels and use mono field labels (e86464e8) +- correct SettingsModal font snap (11px is Mono, not Body) (b1006ac7) +- use LineBrush for schedule flyout border and tokenize TaskRowView (3d4a64a8) ### Refactoring -- rename StopWorkerStep.TaskName to LegacyTaskName (400a078) -- stop auto-spawning the worker on app start (4ecd855) -- extract ShortcutFactory COM helper (867dc37) -- migrate PlanningDiffView to ModalShell (926471d) -- drop double padding in Tasks island header (9be8e6b) -- drop double padding in Lists island header (b9e5dfc) -- class schedule-flyout cancel in TaskRowView (c669370) -- class merge-section buttons in DetailsIslandView (4688e88) -- class update-banner buttons in MainWindow (8b21b0e) -- normalize buttons/footer/padding in ConflictResolutionView (4a786eb) -- normalize buttons/footer/padding in DiffModal (cd64f28) -- normalize buttons/footer/padding in WorktreesOverviewModal (3585ad5) -- normalize buttons/footer/padding in RepoImportModal (990935e) -- normalize buttons/footer/padding in UnfinishedPlanningModal (1b5a928) -- normalize buttons/footer/padding in AboutModal (e8f880e) -- normalize buttons/footer/padding in MergeModal (3228a08) -- normalize buttons/footer/padding in ListSettingsModal (ccec791) -- normalize buttons/footer/padding in SettingsModal (187fb64) -- make primary/danger buttons self-contained, drop unused btn.primary (0a71956) -- inherit terminal font for SelectableTextBlock (ccec591) -- use sidebar-pane in PlanningDiffView (a4cb03b) -- use diff-lineno and sidebar-pane in DiffModal (f53292e) -- use danger-box in MergeModal (539ebec) -- use danger-box in SettingsModal (dff5651) -- use shared section style in ListSettingsModal (9f49b01) -- reuse task-row style for worktree rows (fb3a6ac) -- use section-divider in DetailsIslandView (4f84b15) -- drop duplicate converters and normalize binding in ListsIslandView (27b0d51) -- merge task-row styles and add shared section/danger-box/sidebar/accent styles (2a38104) -- unify text and close button in ThemedDatePicker (bddef5a) -- unify text and close button in ConflictResolutionView (51d3ea2) -- unify text and close button in PlanningDiffView (335b422) -- unify text and close button in DiffModalView (08f3bab) -- unify text and close button in WorktreeModalView (9082f2e) -- unify text and close button in WorktreesOverviewModalView (0f64b1c) -- unify text and close button in RepoImportModalView (dd45387) -- unify text and close button in UnfinishedPlanningModalView (00e1d2d) -- unify text and close button in AboutModalView (9a91135) -- unify text and close button in MergeModalView (8e595a1) -- unify text and close button in ListSettingsModalView (97fc715) -- unify text and close button in SettingsModalView (ed8607d) -- apply text classes to SessionTerminalView (929e0ca) -- apply text classes to AgentStripView (40a3630) -- apply text classes to TaskRowView (b9f5d82) -- apply text classes to DetailsIslandView (e0dda3e) -- apply text classes to TasksIslandView (d4c66de) -- apply text classes to ListsIslandView (a132127) -- apply text classes to MainWindow (6e3125e) -- consolidate list-section-label into shared section-label (7af892f) -- fold selected-day White to TextBrush token (8944074) -- tokenize WorktreeModalView font sizes (fbd5d9f) -- tokenize and dynamic-ize PlanningDiffView (5fdd9f0) -- migrate ConflictResolutionView to ModalShell and use dynamic resources (bce4e0a) -- migrate DiffModal to ModalShell and use dynamic resources (229f865) -- migrate WorktreesOverviewModal to ModalShell (a444033) -- migrate RepoImportModal to ModalShell (2265829) -- migrate UnfinishedPlanningModal to ModalShell (50e05b9) -- migrate AboutModal to ModalShell (538839c) -- migrate MergeModal to ModalShell (8d07fc2) -- migrate ListSettingsModal to ModalShell (e1bfbb0) -- migrate SettingsModal to ModalShell (4f5db36) -- tokenize ThemedDatePicker (16b0d11) -- tokenize SessionTerminalView (a1f05da) -- tokenize AgentStripView (0c0c73b) -- tokenize DetailsIslandView (bff15c9) -- tokenize TasksIslandView (f40de4b) -- tokenize ListsIslandView (e120b0f) -- tokenize MainWindow (e8ce725) -- tokenize IslandStyles values and add shared modal styles (7a6bfbe) +- rename StopWorkerStep.TaskName to LegacyTaskName (400a078a) +- stop auto-spawning the worker on app start (4ecd855f) +- extract ShortcutFactory COM helper (867dc372) +- migrate PlanningDiffView to ModalShell (926471da) +- drop double padding in Tasks island header (9be8e6b3) +- drop double padding in Lists island header (b9e5dfcc) +- class schedule-flyout cancel in TaskRowView (c669370e) +- class merge-section buttons in DetailsIslandView (4688e884) +- class update-banner buttons in MainWindow (8b21b0e6) +- normalize buttons/footer/padding in ConflictResolutionView (4a786eb7) +- normalize buttons/footer/padding in DiffModal (cd64f287) +- normalize buttons/footer/padding in WorktreesOverviewModal (3585ad5e) +- normalize buttons/footer/padding in RepoImportModal (990935e6) +- normalize buttons/footer/padding in UnfinishedPlanningModal (1b5a9285) +- normalize buttons/footer/padding in AboutModal (e8f880e7) +- normalize buttons/footer/padding in MergeModal (3228a08c) +- normalize buttons/footer/padding in ListSettingsModal (ccec791f) +- normalize buttons/footer/padding in SettingsModal (187fb641) +- make primary/danger buttons self-contained, drop unused btn.primary (0a719568) +- inherit terminal font for SelectableTextBlock (ccec591b) +- use sidebar-pane in PlanningDiffView (a4cb03b1) +- use diff-lineno and sidebar-pane in DiffModal (f53292e1) +- use danger-box in MergeModal (539ebecf) +- use danger-box in SettingsModal (dff5651d) +- use shared section style in ListSettingsModal (9f49b013) +- reuse task-row style for worktree rows (fb3a6acf) +- use section-divider in DetailsIslandView (4f84b15b) +- drop duplicate converters and normalize binding in ListsIslandView (27b0d51d) +- merge task-row styles and add shared section/danger-box/sidebar/accent styles (2a381048) +- unify text and close button in ThemedDatePicker (bddef5ab) +- unify text and close button in ConflictResolutionView (51d3ea2e) +- unify text and close button in PlanningDiffView (335b422e) +- unify text and close button in DiffModalView (08f3babc) +- unify text and close button in WorktreeModalView (9082f2ed) +- unify text and close button in WorktreesOverviewModalView (0f64b1c6) +- unify text and close button in RepoImportModalView (dd453874) +- unify text and close button in UnfinishedPlanningModalView (00e1d2d6) +- unify text and close button in AboutModalView (9a911354) +- unify text and close button in MergeModalView (8e595a1e) +- unify text and close button in ListSettingsModalView (97fc7158) +- unify text and close button in SettingsModalView (ed8607d4) +- apply text classes to SessionTerminalView (929e0ca1) +- apply text classes to AgentStripView (40a36308) +- apply text classes to TaskRowView (b9f5d829) +- apply text classes to DetailsIslandView (e0dda3e7) +- apply text classes to TasksIslandView (d4c66dea) +- apply text classes to ListsIslandView (a132127e) +- apply text classes to MainWindow (6e3125e7) +- consolidate list-section-label into shared section-label (7af892f4) +- fold selected-day White to TextBrush token (89440749) +- tokenize WorktreeModalView font sizes (fbd5d9f7) +- tokenize and dynamic-ize PlanningDiffView (5fdd9f0b) +- migrate ConflictResolutionView to ModalShell and use dynamic resources (bce4e0a1) +- migrate DiffModal to ModalShell and use dynamic resources (229f865e) +- migrate WorktreesOverviewModal to ModalShell (a444033a) +- migrate RepoImportModal to ModalShell (2265829a) +- migrate UnfinishedPlanningModal to ModalShell (50e05b91) +- migrate AboutModal to ModalShell (538839c0) +- migrate MergeModal to ModalShell (8d07fc29) +- migrate ListSettingsModal to ModalShell (e1bfbb0f) +- migrate SettingsModal to ModalShell (4f5db367) +- tokenize ThemedDatePicker (16b0d117) +- tokenize SessionTerminalView (a1f05da9) +- tokenize AgentStripView (0c0c73bc) +- tokenize DetailsIslandView (bff15c9b) +- tokenize TasksIslandView (f40de4bb) +- tokenize ListsIslandView (e120b0fd) +- tokenize MainWindow (e8ce7258) +- tokenize IslandStyles values and add shared modal styles (7a6bfbe1) ### Documentation -- reflect Startup-shortcut worker autostart (549b87b) -- add worker lifecycle implementation plan (5baa1d7) -- add worker lifecycle redesign spec (4963a72) -- add visual-check checklist for normalization pass (df73378) -- add UI normalization design spec and implementation plan (d52f23f) +- reflect Startup-shortcut worker autostart (549b87bb) +- add worker lifecycle implementation plan (5baa1d7f) +- add worker lifecycle redesign spec (4963a726) +- add visual-check checklist for normalization pass (df733781) +- add UI normalization design spec and implementation plan (d52f23f7) ## v1.3.0 — 2026-05-30 ### Features -- register new external MCP tool classes (b41a78e) -- add external MCP app-settings read tool (9ea6070) -- add external MCP reset-failed-task tool (5a592c4) -- add external MCP agent-listing tool (7196aab) -- add external MCP run-history and log tools (3afe29d) -- add external MCP list/task config tools (c3493a3) -- add external MCP list-management tools (53f4e2d) -- run worker as per-user logon task instead of Windows service (26c4e57) -- repo-import modal — remember folders, search, compact rows, no auto-select (6d0973c) -- add delete-list button to List Settings modal (128fb7d) -- add 'Add repos as lists' Help-menu entry point (9c638e7) -- add repo import button to Lists island (c43b06d) -- add RepoImportModalView (e4d958d) -- add RepoImportModalViewModel with candidate merge logic (50b1589) -- add RepoImportItemViewModel (1c689a8) -- add RepoScanner for git repo discovery (03617ee) -- gate subtask queueing behind plan finalization (ce79a2d) -- merge action and robust jump-to-task in worktrees overview (967e0cd) -- hide list chip outside virtual list views (2223839) -- auto-select first changed file in diff modal (3587703) -- polish worktrees overview modal (ca71275) -- wire worktree overview modal entry points (789094f) -- add WorktreesOverviewModalView (9f70f67) -- add WorktreesOverviewModalViewModel (182a9df) -- add WorktreeStateColorConverter (79131f8) -- expose worktree overview client methods (b888a5f) -- expose worktree overview, state mutation, force-remove (046da0f) -- add ForceRemoveAsync for targeted removal (b095a29) -- add GetOverviewAsync for overview modal (ce30d01) -- allow CleanupFinishedAsync to filter by list (89f6b83) -- add Restart worker menu entry under Help (8d34db3) -- prevent orphaned subtasks via guards + startup repair (d094a21) -- add Claude CLI preflight on startup (df66c4a) -- cascade dequeue to queued children for any parent (4c92da5) -- refine planning chain re-shape on re-run (d4d5a4b) -- status/tag context menu + ThemedDatePicker in task row (9ba238f) -- editable task status and tags from details panel (c185665) -- add ThemedDatePicker control and adopt in Prime settings (47b0737) -- add hub methods to set task status and tags freely (121e8cd) -- drop 'agent' tag gate from queue claim (cfbe2fd) -- show transient prime status in footer (5079a5f) -- add About modal opened from Help menu (618235d) -- refactor Settings to TabControl + add Prime Claude tab (bca8c9e) -- split SettingsModalViewModel into per-tab VMs + add PrimeClaudeTabViewModel (8b02b63) -- add Prime schedule client + PrimeFired event (f890fa8) -- register Prime services in DI (71c6c68) -- add Prime schedule hub methods (507f59f) -- broadcast PrimeFired SignalR event (13c280f) -- add PrimeScheduler hosted service (09e3e7e) -- add NextDueCalculator with workday + catch-up logic (975db8a) -- add Prime scheduler abstractions + runner (f383645) -- add PrimeScheduleDto (4e90828) -- add PrimeScheduleRepository (a335a3b) -- add AddPrimeSchedules migration (0b90df6) -- add PrimeScheduleEntity + configuration (6c9ccf6) -- consolidate finalize+chain via TaskStateService, fix queue pickup (4ab906f) -- add Idle/Cancelled status, PlanningPhase enum, BlockedByTaskId field (7b737e6) -- show dequeue affordance on planning parents with queued children (bdb709b) -- allow status changes and post-finalize edits in active session (2d7f825) -- add SetTaskTags (59dc1e2) -- add DeleteTask (31a394e) -- add UpdateTask for content/tag patching (d99cb68) -- AddTask accepts tags on creation (1a74e1c) -- add ListTags + inject TagRepository (e6846b7) -- add TaskRepository.SetTagsAsync for full tag-set replacement (2549352) -- default permission mode to auto and surface it in UI (14cc9fb) -- add editable system/planning/agent prompt files (7f96ae9) -- add Run interactively action to task context menu (6c54759) -- make island layout user-resizable with grid splitters (e192285) -- add MarkdownView control and editable description in details island (a6ca1c0) -- queue planning subtasks sequentially and surface waiting status (8f94ddd) -- add external MCP endpoint with API-key auth (4532042) -- add PlanningChainCoordinator for sequential subtask execution (16e1ddd) -- add Waiting task status and CreatedBy column (288d2ec) -- run planning agent in plan permission mode and enforce brainstorming skill (8e9f09a) -- register planning services and add Merge-all hub methods (3008c36) -- add pre-flight checks and idempotent restart to PlanningMergeOrchestrator (e58cac2) -- add PlanningMergeOrchestrator.AbortAsync (b989639) -- add PlanningMergeOrchestrator.ContinueAsync to resume merge after conflict (7d87c03) -- add PlanningMergeOrchestrator happy path with merge event broadcasts (3142ba2) -- add conflict resolution dialog for planning merge-all (bc788e1) -- add aggregated diff viewer for planning tasks (a6ebff3) -- add PlanningAggregator.CleanupIntegrationBranchAsync (389d904) -- add merge-target dropdown and merge-all controls to planning detail (4c6fd9f) -- add PlanningAggregator.BuildIntegrationBranchAsync (2cab33d) -- add PlanningAggregator.GetAggregatedDiffAsync (a1727b6) -- add AbortMergeAsync to cancel a conflicted merge (bc0f1e3) -- add ContinueMergeAsync to resume a conflicted merge (62106ff) -- add leaveConflictsInTree option to TaskMergeService.MergeAsync (e77ba35) -- broadcast child TaskUpdated events on planning CRUD (5a03dc8) -- launcher passes planning token via env, drops --mcp-config (6800852) -- cleanup planning worktree and branch on finalize/discard (48899b3) -- create ephemeral worktree and write .mcp.json in StartAsync (fce91bc) -- live task updates from worker events + planning polish (b7c60f5) -- SignalR hub endpoints for planning sessions (7b67e35) -- map MCP HTTP endpoint and broadcast TaskUpdated (6cb20a9) -- MCP tools update_planning_task and finalize (99c6a71) -- MCP tools for child-task CRUD (0088d6e) -- MCP bearer-token auth middleware (b115a4c) -- WindowsTerminalPlanningLauncher with pre-flight checks (43a3740) -- PlanningSessionManager.GetPendingDraftCountAsync (d28164c) -- PlanningSessionManager.FinalizeAsync (77f7cf1) -- PlanningSessionManager.DiscardAsync (84e6c2d) -- PlanningSessionManager.ResumeAsync (84b0ba8) -- PlanningSessionManager.StartAsync (b6bec1e) -- friendly error when deleting task with children (0e116be) -- unfinished planning session dialog (47b4974) -- draft and planning badge styles (506caa2) -- planning entries in task context menu (388a8c1) -- TaskRowView hierarchy indentation, chevron, badges, draft italic (42b208f) -- planning commands and expand/collapse in TasksIslandViewModel (309f84b) -- WorkerClient planning-session methods (0060840) -- TaskRowViewModel gains planning hierarchy flags (229d4bb) -- hook TryCompleteParentAsync after MarkDone/MarkFailed (d4a4642) -- TaskRepository.TryCompleteParentAsync (b7464c9) -- TaskRepository.DiscardPlanningAsync (524aaf8) -- TaskRepository.FinalizePlanningAsync (a9e7479) -- TaskRepository.FindByPlanningTokenAsync (2e80cc6) -- TaskRepository.UpdatePlanningSessionIdAsync (d099138) -- TaskRepository.SetPlanningStartedAsync (2278d97) -- TaskRepository.CreateChildAsync (74255dd) -- TaskRepository.GetChildrenAsync (b466246) -- migration AddPlanningSupport (b3eb39a) -- configure planning columns and self-ref FK with Restrict (253e6f0) -- add planning columns and self-ref navigations to TaskEntity (042a1b4) -- add Planning, Planned, Draft task statuses (7a20534) -- move list-settings access from lists pane to tasks header (ee2cbc9) -- add update banner and Help menu to MainWindow (00c6217) -- wire update-check state and commands into shell VM (bbe7d73) -- register UpdateCheckService and InstallerLocator in DI (0934b29) -- show worker log line in footer (b28d8f2) -- add worker log state and 30s timer to shell VM (ec4ec44) -- add InstallerLocator (ee09706) -- add UpdateCheckService (c06d1d6) -- add WorkerLogLevelToBrushConverter with tests (f906e70) -- self-update pre-flight before wizard (caf900b) -- subscribe to WorkerLog SignalR event (e80e3fc) -- emit WorkerLog for merge, discard, reset (e805655) -- emit WorkerLog events from TaskRunner (ea4d2d7) -- add SelfUpdater.DownloadAndVerifyAsync (98c188a) -- add SelfUpdater.HandleReplaceSelfAsync (0c3dcb0) -- add SelfUpdater.DecideUpdateAsync (e017d66) -- add SelfUpdater installer-asset matching (ba0b38b) -- add VersionComparer (7c0f8d8) -- add WorkerLog SignalR event (0a7fcae) -- add WorkerLogLevel enum (80f6669) -- add empty ClaudeDo.Releases library (86012e0) -- replay persisted task log when selecting a task (c8c8bb4) -- add queueing and scheduling from task row context menu (6f725d1) -- use ClaudeTask icon for window and taskbar (9952ff9) -- show version info and offer worker restart in settings (4a6d96b) -- record data directory in install manifest (2690332) -- harden database init and service setup steps (31218fc) -- add Restore default agents button to Settings modal (e70ae7f) -- add RestoreDefaultAgentsAsync to WorkerClient (1830273) -- expose RestoreDefaultAgents hub method (1a10e6f) -- seed default agents on startup (df57c2b) -- add DefaultAgentSeeder for first-launch agent seeding (990be09) -- add bundled default agent definitions (ff3de1d) -- always-visible Steps section at top of DetailsIsland with add-step input (b0b15e4) -- per-task agent settings in DetailsIsland (bba5778) -- open ListSettingsModal via context menu and gear button (5784dbe) -- add ListSettingsModalView (5348220) -- add ListSettingsModalViewModel (cd0b95e) -- WorkerClient supports list/task agent settings + ListUpdated event (fc1cfe5) -- add hub methods for list and task agent settings (7c31216) -- add TaskRepository.UpdateAgentSettingsAsync (480eb08) -- add ListRepository.DeleteConfigAsync (1b94fa5) -- show status messages and real diff-stats in DiffModal (3142057) -- add Merge button to DiffModal (1bc7fcc) -- add Merge command to DiffModal (c911717) -- attach MergeModal to DetailsIsland (949911f) -- wire DetailsIsland ApproveMerge through MergeModal (f3a58a6) -- add MergeModalView (e11b019) -- add MergeModalViewModel (3d0cc4f) -- add MergeTaskAsync and GetMergeTargetsAsync to WorkerClient (4585b20) -- expose MergeTask and GetMergeTargets on WorkerHub (c53b587) -- implement TaskMergeService happy path (3331c24) -- scaffold TaskMergeService with pre-flight checks (1c20d8f) -- add ListConflictedFilesAsync (77a1460) -- add MergeAbortAsync (21a1870) -- add MergeNoFfAsync returning (exitCode, stderr) (3ebbdb3) -- add IsMidMergeAsync (535d0c5) -- add ListLocalBranchesAsync (2d807aa) -- add GetCurrentBranchAsync (93ee7b7) -- add Continue and Reset buttons to agent strip (2ce6b7b) -- add Continue and Reset commands to DetailsIslandViewModel (b03e858) -- add ContinueTaskAsync and ResetTaskAsync to WorkerClient (2278b51) -- expose ResetTask hub method (219a231) -- add TaskResetService for discard + reset flow (74eb36d) -- add TaskRepository.ResetToManualAsync (202236a) -- add WorktreeManager.DiscardAsync for task reset (44203f3) -- add settings modal and wire to worker hub (e6b3762) -- extend ClaudeArgsBuilder with MaxTurns and PermissionMode (fca5d57) -- add WorktreeMaintenanceService for idle-worktree cleanup (cfb9ca1) -- add AppSettings entity, migration, and repository (62a1121) -- render user tool_result blocks as one-line summaries (374e811) -- render assistant tool_use blocks with per-tool args (3a67fe8) -- render assistant text blocks, skip thinking (dc6e3fe) -- format system init message in StreamLineFormatter (b525498) -- keyboard shortcuts (/ Ctrl+N Space Esc) (6dade01) -- pulse, hover, modal, and row-add animations (47e8e1f) -- worktree modal with tree view and M/A badges (abd7733) -- diff modal with file sidebar and tinted hunks (4d68543) -- tasks island with rows, chips, add-task, selection (f94bb35) -- details island with agent strip, terminal, subtasks, notes (4f41b08) -- DetailsIslandViewModel with agent state and log (fcf53ab) -- TasksIslandViewModel with smart/virtual/user filtering (0034acc) -- Lists island view with search and nav items (f167120) -- TaskRowViewModel with status chip mapping (dc1b648) -- ListsIslandViewModel with smart/virtual/user lists (06cc141) -- chromeless three-island shell (05404f4) -- scaffold islands shell and child VMs (8909119) -- merge Tokens and IslandStyles into App (55917c9) -- embed Inter Tight and JetBrains Mono fonts (1893576) -- add design Tokens resource dictionary (92a6e06) -- add island control styles (579b527) -- seed default Lists (My Day, Important, Planned) (bd8a4d0) -- migration for IsStarred/IsMyDay/Notes columns (928dde1) -- add IsStarred, IsMyDay, Notes to TaskEntity (a1190a3) +- register new external MCP tool classes (b41a78ec) +- add external MCP app-settings read tool (9ea60701) +- add external MCP reset-failed-task tool (5a592c4b) +- add external MCP agent-listing tool (7196aab3) +- add external MCP run-history and log tools (3afe29d7) +- add external MCP list/task config tools (c3493a3a) +- add external MCP list-management tools (53f4e2de) +- run worker as per-user logon task instead of Windows service (26c4e577) +- repo-import modal — remember folders, search, compact rows, no auto-select (6d0973c6) +- add delete-list button to List Settings modal (128fb7d4) +- add 'Add repos as lists' Help-menu entry point (9c638e72) +- add repo import button to Lists island (c43b06d8) +- add RepoImportModalView (e4d958dc) +- add RepoImportModalViewModel with candidate merge logic (50b1589b) +- add RepoImportItemViewModel (1c689a84) +- add RepoScanner for git repo discovery (03617ee3) +- gate subtask queueing behind plan finalization (ce79a2d0) +- merge action and robust jump-to-task in worktrees overview (967e0cd3) +- hide list chip outside virtual list views (22238395) +- auto-select first changed file in diff modal (3587703f) +- polish worktrees overview modal (ca71275f) +- wire worktree overview modal entry points (789094fc) +- add WorktreesOverviewModalView (9f70f674) +- add WorktreesOverviewModalViewModel (182a9df7) +- add WorktreeStateColorConverter (79131f83) +- expose worktree overview client methods (b888a5f0) +- expose worktree overview, state mutation, force-remove (046da0fd) +- add ForceRemoveAsync for targeted removal (b095a29f) +- add GetOverviewAsync for overview modal (ce30d01b) +- allow CleanupFinishedAsync to filter by list (89f6b836) +- add Restart worker menu entry under Help (8d34db3f) +- prevent orphaned subtasks via guards + startup repair (d094a21e) +- add Claude CLI preflight on startup (df66c4af) +- cascade dequeue to queued children for any parent (4c92da55) +- refine planning chain re-shape on re-run (d4d5a4b8) +- status/tag context menu + ThemedDatePicker in task row (9ba238f4) +- editable task status and tags from details panel (c1856657) +- add ThemedDatePicker control and adopt in Prime settings (47b07373) +- add hub methods to set task status and tags freely (121e8cd4) +- drop 'agent' tag gate from queue claim (cfbe2fd7) +- show transient prime status in footer (5079a5fc) +- add About modal opened from Help menu (618235d8) +- refactor Settings to TabControl + add Prime Claude tab (bca8c9e4) +- split SettingsModalViewModel into per-tab VMs + add PrimeClaudeTabViewModel (8b02b63d) +- add Prime schedule client + PrimeFired event (f890fa85) +- register Prime services in DI (71c6c68c) +- add Prime schedule hub methods (507f59f1) +- broadcast PrimeFired SignalR event (13c280f6) +- add PrimeScheduler hosted service (09e3e7e8) +- add NextDueCalculator with workday + catch-up logic (975db8ab) +- add Prime scheduler abstractions + runner (f3836453) +- add PrimeScheduleDto (4e908286) +- add PrimeScheduleRepository (a335a3b6) +- add AddPrimeSchedules migration (0b90df6f) +- add PrimeScheduleEntity + configuration (6c9ccf68) +- consolidate finalize+chain via TaskStateService, fix queue pickup (4ab906ff) +- add Idle/Cancelled status, PlanningPhase enum, BlockedByTaskId field (7b737e67) +- show dequeue affordance on planning parents with queued children (bdb709b2) +- allow status changes and post-finalize edits in active session (2d7f825f) +- add SetTaskTags (59dc1e23) +- add DeleteTask (31a394e6) +- add UpdateTask for content/tag patching (d99cb68a) +- AddTask accepts tags on creation (1a74e1c0) +- add ListTags + inject TagRepository (e6846b7e) +- add TaskRepository.SetTagsAsync for full tag-set replacement (25493528) +- default permission mode to auto and surface it in UI (14cc9fb8) +- add editable system/planning/agent prompt files (7f96ae95) +- add Run interactively action to task context menu (6c54759a) +- make island layout user-resizable with grid splitters (e192285f) +- add MarkdownView control and editable description in details island (a6ca1c01) +- queue planning subtasks sequentially and surface waiting status (8f94dddb) +- add external MCP endpoint with API-key auth (45320427) +- add PlanningChainCoordinator for sequential subtask execution (16e1ddd1) +- add Waiting task status and CreatedBy column (288d2ece) +- run planning agent in plan permission mode and enforce brainstorming skill (8e9f09a8) +- register planning services and add Merge-all hub methods (3008c369) +- add pre-flight checks and idempotent restart to PlanningMergeOrchestrator (e58cac24) +- add PlanningMergeOrchestrator.AbortAsync (b9896399) +- add PlanningMergeOrchestrator.ContinueAsync to resume merge after conflict (7d87c03c) +- add PlanningMergeOrchestrator happy path with merge event broadcasts (3142ba20) +- add conflict resolution dialog for planning merge-all (bc788e1e) +- add aggregated diff viewer for planning tasks (a6ebff3f) +- add PlanningAggregator.CleanupIntegrationBranchAsync (389d9045) +- add merge-target dropdown and merge-all controls to planning detail (4c6fd9f0) +- add PlanningAggregator.BuildIntegrationBranchAsync (2cab33d7) +- add PlanningAggregator.GetAggregatedDiffAsync (a1727b64) +- add AbortMergeAsync to cancel a conflicted merge (bc0f1e31) +- add ContinueMergeAsync to resume a conflicted merge (62106ff6) +- add leaveConflictsInTree option to TaskMergeService.MergeAsync (e77ba35b) +- broadcast child TaskUpdated events on planning CRUD (5a03dc84) +- launcher passes planning token via env, drops --mcp-config (6800852a) +- cleanup planning worktree and branch on finalize/discard (48899b3d) +- create ephemeral worktree and write .mcp.json in StartAsync (fce91bcf) +- live task updates from worker events + planning polish (b7c60f58) +- SignalR hub endpoints for planning sessions (7b67e357) +- map MCP HTTP endpoint and broadcast TaskUpdated (6cb20a92) +- MCP tools update_planning_task and finalize (99c6a71e) +- MCP tools for child-task CRUD (0088d6e0) +- MCP bearer-token auth middleware (b115a4c5) +- WindowsTerminalPlanningLauncher with pre-flight checks (43a37409) +- PlanningSessionManager.GetPendingDraftCountAsync (d28164ca) +- PlanningSessionManager.FinalizeAsync (77f7cf14) +- PlanningSessionManager.DiscardAsync (84e6c2d5) +- PlanningSessionManager.ResumeAsync (84b0ba86) +- PlanningSessionManager.StartAsync (b6bec1e6) +- friendly error when deleting task with children (0e116bec) +- unfinished planning session dialog (47b49743) +- draft and planning badge styles (506caa2c) +- planning entries in task context menu (388a8c1f) +- TaskRowView hierarchy indentation, chevron, badges, draft italic (42b208ff) +- planning commands and expand/collapse in TasksIslandViewModel (309f84b3) +- WorkerClient planning-session methods (00608401) +- TaskRowViewModel gains planning hierarchy flags (229d4bbb) +- hook TryCompleteParentAsync after MarkDone/MarkFailed (d4a46420) +- TaskRepository.TryCompleteParentAsync (b7464c9a) +- TaskRepository.DiscardPlanningAsync (524aaf85) +- TaskRepository.FinalizePlanningAsync (a9e74793) +- TaskRepository.FindByPlanningTokenAsync (2e80cc60) +- TaskRepository.UpdatePlanningSessionIdAsync (d0991384) +- TaskRepository.SetPlanningStartedAsync (2278d97b) +- TaskRepository.CreateChildAsync (74255ddc) +- TaskRepository.GetChildrenAsync (b466246c) +- migration AddPlanningSupport (b3eb39a2) +- configure planning columns and self-ref FK with Restrict (253e6f05) +- add planning columns and self-ref navigations to TaskEntity (042a1b47) +- add Planning, Planned, Draft task statuses (7a20534e) +- move list-settings access from lists pane to tasks header (ee2cbc92) +- add update banner and Help menu to MainWindow (00c62178) +- wire update-check state and commands into shell VM (bbe7d73d) +- register UpdateCheckService and InstallerLocator in DI (0934b294) +- show worker log line in footer (b28d8f2f) +- add worker log state and 30s timer to shell VM (ec4ec446) +- add InstallerLocator (ee097068) +- add UpdateCheckService (c06d1d6a) +- add WorkerLogLevelToBrushConverter with tests (f906e708) +- self-update pre-flight before wizard (caf900b0) +- subscribe to WorkerLog SignalR event (e80e3fcc) +- emit WorkerLog for merge, discard, reset (e8056553) +- emit WorkerLog events from TaskRunner (ea4d2d7c) +- add SelfUpdater.DownloadAndVerifyAsync (98c188a5) +- add SelfUpdater.HandleReplaceSelfAsync (0c3dcb00) +- add SelfUpdater.DecideUpdateAsync (e017d660) +- add SelfUpdater installer-asset matching (ba0b38b4) +- add VersionComparer (7c0f8d84) +- add WorkerLog SignalR event (0a7fcae1) +- add WorkerLogLevel enum (80f66695) +- add empty ClaudeDo.Releases library (86012e02) +- replay persisted task log when selecting a task (c8c8bb4a) +- add queueing and scheduling from task row context menu (6f725d12) +- use ClaudeTask icon for window and taskbar (9952ff98) +- show version info and offer worker restart in settings (4a6d96b9) +- record data directory in install manifest (2690332d) +- harden database init and service setup steps (31218fc2) +- add Restore default agents button to Settings modal (e70ae7f6) +- add RestoreDefaultAgentsAsync to WorkerClient (1830273a) +- expose RestoreDefaultAgents hub method (1a10e6fa) +- seed default agents on startup (df57c2bc) +- add DefaultAgentSeeder for first-launch agent seeding (990be09b) +- add bundled default agent definitions (ff3de1d1) +- always-visible Steps section at top of DetailsIsland with add-step input (b0b15e47) +- per-task agent settings in DetailsIsland (bba57788) +- open ListSettingsModal via context menu and gear button (5784dbee) +- add ListSettingsModalView (5348220e) +- add ListSettingsModalViewModel (cd0b95ef) +- WorkerClient supports list/task agent settings + ListUpdated event (fc1cfe59) +- add hub methods for list and task agent settings (7c312161) +- add TaskRepository.UpdateAgentSettingsAsync (480eb081) +- add ListRepository.DeleteConfigAsync (1b94fa5c) +- show status messages and real diff-stats in DiffModal (31420574) +- add Merge button to DiffModal (1bc7fcc6) +- add Merge command to DiffModal (c911717a) +- attach MergeModal to DetailsIsland (949911f6) +- wire DetailsIsland ApproveMerge through MergeModal (f3a58a65) +- add MergeModalView (e11b0195) +- add MergeModalViewModel (3d0cc4ff) +- add MergeTaskAsync and GetMergeTargetsAsync to WorkerClient (4585b20f) +- expose MergeTask and GetMergeTargets on WorkerHub (c53b5878) +- implement TaskMergeService happy path (3331c248) +- scaffold TaskMergeService with pre-flight checks (1c20d8f8) +- add ListConflictedFilesAsync (77a1460e) +- add MergeAbortAsync (21a1870f) +- add MergeNoFfAsync returning (exitCode, stderr) (3ebbdb3f) +- add IsMidMergeAsync (535d0c55) +- add ListLocalBranchesAsync (2d807aa6) +- add GetCurrentBranchAsync (93ee7b72) +- add Continue and Reset buttons to agent strip (2ce6b7bd) +- add Continue and Reset commands to DetailsIslandViewModel (b03e858a) +- add ContinueTaskAsync and ResetTaskAsync to WorkerClient (2278b516) +- expose ResetTask hub method (219a231f) +- add TaskResetService for discard + reset flow (74eb36d3) +- add TaskRepository.ResetToManualAsync (202236a4) +- add WorktreeManager.DiscardAsync for task reset (44203f3c) +- add settings modal and wire to worker hub (e6b37624) +- extend ClaudeArgsBuilder with MaxTurns and PermissionMode (fca5d57f) +- add WorktreeMaintenanceService for idle-worktree cleanup (cfb9ca1c) +- add AppSettings entity, migration, and repository (62a11215) +- render user tool_result blocks as one-line summaries (374e811e) +- render assistant tool_use blocks with per-tool args (3a67fe81) +- render assistant text blocks, skip thinking (dc6e3fe4) +- format system init message in StreamLineFormatter (b5254987) +- keyboard shortcuts (/ Ctrl+N Space Esc) (6dade011) +- pulse, hover, modal, and row-add animations (47e8e1ff) +- worktree modal with tree view and M/A badges (abd7733c) +- diff modal with file sidebar and tinted hunks (4d68543c) +- tasks island with rows, chips, add-task, selection (f94bb35d) +- details island with agent strip, terminal, subtasks, notes (4f41b084) +- DetailsIslandViewModel with agent state and log (fcf53ab4) +- TasksIslandViewModel with smart/virtual/user filtering (0034accb) +- Lists island view with search and nav items (f167120c) +- TaskRowViewModel with status chip mapping (dc1b648b) +- ListsIslandViewModel with smart/virtual/user lists (06cc1411) +- chromeless three-island shell (05404f46) +- scaffold islands shell and child VMs (8909119d) +- merge Tokens and IslandStyles into App (55917c92) +- embed Inter Tight and JetBrains Mono fonts (1893576b) +- add design Tokens resource dictionary (92a6e064) +- add island control styles (579b527d) +- seed default Lists (My Day, Important, Planned) (bd8a4d05) +- migration for IsStarred/IsMyDay/Notes columns (928dde13) +- add IsStarred, IsMyDay, Notes to TaskEntity (a1190a35) ### Fixes -- cap run-log read size and harden run-history tests (fec2fe2) -- reuse shared hub fake and guard blank list name (ac2f1d8) -- apply blue PLANNED badge for finalized planning, drop dead converter statics (7a88e8a) -- strip prerelease and build metadata before version compare (b84716f) -- narrow delete-list FK catch to SqliteException (6e3947c) -- narrow RepoScanner catch to filesystem exceptions (4877c11) -- widen About modal so folder Open buttons are not clipped (c1c7862) -- restore Ui.Tests build by implementing ListUpdatedEvent in fakes (12668f6) -- dispatch WorkerLog events to UI thread (7d61d38) -- wire details-island buttons and drop dead handlers (e55367a) -- default-expand diff tree; reliable row-click toggle (7e3ae70) -- toggle expand on full folder row click (232d7cb) -- use BorderOnly chrome; color diff +/- lines (6c8048d) -- make overview modal resizable; add diff content pane (6670771) -- resizable modal, drop branch column, show committed diff (bc15c16) -- preserve status message after cleanup; English label (8f4e37e) -- restore green test suite across all projects (8eafa71) -- attach agent tag to chained children for queue pickup (721c36a) -- emit PlanningMergeAborted (not Conflict) on non-conflict merge failures (ce23f64) -- prevent PlanningMergeOrchestrator double-drain race and orphaned state (ef070dd) -- reorder PlanningAggregator checkout/delete and kill git on cancel (9d04d1d) -- align virtual list semantics and complete planning roll-up coverage (6bdfa73) -- wrap MergeAbortAsync in AbortMergeAsync for consistent error handling (ada4d9f) -- planning parents roll up child status; children stay nested until parent Done (6d460ea) -- tighten ContinueMergeAsync guards and commit error handling (63759ee) -- derive planning MCP URL from configured SignalRPort (e62485d) -- register TaskRepository in DI and guard null WorkingDir (c048264) -- planning launcher — avoid cmd shell to prevent prompt injection (9e09ae6) -- enable foreign_keys pragma in MigrateAndConfigure (7821106) -- select task on left-click even when reorder is disabled (1344beb) -- session terminal scrolls to end after layout so last line is fully visible (7de5510) -- pin AgentStrip above metadata footer, terminal sits above it (5e54275) -- session terminal auto-sizes to output, caps at 420px before scrolling (6ac8823) -- move agent-settings expander out of capped scroller so it expands properly (839f862) -- use PlaceholderText instead of obsolete Watermark in ListSettingsModalView (2901a76) -- use UTF-8 encoding for git process stdio (07dee31) -- disable Merge button after worktree is no longer Active (4debd5c) -- return Blocked when MergeAbortAsync fails to avoid stuck repo (1495c63) -- honour targetBranch in MergeAsync by checking out before merge (953d931) -- correct Reset button tooltip wording (58c8210) -- early-return in ResetAsync when ConfirmAsync is unwired (f90d3d8) -- prefix broadcast lines with [stdout] so UI parser routes them (4283c67) -- truncate WebFetch URL in tool_use arg (ec679e4) -- filled window icons, boxed task rows, proper explorer button (e19a9d3) -- NAVIGATOR eyebrow — drop broken converter binding (42fb7ce) -- wire delete confirm, close-details, uppercase eyebrow, explorer button (5acc896) -- drop icon-btn sizing from AgentStrip text buttons (27c6a4b) -- use Tag-attribute selectors for terminal log colors (2d1a488) -- guard Bind/LoadForList against interleaved DbContext awaits (62aac7e) -- wire modal delegates from DetailsIslandView owner (279f2c7) -- remove stale brush overrides in App.axaml (9514651) -- restore ViewModels using for IslandsShellViewModel (eee98b7) +- cap run-log read size and harden run-history tests (fec2fe2d) +- reuse shared hub fake and guard blank list name (ac2f1d82) +- apply blue PLANNED badge for finalized planning, drop dead converter statics (7a88e8a8) +- strip prerelease and build metadata before version compare (b84716ff) +- narrow delete-list FK catch to SqliteException (6e3947c0) +- narrow RepoScanner catch to filesystem exceptions (4877c11a) +- widen About modal so folder Open buttons are not clipped (c1c78626) +- restore Ui.Tests build by implementing ListUpdatedEvent in fakes (12668f68) +- dispatch WorkerLog events to UI thread (7d61d38a) +- wire details-island buttons and drop dead handlers (e55367af) +- default-expand diff tree; reliable row-click toggle (7e3ae704) +- toggle expand on full folder row click (232d7cb6) +- use BorderOnly chrome; color diff +/- lines (6c8048d0) +- make overview modal resizable; add diff content pane (66707710) +- resizable modal, drop branch column, show committed diff (bc15c16e) +- preserve status message after cleanup; English label (8f4e37ef) +- restore green test suite across all projects (8eafa71e) +- attach agent tag to chained children for queue pickup (721c36a6) +- emit PlanningMergeAborted (not Conflict) on non-conflict merge failures (ce23f64d) +- prevent PlanningMergeOrchestrator double-drain race and orphaned state (ef070dda) +- reorder PlanningAggregator checkout/delete and kill git on cancel (9d04d1d9) +- align virtual list semantics and complete planning roll-up coverage (6bdfa731) +- wrap MergeAbortAsync in AbortMergeAsync for consistent error handling (ada4d9fd) +- planning parents roll up child status; children stay nested until parent Done (6d460ea9) +- tighten ContinueMergeAsync guards and commit error handling (63759ee7) +- derive planning MCP URL from configured SignalRPort (e62485db) +- register TaskRepository in DI and guard null WorkingDir (c048264b) +- planning launcher — avoid cmd shell to prevent prompt injection (9e09ae6b) +- enable foreign_keys pragma in MigrateAndConfigure (78211060) +- select task on left-click even when reorder is disabled (1344beba) +- session terminal scrolls to end after layout so last line is fully visible (7de55107) +- pin AgentStrip above metadata footer, terminal sits above it (5e542758) +- session terminal auto-sizes to output, caps at 420px before scrolling (6ac88235) +- move agent-settings expander out of capped scroller so it expands properly (839f862b) +- use PlaceholderText instead of obsolete Watermark in ListSettingsModalView (2901a769) +- use UTF-8 encoding for git process stdio (07dee318) +- disable Merge button after worktree is no longer Active (4debd5ce) +- return Blocked when MergeAbortAsync fails to avoid stuck repo (1495c63e) +- honour targetBranch in MergeAsync by checking out before merge (953d9317) +- correct Reset button tooltip wording (58c8210a) +- early-return in ResetAsync when ConfirmAsync is unwired (f90d3d83) +- prefix broadcast lines with [stdout] so UI parser routes them (4283c67d) +- truncate WebFetch URL in tool_use arg (ec679e45) +- filled window icons, boxed task rows, proper explorer button (e19a9d37) +- NAVIGATOR eyebrow — drop broken converter binding (42fb7cee) +- wire delete confirm, close-details, uppercase eyebrow, explorer button (5acc896d) +- drop icon-btn sizing from AgentStrip text buttons (27c6a4b8) +- use Tag-attribute selectors for terminal log colors (2d1a4881) +- guard Bind/LoadForList against interleaved DbContext awaits (62aac7ee) +- wire modal delegates from DetailsIslandView owner (279f2c75) +- remove stale brush overrides in App.axaml (95146518) +- restore ViewModels using for IslandsShellViewModel (eee98b78) ### Refactoring -- merge TaskRunner failure handlers and reuse NullIfBlank (1856943) -- fold single-consumer helper types into their owners (ce9fadc) -- remove dead PlanningMergeEvents records and unused RunNowRequestedEvent (25ee623) -- extract interfaces to Interfaces folders and consolidate filters (41da124) -- consolidate commit types into CommitTypeRegistry (5da69ee) -- consolidate permission modes into PermissionModeRegistry (5308ba3) -- consolidate model aliases into ModelRegistry (a62ef24) -- remove tag entity and all references (623ebf1) -- dequeue orphans instead of promoting, restore lost lineage (0d55002) -- consolidate task list filters into single strategy registry (e68bb73) -- retire legacy TaskStatus values and backfill existing rows (dc3fc44) -- extract OverrideSlotService and reorganize Worker/Services into domain folders (ff7c239) -- split queue waker and picker, auto-wake on enqueue (064a903) -- introduce TaskStateService and route mutations through it (8823265) -- use --permission-mode auto instead of --dangerously-skip-permissions (b2eb5fc) -- test planning detail pane via real ViewModel and restore merge-all IsEnabled binding (1aead9d) -- switch MCP config to env-var token expansion (975e1ce) -- add worktree path and token file helpers (1d61df8) -- inject GitService and WorkerConfig into PlanningSessionManager (1370bf3) -- drop McpConfigPath from PlanningSessionFiles (f2db5f4) -- extend planning contexts with token and worktree (fd2ac48) -- use shared VersionComparer in InstallModeDetector (5b4cdd3) -- move release-API + checksum types to ClaudeDo.Releases (46e01ae) -- redesign list settings and merge modals with custom chrome (5ced1b9) -- single scrollable DetailsIsland body with agent-settings gear flyout, remove Notes (c599fdc) -- skeleton dispatch for StreamLineFormatter rewrite (668087c) -- centralize list seeding in MigrateAndConfigure, add default-value test (9a05907) +- merge TaskRunner failure handlers and reuse NullIfBlank (18569439) +- fold single-consumer helper types into their owners (ce9fadc0) +- remove dead PlanningMergeEvents records and unused RunNowRequestedEvent (25ee623c) +- extract interfaces to Interfaces folders and consolidate filters (41da124a) +- consolidate commit types into CommitTypeRegistry (5da69ee6) +- consolidate permission modes into PermissionModeRegistry (5308ba31) +- consolidate model aliases into ModelRegistry (a62ef240) +- remove tag entity and all references (623ebf14) +- dequeue orphans instead of promoting, restore lost lineage (0d55002e) +- consolidate task list filters into single strategy registry (e68bb737) +- retire legacy TaskStatus values and backfill existing rows (dc3fc443) +- extract OverrideSlotService and reorganize Worker/Services into domain folders (ff7c2399) +- split queue waker and picker, auto-wake on enqueue (064a9030) +- introduce TaskStateService and route mutations through it (8823265e) +- use --permission-mode auto instead of --dangerously-skip-permissions (b2eb5fcf) +- test planning detail pane via real ViewModel and restore merge-all IsEnabled binding (1aead9da) +- switch MCP config to env-var token expansion (975e1ce5) +- add worktree path and token file helpers (1d61df81) +- inject GitService and WorkerConfig into PlanningSessionManager (1370bf3d) +- drop McpConfigPath from PlanningSessionFiles (f2db5f4a) +- extend planning contexts with token and worktree (fd2ac484) +- use shared VersionComparer in InstallModeDetector (5b4cdd36) +- move release-API + checksum types to ClaudeDo.Releases (46e01aef) +- redesign list settings and merge modals with custom chrome (5ced1b97) +- single scrollable DetailsIsland body with agent-settings gear flyout, remove Notes (c599fdcb) +- skeleton dispatch for StreamLineFormatter rewrite (668087cd) +- centralize list seeding in MigrateAndConfigure, add default-value test (9a059071) ### Documentation -- sync CLAUDE.md files with current architecture (cfc4511) -- correct external MCP tool inventory, drop removed tag tools (32daa4a) -- clarify SetTaskConfig null-clears-override wording (f3f8af4) -- add external MCP UI-parity spec and plan (99dc084) -- clarify repo-import checkbox default intent (2f7f00d) -- add repo import list helper implementation plan (5b15e30) -- document RepoImportModalView (e5bce07) -- add repo import list helper design spec (7869c2a) -- add planning draft/planned queue gate design spec (09a930e) -- add worktree overview modal spec and plan (b944597) -- regenerate against current code state (a6608bf) -- add design + plan for tabbed settings + Prime Claude (2ff0971) -- add session prompts for worker state consolidation slices 2-6 (cf7a6e4) -- add worker state and queue consolidation spec (43af17e) -- add external MCP CRUD extensions spec and plan (10b2ca8) -- document new external MCP tools (1b9f2d4) -- add planning UX spec/plan and prompts/mailbox proposals (615c1da) -- add spec and plan for planning merge-all feature (8afbf20) -- add worktree-isolated MCP session design and plan (4de2dea) -- add planning-session manual verification checklist (450e685) -- add planning sessions implementation plans A, B, C (43d517d) -- add planning sessions design (8891d48) -- add self-update manual verification checklist (a41e5b5) -- add worker-log footer implementation plan (ea76945) -- add worker-log footer implementation plan (41e0bea) -- add worker-log footer design spec (da19eb8) -- add implementation plan (0d37473) -- add design spec for app + installer self-update (6a4bf67) -- add default-agents plan and design spec (a135485) -- refresh CLAUDE.md files for agent settings UI (e74e7ee) -- agent settings UI implementation plan (02464b7) -- agent settings per list and per task UI reimplementation (68f461d) -- add 2026-04-21 open-items consolidation (cb43bcd) -- clarify merged-with-cleanup-warning result shape (32ef1b3) -- add worktree merge implementation plan (0885518) -- add worktree merge design spec (944d3bd) -- note ResetTask hub method and TaskResetService (fb89e02) -- add implementation plan for continue and reset buttons (133774c) -- add spec for continue and reset buttons on failed tasks (a3bb557) -- add UI-rewrite notes, plans, and stream-formatter spec (23f8fdd) -- add design spec (b474113) +- sync CLAUDE.md files with current architecture (cfc45118) +- correct external MCP tool inventory, drop removed tag tools (32daa4a6) +- clarify SetTaskConfig null-clears-override wording (f3f8af4b) +- add external MCP UI-parity spec and plan (99dc0848) +- clarify repo-import checkbox default intent (2f7f00d4) +- add repo import list helper implementation plan (5b15e30b) +- document RepoImportModalView (e5bce077) +- add repo import list helper design spec (7869c2a9) +- add planning draft/planned queue gate design spec (09a930e2) +- add worktree overview modal spec and plan (b944597a) +- regenerate against current code state (a6608bf8) +- add design + plan for tabbed settings + Prime Claude (2ff0971d) +- add session prompts for worker state consolidation slices 2-6 (cf7a6e41) +- add worker state and queue consolidation spec (43af17e5) +- add external MCP CRUD extensions spec and plan (10b2ca81) +- document new external MCP tools (1b9f2d4d) +- add planning UX spec/plan and prompts/mailbox proposals (615c1da6) +- add spec and plan for planning merge-all feature (8afbf206) +- add worktree-isolated MCP session design and plan (4de2deae) +- add planning-session manual verification checklist (450e6855) +- add planning sessions implementation plans A, B, C (43d517dc) +- add planning sessions design (8891d48a) +- add self-update manual verification checklist (a41e5b5b) +- add worker-log footer implementation plan (ea769456) +- add worker-log footer implementation plan (41e0bea1) +- add worker-log footer design spec (da19eb80) +- add implementation plan (0d374735) +- add design spec for app + installer self-update (6a4bf676) +- add default-agents plan and design spec (a1354853) +- refresh CLAUDE.md files for agent settings UI (e74e7eec) +- agent settings UI implementation plan (02464b7f) +- agent settings per list and per task UI reimplementation (68f461d0) +- add 2026-04-21 open-items consolidation (cb43bcdd) +- clarify merged-with-cleanup-warning result shape (32ef1b38) +- add worktree merge implementation plan (0885518a) +- add worktree merge design spec (944d3bd3) +- note ResetTask hub method and TaskResetService (fb89e02b) +- add implementation plan for continue and reset buttons (133774cb) +- add spec for continue and reset buttons on failed tasks (a3bb557d) +- add UI-rewrite notes, plans, and stream-formatter spec (23f8fddc) +- add design spec (b4741137) ## v1.2.0 — 2026-04-17 ### Features -- add subtask tree view with expand/collapse in task list (32bb528) +- add subtask tree view with expand/collapse in task list (32bb5287) ### Fixes -- expand ~ in UiDbPath (2a8cd97) -- init editor TCS before dialog can complete (09e8b1f) -- reset stale worktree state on TaskDetail reload (92d8d90) -- capture CurrentListId before await in AddTask (aa1008d) -- make user-data deletion on uninstall opt-in (5f3d41e) -- rollback-safe extract with .bak stash (7d48f34) -- move service start out of RegisterServiceStep (51a1bbe) -- escape newline/tab in CLI args (ad7c9fa) -- guard against same task in queue and override slot (11a4376) -- reject CurrentUser service account without password (f10ad69) -- swallow DB errors in TaskListViewModel.OnTaskUpdated (dc4571a) -- emit RunCreated after run row exists (4fb6ba6) -- resolve critical bugs and improve reliability across worker, data, UI (3423919) +- expand ~ in UiDbPath (2a8cd97d) +- init editor TCS before dialog can complete (09e8b1f1) +- reset stale worktree state on TaskDetail reload (92d8d902) +- capture CurrentListId before await in AddTask (aa1008dc) +- make user-data deletion on uninstall opt-in (5f3d41e1) +- rollback-safe extract with .bak stash (7d48f34b) +- move service start out of RegisterServiceStep (51a1bbe6) +- escape newline/tab in CLI args (ad7c9fac) +- guard against same task in queue and override slot (11a4376d) +- reject CurrentUser service account without password (f10ad698) +- swallow DB errors in TaskListViewModel.OnTaskUpdated (dc4571a3) +- emit RunCreated after run row exists (4fb6ba6b) +- resolve critical bugs and improve reliability across worker, data, UI (34239196) ### Documentation -- add subtask tree view design spec (4f25c3d) +- add subtask tree view design spec (4f25c3dd) ## v1.1.0 — 2026-04-16 ### Features -- wire EF Core into DI and update all consumers to IDbContextFactory (36484ed) -- rewrite all repositories to use EF Core ClaudeDoDbContext (34ca1b0) -- add ClaudeDoDbContext with Fluent API configurations (51a5dcb) -- add navigation properties to all entity models (f8f1386) +- wire EF Core into DI and update all consumers to IDbContextFactory (36484ed4) +- rewrite all repositories to use EF Core ClaudeDoDbContext (34ca1b01) +- add ClaudeDoDbContext with Fluent API configurations (51a5dcbb) +- add navigation properties to all entity models (f8f13865) ### Fixes -- address code review findings (611454d) +- address code review findings (611454df) ### Refactoring -- switch InitDatabaseStep to EF Core migrations (7d0ca45) +- switch InitDatabaseStep to EF Core migrations (7d0ca45a) ### Documentation -- update CLAUDE.md files for EF Core migration (8d61b05) -- add EF Core migration implementation plan (9236ca6) -- add EF Core migration design spec (9e1f137) +- update CLAUDE.md files for EF Core migration (8d61b051) +- add EF Core migration implementation plan (9236ca6d) +- add EF Core migration design spec (9e1f1370) ## v1.0.0 — 2026-04-15 ### Features -- add app and installer icons (3b1f148) -- agent config inline in detail panel, file picker, subtask UI (9a407bd) -- add subtasks table, repository and prompt integration (8c051d8) -- remove MaxWidth on main columns to use full window width (8577c55) -- mode-aware wizard page list + Update-mode step pipeline (b5455a1) -- Config view — Save/Repair/Uninstall commands + footer buttons (2898bec) -- add UninstallRunner (service + shortcuts + dirs) (ac38ea8) -- rewrite WelcomePage for download-mode + update heading (da1fe21) -- async mode detection + mode-aware DI wiring (01c29bb) -- add WriteInstallManifestStep (5482518) -- add DownloadAndExtractStep with SHA256 verify (c1e3301) -- add Stop/StartServiceStep sc.exe wrappers (d87de15) -- replace sync ModeDetector with async InstallModeDetector (97fb215) -- add IReleaseClient + Gitea ReleaseClient (5603fd4) -- add ChecksumVerifier (SHA256 + checksums.txt parser) (d0c0e2c) -- add InstallManifest + json-backed store (921e626) -- add Gitea Actions release workflow (aea0909) -- add WPF installer/configurator project (78831b2) -- add config override fields to TaskEditorView (f8be2c1) -- complete Batch 2 — LiveText display, start feedback, modal theming, ListEditor config (699fe8a) -- replace LiveLines with formatted LiveText, add log reload and start feedback (0764bb3) -- add starting state feedback to task list (503fd69) -- add StreamLineFormatter for NDJSON stream parsing (365ecba) -- default to claude-sonnet-4-6 when no model configured (945a1ee) -- add RunNowRequestedEvent and GetAgentsAsync to WorkerClient (026df8d) -- add ContinueTask routing to QueueService (adc5a16) -- add ContinueTask, GetAgents, RefreshAgents hub methods and RunCreated broadcast (6cb8012) -- add AgentFileService for filesystem agent management (8825351) -- extend RunResult with structured output, session ID, and token metrics (54c4d3c) -- extend TaskRepository with model, system_prompt, agent_path columns (f57cdb7) -- add StreamAnalyzer for rich NDJSON stream parsing (8b342bc) -- add ClaudeArgsBuilder for dynamic CLI argument construction (dab461c) -- add GetConfigAsync and SetConfigAsync to ListRepository (5232d5f) -- add TaskRunRepository with CRUD and query methods (19a2104) -- add ListConfigEntity, TaskRunEntity, AgentInfo models and task config fields (02aaa9d) -- add list_config, task_runs tables and task config columns (36ae653) -- add global keyboard shortcuts (Ctrl+N, Ctrl+L, Ctrl+R, Ctrl+Shift+N) (ff5e56a) -- add inline add handlers, checkbox click, and task keyboard shortcuts (2dcfc7e) -- add auto-save LostFocus handlers and tag input KeyDown (a44c104) -- wire TaskDetail changes back to task list refresh (f51278e) -- make TaskDetailViewModel editable with auto-save and tag CRUD (28a0d9b) -- add inline task creation, toggle-done, and list name to TaskListViewModel (a4da2e2) -- add ToggleDone command and checkbox state to TaskItemViewModel (0796b3c) -- add colored dot brush to ListItemViewModel (3c52e9c) -- add CheckboxBorderConverter for task status circles (a548d41) -- add context menus for lists and tasks (3653dca) -- open editor on double-click for lists and tasks (db5a447) -- wire avalonia desktop ui to data and worker (48e4aab) -- add git worktree support and conventional commits (01235d9) -- add claude-cli runner, queue service, and hub api (e5038d7) -- add repositories, stale-task recovery, and test foundation (9f51ff0) -- add db schema init and signalr hub skeleton (f81ef02) +- add app and installer icons (3b1f1481) +- agent config inline in detail panel, file picker, subtask UI (9a407bde) +- add subtasks table, repository and prompt integration (8c051d8f) +- remove MaxWidth on main columns to use full window width (8577c556) +- mode-aware wizard page list + Update-mode step pipeline (b5455a19) +- Config view — Save/Repair/Uninstall commands + footer buttons (2898bec3) +- add UninstallRunner (service + shortcuts + dirs) (ac38ea8c) +- rewrite WelcomePage for download-mode + update heading (da1fe210) +- async mode detection + mode-aware DI wiring (01c29bb6) +- add WriteInstallManifestStep (54825184) +- add DownloadAndExtractStep with SHA256 verify (c1e33016) +- add Stop/StartServiceStep sc.exe wrappers (d87de152) +- replace sync ModeDetector with async InstallModeDetector (97fb215c) +- add IReleaseClient + Gitea ReleaseClient (5603fd45) +- add ChecksumVerifier (SHA256 + checksums.txt parser) (d0c0e2ce) +- add InstallManifest + json-backed store (921e6262) +- add Gitea Actions release workflow (aea09098) +- add WPF installer/configurator project (78831b22) +- add config override fields to TaskEditorView (f8be2c17) +- complete Batch 2 — LiveText display, start feedback, modal theming, ListEditor config (699fe8a1) +- replace LiveLines with formatted LiveText, add log reload and start feedback (0764bb30) +- add starting state feedback to task list (503fd69c) +- add StreamLineFormatter for NDJSON stream parsing (365ecba9) +- default to claude-sonnet-4-6 when no model configured (945a1eef) +- add RunNowRequestedEvent and GetAgentsAsync to WorkerClient (026df8d8) +- add ContinueTask routing to QueueService (adc5a16a) +- add ContinueTask, GetAgents, RefreshAgents hub methods and RunCreated broadcast (6cb8012d) +- add AgentFileService for filesystem agent management (88253515) +- extend RunResult with structured output, session ID, and token metrics (54c4d3cf) +- extend TaskRepository with model, system_prompt, agent_path columns (f57cdb7c) +- add StreamAnalyzer for rich NDJSON stream parsing (8b342bcc) +- add ClaudeArgsBuilder for dynamic CLI argument construction (dab461cc) +- add GetConfigAsync and SetConfigAsync to ListRepository (5232d5f1) +- add TaskRunRepository with CRUD and query methods (19a21040) +- add ListConfigEntity, TaskRunEntity, AgentInfo models and task config fields (02aaa9da) +- add list_config, task_runs tables and task config columns (36ae6532) +- add global keyboard shortcuts (Ctrl+N, Ctrl+L, Ctrl+R, Ctrl+Shift+N) (ff5e56a6) +- add inline add handlers, checkbox click, and task keyboard shortcuts (2dcfc7e3) +- add auto-save LostFocus handlers and tag input KeyDown (a44c1049) +- wire TaskDetail changes back to task list refresh (f51278e1) +- make TaskDetailViewModel editable with auto-save and tag CRUD (28a0d9b1) +- add inline task creation, toggle-done, and list name to TaskListViewModel (a4da2e23) +- add ToggleDone command and checkbox state to TaskItemViewModel (0796b3c2) +- add colored dot brush to ListItemViewModel (3c52e9c6) +- add CheckboxBorderConverter for task status circles (a548d41d) +- add context menus for lists and tasks (3653dcad) +- open editor on double-click for lists and tasks (db5a447b) +- wire avalonia desktop ui to data and worker (48e4aabe) +- add git worktree support and conventional commits (01235d98) +- add claude-cli runner, queue service, and hub api (e5038d7e) +- add repositories, stale-task recovery, and test foundation (9f51ff0b) +- add db schema init and signalr hub skeleton (f81ef022) ### Fixes -- prevent async void races and leak-on-exit (2b3fe02) -- address concurrency, cancellation, and resource issues (d3b85f2) -- wait for prior service registration to clear before create (fc9029d) -- publish framework-dependent single-file (1c764da) -- disable single-file compression to prevent WPF startup AV (cfec329) -- service hosting, dark theme, uninstall polish (f599f8d) -- set EnableWindowsTargeting so Linux Gitea runners can publish (9b928c6) -- UninstallRunner abort-on-stop-fail + path guard + partial-failure reporting (5d42438) -- null-defensive WelcomePage heading + guard unreachable modes (8d2f7e9) -- fall back to Config on detection timeout when install.json exists (5e432a4) -- wrap WriteInstallManifestStep I/O in try/catch like sibling steps (12e5327) -- harden DownloadAndExtractStep per review (ea32a74) -- check exit code (not stdout) for ERROR_SERVICE_ALREADY_RUNNING (5b4af29) -- propagate cancellation + defensive asset parsing in ReleaseClient (83d7058) -- fix live output visibility and editor dialog graying out (2a1f26d) -- address code review findings (7363e48) -- allow RunNow for any non-running task, not just queued (95c8cc8) -- update QueueServiceTests for new TaskRunner constructor signature (26c2445) -- replace deprecated Watermark with PlaceholderText (5f51fe9) -- register TagRepository in TaskDetailViewModel constructor (5b6c095) -- re-evaluate RunNow CanExecute when worker connection changes (473e0f7) -- make list and task rows fully hit-testable for clicks (981b8e4) -- context menu operates on right-clicked item and gates new-task on list selection (5d5a583) -- harden worker auto-reconnect lifecycle (fdf357b) -- cancel retry loop before disposing worker connection (36ef624) -- auto-reconnect worker connection with retry backoff (c6522cf) +- prevent async void races and leak-on-exit (2b3fe02d) +- address concurrency, cancellation, and resource issues (d3b85f22) +- wait for prior service registration to clear before create (fc9029de) +- publish framework-dependent single-file (1c764dae) +- disable single-file compression to prevent WPF startup AV (cfec3297) +- service hosting, dark theme, uninstall polish (f599f8d0) +- set EnableWindowsTargeting so Linux Gitea runners can publish (9b928c62) +- UninstallRunner abort-on-stop-fail + path guard + partial-failure reporting (5d42438a) +- null-defensive WelcomePage heading + guard unreachable modes (8d2f7e99) +- fall back to Config on detection timeout when install.json exists (5e432a4a) +- wrap WriteInstallManifestStep I/O in try/catch like sibling steps (12e53271) +- harden DownloadAndExtractStep per review (ea32a74b) +- check exit code (not stdout) for ERROR_SERVICE_ALREADY_RUNNING (5b4af294) +- propagate cancellation + defensive asset parsing in ReleaseClient (83d7058b) +- fix live output visibility and editor dialog graying out (2a1f26d8) +- address code review findings (7363e484) +- allow RunNow for any non-running task, not just queued (95c8cc83) +- update QueueServiceTests for new TaskRunner constructor signature (26c2445b) +- replace deprecated Watermark with PlaceholderText (5f51fe96) +- register TagRepository in TaskDetailViewModel constructor (5b6c095a) +- re-evaluate RunNow CanExecute when worker connection changes (473e0f71) +- make list and task rows fully hit-testable for clicks (981b8e4a) +- context menu operates on right-clicked item and gates new-task on list selection (5d5a583a) +- harden worker auto-reconnect lifecycle (fdf357be) +- cancel retry loop before disposing worker connection (36ef624c) +- auto-reconnect worker connection with retry backoff (c6522cf8) ### Refactoring -- replace SourceDirectory with Mode/Version fields in InstallContext (4fab048) -- remove source-build steps (replaced by DownloadAndExtractStep) (0989176) -- remove MessageParser (replaced by StreamAnalyzer) (c1c4c75) -- rewrite TaskRunner with config resolution, retry, and continue support (76473dd) -- simplify ClaudeProcess to accept pre-built args and use StreamAnalyzer (1cdaaf9) -- harden context menu event handling and simplify bindings (7838f08) -- harden double-click edit handlers (6727cc4) +- replace SourceDirectory with Mode/Version fields in InstallContext (4fab0481) +- remove source-build steps (replaced by DownloadAndExtractStep) (09891761) +- remove MessageParser (replaced by StreamAnalyzer) (c1c4c759) +- rewrite TaskRunner with config resolution, retry, and continue support (76473dd9) +- simplify ClaudeProcess to accept pre-built args and use StreamAnalyzer (1cdaaf9f) +- harden context menu event handling and simplify bindings (7838f081) +- harden double-click edit handlers (6727cc4e) ### Documentation -- add download-mode implementation plan (c0bd465) -- finalize decisions — self-contained, auto-check, full uninstall (0498fba) -- pin release target to releases/ClaudeDo (43a10cf) -- add download-mode + Gitea Releases design spec (bd7d594) -- add implementation plan for UI fixes (a6fe91d) -- add design spec for post-integration UI fixes (fb3c96c) -- update CLAUDE.md with CLI modernization changes (03728c8) -- add UX redesign implementation plan (16 tasks) (9f61cd1) -- add UX redesign spec (Microsoft To Do style) (0e41c37) +- add download-mode implementation plan (c0bd4654) +- finalize decisions — self-contained, auto-check, full uninstall (0498fbae) +- pin release target to releases/ClaudeDo (43a10cff) +- add download-mode + Gitea Releases design spec (bd7d5940) +- add implementation plan for UI fixes (a6fe91d1) +- add design spec for post-integration UI fixes (fb3c96c4) +- update CLAUDE.md with CLI modernization changes (03728c8e) +- add UX redesign implementation plan (16 tasks) (9f61cd14) +- add UX redesign spec (Microsoft To Do style) (0e41c37d)