What's Changed
- feat(composer): add smooth wheel control for reasoning effort by @ousugo in #17829
- fix(sidebar): add sidebar management menu entry by @ousugo in #18031
- fix(agent-channels): strip citation markers from IM replies by @Pleasurecruise in #18064
- feat(chat-composer): show assistant context usage by @zhangjiadi225 in #18006
- fix(agent-session): limit automatic naming to initial turn by @zhangjiadi225 in #17987
- feat(web-search): add Firecrawl as a URL fetch provider by @DeJeune in #18089
- perf(chat-tabs): eliminate tab-switch IPC and re-render churn under Activity keep-alive by @zhangjiadi225 in #18035
- feat(knowledge-data-source): write a new note straight into the knowledge base by @eeee0717 in #18022
- fix(agent): make the configured system prompt authoritative by @AtomsH4 in #18100
- fix(agent-attachments): preserve managed files for session history by @vaayne in #18027
- fix(code-cli): respect Linux default terminal by @Pleasurecruise in #18103
- fix(composer): keep input compact in maximized panels by @zhangjiadi225 in #18125
- docs(design-system): streamline global UI guidance by @zhangjiadi225 in #18110
- fix(linux-packaging): ship GLIBC-compatible better-sqlite3 by @kangfenmao in #17778
- fix(openai-compatible): always echo reasoning_content on assistant turns by @DeJeune in #18121
- fix(mini-app): dismiss loading overlay on dom-ready by @Pleasurecruise in #18079
- feat(agent-runtime): support scoped AGENTS.md instructions by @vaayne in #18126
- fix(backup): skip EBUSY locked files (LevelDB LOCK) during automatic backup by @xxiaoxiong in #18117
- fix(agent-runtime): recover duplicate tool use ID failures by @AtomsH4 in #18119
- fix(mcp): resolve stdio MCP servers to full paths on Windows by @LWWZH in #16472
- fix(notes): align sidebar note icons by @ousugo in #18143
- fix(mcp): close stale clients so ping failures stop orphaning child processes by @DeJeune in #18146
- fix(chat-migration): bound message block indexing memory by @kangfenmao in #18127
- ci: reduce pre-merge test runtime by @Pleasurecruise in #18165
- fix(lifecycle): bound each service's teardown during shutdown by @0xfullex in #18136
- feat(code-cli): add Pi coding agent to Code Tools by @vaayne in #16928
- fix(mcp-tools): prevent non-ASCII tool identity collisions by @AtomsH4 in #18128
- fix(builtin-tools): stop sending strict so knowledge bases work on Anthropic by @eeee0717 in #18179
- fix(backup): skip LevelDB locks in streamed backups by @AtomsH4 in #18173
- fix(resource-list): unify cross-panel list styling by @zhangjiadi225 in #18046
- fix(mcp-tool-approval): treat IM-channel sessions as background agents for MCP tool access by @lanex2000 in #18153
- feat(chat-composer): save edited user messages without resending by @DeJeune in #18057
- fix(composer-draft): preserve unsent drafts across navigation by @zhangjiadi225 in #18019
- feat(external-apps): add Windows Terminal (wt.exe) support by @MengXiangxi in #17942
- fix(ai-provider): preserve OpenCode conversation affinity by @Pleasurecruise in #18184
- fix(ollama): detect native thinking capabilities by @Pleasurecruise in #18133
- perf(startup-memory): lazy-load five heavy main-process dependencies by @beyondkmp in #18189
- fix(selection-assistant): start a fresh chat session per selection by @DeJeune in #18200
- fix(code-cli): write valid OpenCode compaction config by @Pleasurecruise in #18015
- fix(agent-session): preserve citations for deferred tool outputs by @zhangjiadi225 in #18124
- fix(code-cli): synchronize Codex authentication mode by @Pleasurecruise in #18188
- 🤖 Daily Auto I18N Sync: Aug 08, 2026 by @github-actions[bot] in #18208
- chore: release v2.0.3 by @kangfenmao in #18210
- fix(data-migration): tolerate malformed agent MCP data by @AtomsH4 in #18176
- fix(agent-right-pane): move declared outputs under the task plan by @kennyzheng-builds in #18216
- feat(composer-toolbar): pin permission mode by default for new users by @kennyzheng-builds in #18222
- feat(model-retry): user-configured model retry & fallback via ai-retry by @DeJeune in #16057
- fix(knowledge-readers): reject binary Office text fallback by @kennyzheng-builds in #18260
- fix(chat-attachments): respect endpoint media support by @AtomsH4 in #18182
- fix(knowledge-migration): stop v1 folder files and duplicate uploads from migrating as uuids by @eeee0717 in #18167
- fix(agent-session): own session warmth leases in main across windows by @zhangjiadi225 in #18108
- fix(claude-code-runtime): fix the agent auto-compact budget and trigger by @vaayne in #18137
- fix(agent-runtime): prefer a model's Anthropic Messages endpoint for agent sessions by @DeJeune in #18221
- fix(agent-runtime): surface Claude Code API failures by @zhangjiadi225 in #18280
- 🤖 Daily Auto I18N Sync: Aug 10, 2026 by @github-actions[bot] in #18293
- fix(paintings): preserve long pasted prompts by @Pleasurecruise in #18291
New Contributors
- @lanex2000 made their first contribution in #18153
Full Changelog: v2.0.2...v2.0.3