Changelog
- 31f601f fix(desktop): stabilize sidebar and settings layout (#3819)
- b400886 Merge pull request #3814 from SivanCola/codex/dark-theme-logo-adaptation
- ec9ff89 fix(desktop): deduplicate blank tab creation (#3219) (#3741)
- cdf023d fix(plugin): record timeout stats at budget floor
- d6f10b8 Merge pull request #3707 from SivanCola/codex/fix-desktop-image-paste
- 9f102a6 fix(desktop): adapt logos for dark theme
- c3cc19e fix(desktop): MCP batch retry via allSettled; drop dead browser-preview guard (#3809)
- d034323 Merge remote-tracking branch 'origin/main-v2' into codex/fix-desktop-image-paste
- d25eac5 chore: add desktop production test build helper (#3808)
- 15d4a25 Merge pull request #3803 from esengine/codex/mcp-settings-error-summary
- 46140a6 Merge pull request #3789 from SivanCola/codex/preserve-curated-model-refresh
- ba8505b Merge pull request #3800 from SivanCola/codex/restore-sidebar-new-session-layout
- 605dc5c polish(desktop): refine MCP settings issue layout
- cb118da Merge remote-tracking branch 'origin/main-v2' into codex/pr3789-resolve-conflicts
- df7bee8 test(desktop): guard sidebar new session CTA layout
- dd6e349 refactor(desktop): extract goal-draft collaboration-mode helpers (#3802)
- b6ffe3a fix(desktop): collapse noisy MCP startup errors
- 9b797b0 fix(desktop): align enabled model saves with chat picker
- 345821b fix(desktop): add reveal-in-file-manager to workspace context menu (#3539) (#3583)
- 71247d7 fix(desktop): model selector dropdown scroll and tooltip for truncated names (#3628, #3629) (#3647)
- 502e038 fix(tui): return pendingModelSwitch after skill delete to unblock Enter (#3764) (#3783)
- 56198d2 Follow up desktop UI fixes after PR #3752 merge / 补入 #3752 合并后的桌面 UI 修复 (#3795)
- de2cdc5 chore(deps-dev): bump @types/react-dom to 19 to match @types/react (#3793)
- 5092036 chore(deps-dev): bump typescript in /desktop/frontend (#3691)
- 225605b feat(desktop): require explicit enabled model saves
- 9bdff29 fix(desktop): make the frontend typecheck under TypeScript 6 (#3791)
- 73cfe5f fix(desktop): satisfy React 19 frontend types
- aa6e0e1 fix(desktop): preserve curated provider models on refresh
- daf60e8 fix(proc): reap codegraph's process tree off Windows via process groups (#3787)
- 54531f3 fix desktop workspace session isolation (#3029)
- f45708c Split new and clear session flows (#3780)
- 5f02fd7 feat(control): extract text from PDF attachments / 提取 PDF 附件文本 (#3618)
- 1610eba chore(deps): bump react, react-dom and @types/react in /desktop/frontend (#3690)
- 655223c feat(tui): add Ctrl+Home/Ctrl+End shortcuts to scroll transcript viewport to top/bottom (#3723)
- a672727 fix(desktop): stop auto-populating empty model lists from provider API (#3711)
- 7377f46 fix(diff): avoid input-derived Myers allocation arithmetic (#3777)
- a2df6ab fix(bot): require Feishu webhook token; split weixin account/login out (#3779)
- 28bedc6 feat(bot): add bot gateway with Feishu/Weixin/QQ adapters (#3763)
- f55aa47 fix(diff): clamp the Myers edit-distance operands to bound the allocation (#3775)
- 1fe5f2c fix(diff): compute the Myers n+m bound only when it can't overflow (#3773)
- c80ba8a feat(desktop): themeable workspace UI, tool-approval modes, and /goal loop (#3752)
- 7359f75 test(desktop): use single-backslash inputs in the slashed golden tests (#3761)
- a6de668 fix(desktop): convert \slashed to \not for KaTeX compatibility (#3750)
- 2818888 fix(codegraph): stop leaking detached MCP daemons and indexing the whole drive (#3747) (#3755)
- ceceff2 fix(bash): reap the process group after a command completes (#3702) (#3748)
- 9976e6b fix(provider): time out a stalled SSE stream instead of hanging (#3374) (#3745)
- ea44f3a fix(desktop): strip controller-injected prefixes from chat display (#3720)
- 175d43d fix(security): resolve open code-scanning alerts (archive extraction, command injection, untrusted checkout, integer bounds) (#3718)
- 5939500 Continue subagent transcripts (#3586)
- e634cfd ci(e2e-bot): build with go.mod's Go version, not pinned 1.22 (#3731)
- 0234218 test(e2e): add subagent-delegation task that forces a
tasksub-agent (#3725) - 6b0fe9b test: de-flake two windows-latest timing tests (#3726)
- dfd7ff0 fix(tui): keep plan mode on Esc; Ctrl+C copy beats clear (#3670)
- 5d1b106 fix(tui): suspend cleanly on Ctrl+Z (#3697)
- 4d83146 fix(desktop): keep Windows tray loop on locked OS thread (#3717)
- b7786ce fix(model): persist /model selection to user config.toml (#3671)
- 3fe1fa0 fix(setup): align custom provider base URL between wizard probe and chat client (#3669)
- 7b256fc fix(dev): suppress pnpm TTY prompts and lockfile age checks in dev script (#3701)
- b0b1b17 fix(serve): restore query helper (#3658)
- 48d21d5 fix: reload persist rule into in-memory Policy immediately (#3716)
- 51cfa8c ci: suppress staticcheck SA5011 false positives in test files (#3715)
- 4684e93 fix(config): honor an explicit proxy for no_proxy providers like mimo (#3635) (#3714)
- dea3ee1 feat(skill): add read_skill for loading inline skills in plan mode (#3713)
- 974f3d4 fix(desktop): read attachment previews from active workspace
- f3d9ef3 fix(control): don't auto-answer the ask tool in YOLO mode (#3624) (#3712)
- dae5757 fix(desktop): remove command text from approval rule buttons, causing layout breakage (#3700)
- 512a182 fix(agent): allow pending todo signoff (#3673)
- d948b8f Merge remote-tracking branch 'origin/main-v2' into codex/fix-desktop-image-paste
- 5f1a70b test: satisfy staticcheck nil guards
- e904766 test: structurally guard nil-deref so staticcheck SA5011 can't misfire (#3706)
- e0d7af7 fix(desktop): restore clipboard image paste
- 6a1267b chore(deps): bump the go group across 1 directory with 3 updates (#3678)
- b34e77c chore(deps): bump lucide-react in /desktop/frontend (#3686)
- 0cd1ad6 chore(deps): bump react-markdown in /desktop/frontend (#3689)
- cdc2680 chore(deps): bump the actions group across 1 directory with 13 updates (#3688)
- be4ba01 chore(ci): drop /npm/reasonix from Dependabot (#3692)
- 6c0f223 chore(deps): bump astro from 5.18.2 to 6.4.4 in /site (#3684)
- aa1fada chore(deps-dev): bump @vitejs/plugin-react in /desktop/frontend (#3687)
- f1d420c chore(deps): bump the go group in /desktop with 5 updates (#3680)
- 135470c chore(ci): add Dependabot config and CodeQL code scanning (#3676)
- 0f6492f fix(rewind): fail loudly past a compacted boundary (#3598) + suffix-scan CanCode (#3438) (#3672)
- 680945f fix(memory): handle forget failures in desktop (#3662)
- 90c2465 feat(desktop): build a Linux .deb package on release (#3634)
- 61c99ad fix(cli): disable codegraph in ACP session config test (#3663)