What's Changed
- Release exp-v0.52.459: new chats keep the model's prompt cache (#8150) by @nesquena-hermes in #8151
- fix(chat): keep the session id out of the system prompt unless asked for (#8148) by @ybai08 in #8150
- Release exp-v0.52.460: the same mermaid diagram in two replies renders in both (#8159) by @nesquena-hermes in #8165
- fix(mermaid): render duplicate diagrams by giving each block a unique render id by @johnDEFI in #8159
- Release exp-v0.52.461: a saved-state update just before a restart is no longer lost (#7859) by @nesquena-hermes in #8167
- fix(recovery): restore journaled state-saved side effects by @franksong2702 in #7859
- Release exp-v0.52.462: the models cache's freshness clock is its build time, not the file's mtime (#7932) by @nesquena-hermes in #8169
- fix(models): persist and validate _built_at timestamp on models cache (Refs #7723) by @webtecnica in #7932
- Release exp-v0.52.463: Feishu and DingTalk chats show up as messaging sessions (#8174) by @nesquena-hermes in #8175
- Add feishu/dingtalk to MESSAGING_SOURCES so their sessions appear in the WebUI sidebar by @HenryLoveMiller in #8174
- Release exp-v0.52.464: the Memory panel's Project Context and the sidebar project chips are translated (#8178) by @nesquena-hermes in #8183
- fix(i18n): localize the Memory panel Project Context section and the sidebar project chips, fill the residual ru values (#7579) by @MuhammadUsamaMX in #8178
- Release exp-v0.52.465 (hotfix): chats no longer fail on every message with older Agent builds (#8187) by @nesquena-hermes in #8188
- fix(streaming): tolerate agents without ToolEntry.dynamic_schema_overrides by @Yi-111-a in #8187
- Release exp-v0.52.466: browser chats honour a profile's OpenRouter provider_routing (#7812) by @nesquena-hermes in #8191
- fix(webui): forward provider_routing block to in-process chat agents by @TheDevMoth in #7812
- Release exp-v0.52.467: composer chip and sidebar name the served model after a fallback (#7438) by @nesquena-hermes in #8193
- fix: resolve composer chip and sidebar model label on direct-provider fallback by @Guts1005 in #7438
- Release exp-v0.52.468: switching back to a long-running conversation no longer freezes the browser (#8171) by @nesquena-hermes in #8196
- fix: coalesce reasoning replay renders to prevent UI stalls by @UncleLiu-0306 in #8171
- Release exp-v0.52.469: tool calls pair only with an adjacent result (#8194) by @nesquena-hermes in #8206
- fix(context): pair tool_calls with only an ADJACENT result (split from #7237) by @happy5318 in #8194
- Release exp-v0.52.470: metadata-only session reads skip regeneration authority (#8173) by @nesquena-hermes in #8207
- fix(sessions): skip regeneration authority on metadata-only reads by @tobenot in #8173
- Release exp-v0.52.471: a malformed passkey response is a 400/401, never a 500 (#8138) by @nesquena-hermes in #8145
- fix(passkeys): a malformed passkey response is a 400/401, never a 500 (#8126) by @ybai08 in #8138
- Release exp-v0.52.472: Insights Models card gets 3x width in the usage row (#8157) by @nesquena-hermes in #8209
- fix(insights): give the Models card 3x width in the usage row by @aleesposito85 in #8157
- Release (tag at ship): sign-in works with a malformed foreign cookie (#8124, fixes #8123) [maintainer GO required] by @nesquena-hermes in #8136
- parse_cookie: skip malformed cookies instead of dropping the rest of the header by @pcsokonay in #8124
- Release (tag at ship): Enter on a focused control (incl. Deny) no longer approves a pending action (#8131, fixes #8130) [independent review required] by @nesquena-hermes in #8134
- fix(approval): Enter on a focused control (incl. Deny) no longer approves a pending action (#8130) by @nesquena-hermes in #8131
- Release (tag at ship): English Edge TTS voices, title-regenerate error text, sign-in page language (#8210, #8117, #8182) + RFC docs (#7852) by @nesquena-hermes in #8213
- fix: resolve #2361 — run state consistency authority matrix, invariants 10-11, and layer-named review checklist (docs-only) by @MuhammadUsamaMX in #7852
- fix: #7693 residual — regenerate-title 422 no longer leaks the internal status code by @MuhammadUsamaMX in #8117
- fix: server-rendered /login page honours Accept-Language (#7622 follow-up) by @MuhammadUsamaMX in #8182
- feat(tts): add English multilingual Edge TTS voices to the allowlist and picker by @judah-hermes-agent in #8210
- Release (tag at ship): a finished reply no longer vanishes when the done payload is empty (#7836, fixes #6112) by @nesquena-hermes in #8220
- fix: #6112 keep the streamed assistant reply through the done settle by @MuhammadUsamaMX in #7836
- Release (tag at ship): faster secret redaction on long values (#8192) by @nesquena-hermes in #8221
- perf(redaction): skip impossible environment-assignment scans by @tobenot in #8192
- Release (tag at ship): project bindings — pin workspaces and a model to a sidebar project (#6836) by @nesquena-hermes in #8222
- feat: project bindings — multi-workspace, model and effort by @silent-reader-cn in #6836
- Release (tag at ship): Settings search shows results right away (#6370, fixes #6369) by @nesquena-hermes in #8225
- fix(settings): render search results while panes load by @yugui923 in #6370
- Release (tag at ship): background-subagent wakeups no longer render as user messages (#7882) by @nesquena-hermes in #8229
- fix(webui): hide async delegation wakeup rows from the chat transcript by @CharlesMcquade in #7882
- Release (tag at ship): git pull timeouts no longer 500 or leak credentials (#8202) by @nesquena-hermes in #8230
- fix(updates): decode partial output on git timeout so pull failures don't 500 by @happy5318 in #8202
- Release (tag at ship): one Agent discovery path for service + bootstrap startup (#7247, fixes #1019) by @nesquena-hermes in #8231
- fix(#1019): unify Agent runtime discovery by @rodboev in #7247
- Release (tag at ship): updater recovers from remote-ref name collisions (#8227) by @nesquena-hermes in #8234
- fix: recover updater remote-ref collisions without pruning local tags by @UncleLiu-0306 in #8227
- Release (tag at ship): transcript fixes + render perf from @dss539 (#8218, #8219, #8217) by @nesquena-hermes in #8236
- perf(ui): reuse Intl formatters for transcript timestamps by @dss539 in #8217
- fix(chat): edit, regenerate and fork use a row's current index by @dss539 in #8218
- fix(outline): outline jumps land on the message and reuse loaded history by @dss539 in #8219
- Release (tag at ship): session save/read perf from @dss539 (#8215, #8216) by @nesquena-hermes in #8238
- perf(sessions): fingerprint replay rows only when their identity repeats by @dss539 in #8215
- perf(sessions): scan session metadata prefixes with a regex tokenizer by @dss539 in #8216
- Release (tag at ship): fix the order-dependent credential-pool CI flake (#8237, fixes #8226) by @nesquena-hermes in #8239
- test(credential-pool): pin the loaded-config path when seeding config in place (fixes #8226) by @nesquena-hermes in #8237
- Release (tag at ship): cron wrapper follows the Agent's renamed tool (#8201) + WAL test hardening (#8233) by @nesquena-hermes in #8246
- test: exercise the WAL snapshot refusal proof against the temporary database by @tobenot in #8233
- fix(streaming): install the cron profile wrapper under the renamed cronjob_manage tool by @angel291592 in #8201
- Release (tag at ship): virtualized transcripts measure before writing (#8232, fixes #7677) by @nesquena-hermes in #8247
- fix: resolve #7677 — read-before-write virtual measurement + transparent settle skips the redundant second rebuild (#7677) by @MuhammadUsamaMX in #8232
- Release (tag at ship): case-insensitive /api/ routing (#6589, fixes #3943), security solo by @nesquena-hermes in #8248
- fix(api): normalize API path case sensitivity by @webtecnica in #6589
- docs(changelog): stamp v0.52.458 by @nesquena-hermes in #8250
- Release (tag at ship): Gateway cancel reconciles the interrupted turn into context (#8166) by @nesquena-hermes in #8252
- Release (tag at ship): per-turn usage survives a reload (#8258) + session-visit catalog freshness 1 h (#8261) by @nesquena-hermes in #8262
- fix(streaming): persist per-turn usage on the settled assistant message by @cxk1993 in #8258
- perf(models): widen the session-visit disk-cache freshness window to 1h by @cxk1993 in #8261
- Release (tag at ship): draft autosave no longer rewrites the whole session (#6524) by @nesquena-hermes in #8268
- perf: avoid full session rewrites during draft autosave by @starship-s in #6524
New Contributors
- @johnDEFI made their first contribution in #8159
- @HenryLoveMiller made their first contribution in #8174
- @TheDevMoth made their first contribution in #7812
- @Guts1005 made their first contribution in #7438
- @UncleLiu-0306 made their first contribution in #8171
- @tobenot made their first contribution in #8173
- @aleesposito85 made their first contribution in #8157
- @judah-hermes-agent made their first contribution in #8210
- @yugui923 made their first contribution in #6370
- @dss539 made their first contribution in #8217
- @angel291592 made their first contribution in #8201
- @cxk1993 made their first contribution in #8258
Full Changelog: v0.52.458...v0.52.492