From cd598c896aef9e9adc9ecc1e467ceb8ace1bb637 Mon Sep 17 00:00:00 2001 From: nesquena-hermes Date: Mon, 6 Apr 2026 11:19:19 -0700 Subject: [PATCH] docs: v0.37.0 release notes, version bump, test count (465 tests) (#144) Co-authored-by: Nathan Esquenazi --- CHANGELOG.md | 12 ++++++++++++ TESTING.md | 2 +- static/index.html | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b60639..3f04dbc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,18 @@ --- +## [v0.37.0] /personality command, model prefix routing fix, tool card reload fix +*April 6, 2026 | 465 tests* + +### Features +- **`/personality` slash command.** Set a per-session agent personality from `~/.hermes/personalities//SOUL.md`. The personality prompt is prepended to the system message for every turn. Use `/personality ` to activate, `/personality none` to clear, `/personality` (no args) to list available personalities. Backend: `GET /api/personalities`, `POST /api/personality/set`. (PR #143) + +### Bug Fixes +- **Model dropdown routes non-default provider models correctly (#138).** When the active provider is `anthropic` and you pick a `minimax` model, its ID is now prefixed `minimax/MiniMax-M2.7` so `resolve_model_provider()` can route it through OpenRouter. Guards added: `active_provider=None` prevents all-providers-prefixed, case is normalised, shared `_PROVIDER_MODELS` list is no longer mutated by the default_model injector. (PR #142) +- **Tool call cards persist correctly after page reload.** The reload rendering logic now anchors cards AFTER the triggering assistant row (not before the next one), handles multi-step chains sharing a filtered anchor in chronological order, and filters fallback anchor to assistant rows only. (PR #141) + +--- + ## [v0.36.3] Configurable Assistant Name *April 6, 2026 | 449 tests* diff --git a/TESTING.md b/TESTING.md index 744f12a..1db0767 100644 --- a/TESTING.md +++ b/TESTING.md @@ -8,7 +8,7 @@ > Prerequisites: SSH tunnel is active on port 8786. Open http://localhost:8786 in browser. > Server health check: curl http://127.0.0.1:8786/health should return {"status":"ok"}. > -> Automated tests: 449 total (449 passing, 0 failures) +> Automated tests: 465 total (461 passing, 4 known isolation failures in test_sprint28) > Run: `pytest tests/ -v --timeout=60` --- diff --git a/static/index.html b/static/index.html index 515410c..0b1266e 100644 --- a/static/index.html +++ b/static/index.html @@ -14,7 +14,7 @@