What's Changed
- chore(release): v0.15.9 by @qwen-code-ci-bot in #3971
- fix(cli): validate /model command arguments by @yiliang114 in #3963
- fix(core): log the OpenAI request actually sent on the wire by @tanzhenxin in #3767
- fix(core): drop disabled MCP server from health status registry by @BZ-D in #3916
- test(cli): drop wait-dependent SessionPicker search tests (closes #3977) by @qqqys in #3978
- feat(core): add reactive compression on context overflow by @doudouOUC in #3879
- fix(core): filter Mistral reasoning content at request boundary by @cyphercodes in #3882
- fix(cli): preserve comments and formatting in settings.json during migration write-back by @B-A-M-N in #3861
- [codex] fix monitor notifications for subagents by @doudouOUC in #3933
- feat(memory): add autoSkill background project skill extraction by @LaZzyMan in #3673
- feat(cli): improve slash command discovery by @LaZzyMan in #3736
- fix(cli): unfreeze Ctrl+O compact-mode toggle on long conversations by @chiga0 in #3905
- feat(core): support QWEN_HOME env var to customize config directory by @tanzhenxin in #2953
- feat(vscode): add message edit/rewind and message metadata UI by @DragonnZhang in #3762
- fix(cli): replace clearTerminal with targeted repaint on resize by @chiga0 in #3967
- feat(telemetry) suppress OpenTelemetry diagnostics from UI by @doudouOUC in #3986
- fix(core): harden reactive compression follow-ups by @doudouOUC in #3985
- fix(core): throttle shell tool live text updates by @chiga0 in #3902
- feat: add /diff command and git diff statistics utility by @BZ-D in #3491
- fix(core): unify Edit/WriteFile prior-read with Claude Code; close #3964 + #3945 by @wenshao in #4002
- feat(tools): add ToolSearch for on-demand loading of deferred tool schemas by @wenshao in #3589
Full Changelog: v0.15.9...v0.15.10