Hermes Agent
db54dc594e
chore(release): stamp v0.50.296 — 3-PR batch + Opus pass + 2 follow-ups absorbed
...
Constituent PRs (all by @Michaelyklam):
#1640 — show TPS in assistant message headers (closes #1617 ) — Aaron UX APPROVED
#1648 — session save mode config (closes #1406 )
#1650 — Codex OAuth onboarding flow (refs #1362 )
Opus advisor SHIP verdict on stage-296. 14-question audit passed including
focused OAuth security review on #1650 . Two minor follow-ups absorbed:
- _get_active_hermes_home() exception fallback now logs warning
- Codex credential pool find-loop accepts both legacy and current source values
#1640 has @aronprins UX gate APPROVED (default-off TPS toggle in Preferences).
#1650 ships first in-app OAuth flow — server-owned device-code lifecycle,
profile-scoped credential storage, atomic chmod-before-rename writes.
4255 → 4284 tests passing (+29).
2026-05-04 21:38:26 +00:00
Hermes Agent
9aad249e5a
chore(release): stamp v0.50.295 — 3-PR batch + Opus pass
...
Constituent PRs:
#1637 by @Michaelyklam — protect raw pre from glued-bold lift (closes #1451 )
#1639 by @bergeouss — macOS auto-scroll race + custom:* provider list (closes #1360 , #1619 )
#1642 by @nesquena-hermes — YAML/JSON/diff code block newlines (closes #1618 , #1463 )
Opus advisor SHIP verdict on stage-295. One observation absorbed:
- api/config.py:2533 dead-code comment per Opus (defensive belt-and-braces
for #1619 fallback; load-bearing fix is in routes.py /api/models/live)
PR #1641 (Michaelyklam parallel-discovery duplicate of #1642 ) closed as
superseded; UI media adopted with co-author trailer.
4245 → 4255 tests passing (+10).
2026-05-04 18:37:52 +00:00
Hermes Agent and Michael Lam
87f7b76984
docs(pr-media): add before/after PNGs for #1618 fix (from @Michaelyklam #1641 )
...
Adopt the UI media from @Michaelyklam's parallel-discovery PR #1641 which
shipped the same one-character regex relax fix for #1618 . PR #1641 is
being closed as superseded by #1642 (which carries nesquena APPROVED +
322 LOC test suite); preserving Michael's UI evidence here so the visual
proof of the fix lives in-tree alongside the canonical PR.
Co-authored-by: Michael Lam <Michaelyklam1@gmail.com >
2026-05-04 18:25:46 +00:00
Hermes Agent
326c7d0daf
chore(release): stamp v0.50.294 — 3-PR batch + Opus pass
...
Constituent PRs:
#1631 by @nesquena-hermes — streaming stability trio (closes #1623 , #1624 , #1625 )
#1635 by @bergeouss — session list race + readonly fs guard (closes #1430 , #1470 )
#1636 by @nesquena-hermes — models cache version stamp (closes #1633 )
Opus advisor SHIP verdict on stage-294 (combined diff). All 9 verification
questions cleared. Two #1636 minor observations absorbed in-release:
- DEBUG logger calls in _is_loadable_disk_cache when rejecting
- Docstring clarification on string-vs-semver and schema-version axis
#1631 in-PR Opus pass already absorbed: rate-limited telemetry,
expanded _LOCAL_SERVER_PROVIDERS, RFC1918 CHANGELOG callout.
4180 → 4245 tests passing (+65).
2026-05-04 17:23:32 +00:00
Hermes Agent
f3e066b53c
chore(release): stamp v0.50.293 — 3-PR batch + 2 Opus follow-ups absorbed
...
Constituent PRs:
#1627 by @franksong2702 — show Hermes Agent version (closes #1606 )
#1629 by @nesquena-hermes — profile isolation trio (closes #1611 , #1612 , #1614 )
#1630 by @Michaelyklam — provider config cleanup regression test (#1597 follow-up)
Opus advisor SHIP verdict + 2 SHOULD-FIX absorbed in-release:
- load_projects() re-reads from disk inside lock to close migration startup race
- _detect_agent_version() uses --dirty for symmetry with _detect_webui_version()
4142 → 4180 tests passing.
2026-05-04 16:33:57 +00:00
Hermes Agent
1549a10510
chore(release): stamp v0.50.292 — 12-PR batch + Opus follow-ups absorbed
...
Constituent PRs:
#1597 by @Michaelyklam — pytest config-path isolation
#1598 by @Michaelyklam — multi-tab SSE broadcast (closes #1584 )
#1599 by @Sanjays2402 — _pending_started_at truthy-check (closes #1595 )
#1600 by @Michaelyklam — streaming markdown subpath/fallback
#1601 by @Michaelyklam — subpath frontend routes
#1602 by @ai-ag2026 — cross-source continuation
#1603 by @ai-ag2026 — git remote name preservation
#1605 by @ai-ag2026 — update banner branch labels
#1608 by @franksong2702 — cron broad-except removal (closes #1578 )
#1609 by @franksong2702 — server.py socket cleanup (closes #1583 )
#1621 by @franksong2702 — fork indicator polish (fixes #1613 )
#1622 by @s905060 — paste text-with-image (closes #1620 )
Opus advisor SHIP verdict + 2 SHOULD-FIX absorbed in-release:
• #1598 ordering race fixed (offline-buffer replay moved inside lock)
• #1601 sessions.js:1440 gateway SSE probe baseURI parity fix
4117 → 4142 tests passing.
2026-05-04 15:45:41 +00:00
Hermes Release Agent
1636ab9ef9
release: stamp v0.50.290 — 5-PR batch (#1586+#1590+#1591+#1592+#1464) — 4094→4111 tests
...
- #1586 (Michaelyklam): login asset SW cache exemption
- #1590 (Michaelyklam): hot-apply compact tool activity setting
- #1591 (Michaelyklam): first-turn sidebar visibility (optimistic upserts)
- #1592 (Michaelyklam): turn duration display (Done in 1m 12s) + Opus follow-up (truthy-check on _pending_started_at)
- #1464 (JKJameson, maintainer-augmented): workspace dropdown sort+search+chip-sync (rebased + ternary fix + regression test)
Maintainer-side test fixes in stage:
- tests/test_465_session_branching.py: widen compact() search window 1500→3000
- tests/test_regressions.py: anchor on api('/api/chat/start' instead of comment line
Browser API sanity: 11/11 passed. Live UX verification: vision-confirmed dropdown sort+search+empty-state on test server. Opus advisor: SHIP AS-IS.
2026-05-04 05:10:29 +00:00
Hermes Release Agent
59a6c6bc15
release: stamp v0.50.289 — TCP keepalive on accepted connections ( #1581 ) — 4094 tests
2026-05-03 23:50:09 +00:00