release: v0.50.150 — session index, read-path, profile-switching fixes
Bundles three bug fixes (PRs #847, #848, #849) and updates README test count to 1858. - v0.50.148: prune stale _index.json ghost rows after session-id rotation (closes #846) - v0.50.149: side-effect-free GET /api/session model resolution (closes #845) - v0.50.150: profile switching cookie persist + syncTopbar fix + active indicator state
This commit is contained in:
32
CHANGELOG.md
32
CHANGELOG.md
@@ -1,5 +1,37 @@
|
|||||||
# Hermes Web UI -- Changelog
|
# Hermes Web UI -- Changelog
|
||||||
|
|
||||||
|
## [v0.50.150] — 2026-04-22
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- **Profile switching: three related state fixes** — (1) `hermes_profile=default`
|
||||||
|
cookie is now persisted instead of being cleared with `max-age=0`, which had
|
||||||
|
caused the browser to fall back to the process-global profile on the next
|
||||||
|
request. (2) The `sessionInProgress` branch of `switchToProfile()` now calls
|
||||||
|
`syncTopbar()` instead of the undefined `updateWorkspaceChip()`. (3) Sidebar
|
||||||
|
and dropdown active-profile rendering now prefer `S.activeProfile` client
|
||||||
|
state when available, with a safe fallback. (#849 by @migueltavares)
|
||||||
|
|
||||||
|
## [v0.50.149] — 2026-04-22
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- **`GET /api/session` is now side-effect free for stale-model sessions** —
|
||||||
|
the read path previously called `_normalize_session_model_in_place()`,
|
||||||
|
which could write back to disk and update the session index while handling
|
||||||
|
a plain read. Replaced with a read-only
|
||||||
|
`_resolve_effective_session_model_for_display()` that returns the effective
|
||||||
|
display model without any write-back. Closes #845. (#848 by @franksong2702)
|
||||||
|
|
||||||
|
## [v0.50.148] — 2026-04-22
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- **Prune stale `_index.json` ghost rows after session-id rotation** — index
|
||||||
|
entries whose backing session file no longer exists (e.g. after context
|
||||||
|
compression rotates the session id) are now pruned on both incremental
|
||||||
|
index writes and `all_sessions()` reads. Fixes duplicate session entries
|
||||||
|
in the sidebar. Also pre-snapshots `in_memory_ids` under a single `LOCK`
|
||||||
|
acquisition in `all_sessions()` rather than one per row — small but
|
||||||
|
measurable contention reduction. Closes #846. (#847 by @franksong2702)
|
||||||
|
|
||||||
## [v0.50.147] — 2026-04-22
|
## [v0.50.147] — 2026-04-22
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|||||||
@@ -408,7 +408,7 @@ Or using the agent venv explicitly:
|
|||||||
```
|
```
|
||||||
|
|
||||||
Tests run against an isolated server on port 8788 with a separate state directory.
|
Tests run against an isolated server on port 8788 with a separate state directory.
|
||||||
Production data and real cron jobs are never touched. Current count: **961 tests**
|
Production data and real cron jobs are never touched. Current count: **1858 tests**
|
||||||
across 53 test files.
|
across 53 test files.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
Reference in New Issue
Block a user