Releases: esengine/DeepSeek-Reasonix
Releases · esengine/DeepSeek-Reasonix
Reasonix CLI v1.8.0
Changelog
- b225dd7 fix(desktop): cap esbuild at ^0.25.0 so
wails devbuilds again (#4410) - df35995 fix(desktop): close CloseTab-Snapshot/DeleteSession resurrection race (#4384) (#4406)
- 613ce9f fix(agent): redact tool-call args in compaction transcript (#4350)
- 4ee69cb fix(desktop): correct pipe handling for array column specs and kets (#4320)
- 4dd6796 fix(config): comment out default max_steps/planner_max_steps in rendered project config (#4228)
- e7fc067 fix(desktop): restore min-width floor and overflow-x to prevent titlebar/bottom overlap on Windows 11 (#4065) (#4067)
- fb839d7 Fix stale DeepSeek desktop model fallback (#4278)
- 21d77d2 Merge pull request #4360 from lifu963/fix/desktop-session-sidebar-runtime
- acb0842 Merge main-v2 into PR 4360
- d22a852 perf(desktop): cache topic-session index for new-tab lookup (#4395)
- aad377b feat(provider): enable MiMo vision model inputs (#4388)
- 86b3c79 fix(desktop): diff row backgrounds, line gutters, and accurate summaries (#4387)
- f447770 fix(desktop): decouple tab runtime events from agent sink to avoid deadlock (#4389)
- a6aae98 feat(desktop): switchable workbench layout style (#4369)
- 375a0fc fix(bot): channel reply chunking and session persistence (#4374)
- f07e908 feat(mcp): built-in MCP update flow for CodeGraph (#4370)
- 95d64f7 fix(desktop): restore todo state across plan seeds and history replay (#4313)
- 424f33f feat(stats): redesign crash-report dashboard UI with language switcher (#4325)
- c98b660 Merge origin/main-v2 into fix/desktop-session-sidebar-runtime
- fb0cec2 feat(desktop): user-triggered bot connection diagnostic reporting (#4381)
- 40aedfb docs: document headless reasonix bot start usage (#4375)
- 6e798bc docs: add Chinese desktop hooks guide; fix hook-reload guidance (#4373)
- 66b4925 fix(desktop): full-width session tokens card in context panel (#4367)
- f5698cd fix(codegraph): set daemon idle-timeout across all MCP launch paths (#4363)
- 8c558ff feat(acp): support model and effort switching via session config (#4335)
- 3096cb9 fix(security): harden archive extraction, session resume, and frontend file refs (#4328)
- 6483721 Merge pull request #4349 from ferstar/codex/4348-prompt-history-tape
- bc76bea feat(desktop): add prompt history replay
- a58532f feat(bot): migrate v0.5.3 QQ bot support with gateway hardening (#4324)
- 76ae52e chore(deps): pin esbuild to 0.28.1 across site, worker, and desktop (#4323)
- 72d54e3 feat(desktop): performance-pressure diagnostics reporting (#4322)
- 11963ff chore(desktop): refresh app icon assets (#4321)
- c376ec7 feat(hooks): add PermissionRequest hook for tool approvals (#4319)
- bea8db2 feat(desktop): platform-aware typography system with font controls (#4315)
- a976091 feat(tools): add workspace-confined move_file built-in (#4316)
- a549f2f Merge pull request #4377 from CVEngineer66/perf/reduce-layer-paints-and-remove-streaming-cursor
- ff9d650 perf: reduce layer paints and remove streaming cursor
- 61bb5c8 Fix reasoning language propagation / 修复思考语言设置传播 (#4312)
- 9a37d3d Fix topicbar copy tooltip clipping (#4308)
- a06aae9 Merge workbench layout while preserving classic tabs
- 97ccf1c fix(desktop): expose workbench time filter
- 04c2eb0 feat(desktop): add switchable workbench layout
- f86be86 Merge origin/main-v2 into fix/desktop-session-sidebar-runtime
- 9873ae7 Merge pull request #4358 from ferstar/fix/desktop-4337-session-switch-freeze
- f2198b3 Fix tab list order repair locking
- 4ce9364 Merge origin/main-v2 into fix/desktop-session-sidebar-runtime
- 6266c03 fix(desktop): remove unused session helpers
- 9a30fcc Merge pull request #4332 from heshuimu/fix/codegraph-daemon-leak
- a05c193 Merge pull request #4354 from CVEngineer66/feat/lazy-tool-data
- cd4376b fix: harden lazy tool data loading
- edd4996 fix(codegraph): preserve shared daemon lifecycle
- dc11dc6 fix(desktop): make sidebar sessions own runtimes
- 78e3a16 Merge upstream/main-v2: resolve package.json conflict
- 71c5d21 fix: address code review feedback
- 47d168a fix: remove useDeferredValue from Markdown to prevent code-block flicker
- 6bf210e feat: merge #4318 reasoning display + scroll coalescing
- ac4f849 fix: archive tool items loaded from history
- d052cfb fix(desktop): resolve session-switch freeze on Windows 11 (#4337)
- 02237a3 test: verify render optimization effectiveness
- 933f934 perf: prevent unnecessary re-renders during streaming markdown rendering
- 03613c8 feat: archive all completed tools on tool_result — 99% memory reduction
- db88f7d test: add tool-data-archive test confirming 33% JS string reduction
- 3abea28 feat: lazy-load tool data on demand to bound frontend memory
- dd0ce55 fix: reasoning complete state tracking and action button visibility during streaming
- 5cf4418 fix(codegraph): kill daemon that escapes process-group cleanup
- ed07684 Merge pull request #4286 from myipanta/hotfix/4275-plan-options-disappear-on-tab-switch
- ea0c3a9 Improve crash reporting diagnostics / 增强崩溃上报诊断 (#4285)
- fd2967b Add tab prompt replay regression
- bd6b414 fix(desktop): replay pending prompts on tab switch to preserve plan modal (#4275)
Reasonix Desktop v1.8.1
What's Changed
- Fix chrome tabs reserving right dock space / 修复顶部标签栏右侧预留空间 by @SivanCola in #4422
- Bound chrome tab strip width / 限制顶部标签栏最大宽度 by @SivanCola in #4427
- fix(desktop): make the performance-pressure prompt idempotent per label by @esengine in #4434
- Reserve mac tabbar new button slot / 预留 mac 标签栏新建按钮槽位 by @SivanCola in #4433
- Fix DeepSeek billing source breakdown / 修复 DeepSeek 费用来源拆分 by @SivanCola in #4280
Full Changelog: desktop-v1.8.0...desktop-v1.8.1
Reasonix Desktop v1.8.0
What's Changed
- Improve crash reporting diagnostics / 增强崩溃上报诊断 by @SivanCola in #4285
- fix(desktop): replay pending prompts on tab switch to preserve plan m… by @myipanta in #4286
- perf: lazy-load tool data on demand, fix reasoning state & action button visibility by @CVEngineer66 in #4354
- fix(codegraph): shorten shared daemon idle cleanup safely / 安全缩短共享 daemon 空闲清理 by @heshuimu in #4332
- fix(desktop): resolve session-switch freeze on Windows 11 (#4337) by @ferstar in #4358
- Fix topicbar copy tooltip clipping / 修复话题栏复制提示截断 by @SivanCola in #4308
- Fix reasoning language propagation / 修复思考语言设置传播 by @SivanCola in #4312
- perf: reduce layer paints and remove streaming cursor by @CVEngineer66 in #4377
- Add workspace move_file tool for file moves / 新增工作区 move_file 工具处理文件移动 by @SivanCola in #4316
- Refactor desktop typography controls / 重构桌面端字体控制 by @SivanCola in #4315
- Add PermissionRequest hook for tool approvals / 新增工具审批 PermissionRequest Hook by @SivanCola in #4319
- Update desktop app icon assets / 更新桌面应用图标资源 by @SivanCola in #4321
- Add performance pressure diagnostics / 新增性能卡顿诊断上报 by @SivanCola in #4322
- Pin esbuild to patched version / 固定 esbuild 到安全版本 by @SivanCola in #4323
- Migrate v0.5.3 QQ bot support / 迁移 v0.5.3 QQ Bot 支持 by @SivanCola in #4324
- Add Up/Down replay for user input history by @ferstar in #4349
- Fix CodeQL security alerts / 修复 CodeQL 安全告警 by @SivanCola in #4328
- Support ACP model and effort switching / 支持 ACP 模型和推理强度切换 by @SivanCola in #4335
- Fix CodeGraph idle timeout launch paths / 修复 CodeGraph 启动路径空闲超时 by @SivanCola in #4363
- Improve runtime metric token layout / 优化运行指标 token 布局 by @SivanCola in #4367
- Document desktop hooks usage / 补充桌面端 Hooks 使用说明 by @SivanCola in #4373
- Document headless bot gateway usage / 补充无界面 Bot 网关说明 by @SivanCola in #4375
- Add bot connection diagnostic reporting / 新增机器人连接诊断上报 by @SivanCola in #4381
- Improve crash stats dashboard UI / 优化崩溃统计面板 UI by @SivanCola in #4325
- Fix restored todo state across plan seeds / 修复计划待办恢复状态 by @SivanCola in #4313
- Add built-in MCP update flow / 新增内置 MCP 更新流程 by @SivanCola in #4370
- Fix bot channel rendering and persistence / 修复 Bot 渠道分片和会话持久化 by @SivanCola in #4374
- Add switchable desktop workbench layout / 新增可切换工作台桌面风格 by @SivanCola in #4369
- Fix desktop tab event deadlock / 修复桌面多标签事件死锁 by @SivanCola in #4389
- Fix desktop diff row rendering and summaries / 修复桌面端 diff 行渲染和摘要 by @SivanCola in #4387
- Enable MiMo vision model inputs / 启用 MiMo 视觉模型输入 by @SivanCola in #4388
- Reduce desktop new session lookup overhead / 减少桌面新建会话查找开销 by @SivanCola in #4395
- Scope Desktop session runtimes and preserve classic tabs / 会话运行态隔离并保留 classic 顶部标签页 by @lifu963 in #4360
- Fix stale DeepSeek desktop model fallback / 修复桌面端 DeepSeek 旧模型兜底 by @SivanCola in #4278
- fix(desktop): restore min-width floor on Windows to fix titlebar/bottom overlap (v1.6 regression) by @MaitreyeeDeshmukh in #4067
- fix(config): comment out default max_steps/planner_max_steps in rendered project config by @ashishexee in #4228
- fix(desktop): correct pipe handling for array column specs and kets by @lightfront in #4320
- fix(agent): redact tool-call args in compaction transcript by @ashishexee in #4350
- fix(desktop): close CloseTab-Snapshot/DeleteSession resurrection race by @ashishexee in #4406
- fix(desktop): cap esbuild at ^0.25.0 so wails dev builds again by @esengine in #4410
New Contributors
- @myipanta made their first contribution in #4286
- @MaitreyeeDeshmukh made their first contribution in #4067
Full Changelog: desktop-v1.7.0...desktop-v1.8.0
Reasonix CLI v1.7.0
Changelog
- f6d8cce Add reasoning language settings / 添加思考语言设置 (#4267)
- 87da37b Fix session ownership follow-up review issues (#4273)
- f6aba59 fix(desktop): optimistic rewind + checkpoint boundary corrections (#4272)
- 6b115e1 fix(plugin): enrich + memoize shell PATH for MCP stdio subprocesses (#4268)
- 2008f09 refactor(control): drop phrase-matched approved-plan continuation (#4266)
- 4c4c235 ci(desktop): lint the desktop module with golangci-lint (#4264)
- c31e4f3 test(desktop): pass context.TODO() to emitReady, not nil (#4263)
- b99e893 fix: integrate session ownership and state routing (#4250)
- eb624ee fix(migrate): import legacy default model and run migration before desktop config load (#4224)
- 6e5afa5 fix(migrate): reach .jsonl-only pass for already-routed upgraders (#4260)
- d40797b fix(sandbox): normalize cmd-style "nul" redirects to the shell's null device (#4257)
- 07d521a feat(desktop): toggle to disable cold-resume tool-result pruning (#4255)
- 18cb500 Merge pull request #4247 from CVEngineer66/refactor/gsap-animation-system
- 3279f12 style: unify expanded left-padding for foldable sections (30px → 12px)
- 89bfa96 feat(desktop): compact settings sound controls (#4244)
- 6cf4a95 fix(desktop): follow-up to #4225 — minimal migration, streaming scroll, dead code (#4238)
- 679f340 refactor(desktop): GSAP-driven animation — scroll, collapse, entrance, approval (#4225)
- 62645d1 feat(vision): downscale attached images before sending; add detail knob (#4210)
- 500fb1d fix(desktop): stop clipping the tool name in the card header (#4208)
- 091d886 fix(ui): restore TurnCollapse step rendering, batch read-only in sub-agents (#4206)
- 278984f feat(provider): send attached images to vision-capable models (#4204)
- f7a61cf feat(i18n): add Traditional Chinese (zh-TW) locale support (#4199)
- 939563a fix(tui): 修复mintty刷新残留问题 (#3829)
- cde4f9a fix(desktop): make the time-filter menu keyboard-operable (#4197)
- d042d5b fix(desktop): reconcile stale completed turns (#4182)
- 529ffce Improve IM bot setup and diagnostics (#4070)
- 8b500db fix(desktop): right-align the sidebar time-filter menu so it can't clip (#4196)
- bd30b0a feat(desktop): add time filter to sidebar project tree (#4150)
- 9480e5a feat(desktop): custom font family option in Appearance settings (#4194)
- 1b57e0c fix(desktop): retry atomic writes past transient Windows locks (#4193)
- 50294fa feat(desktop): token-driven generative ambient music during generation (#4192)
- 6a693eb docs(crash): disclose Go-panic resend in telemetry copy (#4191)
- 2e1ec21 fix(agent): 收紧 subagent fork 复用语义 (#4184)
- 5a1c04d feat(desktop): customize status bar items (#4188)
- 89bcd48 feat(crash): capture Go panics, breadcrumbs, and group summaries (#4187)
- 780302d Merge pull request #4176 from ttmouse/pr/notification-sounds
- 2eba181 fix(desktop): gate success chime on turn outcome
- e9bd6f5 feat: add notification sound system with custom dropdown selector
- f48a241 fix(agent): stop the model proceeding when the user declines an ask (#4163)
- 8572ae5 feat(desktop): add token economy composer mode (#4151)
- ffaba9b fix(config): show the real per-OS user config path in docs and output (#4157)
- 92854c6 feat: lightweight local history + memory retrieval (#4071)
- 5c026df fix(desktop): make the updater download resilient — retry, resume, IPv4 fallback (#4141)
- dc1f28c fix(agent): bound compaction summary and mechanically fold on failure (#4138)
- 0597d06 fix(desktop): reveal files via explorer.exe's full path, not a PATH lookup (#4137)
- 1bc0887 feat(desktop): add a Shell interpreter dropdown to Settings → Sandbox (#4134)
- 09fa4c0 fix(agent): use unique, self-documenting IDs for host-advance todo_write events (#4132)
- da3fdb7 feat(shell): let [tools.shell] pick the bash tool's interpreter (#4131)
- cc7fe66 feat(plan): clarify user-owned ambiguities before writing the plan (#4129)
- 7ebc413 feat(desktop): build the Windows ARM64 desktop app (#4128)
- 76fdd92 fix(codegraph): name codegraph tools by their real MCP-prefixed names in steering (#4125)
- c6fa8aa feat(cli): add /rename command and show topic title in /resume list (#4055)
- d05f807 feat(mcp): add built-in time and Context7 MCP servers (#4115)
- e3771b8 Add desktop hooks settings UI / 添加桌面端 Hooks 设置界面 (#4118)
- 49ce820 fix(desktop): skip the fade-in animation for history-restored messages (#4120)
- ea5f17d Fix cost currency display / 修复成本货币符号显示 (#4061)
- b977d87 feat(cli): add /diff-fold to toggle diff line folding (#3952)
- d579b62 fix(serve): declare sessionCount before its first use in the web UI (#4060)
- 668e7ca fix(control): don't treat multi-line input as a quick-add memory note (#4046)
- 7251271 fix(agent): preserve mid-turn steer messages across tab switches (#4074)
- c0aac64 feat(crash): account system for the crash dashboard (#4119)
- 2fa3a57 refactor(cli): extract pickCLIRelease, drop dead normalizeOS (#4116)
- 19f6bcd feat(cli): add self-update command (reasonix upgrade/update) (#4005)
- 3d3f018 fix(config): resolve relative system_prompt_file against the workspace root (#4108)
- 876da2e fix(proc): detach login-shell PATH probe from the controlling terminal (#4098)
- c12c294 fix(desktop): keep thinking, answers, and writer output visible in compact view (#4101)
- b1303b0 perf(grep): speed up the native engine and add a search timeout (#4113)
- 6edcf5a fix(provider): retry transient 401s for a known-good key; clearer auth error (#4106)
- 8f59fe1 fix(desktop): new session inherits settings from active tab (#4019, #4088) (#4097)
- 8ec1130 fix(ui): batch completed read-only tools into ReadOnlyBatch, unify card body styles (#4059)
- 1930008 fix(agent): keep prior digests verbatim across compaction; document the limit (#4082)
- 922f7b1 fix(agent): compact at end of a final-answer turn to prevent context overflow (#4079)
- c6314ec Merge pull request #4054 from lifu963/pr/continue-from-schema-guidance
- 31d002c fix(agent): clarify continuation reference value
- 287a678 fix(agent): clarify subagent continuation guidance
- d014949 feat(agent): keep every user turn verbatim across compaction + facts digest (#4052)
- 1c6c639 fix(agent): pin the user's task and prior summaries across compaction (#4048)
- 4c5fec6 ci(desktop): rebuild site after stable release so version follows (#4036)
Reasonix Desktop v1.7.0
What's Changed
- ci(desktop): rebuild site after stable release so version follows by @esengine in #4036
- fix(agent): pin the user's task and prior summaries across compaction by @esengine in #4048
- feat(agent): keep every user turn verbatim across compaction + structured facts digest by @esengine in #4052
- fix(agent): clarify subagent continuation guidance by @lifu963 in #4054
- fix(agent): compact at end of a final-answer turn to prevent context overflow by @esengine in #4079
- fix(agent): keep prior digests verbatim across compaction; document the limit by @esengine in #4082
- fix(ui): batch completed read-only tools into ReadOnlyBatch, unify card body styles by @CVEngineer66 in #4059
- fix(desktop): new session inherits settings from active tab (#4019, #4088) by @esengine in #4097
- fix(provider): retry transient 401s for a known-good key + clearer auth error (#3146) by @esengine in #4106
- perf(grep): speed up the native engine and add a search timeout by @esengine in #4113
- fix(desktop): keep thinking, answers, and writer output visible in compact view by @esengine in #4101
- Fix/bash path probe tty foreground by @lizhengwu in #4098
- Fix system_prompt_file workspace root resolution by @lifu963 in #4108
- fix(cli): combine self-update improvements from #3941 and #3859 by @lanshi17 in #4005
- refactor(cli): extract pickCLIRelease and drop dead normalizeOS by @esengine in #4116
- feat(crash): account system for the crash dashboard by @esengine in #4119
- fix(agent): preserve mid-turn steer messages across tab switches (#4044) by @JesonChou in #4074
- fix(control): prevent MemoryQuickAddNote from swallowing multi-line Markdown headings by @warvyvr in #4046
- fix(serve): let variable initialized before used by @yizeyi18 in #4060
- feat(cli): add /diff-fold command to toggle diff line folding by @wudiandy in #3952
- Fix cost currency display / 修复成本货币符号显示 by @SivanCola in #4061
- fix: skip fade-in animation for history-restored messages by @Diarica in #4120
- Add desktop hooks settings UI / 添加桌面端 Hooks 设置界面 by @SivanCola in #4118
- Add built-in time and Context7 MCPs / 内置 time 和 Context7 MCP by @SivanCola in #4115
- feat(cli): add /rename command and show topic title in /resume list by @Starry0214 in #4055
- fix(codegraph): name codegraph tools by their real MCP-prefixed names in steering by @esengine in #4125
- feat(desktop): build the Windows ARM64 desktop app by @esengine in #4128
- feat(plan): clarify user-owned ambiguities before writing the plan by @esengine in #4129
- feat(shell): let [tools.shell] pick the bash tool's interpreter by @esengine in #4131
- fix(agent): use unique IDs for host-advance todo_write events to prevent frontend panel merge by @JesonChou in #4132
- feat(desktop): add a Shell interpreter dropdown to Settings → Sandbox by @esengine in #4134
- fix(desktop): reveal files via explorer.exe's full path, not a PATH lookup by @esengine in #4137
- fix(agent): bound compaction summary and mechanically fold on failure by @esengine in #4138
- fix(desktop): make the updater download resilient — retry, resume, IPv4 fallback by @esengine in #4141
- Add lightweight history and memory retrieval / 增加轻量历史与记忆检索 by @SivanCola in #4071
- fix(config): show the real per-OS user config path in docs and output / 修正各平台用户配置路径文档与输出 by @esengine in #4157
- Add token economy composer mode / 增加省 token 协作模式 by @SivanCola in #4151
- fix(agent): don't execute when the user picks 'just chat' on an ask / 选"只是聊聊"不应直接执行 by @esengine in #4163
- feat: 通知音效系统 — 生成完成 + 等待操作提示音 by @ttmouse in #4176
- feat(crash): capture Go panics, breadcrumbs, and group summaries by @esengine in #4187
- Customize desktop status bar (rebased #4152) / 自定义桌面底部信息栏 by @esengine in #4188
- fix(agent): 收紧 subagent fork 复用语义 by @lifu963 in #4184
- docs(crash): disclose Go-panic resend in telemetry copy by @esengine in #4191
- feat(desktop): token-driven generative ambient music (rebased #4175) by @esengine in #4192
- fix(desktop): retry atomic writes past transient Windows locks by @esengine in #4193
- feat(desktop): custom font family option (rebased #4165) by @esengine in #4194
- feat(desktop): add time filter to sidebar project tree by @ttmouse in #4150
- fix(desktop): right-align the sidebar time-filter menu so it can't clip by @esengine in #4196
- Improve IM bot setup and diagnostics / 优化 IM 机器人设置与诊断 by @SivanCola in #4070
- fix(desktop): reconcile stale completed turns by @GTC2080 in #4182
- fix(desktop): make the time-filter menu keyboard-operable by @esengine in #4197
- fix(tui): 修复mintty刷新残留问题 by @taibai233 in #3829
- feat(i18n): add Traditional Chinese (zh-TW) locale (rebased #3995) by @esengine in #4199
- feat(provider): send attached images to vision-capable models by @esengine in #4204
- fix(ui): restore TurnCollapse step rendering, batch read-only in sub-agents (rebased #4200) by @esengine in #4206
- fix(desktop): stop clipping the tool name in the card header by @esengine in #4208
- feat(vision): downscale attached images before sending; add detail knob by @esengine in #4210
- refactor(desktop): GSAP-driven animation — scroll, collapse, entrance, approval by @CVEngineer66 in #4225
- fix(desktop): follow-up to #4225 — minimal migration, streaming scroll, dead code by @esengine in #4238
- Compact settings sound controls / 收紧设置页声音控件 by @SivanCola in #4244
- style: unify expanded left-padding for foldable sections by @CVEngineer66 in #4247
- feat(desktop): toggle to disable cold-resume tool-result pruning by @esengine in #4255
- fix(sandbox): stop creating an undeletable "nul" file from cmd-style redirects by @esengine in #4257
- fix(migrate): reach .jsonl-only pass for already-routed upgraders by @esengine in #4260
- fix(migrate): import legacy default model and run migration before desktop config load by @heshuimu in #4224
- Integrate session ownership and state routing / 集成会话归属与状态路由 by @SivanCola in #4250
- test(desktop): pass context.TODO() to emitReady, not nil by @esengine in #4263
- ci(desktop): lint the desktop module with golangci-lint by @esengine in #4264
- refactor(control): drop phrase-matched approved-plan continuation by @esengine in #4266
- fix(plugin): enrich + memoize shell PATH for MCP stdio subprocesses by @esengine in #4268
- fix(desktop): optimistic rewind + checkpoint boundary corrections by @esengine in #4272
- Fix session ownership follow-up review i...
Reasonix CLI v1.6.0
Changelog
- 83f1e04 feat(desktop): settings toggle for opt-in agent metrics (#4034)
- 6b9d367 feat(desktop): opt-in aggregate agent-metrics aggregator + flush (#4033)
- 449b7a6 refactor(ui): keep running read-only tools out of the warm-turn batch (#4032)
- 2656669 fix(ui): batch completed read-only tools into ReadOnlyBatch in compact/minimal mode (#4031)
- 653ab07 feat(crash-worker): add /v1/metrics ingest for opt-in agent metrics (#4030)
- cd4a2bd fix(ui): restrict inverted user bubble style to graphite theme only (#4023)
- 6db97a0 Merge pull request #3983 from whale-fall-ouo/fix/palette-polish
- c85b4a4 fix(desktop): show session-scoped file changes in workspace panel (#4026)
- 2c6092e refactor(evidence): reuse stepTextContains for todo overlap, hoist bounds guard (#4027)
- 0869750 fix(evidence): allow rephrased todos to pass complete_step verification (#4013)
- 6f338e2 fix(chat): clear accumulated shell output on !command re-run (+ regression test) (#4025)
- 83f87c0 fix(desktop): apply pnpm purge guard so post-sync wails dev stops aborting (#4024)
- 0263ee9 fix(openai): round-trip reasoning_content on DeepSeek tool_calls turns (#4022)
- 44541fc fix(desktop): polish palette session metadata
- 3505bd6 feat(bot): IM bot connection workflow (Feishu/WeChat) + desktop UI (#3892)
- 6dee96c fix(agent): close complete_step cross-turn evidence + loop gaps (#4014)
- 4924d9f fix(chat): render correct line count under each parallel bash marker (#4010)
- 5a487a5 fix(config): honor default_model in ResolveModelWithFallback (#3994)
- 0250cbc fix(evidence): tolerate citation drift when matching complete_step to todos (#4006)
- 40b1f94 fix: Improve desktop context status metrics (#3996)
- c0fa845 fix(desktop): 命令面板命令区域改为横向网格布局
- f528630 fix(desktop): compact-mode step fold follow-ups (centering, empty folds, 0s label, thinking flicker) (#4000)
- 6bc71a8 feat(workers): restyle /stats to the site visual language + crash group detail pages (#3997)
- 3583c9a site: footer link to the stats page (#3993)
- 5debb08 Merge pull request #3976 from SivanCola/fix/active-key-prompts
- 6fcb37e feat(ui): unify process/tool/reasoning card style with shimmer sweep animation (#3991)
- c58bcc3 feat(desktop): anonymous launch ping, crash device info, /stats page (#3985)
- d3fbcb6 fix(evidence): stop rejecting real complete_step verifications over command-string drift (#3982)
- f78fa48 fix(desktop): 优化命令面板样式与信息展示
- 8feccbf feat(desktop): user-initiated crash reporting via crash.reasonix.io (#3978)
- b249410 fix(cli): respect auto-plan classifier gate
- 8a8627e fix(cli): prompt only for active model keys
- c5c3093 fix(chat): repaint late-collapsed tool slots immediately (#3973)
- 83fa9fc fix(chat): keep each tool marker under its own card in back-to-back dispatches (#3951)
- 89befd2 fix(desktop): restore palette focus outline and platform-correct search kbd (#3964)
- 3025f5a feat(agent): deterministic tool-result pruning + cache-TTL-aware cold-resume maintenance (#3968)
- 810807a fix(desktop): restore command palette session row layout (#3962)
- 01774d8 fix(desktop): make the macOS tab-strip empty space drag the window (#3963)
- 5bfb10e fix(desktop): stop pinning management modals to a compositor layer (#3961)
- 7fe7167 fix(config): read the pre-mcpServers
mcpstring list from v0.x config.json (#3960) - 734d336 fix(agent): derive previews and auto-titles from the original task in dual-model sessions (#3958)
- adde2d3 fix(provider): stop committing half-streamed tool-call args (#3953) (#3957)
- 5cc7b98 test(desktop): wire attachment-display test into the frontend suite (#3954)
- 6cef84c feat: improve attachment preview cards (#3786)
- cc1023c feat: toggle Developer Tools (Cmd+I) (#3928)
- c2ff2c7 docs: use canonical repo in README badges (#3925)
- 6b37bd5 fix(desktop): preserve selected message copy (#3942)
- 4fbebb3 fix: Ctrl+C in running state copies selection instead of cancelling turn (#3947)
- 31c4207 fix(tui): wrap status line instead of truncating when too long (#3054)
- 2a7d83f fix(codegraph): run the indexer daemon below normal priority (#3948)
- 80fc50d fix(control,cli): survive SSH drops with mid-turn autosave and SIGHUP save (#3943)
- 4e5aabe fix(desktop): surface an error when session actions race controller startup (#3946)
- dc6a1e3 fix(cli): only prompt for API keys the active config references (#3945)
- 2f45fb2 fix(migrate): route legacy v0.x sessions into their workspace session dirs (#3944)
- 316c921 fix(control,desktop): keep steer messages out of the turn count (#3936)
- d4ef0b6 fix(desktop): use DesktopLanguage for i18n slash command descriptions (#3876)
- 74d7b64 fix(desktop): wait for the forked tab before loading its history (#3934)
- 3370467 fix(control): never render compaction fold summaries as user bubbles (#3932)
- f73f04f fix(desktop): stop git.exe console flashes from workspace probes (#3930)
- ef9eae8 fix(desktop): close stuck thinking window after stream interruption (#3746) (#3927)
- 470252b release: move updater + codegraph downloads to dl.reasonix.io (#3926)
- 842aff8 site: serve downloads from dl.reasonix.io, bake contributor avatars into the build (#3923)
- 9cc1d58 feat(desktop): context overview navigation and status bar metrics (#3922)
- 406fd03 fix(fileref): restore fuzzy @file search for nested paths (#3846)
- 98a365d fix: add explicit serial workflow instructions to executor handoff and plan-approved message (#3912)
- c8f2a3b feat(agent): mid-turn steer injection with tab-scoped routing (#3360)
- 559b22c feat(cli): add fuzzy matching to the slash-command completion menu (#3833)
- 206b4c3 feat(desktop): add expand_thinking config toggle (#3303) (#3919)
- 654b621 feat: add session PDF and image export (#3917)
- f7769e4 fix(desktop): surface send failures on the user bubble (#3916)
- 9539c35 fix(desktop): widen model switcher popover for long model names (#3915)
- 9df1e96 site: redesign landing + docs on the new visual language, fix install channel (#3918)
- 4ec533f fix(message): render markdown while streaming assistant output (#3337)
- 6ae1b57 fix(permission): prefer bash command prefix for approval grants (#3815)
- 53eb72c fix: custom provider model list overflow and add /provider command (#3766)
- cd37d14 fix(desktop): extend diff row background on horizontal scroll (#3637)
- 34c7603 fix(desktop): cap model switcher list height to prevent viewport overflow (#3644)
- 8f91f82 fix(katex): convert aligned→align when \tag is present (#3847)
- 040126d Unify mode shortcuts across desktop and CLI (#3885)
- b2189ab fix(desktop): keep composer usable beside workspace / 保持工作区旁输入区可用 (#3886)
- c55dec6 Merge pull request #3888 from esengine/codex/update-check-controls
- 413b583 fix(control): treat slash paths as prompts (#3887)
- 3648d74 Merge pull request #3891 from SivanCola/fix/macos-top-drag-rail
- 1c53b47 fix: ContextPanel token breakdown uses mismatched units (snapshot vs cumulative) (#3854)
- c9198c3 Merge pull request #3894 from SivanCola/fix/anchored-popover-resize-position
- 5d69e27 Fix anchored popover repositioning on resize
- c6ac6ec Fix macOS top drag rail
- 0adba93...
Reasonix Desktop v1.6.0
What's Changed
- fix(agent): scope @-references to workspace root instead of process CWD by @SuMuxi66 in #3784
- docs: split usage guide out of README, add a docs index by @esengine in #3839
- fix(desktop): harden Windows WebView startup by @SivanCola in #3830
- fix(desktop): replay pending approval/ask prompts on (re)connect by @esengine in #3857
- fix(desktop): keep the tray responsive when the webview is wedged by @esengine in #3862
- fix(site): serve from custom domain reasonix.io by @esengine in #3880
- fix(desktop): keep workspace dock within viewport by @lifu963 in #3878
- Fix anchored popover resize positioning / 修复弹层尺寸变化后的定位 by @SivanCola in #3894
- fix: ContextPanel token breakdown uses mismatched units (snapshot vs cumulative) by @Diarica in #3854
- Fix macOS top chrome drag rail / 修复 macOS 顶部窗口拖拽区域 by @SivanCola in #3891
- Handle slash-prefixed paths as prompts / 将斜杠开头路径作为普通提示处理 by @SivanCola in #3887
- [codex] Add desktop update check controls / 增加桌面更新检查控制 by @SivanCola in #3888
- fix(desktop): keep composer usable beside workspace / 保持工作区旁输入区可用 by @SivanCola in #3886
- Unify mode shortcuts across desktop and CLI / 统一桌面端与 CLI 模式快捷键 by @SivanCola in #3885
- fix(katex): convert aligned→align when \tag is present by @lightfront in #3847
- fix(desktop): cap model switcher list height to prevent viewport over… by @whale-fall-ouo in #3644
- fix(desktop): extend diff row background on horizontal scroll by @whale-fall-ouo in #3637
- fix: custom provider model list overflow and add /provider command by @lanshi17 in #3766
- fix(permission): prefer bash command prefix for approval grants by @JesonChou in #3815
- fix(message): render markdown while streaming assistant output by @SuMuxi66 in #3337
- site: redesign landing + docs, promote @next install channel by @esengine in #3918
- fix(desktop): widen model switcher popover for long model names (#3641) by @esengine in #3915
- fix(desktop): surface send failures on the user bubble (#3056) by @esengine in #3916
- feat: add session PDF and image export (#3572) by @esengine in #3917
- feat(desktop/cli): expand_thinking toggle + persist /verbose (#3396) by @esengine in #3919
- feat(cli): add fuzzy matching to the slash-command completion menu by @CnsMaple in #3833
- feat(desktop): mid-turn steer injection by @JesonChou in #3360
- fix: add explicit serial workflow instructions to executor handoff and plan-approved message by @HHHEEEWWW in #3912
- feat(desktop): enable fuzzy @-search with directory support in Composer by @SuMuxi66 in #3846
- feat(desktop): context overview navigation + status bar metrics (#3895) by @esengine in #3922
- site: same-origin avatars + dl.reasonix.io downloads (mainland access) by @esengine in #3923
- release: move updater + codegraph downloads to dl.reasonix.io by @esengine in #3926
- fix(desktop): close stuck thinking window after stream interruption (#3893) by @esengine in #3927
- fix(desktop): stop git.exe console flashes from workspace probes by @esengine in #3930
- fix(control): never render compaction fold summaries as user bubbles by @esengine in #3932
- fix(desktop): wait for the forked tab before loading its history by @esengine in #3934
- fix(desktop): use DesktopLanguage for i18n slash command descriptions by @Bernardxu123 in #3876
- fix(control,desktop): keep steer messages out of the turn count by @esengine in #3936
- fix(migrate): route legacy v0.x sessions into their workspace session dirs by @esengine in #3944
- fix(cli): only prompt for API keys the active config references by @esengine in #3945
- fix(desktop): surface an error when session actions race controller startup by @esengine in #3946
- fix(control,cli): survive SSH drops with mid-turn autosave and SIGHUP save by @esengine in #3943
- fix(codegraph): run the indexer daemon below normal priority by @esengine in #3948
- fix(tui): wrap status line instead of truncating when too long by @CnsMaple in #3054
- fix: Ctrl+C in running state copies selection instead of cancelling turn by @CnsMaple in #3947
- fix(desktop): preserve selected message copy by @GTC2080 in #3942
- docs: use canonical repo in README badges by @CooperSheroy in #3925
- feat: toggle Developer Tools (Cmd+I) by @ttmouse in #3928
- feat: improve attachment preview cards by @Abysstsuki in #3786
- test(desktop): wire attachment-display test into the frontend suite by @esengine in #3954
- fix(provider): stop committing half-streamed tool-call args by @esengine in #3957
- fix(agent): derive previews and auto-titles from the original task in dual-model sessions by @esengine in #3958
- fix(config): read the pre-mcpServers
mcpstring list from v0.x config.json by @esengine in #3960 - fix(desktop): stop pinning management modals to a compositor layer by @esengine in #3961
- fix(desktop): make the macOS tab-strip empty space drag the window by @esengine in #3963
- fix(desktop): prevent command palette session text clipping by @GTC2080 in #3962
- feat(agent): deterministic tool-result pruning + cache-TTL-aware cold-resume maintenance by @esengine in #3968
- fix(desktop): restore palette focus outline and platform-correct search kbd by @esengine in #3964
- fix(chat): keep each tool marker under its own card in back-to-back dispatches by @CnsMaple in #3951
- fix(chat): repaint late-collapsed tool slots immediately by @esengine in #3973
- feat(desktop): user-initiated crash reporting via crash.reasonix.io by @esengine in #3978
- fix(evidence): stop rejecting real complete_step verifications over command-string drift by @esengine in #3982
- feat(desktop): anonymous launch ping, crash device info, /stats page by @esengine in #3985
- feat(ui): unify process/tool/reasoning card style with shimmer sweep animation by @esengine in #3991
- Prompt only for active model keys / 仅提示活跃模型密钥 by @SivanCola in #3976
- site: footer link to the stats page by @esengine in #3993
- feat(workers): restyle /stats to the site visual language + crash group detail pages by @esengine in #3997
- fix(desktop): compact-mode step fold follow-ups (centering, empty folds, 0s label, thinking flicker) by @esengine in #4000
- fix: Improve desktop context status metrics by @SivanCola in #3996
- fix(evidence): tolerate citation drift when matching complete_step to todos by @esengine in #4006
- fix(config): honor default_model in ResolveModelWithFallback before iterating providers by @JesonChou in #3994
- fix(chat): render correct line count under each parallel bas...
Reasonix CLI v1.5.0
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)
Reasonix Desktop v1.5.0
What's Changed
- fix(cli): disable codegraph in ACP session config test by @esengine in #3663
- feat(desktop): build a Linux .deb package on release by @esengine in #3634
- fix(memory): keep forget failures inside the memory UI by @paradoxSCH in #3662
- fix(rewind): fail loudly past a compacted boundary (#3598) + suffix-scan CanCode (#3438) by @esengine in #3672
- chore(ci): add Dependabot config and CodeQL code scanning by @esengine in #3676
- chore(deps): bump the go group in /desktop with 5 updates by @dependabot[bot] in #3680
- chore(deps-dev): bump @vitejs/plugin-react from 4.7.0 to 5.2.0 in /desktop/frontend by @dependabot[bot] in #3687
- chore(deps): bump astro from 5.18.2 to 6.4.4 in /site by @dependabot[bot] in #3684
- chore(ci): drop /npm/reasonix from Dependabot by @esengine in #3692
- chore(deps): bump the actions group across 1 directory with 13 updates by @dependabot[bot] in #3688
- chore(deps): bump react-markdown from 9.1.0 to 10.1.0 in /desktop/frontend by @dependabot[bot] in #3689
- chore(deps): bump lucide-react from 0.460.0 to 1.17.0 in /desktop/frontend by @dependabot[bot] in #3686
- chore(deps): bump the go group across 1 directory with 3 updates by @dependabot[bot] in #3678
- test: fix staticcheck SA5011 false-positive failing lint on all PRs by @esengine in #3706
- fix(agent): allow pending todo signoff by @paradoxSCH in #3673
- fix(desktop): remove command text from approval rule buttons, fixing layout breakage by @CVEngineer66 in #3700
- fix(control): don't auto-answer the ask tool in YOLO mode (#3624) by @esengine in #3712
- feat(skill): add read_skill for inline skill loading in plan mode (#3491) by @esengine in #3713
- fix(config): honor an explicit proxy for no_proxy providers like mimo (#3635) by @esengine in #3714
- ci: suppress staticcheck SA5011 false positives in test files by @esengine in #3715
- fix: reload persist rule into in-memory Policy immediately by @HorusJiang in #3716
- fix(serve): restore query helper by @paradoxSCH in #3658
- fix(dev): suppress pnpm TTY prompts and lockfile age checks in dev script by @CVEngineer66 in #3701
- fix(setup): align custom provider base URL between wizard probe and chat client by @CnsMaple in #3669
- fix(model): persist /model selection to user config.toml by @CnsMaple in #3671
- fix(desktop): keep Windows tray loop on locked thread by @wade19990814-hue in #3717
- fix(tui): suspend cleanly on ctrl-z by @lizhengwu in #3697
- fix(tui): complete PR #3051 — Esc must not exit plan mode; Ctrl+C keeps draft by @CnsMaple in #3670
- test: de-flake two windows-latest timing tests by @esengine in #3726
- test(e2e): add subagent-delegation task forcing a
tasksub-agent by @esengine in #3725 - ci(e2e-bot): build with go.mod's Go version, not pinned 1.22 by @esengine in #3731
- Continue subagent transcripts by @lifu963 in #3586
- fix(security): resolve open code-scanning alerts (archive extraction, command injection, untrusted checkout, integer bounds) by @esengine in #3718
- fix(desktop): strip controller-injected prefixes from chat display (#3720) by @esengine in #3744
- fix(provider): time out a stalled SSE stream instead of hanging (#3374) by @esengine in #3745
- fix(bash): reap the process group after a command completes (#3702) by @esengine in #3748
- fix(codegraph): stop leaking detached MCP daemons and indexing the whole drive (#3747) by @esengine in #3755
- fix(desktop): convert \slashed to \not for KaTeX compatibility by @lightfront in #3750
- test(desktop): use single-backslash inputs in the slashed golden tests by @esengine in #3761
- Refresh desktop themeable workspace UI / 刷新桌面主题化工作区界面 by @SivanCola in #3752
- fix(diff): bound the Myers n+m sum so it can't overflow (CodeQL) by @esengine in #3773
- fix(diff): clamp Myers edit-distance operands to clear the allocation overflow alert by @esengine in #3775
- feat: add bot gateway by @SivanCola in #3763
- fix(bot): require Feishu webhook token; split weixin login out of the 800-line file by @esengine in #3779
- fix(diff): avoid input-derived Myers allocation arithmetic by @SivanCola in #3777
- fix(desktop): stop auto-populating empty model lists from provider API by @CVEngineer66 in #3711
- feat(tui): add Ctrl+Home/Ctrl+End shortcuts to scroll the transcript viewport to top/bottom by @alxbnct in #3723
- chore(deps): bump react, react-dom and @types/react in /desktop/frontend by @dependabot[bot] in #3690
- feat(control): extract text from PDF attachments / 提取 PDF 附件文本 by @SivanCola in #3618
- Split /new and /clear session flows / 区分 /new 与 /clear 会话流程 by @SivanCola in #3780
- fix: isolate desktop sessions by workspace by @GTC2080 in #3029
- fix(proc): reap codegraph's process tree off Windows via process groups by @esengine in #3787
- fix(desktop): make the frontend typecheck under TypeScript 6 (unblocks #3691) by @esengine in #3791
- chore(deps-dev): bump typescript from 5.9.3 to 6.0.3 in /desktop/frontend by @dependabot[bot] in #3691
- chore(deps-dev): bump @types/react-dom to 19 to match @types/react by @esengine in #3793
- Follow up desktop UI fixes after PR #3752 merge / 补入 #3752 合并后的桌面 UI 修复 by @SivanCola in #3795
- fix(tui): return pendingModelSwitch after skill delete to unblock Enter by @LVGG in #3783
- [desktop] fix model selector dropdown scroll and truncated name tooltip by @Li-Charles-One in #3647
- fix(desktop): 文件面板右键新增「显示文件所在位置」 by @Li-Charles-One in #3583
- refactor(desktop): extract goal-draft collaboration-mode helpers by @esengine in #3802
- Guard sidebar new session CTA layout / 保护侧栏新建会话 CTA 布局 by @SivanCola in #3800
- fix(desktop): preserve curated provider models on refresh by @SivanCola in #3789
- fix(desktop): collapse noisy MCP startup errors by @SivanCola in #3803
- chore: add desktop production test build helper by @SivanCola in #3808
- fix(desktop): MCP batch retry via allSettled; drop dead browser-preview guard by @esengine in #3809
- fix(desktop): restore clipboard image paste / 修复桌面端剪贴板图片粘贴 by @SivanCola in #3707
- fix(desktop): deduplicate blank tab creation (#3219) by @HBLADEH in #3741
- fix: adapt logos for dark theme / 修复深色主题 logo 适配 by @SivanCola in #3814
- Stabilize sidebar and appearance layouts / 稳定侧栏与外观布局 by @SivanCola in #3819
New Contributors
- @dependabot[bot] made their first contribution in #3680
- @HorusJiang made their first contribution in #3716
- @lifu963 made their first cont...
Reasonix CLI v1.4.0
Changelog
- ece9b77 Merge pull request #3553 from taibai233/feature/empty-enter-scroll-bottom
- ccbdc79 feat(desktop): Developer ID signing + notarization for macOS release (#3619)
- b49b2d1 fix(desktop): preserve curated provider model lists (#3613)
- 82dc750 test(tui): add regression test for empty-enter scroll-to-bottom in both idle and running state
- d5dc8df fix(tui): also scroll to bottom on empty enter during running state
- bd2b29b feat(tui): empty enter scrolls viewport to bottom
- 272bc9d fix(desktop): prevent step limit segmented buttons from wrapping on narrow screens (#3596)
- 368dad0 fix(desktop): honor user font in UI chrome (#3605)
- c8007a6 fix(desktop): restore project to sidebar when resuming session from history, add toast notification system (#3603)
- 823fdce feat(codegraph): harden runtime bootstrap (#3623)
- f311a47 fix(permission): remember approval scopes by rule (#3549)
- 3141ddd fix(composer): refresh @ mention picker on workspace/project switch (#3601) (#3606)
- b30215a fix(desktop): prevent context menu and popover flash-close during streaming generation (#3608)
- 7c7285d fix(desktop): 拖动窗口图标时不再崩溃 (#3573) (#3616)
- b73ce71 feat(CLI):优化Termux体验,解决在termux上无法移动聊天上下文等问题 (#3611)
- 58f444a feat(run): add --resume flag for precise session file targeting (#3597)
- acc0aeb feat(cli): add /sandbox status command (#3316) (#3585)
- 4441e6b fix(agent): reduce evidence verification false signals — remove duplicate finalReadinessCheck, add session fallback for complete_step command matching, and drop stale todo indicator (#3587)
- bbf7610 fix(web_fetch): reuse network proxy resolution (#3614)
- e2568bd fix(desktop): unify font family for model names and UI labels (#3468) (#3595)
- d4422b6 fix(desktop): 修复粘贴附件保存到错误的工作区目录 (#3600)
- 10fecba fix(tui): submit exact completion on enter (#3593)
- 8b2028e feat(openai): support adjusting thinking level for MiniMax-M3 (#3594)
- ba094b9 feat(web_fetch): proxy support with SSRF-safe HTTP CONNECT / SOCKS5 tunnelling (#3581)
- f5363dd feat(desktop): render chat attachments as cards (#3577)
- 2a8b244 fix:解决Termux下无法呼出手机键盘问题 (#3563)
- f6e6673 feat(desktop): add text size shortcuts (#3576)
- c5372f5 fix(desktop): 字体设置对加粗字符生效 (#3459) (#3569)
- a63feca fix(desktop): center workspace panel resizer line to eliminate gap (#3443) (#3566)
- 91eac0a fix(desktop): prevent middle-click from navigating webview (#3505) (#3564)
- 55e683d fix(desktop): restore maximized window from tray (#3568)
- cf7e483 Add clear alias for fresh sessions (#3575)
- 9328c48 fix(desktop): classify proxy providers separately from official access (#3571)
- 9828086 fix(desktop): virtualize composer / and @ menus, drop item caps (#3579)
- 8feb6b3 fix(openai): harden request building for strict OpenAI-compatible backends (#3574)
- 0d015fc fix: modify workspace git display (#3507)
- 5cf486f fix(agent): prevent executor handoff role confusion / 防止执行器交接角色混淆 (#3541)
- f9a7c08 feat(cli): add reasonix review subcommand for code review (#3518)
- 9373980 fix(chooser): separate Enter (confirm) from Space (toggle) in multi-select (#3530)
- 7f5fa3d fix(desktop): allow history panel to expand in narrow windows (#3544)
- 6969e96 fix(desktop): disable native drags for internal images (#3547)
- d5c5d3b docs: note Windows code signing via SignPath Foundation (#3551)
- 7fffa2f fix(desktop): persist yolo composer mode across reload (#3546)
- c0bb179 fix(permission): make session/persist approval grants tool-wide (#3542)
- 0d248f7 fix(agent): make planner step limit configurable (#3532)
- d43d0e7 ci(release): keep canary off the GitHub releases page (R2-only) (#3531)
- d0ce765 ci(release): gate stable releases behind the release environment (#3528)
- 78b19bf feat: add opt-in canary update channel (desktop + CLI) (#3514)
- c816d2d perf(desktop): coalesce streaming text/reasoning deltas per animation frame (#3114) (#3501)
- f506044 fix(desktop): anchor send button to bottom-right of composer (#3448)
- afb1466 fix(tool-card): collapse sub-agent tree with parent chevron (#3140)
- 6cc7396 feat(desktop): branch switcher dropdown in changes panel (#3482) (#3493)
- fbc80b8 feat(desktop): wire up ⌘K command palette (#3480)
- 7cef203 fix(desktop): classify attachments by real file type (#3474)
- f8bd98c fix(desktop): keep desktop-workspace pointer in sync across all navigation paths (#3436)
- 44486ff fix(desktop): only highlight composer resize grip on direct hover (#3461) (#3472)
- cd313db fix desktop skill detail expand control (#3462)
- 2532584 fix(config): preserve LSP config when rendering TOML (#3471)
- 60f98f6 fix(config): filter non-chat models from chat candidates (#3487)
- 3f75e4e Merge pull request #3336 from SuMuxi66/feature/past-chats-reference
- 82a820b fix(composer): preserve file default in at menu
- 19f9ccf fix(composer): return focus after picking past chat + fix CSS brace
- 9331bc0 fix(composer): make past chats a first-class at-menu item
- 7ca6f1b fix(composer): submit guard ref+state and docs trailing whitespace
- bc0885d fix(composer): keyboard navigation for past:chats and submit guard
- 46af735 docs(composer): document past chats reference architecture
- 7efa8ad feat(composer): add past chats reference flow