What's Changedfeat(file-ipc): add bounded chunk reads by @eeee0717 in #17152fix(file-preview): unify file and artifact preview routing by @zhangjiadi225 in #17646refactor(design-tokens): converge semantic color contract by @zhangjiadi225 in #17535chore(renderer): remove dead v1 prompt tool-call residue by @vaayne in #17686test(renderer): complete remaining frontend test convergence by @zhangjiadi225 in #17676feat(provider-settings): allow changing the default endpoint by @DeJeune in #17691feat(provider): add Radeon Cloud integration by @JoursBleu in #16622fix(agent-permission-mode): stop defaulting new agents to auto by @vaayne in #17690feat(knowledge): show folder import copy progress by @eeee0717 in #17655fix: distinguish mini app launchpad icon from window pin by @Pleasurecruise in #17683feat(chat-citations): restore inline web search and knowledge base citations by @eeee0717 in #17590test(renderer): consolidate frontend regression coverage by @zhangjiadi225 in #17671fix(agent-migration): reset stale filesystem targets by @DeJeune in #17687fix(chat): sync multi-model context selection by @ousugo in #17371feat(provider-registry): support DeepSeek V4 Flash Responses API by @DeJeune in #17694fix(agent-permission-mode): keep the mode warning out of single-line rows by @vaayne in #17698feat(file-preview): stream PDF previews via range reads by @eeee0717 in #17153fix(agent-runtime): handle missing Claude invocation models by @DeJeune in #17670feat(chat-greeting): generate contextual empty-state greetings by @SiinXu in #17408fix(data-migration): match global model metadata for custom providers by @tommyzhang100504 in #17692fix(paintings): open on an empty page by @kangfenmao in #17660fix(provider-settings): reject invalid API key characters by @Pleasurecruise in #17678feat(file-manager): content-based dedup detection for internal files by @EurFelux in #17210refactor(file-ipc): audit legacy file IPC and begin superseding FileStorage by @EurFelux in #16735feat(file-manager): policy-based file entry GC with cleanup_policy and scan reaper by @EurFelux in #16727test(job,stream-manager): remove wall-clock races from cancel and idle-timeout tests by @EurFelux in #17707fix(onboarding): skip redundant privacy agreement writes by @DeJeune in #17708fix(ui): keep focus feedback within control bounds by @DeJeune in #17436refactor(ui): polish settings, chat, and resource interfaces by @kangfenmao in #17710fix(agent-messages): prevent virtual list blanks after send by @zhangjiadi225 in #17677chore: release v2.0.0-rc.4 by @kangfenmao in #17734New Contributors@JoursBleu made their first contribution in #16622Full Changelog: v2.0.0-rc.3...v2.0.0-rc.4