Frank Song
70b019f710
feat: let extension skins declare base scheme
2026-06-30 18:17:40 +08:00
nesquena-hermes
7c96296bf5
Merge pull request #5267 from nesquena/rebase-5251
...
Release v0.51.764 — continue /goal after gateway turns (#5251 , @rodboev)
2026-06-29 22:17:15 -07:00
nesquena-hermes
73ac59ebed
docs(changelog): continue /goal after gateway turns ( #5251 , #5092 )
2026-06-30 05:12:20 +00:00
Rod Boev
51a0fca24a
fix( #5092 ): continue WebUI goals after gateway turns
2026-06-30 05:04:32 +00:00
nesquena-hermes
1f85da54e9
Merge pull request #5265 from nesquena/rebase-5198
...
Release v0.51.763 — enforce active profile on request-supplied session IDs (#5198 , @starship-s)
2026-06-29 21:54:18 -07:00
nesquena-hermes
e87ed43557
docs(changelog): enforce active profile on request-supplied session IDs ( #5198 )
2026-06-30 04:43:42 +00:00
nesquena-hermes and starship-s
468b61e513
fix(auth): release STREAM_SESSION_OWNERS on worker early-return + stale-run prune
...
Gate hardening for #5198 : the new stream-owner map leaked entries on three
paths that bypass the teardown finally — worker early-return when the stream
was cancelled before startup (streaming.py, gateway_chat.py) and the direct
ACTIVE_RUNS stale-zombie prune (routes.py). Each now calls unregister_stream_owner.
Adds a regression test proving the early-return path no longer leaks.
Co-authored-by: starship-s <starship-s@users.noreply.github.com >
2026-06-30 04:39:00 +00:00
Hermes Agent
fabd461dcd
fix(auth): guard profile-owned stream IDs
2026-06-30 04:28:15 +00:00
Hermes Agent
a993fee060
docs(auth): document request session guard scope
2026-06-30 04:28:15 +00:00
Hermes Agent
f26896f96a
refactor(auth): remove unreachable chat retag branch
2026-06-30 04:28:15 +00:00
Hermes Agent
a397b5e078
test(auth): align chat retag fixture with active profile
2026-06-30 04:28:15 +00:00
Hermes Agent
9e861b5651
fix(auth): tolerate query-less route inputs
2026-06-30 04:28:15 +00:00
Hermes Agent
c068dbc39b
fix(auth): enforce active-profile session IDs
2026-06-30 04:28:15 +00:00
nesquena-hermes
95f1486567
Merge pull request #5263 from nesquena/rebase-5179
...
Release v0.51.762 — file-manager active-profile enforcement (#5179 , @Hinotoi-agent)
2026-06-29 21:25:48 -07:00
nesquena-hermes
741973ce7a
docs(changelog): enforce active profile for file-manager session workspaces ( #5179 )
2026-06-30 04:22:11 +00:00
hinotoi-agent
41ec8238ba
chore: log file manager profile denials
2026-06-30 04:12:27 +00:00
hinotoi-agent
40679f2af8
test: isolate file manager profile checks
2026-06-30 04:12:27 +00:00
hinotoi-agent
beb39f1ef2
fix: scope file manager sessions to active profile
2026-06-30 04:12:27 +00:00
nesquena-hermes
2d9da824fe
Merge pull request #5259 from nesquena/rebase-5240
...
Release v0.51.761 — preserve visible transcript on terminal stream failure (#5240 , @rodboev)
2026-06-29 21:09:35 -07:00
nesquena-hermes
fda16b754f
docs(changelog): preserve visible transcript on terminal stream failure ( #5240 , #5224 )
2026-06-30 03:52:51 +00:00
Rod Boev
eb3c5a26bd
Clarify terminal marker replacement semantics
2026-06-30 03:33:55 +00:00
Rod Boev
ae67cd3428
test(chat): refresh restore guard source-shape assertions ( #5224 )
2026-06-30 03:33:55 +00:00
Rod Boev
494d137082
fix(chat): scope transcript preserve to the current terminal tail ( #5224 )
2026-06-30 03:33:55 +00:00
Rod Boev
fd35d8c9ab
fix(chat): narrow transcript preservation to stale-prefix restores ( #5224 )
2026-06-30 03:33:55 +00:00
Rod Boev
42cc02634a
test(chat): refresh terminal recovery source-shape guards ( #5224 )
2026-06-30 03:33:55 +00:00
Rod Boev
c17f222427
fix(chat): preserve visible transcript on terminal stream failure ( #5224 )
2026-06-30 03:33:55 +00:00
nesquena-hermes
ae8f42ec13
Merge pull request #5249 — fail closed on ambiguous truncate matches ( #5212 , @rodboev)
...
Release v0.51.760 — fail closed on ambiguous truncate matches (#5212 , @rodboev)
2026-06-29 18:50:35 -07:00
nesquena-hermes
2f7fca5b40
docs(changelog): fail closed on ambiguous truncate matches, preserve kept turn + tool rows ( #5212 )
2026-06-30 01:47:41 +00:00
Rod Boev
07a8c7dc6f
fix(session): preserve kept tool rows on ambiguous truncate ( #5134 )
2026-06-30 01:40:07 +00:00
Rod Boev
e9387f8aa5
fix(session): fail closed on ambiguous truncate context matches ( #5134 )
2026-06-30 01:40:07 +00:00
Rod Boev
02a3750488
fix(session): keep truncate rewind on complete turns ( #5134 )
2026-06-30 01:40:07 +00:00
Rod Boev
3627c9e5d8
fix(session): drop interleaved tool rows after mid-history truncate ( #5134 )
2026-06-30 01:40:07 +00:00
nesquena-hermes
edc20875fe
Merge pull request #5247 — repair bare custom-provider suffix on resolver slow path ( #5246 , @claw-io)
...
Release v0.51.759 — repair bare custom-provider suffix on resolver slow path (#5246 , @claw-io)
2026-06-29 18:16:55 -07:00
nesquena-hermes
15492b9f29
docs(changelog): repair bare custom-provider suffix on resolver slow path ( #5246 )
2026-06-30 01:13:48 +00:00
b3nw and b3nw
da43de72b8
fix(model): repair bare custom-provider suffix on resolver slow path ( #5225 )
...
Mirror the #5128 fast-path suffix repair when profile context is present
but requested_provider is omitted, which async delegation completion can
trigger via process_wakeup.
Co-authored-by: b3nw <b3nw@users.noreply.github.com >
2026-06-30 01:01:17 +00:00
nesquena-hermes
c229243f6d
Merge pull request #5243 — gate settled anchor fallbacks by raw index ( #5242 , @franksong2702)
...
Release v0.51.758 — gate settled anchor fallbacks by raw index (#5242 , @franksong2702)
2026-06-29 17:22:52 -07:00
nesquena-hermes
de433e583b
docs(changelog): gate settled anchor fallbacks by raw index ( #5242 )
2026-06-30 00:19:54 +00:00
Frank Song
eff01bf322
Gate settled anchor fallbacks by raw index
2026-06-30 08:00:54 +08:00
nesquena-hermes
dd4d4b2e90
Merge pull request #5241 — page archived sidebar rows + archived-search refetch ( #5200 , @santastabber)
...
Release v0.51.757 — page archived sidebar rows + archived-search refetch (#5200 , @santastabber)
2026-06-29 15:38:06 -07:00
nesquena-hermes
b753a11895
docs(changelog): page archived sidebar rows + archived-search refetch ( #5200 )
2026-06-29 22:35:32 +00:00
Jamie (Hermes)
0674a0198c
perf(sessions): page archived sidebar rows
2026-06-29 22:24:35 +00:00
nesquena-hermes
61f07f6005
Merge pull request #5238 — collapse post-restart config reload stampede ( #5235 , @rodboev)
...
Release v0.51.756 — collapse post-restart config reload stampede (#5235 , @rodboev)
2026-06-29 14:01:13 -07:00
nesquena-hermes
2add66f66d
docs(changelog): collapse post-restart config reload stampede ( #5235 )
2026-06-29 20:58:04 +00:00
Rod Boev
affdb40a1c
fix(config): route stale model reads through shared reload gate ( #5220 )
2026-06-29 20:50:34 +00:00
Rod Boev
6653b7bd2f
fix(config): collapse post-restart config reload stampede ( #5220 )
2026-06-29 20:50:34 +00:00
nesquena-hermes
45dabb2e15
Merge pull request #5236 — Neuralwatt provider env-var mapping ( #4810 , @b-yelverton)
...
Release v0.51.755 — Neuralwatt provider env-var mapping (#4810 , @b-yelverton)
2026-06-29 13:49:08 -07:00
nesquena-hermes
cd67e67af1
docs(changelog): add Neuralwatt provider env-var mapping ( #4810 )
2026-06-29 20:42:54 +00:00
Brett Yelverton
6c73e417e0
test: add regression coverage for neuralwatt provider env-var mapping
...
Mirrors test_issue2025_xiaomi_env_key.py pattern:
- _PROVIDER_ENV_VAR['neuralwatt'] == 'NEURALWATT_API_KEY'
- _provider_has_key('neuralwatt') with env var set
- _provider_has_key('neuralwatt') without env var
- model group appears in get_available_models() when config lists models
2026-06-29 20:41:16 +00:00
Brett Yelverton
0c338711df
feat: add Neuralwatt provider support (env var mapping)
2026-06-29 20:41:16 +00:00
nesquena-hermes
31000a9ec1
Merge pull request #5234 — configurable voice silence timeout + continuous recognition ( #5176 , @ChonSong)
...
Release v0.51.754 — configurable voice silence timeout + continuous recognition (#5176 , @ChonSong)
2026-06-29 13:37:37 -07:00