What's Changed
- Release (tag at ship): Gateway turns use the session's own profile endpoint and key (#7983) by @nesquena-hermes in #8272
- fix(gateway-chat): resolve fresh turns' gateway endpoint from the session's profile by @conradmicallef in #7983
- Release (tag at ship): login keeps your destination behind a subpath mount (#8212) by @nesquena-hermes in #8273
- fix(login): remap prefix-stripped next= onto app root for subpath mounts by @robslove in #8212
- Release (tag at ship): a second attachment with the same filename is kept (#8204) by @nesquena-hermes in #8274
- fix(composer): keep a second attachment that shares a filename with one already pending by @lucastraba in #8204
- Release (tag at ship): a rename or archive is no longer undone by a concurrent session load (#8269) by @nesquena-hermes in #8275
- fix(sessions): do not cache a session read before a concurrent save by @TowardInfinity in #8269
- Release (tag at ship): optional task list in the chat (#6978) by @nesquena-hermes in #8276
- feat(chat): collapsible task list tray in the chat area with alignment setting by @silent-reader-cn in #6978
- Release (tag at ship): a delegated task's result is retried again after a stuck delivery (#8278) by @nesquena-hermes in #8279
- fix(delegation): hand a declined completion offer back before the retry sweep by @nesquena-hermes in #8278
- Release (tag at ship): Release exp-v0.52.499: Settings fixes: provider usage labels, local providers show configured, update line wraps + latest tag (#6893 #7246 #6859) (#6893) by @nesquena-hermes in #8280
- feat(updates): surface latest release tag in the System panel update status line by @lucas-albers-lz4 in #6859
- fix: label provider usage windows by duration by @mvanhorn in #6893
- fix(#7073): show keyless self-hosted providers as configured by @rodboev in #7246
- Release (tag at ship): Release exp-v0.52.500: Take photo / Choose files on phones and tablets; Kanban Scheduled column (#7069 #7906) (#7069) by @nesquena-hermes in #8281
- feat(#6942): add a mobile camera attachment choice by @rodboev in #7069
- fix(kanban): add scheduled status to BOARD_COLUMNS and task editor (#7900) by @webtecnica in #7906
- Release (tag at ship): Release exp-v0.52.501: composer stays above the keyboard on Android Chrome/Edge (#6475) (#6475) by @nesquena-hermes in #8284
- fix(mobile): close composer-keyboard gap on Edge Android via interactive-widget viewport hint by @qxxaa in #6475
- Release (tag at ship): Release exp-v0.52.502: open thinking cards follow streaming reasoning (#7988) (#7988) by @nesquena-hermes in #8285
- feat(thinking): auto-scroll streaming reasoning in thinking cards (follow/hold) by @esc247 in #7988
- Release (tag at ship): model picker keeps search and highlighted row visible; custom provider lists sorted (#7528) by @nesquena-hermes in #8311
- fix(model-picker): alphabetize model entries across dropdown and catalogs by @happy5318 in #7528
- Release (tag at ship): test suite keeps the Agent on sys.path and cleans up state.db after each test (#8277) by @nesquena-hermes in #8313
- test(conftest): keep the Agent dir in the per-test sys.path snapshot by @nesquena-hermes in #8277
- Release (tag at ship): two recurring CI flakes fixed (#8312) by @nesquena-hermes in #8318
- fix(ci): [SLOW] log tolerates minimal handlers; legacy worker test pins tracked rows by @nesquena-hermes in #8312
- Release (tag at ship): Release exp-v0.52.503: session menu and Move-to-project picker stay with their row (#6713) (#6713) by @nesquena-hermes in #8288
- fix(sessions): keep project picker within viewport by @pxxD1998 in #6713
- Release (tag at ship): showToast(msg, 'error') no longer dismisses the toast instantly (#8315) by @nesquena-hermes in #8324
- fix(toast): showToast(msg, 'error') no longer dismisses the toast instantly by @nesquena-hermes in #8315
- Release (tag at ship): Insights custom date range (#6970) by @nesquena-hermes in #8325
- feat(insights): support absolute date range selection + fix layout spacing by @silent-reader-cn in #6970
- Release (tag at ship): German cron strings (#8289) by @nesquena-hermes in #8329
- i18n(de): translate cron strings that still copied English by @solarmaster961 in #8289
- Release (tag at ship): Russian profile and timestamp strings (#8001) by @nesquena-hermes in #8333
- fix(i18n): fill missing Russian translations for profile_concept and transparent-stream keys (#7579) by @RajPabnani03 in #8001
- Release (tag at ship): keyboard and screen-reader access to sidebar chats (#8214) by @nesquena-hermes in #8335
- fix(a11y): open sidebar conversations from the keyboard and screen readers by @grzezlo in #8214
- Release (tag at ship): failed file previews say why (#7254) by @nesquena-hermes in #8338
- fix(ui): show actionable media preview errors by @pxxD1998 in #7254
- Release (tag at ship): Scheduled Tasks mark the job that just ran (#6767) by @nesquena-hermes in #8342
- fix: match cron new-run dot to the red unread badge and refresh it live by @martindell in #6767
- Release (tag at ship): chats on a named custom provider keep their model (#8256) by @nesquena-hermes in #8346
- fix(models): keep valid named-custom session models and repair removed ones by @MoBluey in #8256
- Release (tag at ship): cached run-journal path lookup (#8322) by @nesquena-hermes in #8347
- perf(run-journal): cache run-id -> journal path resolution (~244x on the hot path) by @silent-reader-cn in #8322
- Release (tag at ship): Skills panel works with both Agent spellings of the skills ordering helper (#8367) by @nesquena-hermes in #8373
- Release (tag at ship): Wave 1: dashboard // reject, copy-button perf, Windows already-running, terminal key order, scaling-test de-flake (#8354) by @nesquena-hermes in #8377
- fix(bootstrap): recognise our own WebUI behind a Windows WSAEACCES bind by @Thanatos9404 in #8301
- perf(session): skip processed code blocks in the copy-button selector by @MuhammadUsamaMX in #8309
- test(run-journal): make the echo-scan scaling ratio noise-robust by @MuhammadUsamaMX in #8328
- fix(terminal): keep typed keys in order by @grzezlo in #8341
- fix(dashboard): reject double-slash browser URL paths (#7844 follow-up) by @MuhammadUsamaMX in #8354
- Release (tag at ship): Agent update reports a deadline-cancelled fetch as a timeout, not a network outage (#8375) by @nesquena-hermes in #8378
- fix(updates): report a deadline-cancelled fetch as a timeout, not a connectivity failure by @pcsokonay in #8375
- Release (tag at ship): Deleting a conversation also retires its Gateway runtime records (#8323) by @nesquena-hermes in #8381
- fix(session-delete): retire the full gateway ledger before deleting files (#8300) by @Overview3833 in #8323
- Release (tag at ship): Composer dropdowns stay open when the on-screen keyboard resizes the viewport (#7472) by @nesquena-hermes in #8383
- fix(ui): don't close composer dropdowns on keyboard-induced resizes above 640px by @jatinbharadia in #7472
- Release (tag at ship): the mobile camera-choice test passes in full suite runs (#8382) by @nesquena-hermes in #8385
- test(#6942): isolate the camera-choice test server's config so it passes in full runs by @nesquena-hermes in #8382
- Release (tag at ship): composer quota chip follows the conversation's provider (#6506, @sheldon-im) (#6506) by @nesquena-hermes in #8389
- Fix composer quota display for the active session provider by @sheldon-im in #6506
- Release (tag at ship): subagent sessions follow their parent in the sidebar (#7771, @carlotestor) (#7771) by @nesquena-hermes in #8390
- fix(sidebar): stop flag-less delegated subagents leaking as top-level rows by @carlotestor in #7771
- Release (tag at ship): tool calls without a result no longer break a conversation (#7237, @happy5318) (#7237) by @nesquena-hermes in #8394
- fix(context): drop orphan tool_calls before they poison a session by @happy5318 in #7237
- Release (tag at ship): long messages no longer show another message's text (#8387) by @nesquena-hermes in #8395
- fix(render): long messages that share length and edges no longer show each other's body by @nesquena-hermes in #8387
- Release (tag at ship): archiving a session from another profile works (#7731, @MuhammadUsamaMX) (#7731) by @nesquena-hermes in #8401
- Release (tag at ship): long chats stop jumping while you scroll (#8122, @MuhammadUsamaMX) (#8122) by @nesquena-hermes in #8404
- Release (tag at ship): Steer goes to the live Gateway run (#7919, @carlotestor) (#7919) by @nesquena-hermes in #8405
- fix(gateway): forward Steer to the live Gateway run instead of queueing it by @carlotestor in #7919
- Release (tag at ship): the finished reply stays on screen in Transparent Stream (#7833, @MuhammadUsamaMX) (#7833) by @nesquena-hermes in #8407
- Release (tag at ship): test suite no longer does real DNS lookups (fixes the shard-4 CI flake) (#8396) (#8396) by @nesquena-hermes in #8411
- test: block DNS in the shared network isolation (fixes the shard-4 credential-pool CI flake) by @nesquena-hermes in #8396
- Release (tag at ship): batch A: messaging session_reset stays in Today (#8298) + Windows file:/// links (#8243) (#8298) by @nesquena-hermes in #8416
- fix(media): normalize Windows drive-letter file:/// URIs at the media route (#8033) by @happy5318 in #8243
- fix(sidebar): keep a messaging session_reset successor top-level by @solarmaster961 in #8298
- Release (tag at ship): Insights cache hit rate no longer capped at 50% (#8372) (#8372) by @nesquena-hermes in #8417
- fix(insights): stop capping the cache hit rate at 50% by @balabommablock-cpu in #8372
- Release (tag at ship): a message sent while a /goal continuation is pending runs as your own turn (#7855, @happy5318) (#7855) by @nesquena-hermes in #8419
- fix(goal): admit a genuine user turn over a pending goal-continuation marker (#6885) by @happy5318 in #7855
- docs(changelog): stamp v0.52.492 by @nesquena-hermes in #8430
- Release (tag at ship): run-journal retention archives settled runs (#7642) by @nesquena-hermes in #8434
- fix(run-journal): add retention sweep for terminal runs (#7613) by @aleesposito85 in #7642
- docs: weekly contributor tally refresh (20261021) by @nesquena-hermes in #8438
- Release (tag at ship): test state dir guard (#8414) + update timeout credential scrub (#8415) by @nesquena-hermes in #8431
- fix(tests): never let the test state dir resolve to the checkout by @Overview3833 in #8414
- fix(updates): scrub credentials from the operation echoed in the timeout message by @pcsokonay in #8415
- Release (tag at ship): Gateway async-delegation wakeup (#7901) by @nesquena-hermes in #8433
- fix(gateway): wake the agent on async-delegation completions under the Gateway backend by @carlotestor in #7901
- Release (tag at ship): Agent session titles come from the submitted prompt (#8436) by @nesquena-hermes in #8441
- fix(sessions): keep workspace context out of Agent titles by @mickek in #8436
- Release (tag at ship): Agent oneshot runs no longer push your conversations out of the sidebar (#8349) by @nesquena-hermes in #8443
- fix(sessions): keep oneshot runs out of the interactive sidebar window by @balabommablock-cpu in #8349
- Release: Gateway key no longer sent to another profile's Gateway (#8435, fixes #8432) by @nesquena-hermes in #8454
- fix(gateway-chat): a named process profile's Gateway URL is no longer paired with another profile's key (#8432) by @nesquena-hermes in #8435
- Release: multi-container Docker installs import the Agent again (#8360, fixes #8113) by @nesquena-hermes in #8457
- fix(docker): select the agent venv interpreter instead of inheriting the 3.12 base image by @MuhammadUsamaMX in #8360
- Release (tag at ship): Gateway key on the shared URL follows the URL (#8463) (#8463) by @nesquena-hermes in #8469
- fix(gateway-chat): a profile's API_SERVER_KEY never replaces the shared key on the shared URL by @nesquena-hermes in #8463
- Release (tag at ship): Run-journal sweep keeps journals a session still needs (#8464) (#8464) by @nesquena-hermes in #8474
- fix(run-journal): never archive a run the session still needs (rollback-safe) by @nesquena-hermes in #8464
- Release (tag at ship): Non-English delete-failure text no longer says the delete succeeded (#8466) (#8466) by @nesquena-hermes in #8476
- fix(i18n): session_delete_cleanup_failed no longer says a failed delete succeeded (14 locales) by @nesquena-hermes in #8466
- Release (tag at ship): Staged Agent path checked and used as one path (#8471) (#8471) by @nesquena-hermes in #8481
- fix(startup): check and return the same resolved Agent stage path; never abort startup on a bad stage value by @nesquena-hermes in #8471
New Contributors
- @conradmicallef made their first contribution in #7983
- @robslove made their first contribution in #8212
- @lucastraba made their first contribution in #8204
- @TowardInfinity made their first contribution in #8269
- @lucas-albers-lz4 made their first contribution in #6859
- @esc247 made their first contribution in #7988
- @solarmaster961 made their first contribution in #8289
- @RajPabnani03 made their first contribution in #8001
- @grzezlo made their first contribution in #8214
- @Thanatos9404 made their first contribution in #8301
- @Overview3833 made their first contribution in #8323
- @balabommablock-cpu made their first contribution in #8372
- @mickek made their first contribution in #8436
Full Changelog: v0.52.492...v0.52.544