# Changelog All notable changes to svrnty-hermes-webui-plugin. Format roughly follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) + SemVer. The plugin protocol contract itself lives in `hermes/docs/SVRNTY-PLUGIN-PROTOCOL.md`. This changelog tracks the plugin side only; the fork-side loader hook is documented in `hermes-webui` commit history. --- ## [0.2.0] — 2026-05-23 ### Added - **STT migration** (Phase 2.A) — voice-message recording + transcription - `routes/transcribe.py`: POST `/api/transcribe` + `_transcribe_audio_attachments` audio processor - `static/app.js`: MediaRecorder mic flow → File attached + sent (voice-message-* prefix) - Uses the new 7th loader API method `register_audio_attachment_processor` - Stdlib-only multipart parser (Python 3.13 dropped `cgi` per PEP 594) - **Loader API extended** (1 → 7 methods) — `register_audio_attachment_processor` - PRD §5.1 amended; eval test `test_eval_loader_contract_unchanged` enforces the new surface - 9 new tests (3 transcribe + 6 app.js static checks), 26 total ### Changed - `manifest.yaml`: route + audio processor `status` flipped to `live`; tested_versions appended - `CONNECTION-MAP.md`: now 10 deps (9 public API · 0 forced internal · 1 frontend) --- ## [0.1.0] — 2026-05-23 ### Added - Initial scaffold per the SVRNTY-HERMES Plugin Protocol PRD - `plugin.py` entry point with `register(api)` - `routes/vault_status.py` — GET `/api/vault/status` (migrated from fork commit 3e2c74f3) - `static/{app.js,app.css,fonts/}` — brand skin (migrated from `hermes-ext/`) - `static/app.js`: vault connections panel DOM injection (settings → system tab) - `scripts/ast-connection-map.py` — AST walker generates `CONNECTION-MAP.md` - `scripts/boot-smoke.py` — boot upstream+plugin + curl every endpoint - `scripts/upstream-sync.py` — fetch upstream tags + matrix report - `Makefile` — one-line targets: `make test`, `make map`, `make sync-upstream`, `make smoke` - `.github/workflows/`: - `plugin-tests.yml` — pytest on push/PR - `connection-map-check.yml` — regen + diff vs committed on PR - `upstream-drift.yml` — daily cron sweeps new upstream tags - 11 unit + eval tests ### Infrastructure - Loader hook landed in `hermes-webui` as the lone fork commit (6 methods initially) - Gitea Actions runner `svrnty-steev-runner-01` registered for daily drift CI