What's Changed
- feat(cli): CJK word segmentation and Ctrl+arrow navigation optimization by @Apophis3158 in #2942
- fix(vscode): force fresh ACP session on new-session action by @yiliang114 in #2874
- feat: replace text input with model picker for Fast Model in /settings by @wenshao in #3120
- feat: show description for active setting in /settings dialog by @wenshao in #3116
- fix(cli): prioritize slash command completions by @yiliang114 in #3104
- feat(i18n): add French (fr-FR) locale support by @sibylassana95 in #3126
- fix(cli): improve markdown table rendering in terminal by @wenshao in #2914
- fix: prevent statusline script from corrupting settings.json by @wenshao in #3091
- fix(cli): check NEWLINE before SUBMIT in TextInput multiline mode by @tanzhenxin in #3094
- fix(input): preserve tab characters in pasted content by @tanzhenxin in #3045
- fix: use latest assistant token count on resume instead of stale compression checkpoint by @tanzhenxin in #3109
- fix: upgrade normalize-package-data to 7.0.1 (fixes DEP0169 warning) by @evan70 in #2865
- feat(cli): queue input editing — pop queued messages for editing via ↑/ESC by @wenshao in #2871
- fix(core): cap recursive file crawler at 100k entries to prevent OOM by @tanzhenxin in #3138
- fix(channels): apply proxy settings to channel start command by @tanzhenxin in #3136
- fix: lazy-load channel plugins to eliminate DEP0040 startup warning by @tanzhenxin in #3134
- fix(core): fall back to CLI confirmation when IDE diff open fails by @yiliang114 in #3031
- fix(core): handle empty OAuth refresh response body by @B-A-M-N in #3123
- fix(followup): fix follow-up suggestions not working on OpenAI-compatible providers by @wenshao in #3151
- feat(channels): add voice message support in TelegramAdapter by @feyclaw in #3150
- feat(cli): support tools.sandboxImage in settings by @doudouOUC in #3146
- feat(cli): warn when workspace overrides global modelProviders by @doudouOUC in #3148
- feat(hooks): Add StopFailure and PostCompact hook events by @DennisYu07 in #2825
- feat(core): intelligent tool parallelism with Kind-based batching and shell read-only detection by @wenshao in #2864
- docs(readme): Add announcement for Qwen OAuth free tier policy adjustment by @pomelo-nwu in #3207
- fix(cli): recover from stuck bracketed-paste mode and keep Ctrl+C reachable by @wenshao in #3181
- chore: remove legacy directories (.gcp, .aoneci, hello, .allstar) by @pomelo-nwu in #3199
- refactor: merge test-utils package into core by @pomelo-nwu in #3200
- fix(cli): set qwen3.5-plus as default model for Coding Plan by @pomelo-nwu in #3193
- ci(release): parallelize release validation by @yiliang114 in #3132
- feat: add contextual tips system with post-response context awareness by @wenshao in #2904
- feat(subagents): propagate approval mode to sub-agents by @tanzhenxin in #3066
- fix(core): respect respectGitIgnore setting in @file injection path by @tanzhenxin in #3197
- feat(skills): add model override support via skill frontmatter by @tanzhenxin in #2949
- fix(core): show clear error when MCP server cwd does not exist by @tanzhenxin in #3192
- fix(cli): honor --openai-api-key in non-interactive auth validation by @tanzhenxin in #3187
- chore: bump version to 0.14.4 by @tanzhenxin in #3209
- fix(cli): stop refilling input with prior prompt on cancel by @tanzhenxin in #3208
- feat(cli): support bare exit/quit commands to exit the CLI by @tanzhenxin in #3201
- feat(subagents): add disallowedTools field to agent definitions by @tanzhenxin in #3064
- fix(core): allow Unicode characters in agent names by @tanzhenxin in #3194
- feat(core): add microcompaction for idle context cleanup by @tanzhenxin in #3006
New Contributors
- @Apophis3158 made their first contribution in #2942
- @sibylassana95 made their first contribution in #3126
- @evan70 made their first contribution in #2865
- @B-A-M-N made their first contribution in #3123
- @feyclaw made their first contribution in #3150
Full Changelog: v0.14.3...v0.14.4-preview.0