What's Changed
- Release: localize process wakeup label (#5768) by @nesquena-hermes in #5820
- Release: document lock-free GIL contract for STREAM_* buffers (#5800) by @nesquena-hermes in #5821
- Update the screenshot by @nesquena in #5816
- Release: session-load latency perf (#5803) by @nesquena-hermes in #5822
- Release: centralize WebUI static asset resolution (#5557) by @nesquena-hermes in #5824
- Release: gateway SSE terminal idle-timeout, honor Stop (#5789) by @nesquena-hermes in #5825
- Release Batch A: worktree cli-shadow + atomic settings.json + state.db read-only by @nesquena-hermes in #5837
- Release Batch B: OPTIONS preflight framing + session-index bytes-parse by @nesquena-hermes in #5838
- Release: queue gateway-owned steer fallback (#5823) by @nesquena-hermes in #5845
- Release Batch C: hidden-tab poll + SSE write-deadline + rate-limit map bound by @nesquena-hermes in #5847
- Release Batch D: terminal resource-leak fix + fsync atomic writers by @nesquena-hermes in #5848
- Release: cap StreamChannel offline replay buffer (#5788) by @nesquena-hermes in #5849
- Release: model-picker Selected badge + Transparent Stream dupe-prefix suppression (#5757, #5758) by @nesquena-hermes in #5850
- Release: Copy conversation link copies an openable URL (#5478) by @nesquena-hermes in #5851
- Release: hard-prune post-compression tool context (#5667) by @nesquena-hermes in #5852
- Release: classify external_agent imports as CLI (#5846, #5831) by @nesquena-hermes in #5855
- Release: fix workspace image previews + downloads under subpath mounts (#5830) by @nesquena-hermes in #5856
- fix(security): trusted-proxy-verified local-origin gate (fixes #5764 terminal-gate bypass) by @nesquena-hermes in #5857
- Release: write Office upload sidecars (#5734) by @nesquena-hermes in #5859
- Release: fix #4633 server memory growth — split anchor scenes after messages (#5858) by @nesquena-hermes in #5863
- Release: lazy-render collapsed worklog rows w/ post-process + disclosure preservation (#5860, #5839) by @nesquena-hermes in #5866
- Release: fix Experimental channel version display on stable-tagged installs (#5864, #5862) by @nesquena-hermes in #5868
- Release: centralize auxiliary-model task catalog (#5865) by @nesquena-hermes in #5870
- Release: repair stale session provider binding at chat start (#5873, #5731) by @nesquena-hermes in #5881
- Release: stale-session-load pane isolation (#5889) + fail-closed OpenRouter pricing (#5882) by @nesquena-hermes in #5893
- Fail closed on incomplete OpenRouter pricing by @igorroncevic in #5882
- Fix stale session loads contaminating the active pane by @starship-s in #5889
- Release: focus composer after URL prefill (#5887) by @nesquena-hermes in #5897
- fix(#5884): focus composer after URL prefill by @rodboev in #5887
- Release: pause credential-exhausted process wakeups (#5732, #3929) by @nesquena-hermes in #5898
- Live Stream: pause credential-exhausted process wakeups by @franksong2702 in #5732
- Release: resumable session SSE stream (#5677, #4812) by @nesquena-hermes in #5901
- feat(#4812): add resumable session SSE stream by @rodboev in #5677
- Release: CSV media download affordance (#5792) by @nesquena-hermes in #5904
- fix(csv): keep media downloads visible in previews by @ruizanthony in #5792
New Contributors
- @igorroncevic made their first contribution in #5882
Full Changelog: v0.52.0...v0.52.28