HERMES-GIELIE/docs/pr-media
nesquena-hermes 1fe8950022
Release v0.51.238 — Release HF (stage-q9) (#3493)
## Release v0.51.238 — Release HF (stage-q9)

Phase 3 MEDIUM-ring pick (3-factor: contributor×impact×mitigated-risk) — high-impact perf fix to the most-clicked affordance from a regular contributor (@franksong2702 ★★★), small code surface, CI-green.

### Fixed
| PR | Author | Fix |
|----|--------|-----|
| #2518 follow-up | @franksong2702 | Clicking **New Conversation** on a cold start no longer hangs 3–4s on a catalog rebuild. `newSession()` fills `model_provider` from `window._activeProvider` (then prev-session) when the dropdown carries none, so `POST /api/session/new` takes the fast path on the first click too. |

### Pre-release dual gate caught a wrong-backend routing bug (fixed + regression-tested)
The server fast path passes `(model, provider)` through **without validating the pair**, so naively attaching the active provider to *any* bare model could silently route to the wrong backend (e.g. bare `claude-opus-4.8` + active `openrouter`). **Codex** flagged this; **Opus** had judged it acceptable ("respect the selection over silent swap"). I took the stricter, empirically-grounded path and added a **family-mismatch guard** mirroring the server's own bare-prefix→provider map (`gpt`→openai, `claude`→anthropic, `gemini`→google): when the model's known family differs from the fallback provider, `model_provider` stays `null` so the server slow-path's family repair runs. This keeps the perf win for the common matching case while closing the mis-route. Backend behavioral tests confirm fast-path-on-match + slow-path-on-mismatch. (Also re-anchored the source-shape test assertions on the real `reqBody.model_provider=` assignment per Codex's 2nd note.)

### Gate results
- **Full pytest suite**: 7495 passed, 9 skipped, 3 xpassed, **0 failed**
- **ESLint runtime gate**: CLEAN  ·  **ruff**: CLEAN  ·  **browser-smoke**: CLEAN
- **Codex (regression)**: SHIP ONLY WITH FIXES → guard + test-anchor applied → re-reviewed **SAFE TO SHIP**
- **Opus (correctness)**: reviewed the original (judged acceptable); the shipped version is strictly safer (adds the family guard)

Note: `docs/pr-media/2518/{PR_BODY.md,bench.py}` are the contributor's review aids, included per the tracked `docs/pr-media/` convention (157 files already tracked) — not app code.

Closes #2518.

Co-authored-by: franksong2702 <franksong2702@users.noreply.github.com>
2026-06-03 12:23:46 -07:00
..
463 feat: add WebUI status command card 2026-05-05 01:12:07 +00:00
500 feat: virtualize session sidebar list 2026-05-05 01:12:08 +00:00
539 feat: add plugins visibility panel 2026-05-05 01:18:33 +00:00
617 feat: add scheduled job profile selector 2026-05-05 01:18:34 +00:00
674 Add Claude Code session imports 2026-05-05 01:18:34 +00:00
693 feat: add VPS resource health panel 2026-05-05 17:30:56 +00:00
696 feat: add MCP server visibility panel 2026-05-05 01:18:34 +00:00
697 feat: add searchable MCP tool inventory 2026-05-05 01:20:32 +00:00
706 feat: add active provider quota status 2026-05-05 02:26:52 +00:00
716 feat: add agent heartbeat alert 2026-05-05 02:25:06 +00:00
732 feat: show LLM Gateway routing metadata 2026-05-05 02:26:55 +00:00
734 fix: window long session message rendering 2026-05-05 01:12:07 +00:00
749 Add profile creation model picker 2026-05-14 12:13:49 +08:00
1257 feat: add LLM Wiki status panel 2026-05-05 01:48:32 +00:00
1321 fix: clarify update network failures 2026-05-04 21:02:03 -07:00
1362 feat: link Claude Code OAuth in onboarding 2026-05-06 06:26:43 +00:00
1406
1451
1455 feat: add logs tab MVP 2026-05-05 01:51:05 +00:00
1456 feat: add insights token trends 2026-05-05 01:12:08 +00:00
1459 feat: link official Hermes dashboard 2026-05-05 01:23:55 +00:00
1640 docs: add TPS settings toggle screenshot 2026-05-04 21:26:44 +00:00
1688 fix: move system health panel into insights 2026-05-05 17:30:56 +00:00
1690 fix: preserve scroll on stream completion 2026-05-05 09:23:29 -07:00
1698 fix: keep workspace rename double-click reachable 2026-05-05 08:33:34 -07:00
1699 fix: invalidate model cache on auth-store drift 2026-05-05 08:33:44 -07:00
1700 fix: allow profile switching during active streams 2026-05-06 16:11:46 +00:00
1715 fix: preserve activity count across chat focus changes 2026-05-05 13:42:45 -07:00
1716 feat: show active elapsed timer in compact activity 2026-05-05 13:42:47 -07:00
1725 docs: add compact activity summary screenshots 2026-05-06 06:27:14 +00:00
1765 fix: surface Codex usage exhaustion errors 2026-05-07 01:39:52 +00:00
1771 fix: reset model picker on session switch 2026-05-07 02:52:01 +00:00
1772 fix: preserve CLI session tool metadata 2026-05-07 02:47:19 +00:00
1784 fix: preserve sidebar scrolling while streaming 2026-05-07 06:25:17 +00:00
1785 docs: add workspace breadcrumb before screenshot 2026-05-07 06:25:17 +00:00
1787 fix: keep assistant-only stream deltas on current turn 2026-05-07 06:25:16 +00:00
1792 fix: preserve first-turn sidebar row during refresh 2026-05-07 16:58:39 +00:00
1796 fix: make error toasts copy-friendly 2026-05-07 16:59:00 +00:00
1807 Stage 314: PR #1827 — sync Codex provider card models with picker by @Michaelyklam 2026-05-07 17:58:52 +00:00
1808 feat: add WebUI goal command support 2026-05-08 17:12:01 +00:00
1820 fix: allow no-agent cron edits without prompt 2026-05-07 17:59:23 +00:00
1823 fix: surface stale Kanban client recovery 2026-05-07 17:57:09 +00:00
1832 fix: show auto-compression running state 2026-05-07 18:41:13 +00:00
1834 fix: lengthen auto-compression toast 2026-05-09 19:35:05 -07:00
1835 fix: keep shell route errors html 2026-05-07 18:41:13 +00:00
1842 fix: disable workspace heading affordance without workspace 2026-05-08 13:32:05 +08:00
1866 fix: surface goal evaluation status 2026-05-08 17:12:01 +00:00
1880 fix: scope skills endpoints to active profile 2026-05-08 16:07:49 +00:00
1955 Add worktree-backed session creation 2026-05-11 12:12:40 +08:00
2064 Clarify worktree session archive/delete semantics 2026-05-12 00:05:05 +00:00
2103 fix: bucket long-range daily token charts 2026-05-11 23:01:13 -07:00
2156 Add worktree remove PR screenshots 2026-05-13 09:53:56 +08:00
2210 Add MCP tools overflow PR screenshots 2026-05-13 15:50:48 -07:00
2218 Hide session lineage metadata in compact sidebar 2026-05-14 10:14:15 +08:00
2224 Add extra large font size option 2026-05-14 11:09:21 +08:00
2231 Improve mobile sidebar panel navigation 2026-05-14 15:16:33 +08:00
2246 Add assistant question jump buttons 2026-05-15 19:39:27 +08:00
2250 Add skill detail screenshot evidence 2026-05-14 22:35:02 +08:00
2289 Add cron detail expansion controls 2026-05-15 18:04:53 +08:00
2351 feat: separate CLI sessions in sidebar 2026-05-18 17:29:51 -07:00
2449 feat: add thinking card copy button 2026-05-17 03:57:54 -07:00
2518 Release v0.51.238 — Release HF (stage-q9) (#3493) 2026-06-03 12:23:46 -07:00
2540 fix: surface custom provider model endpoint errors 2026-05-20 03:12:33 -07:00
2548 Move PR #2548 screenshots into docs/pr-media/2548 (project convention) 2026-05-19 03:14:04 +00:00
2554 fix: align workspace tree file icons 2026-05-18 18:38:13 -07:00
2679 Stage 398: PR #2687 — feat: hide suggestions preference (closes #2679) 2026-05-21 17:43:48 +00:00
activity-disclosure fix: persist activity disclosure state 2026-05-06 06:30:32 +00:00
appearance-endless-scroll-label Fix Appearance endless scroll label markup 2026-05-14 10:44:16 +08:00
catppuccin-issue-2426 Stage 375: PR #2432 — feat(theme): add Catppuccin appearance skin (Latte + Mocha palettes) by @Michaelyklam (closes #2426) 2026-05-17 03:35:19 +00:00
guard-skill-detail-errors Show skill detail API errors 2026-05-14 22:57:15 +08:00
issue-1617 fix: show TPS in assistant message headers 2026-05-04 21:26:43 +00:00
issue-1618
issue-2508 feat: cap pinned sessions from sidebar 2026-05-19 20:50:26 -07:00
issue-2728 feat: make clarify prompt collapsible 2026-05-22 17:45:40 +00:00
live-timeline-session-restore Preserve live agent timeline across session switches 2026-05-16 14:12:08 +08:00
offline-banner-warning-theme Add offline banner comparison screenshots 2026-05-15 01:51:35 -07:00
sidebar-hover-drag fix: prevent sticky sidebar hover drag state 2026-05-05 19:17:27 -07:00
uiux-theme-demo-controls docs: align uiux demo theme controls 2026-05-18 12:50:25 +08:00
update-summary-category-dedup fix: refine update summary category handling 2026-05-14 01:07:47 -07:00