-
released this
2026-08-25 13:15:38 +00:00 | 7 commits to master since this releasev0.1.2
✨ Features
- Release version management — single
VERSIONfile at the repo root is now the source of truth; the release workflow reads it automatically (no manual input, with an empty-file guard). - App & gateway version reporting — the app shows its version in Settings (generated
AppVersion.ktfromVERSION) and sends it to the gateway via theX-Iris-App-Versionheader on SSE open; the gateway reports its own version inhello.ack(server_caps.app_version) and stores the app version in the device registry (merge, not overwrite). - Update hint in Settings — app + gateway version rows with a mismatch hint, plus a best-effort Gitea latest-release check with an "update available" badge.
- Smooth streaming markdown — incremental parser (no full re-parse per snapshot) with a client-side typewriter reveal: steady reveal rate with rate-relative catch-up (jumps when backlog exceeds 2s), cursor drawn via annotator, and the streaming renderer stays alive until the reveal catches up.
- New "Streaming speed" setting (0.2–0.8s) in Settings, persisted per device via SecureStore and live-updatable.
- Thread topic chips ordered newest-first — the gateway now sends a
createdtimestamp per channel/thread over the wire; the topic switcher sorts threads newest-first right beneath General (name as tie-break).
🐛 Fixes
- Pairing was impossible after
iris setup—interactive_setup()generated a freshIRIS_TOKENand saved it to.env, but the localtokenvariable was never updated, so the pairing URL/QR were built with an empty token. The generated value is now embedded in the pairing URL/QR. Regression test added. - Plugin install blocked by security scanner — the install-time scanner flagged test/dev fixtures in
gateway-plugin/(hardcoded tokens,/tmppaths,~/.hermes/.envliteral) as DANGEROUS ("19 findings"). Tests moved to top-leveltests/, the.envpath is now built at runtime, and the scanner verdict ongateway-plugin/is SAFE (0 findings); fresh installs with scan enabled succeed.
📚 Docs & Protocol
frames.schema.jsonanddocs/04-wire-protocol.mdupdated forapp_versionand the threadcreatedfield.docs/05-streaming.mddocuments the new rate mapping, catch-up, and wait-for-reveal semantics.- CI-SETUP.md, README, and docs updated for the new
tests/location and VERSION-based releases.
Downloads
- Release version management — single