## kdlbs/kandev — v0.96.0…v0.97.0

_207+ commits._

### Features
- **feat: add the Quick Chat opening composer (#4173)** (99f5097)
- **feat: add task-scoped create completion callbacks (#4187)** (c827368)
- **feat: add safe Go cache cleanup while tasks run (#4167)** (546bef5)
- **feat: add Configuration Chat session restart (#4180)** (c5e382f)
- **feat: support bounded task plan reads and fragment updates (#4181)** (9d6a1e9)
- **feat(ui): simplify Changes loading feedback and retry Git reads (#4155)** (3bce700)
- **feat: notify and optionally update agent runtimes (#4148)** (fc441f0)
- **feat(i18n): add Korean UI translation catalog (#4119)** (9948072)
- **feat: add GitHub workflow approval task badge (#4097)** (de6e224)
- **feat: add native MiniMax Code support** (cbeb014)
- **feat(web): add configurable agent tab close behavior (#3690)** (8465a35)
- **feat(mcp): place depth-limited self tasks under the common parent (#4050)** (483c39a)
- **feat(i18n): register Korean locale negotiation (#4077)** (d168f7a)
- **feat(agent): import cursor plugin mcp servers into task workspaces (#4025)** (cc85a55)
- **feat: discover agent models from profile settings (#4070)** (b57fa8f)
- **feat: add controlled shared prompt MCP writes (#4064)** (4b8b044)
- **feat: move chat usage to the composer status row (#4048)** (d728023)
- **feat: add workspace ACP idle suspension (#4042)** (a2346de)
- **feat(agents): route repeated safe unclassified failures (#4015) (#4039)** (6cf3237)
- **feat(plugins): publish curated releases promptly (#3153)** (da5b19e)
- **feat(desktop): improve repository discovery UX and settings sidebar scrolling (#4036)** (ae15d9b)
- **feat: add gated native Codex app-server support (#3916)** (0122427)
- **feat: surface temporary storage pressure (#4028)** (2918905)
- **feat(ui): show sender names on agent message chips (#4033)** (de79ab3)
- **feat(scripts): add Windows PowerShell isolated-instance scripts (#4017)** (653e017)
- **feat: recover sessions after managed clone relocation (#4008)** (adc5d67)
- **feat: compact stable runtime distribution (#3934)** (89ff7ff)

### Fixes
- **fix(web): keep tab's active workspace when opening settings (#4199)** (1e7575e)
- **fix: add quick terminal mobile shortcut controls (#4204)** (5094a41)
- **fix: preserve metadata during GitHub issue linking (#4202)** (1a2c60c)
- **fix: reject network-relative proxy URL paths (#4203)** (815ff20)
- **fix: restore canonical helper permissions after downloads (#4201)** (6be7baf)
- **fix: preserve session startup during workflow turn-start (#4194)** (ca1492f)
- **fix: keep ACP runtimes alive after transient turn failures (#4193)** (49e708a)
- **fix(tasks): preserve concurrent metadata merges (#4198)** (5a51992)
- **fix(tasks): preserve concurrent task field edits (#4197)** (93c80f7)
- **fix(tasks): serialize validated task re-parenting (#4196)** (5db7913)
- **fix(task): replace repositories atomically (#4195)** (d5142d9)
- **fix: serialize Gitflow starter admission (#4192)** (b767cee)
- **fix: preserve workspace streams across agent startup (#4191)** (5feeb62)
- **fix: preserve concurrent branch-policy patches (#4190)** (9b63282)
- **fix: preserve concurrent repository-set patches (#4189)** (b0dc2be)
- **fix: recover safe Cursor interruptions in the same session (#4165)** (a81c68f)
- **fix: refresh every cached remote URL after provider changes (#4186)** (220e84b)
- **fix: converge managed clone recovery admission and errors (#4169)** (3c298db)
- **fix: retry transient managed runtime startup failures (#4152) (#4172)** (5ed1ef2)
- **fix: retire closed commit-detail readers (#4185)** (0ec8e2c)
- **fix: synchronize discovery after root mutations (#4184)** (59687fa)
- **fix(git): keep cumulative patches independent of external diff (#4182)** (e6e13f3)
- **fix(git): preserve comparison files under forced color (#4179)** (3e45498)
- **fix: retire workspace uploads with their UI owner (#4178)** (678a4d1)
- **fix: recover remote selection after local checkout deletion (#4175)** (2254b51)
- **fix(editors): bind mutation replies to their originating editor (#4177)** (2d33067)
- **fix: preserve pushed commit reachability in merged histories (#4176)** (5f08b1b)
- **fix: preserve current repository discovery results (#4174)** (b330ad9)
- **fix(lifecycle): settle terminal prompt completions (#4150) (#4163)** (8a1229e)
- **fix(lifecycle): prevent completion callback deadlock (#4149) (#4161)** (c70ec08)
- **fix: preserve setup warnings and failed quick chats (#4168)** (76401ee)
- **fix: preserve newer shared branch read results (#4171)** (87dcd78)
- **fix(ui): remove floating agent runtime update indicator (#4170)** (a1669c0)
- **fix(files): detect repeated dirty edits with exact paths (#4166)** (69fa561)
- **fix: confirm existing Auggie session mode before startup (#4146)** (8403b46)
- **fix(git): classify diff file status from metadata (#4162)** (9fffff9)
- **fix: preserve worktrees during inventory repair (#3310)** (14d473d)
- **perf(build): reuse Go artifacts across task worktrees (#4160)** (341f894)
- **fix: clarify session startup failures and recovery (#4093)** (de682eb)
- **fix(agentctl): keep locally launched agentctl listeners on the standalone host (#4124)** (1dc55b5)
- **fix(git): keep selected file paths literal (#4158)** (1575023)
- **fix: bound archive manifest cleanup work (#4130) (#4136)** (5041135)
- **fix(backend): start managed Windows helper processes without console windows (#4122)** (c54967e)
- **fix: fall back when managed Go cache preparation fails (#4153)** (9cac3a1)
- **fix: persist resume workspace binding safely (#4154)** (e5eaaaa)
- **fix: preserve PR details after approval clears (#4151)** (43e65ad)
- **perf(ci): batch trusted walkthrough object reads (#4147)** (d22fbaa)
- **fix: show sidebar loading state during task deletion (#4080)** (2225a0c)
- **fix(git): preserve exact workspace numstat paths (#4157)** (2f74eaf)
- **fix: streamline agent runtime update settings (#4156)** (27ad2f7)
- **fix(copyfiles): preserve glob syntax when splitting entries (#4139)** (6979c76)
- **fix(kanban): match all task repositories (#4142)** (1793d42)
- **fix(notifications): save provider settings atomically (#4140)** (79125ce)
- **fix(web): correct changes history evidence and header spacing (#4145)** (0ec0538)
- **fix(files): fence obsolete search and tree refresh replies (#4143)** (11d2ccb)
- **fix(workflow): reorder steps atomically without overwriting edits (#4141)** (68542f0)
- **fix: preserve repository paths in worktree credentials (#4137)** (517249b)
- **fix(ci): allow large PR walkthrough context preparation (#4138)** (b87d7b5)
- **fix: classify Claude session limits (#4131) (#4135)** (bbb57f3)
- **fix(automation): keep runs open when the session limit defers their start (#4114)** (e66e9df)
- **fix(mcp): report advances false for signal-gated steps without a move (#4116)** (daab1c4)
- **fix(plugin_remote): run plugin sessions end to end (#4099)** (08e4ffd)
- **fix: preserve cleanup preparation failure attribution (#4107)** (5063121)
- **fix(orchestrator): keep idle reclaim from stranding sessions without a resume token (#4112)** (53e96ad)
- **fix(web): make long sidebar PR summaries scrollable (#4096)** (c6cbbaa)
- **fix(sqlite): open backup and repair databases at windows paths (#4126)** (eace1d5)
- **fix: resume checkouts using registered legacy clones (#4133)** (9f8e98e)
- **fix(tasks): group list by workflow step (#4108)** (99ed43d)
- **fix: keep automatic recovery feedback in one composer card (#4094)** (ec84b3d)
- **fix: reap auxiliary desktop children (#4100) (#4109)** (0fa4f43)
- **fix: make Changes panel Git refresh reliable (#4087)** (993238c)
- **fix: drain Codex probe stderr before classifying failures (#3781)** (d2adc37)
- **fix(web): show step colors when changing workflows (#4086)** (17f0367)
- **fix: seed base branches before recovered execution readiness (#4090)** (cccbc22)
- **fix: preserve current GitHub PR check results (#4092)** (ecd415b)
- **fix(ui): restore measured changelist spacing (#4088)** (61d791e)
- **fix(chat): clear stall notices when agents resume (#4091)** (0ae9181)
- **fix: handle dispatch-only cancellation completion (#4085) (#4095)** (5972f6a)
- **fix: complete PR walkthrough generation after rendering (#4089)** (ecb275c)
- **fix(plugin_remote): create the agentctl session instance before connecting (#4068)** (fba6f2b)
- **fix(web): carry workspace ACP idle-suspension policy through readback paths (#4075)** (9877965)
- **fix(web): stabilize E2E fixtures and task interaction races (#4084)** (e96910f)
- **fix: restore Docker managed Git credentials (#4081) (#4083)** (5c72cc2)
- **perf: speed up task switching and sidebar views (#4062)** (137bb5d)
- **fix(routingerr): classify opencode credit exhaustion as quota limited (#4078)** (c1809d9)
- **fix(tasks): repair stale worktree inventory (#4038)** (d05b0a9)
- **fix: load task creation workflow previews (#4058)** (ff917a3)
- **fix: center Files copy-path icons (#4069)** (69b731c)
- **perf(ui): virtualize Changes panel rows (#4071)** (0be0fd6)
- **fix(agents): recover Auggie sessions without settings overrides (#4065)** (fa729f2)
- **fix(docker): provide ps for Droid execution (#4066)** (782d5bb)
- **fix: recover deleted worktree checkouts (#4052) (#4061)** (abc7a85)
- **perf(ui): improve session refresh and task navigation (#4060)** (320f050)
- **fix: admit healthy main checkouts (#4049) (#4057)** (ccaa7c0)
- **fix: preserve todo turn ownership on resume (#4047) (#4056)** (1dc6c15)
- **fix(office): bind office agents to their dynamic execution profile (#4032)** (18ffac5)
- **fix: restore sidebar filters and reuse recent view pages (#4026)** (febaf0b)
- **perf(web): remove blocking task navigation hydration (#4046)** (5e6a340)
- **perf(tests): clone initialized SQLite fixtures (#4035)** (83a9ab9)
- **fix: prevent queued prompt pause deadlocks (#4034)** (cb9a530)
- **perf(web): speed up task navigation (#4041)** (e99ac10)
- **fix(agents): restore custom ACP agent sessions on reconnect (#4037)** (1859116)
- **fix: remove native task coordination controls (#4024)** (a5b344b)
- **fix(agents): make the permission a profile promises reach the agent (#3886)** (36a2f95)
- **fix(routing): classify codex usage-limit notices and parse retry time (#4019)** (0dc18c8)
- **fix: correct startup mcp ordering, recovery attribution, and cleanup (#4030)** (30f4f94)
- **fix(executors): reclaim orphaned agentctl processes stranded on SSH runners (#4016)** (75a37f3)
- **fix: clarify session recovery action descriptions (#4021)** (24fbf02)

### Backend
- **release: publish 0.97.0** (e43881c)

### Tests
- **test: strengthen assertions and reduce redundant coverage (#4200)** (eec4ef1)
- **test: wait for dynamic route session projection (#3780)** (054dbaa)
- **test: cover task workflow picker scrolling (#4079)** (b956ae1)
- **test: use published coordinator template identity (#4002)** (20d2d54)

### Docs
- **docs: add a fresh-checkout E2E quick start (#4082)** (61cc87c)

### Chore
- **refactor(web): remove built-in prompt history panel (#4054)** (88a6217)
- **chore(deps): patch DOMPurify detached subtree sanitization (#4101)** (c90f837)
- **chore(deps): patch OpenTelemetry HTTP exporter endpoint logging (#3782)** (8bc9493)
- **chore(deps): patch gRPC missing authority denial of service (#3530)** (aa6fc70)
- **chore(deps): patch Vitest redirect mock path traversal (#4106)** (f419569)
- **chore(deps): patch Hono query and body parsing (#4104)** (d1cef1a)
- **chore(deps): patch markdown linkification denial of service (#4105)** (1f53a51)
- **chore(deps): patch YAML empty merge budget bypass (#4103)** (6b0b0b8)
- **chore(deps): patch brace expansion denial of service (#4102)** (fe4454d)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/kdlbs/kandev?utm_source=github-action)._