83 KiB
83 KiB
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 (
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 (
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 (
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 (
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 (
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 (
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 (
ecba1299)
Documentation
- 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 (
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 (
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 (
87de53e0)
Documentation
- 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 (
63d8b5c2) - clear task selection when switching lists (
ab56644d)
Documentation
- update for v2.5.0 (
71050e26)
v2.5.0 — 2026-07-29
Features
- 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 (
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 (
3fbbd7ab)
v2.4.0 — 2026-07-27
Features
- 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 (
7f9f0ca1) - persist title edits from the detail pane (
edd2774d)
Refactoring
- 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 (
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 (
95918414)
Documentation
- update for v2.3.0 (
93493866)
v2.3.0 — 2026-07-24
Features
- 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 (
2a3ab550) - spec + implementation plan (
962f68c9) - update for v2.2.0 (
d12a8886)
v2.2.0 — 2026-07-24
Features
- 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 (
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 (
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 (
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 (
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) (
c412a84f)
Documentation
- 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 ✕ (
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 (
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 (
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 ✕ (
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 (
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) (
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 (
b5417f6b)
Documentation
- 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 (
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 (
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 (
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 (
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 (
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 (
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 (
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 (
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 (
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 (
f1715a34) - harden review re-run, timestamps, and queue affordance (
1cb5171f)
Documentation
- 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 (
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 (
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) (
edfb702e)
v1.4.0 — 2026-06-01
Features
- 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 (
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 (
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 (
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 (
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 (
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 (
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 (
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 (
32bb5287)
Fixes
- 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 (
4f25c3dd)
v1.1.0 — 2026-04-16
Features
- 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 (
611454df)
Refactoring
- switch InitDatabaseStep to EF Core migrations (
7d0ca45a)
Documentation
- 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 (
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 (
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 (
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 (
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)