## Codename-11/hermes-relay — v0.6.0…v0.6.1

_167+ commits._

### Features
- **feat: improve relay auth and Android connection handling** (c7f7190)
- **feat(desktop): approve computer control by grant** (ab1924d)
- **feat(desktop): enable computer use with desktop tools** (66d9581)
- **feat(desktop): enable approved computer actions** (488a9d7)
- **feat(desktop): add observe-first computer-use tools** (9ebe12a)
- **feat(relay): add client_surface + device_form_factor to Session** (4362aa4)
- **feat(pair): --grant-tools / --auto-grant-tools collapse pair → daemon to two commands** (2fbb43b)
- **feat(desktop): daemon auto-picks single stored session when --remote is absent** (1e77464)
- **feat(desktop): remote-PC ergonomics — powershell, process, jobs, transfer, health tools** (21b4cfd)
- **feat(dashboard): polish relay plugin for hackathon submission** (82a2654)
- **feat(desktop): alpha.14 — Ctrl+A ? re-prints the chord-help banner** (5547dca)
- **feat(desktop): alpha.13 — Ctrl+A v chord pastes clipboard image inline** (5a967c2)
- **feat(desktop): alpha.9 — hermes-relay paste + relay /clipboard/inbox endpoint** (f2e5252)
- **feat(desktop): alpha.8 — /screenshot is multi-monitor aware by default** (558b611)
- **feat(desktop): alpha.7 — native image paste (/paste, /screenshot, /image)** (3444c49)
- **feat(desktop): alpha.6 — seamless-local dev pass (9 features across 6 workstreams)** (cb5f163)
- **feat(desktop): @hermes-relay/cli experimental track (desktop-v0.3.0-alpha.1)** (c25471c)
- **feat(tui-channel): Phase 3 smoke harness + DEVLOG** (675670e)
- **feat(relay): add tui channel for remote desktop TUI** (849bd2e)
- **feat(security): role-aware Plain badge + per-verb bridge trust + AllInsecure pairing ack** (3d3e9a7)
- **feat(connections): add-flow hardening + inline switcher + relayReady gate** (ab0dcb8)
- **feat(chat): rich cards via CARD:{json} + session sync (ADR 26)** (aecddcd)
- **feat(docs): MorphingSphere embed on user site + mobile hero + copy-button pin** (99a6c60)
- **feat(multi-endpoint): smoothness pass — roles in subtitle, chip in chat bar, funnel auto-detect, loose probes, proxy-consent gate, re-pair hint** (f8b9776)
- **feat(dashboard): PairDialog mints multi-endpoint QRs (mode + prefer)** (648150c)
- **feat(connections): endpoint preview in pair wizard + inline expand on list** (a266a00)
- **feat(sphere): browser preview layout controls + runtime parity harness** (a7bbf2c)
- **feat(pairing): --prefer priority override on all pair surfaces (ADR 24)** (e914810)
- **feat(pairing): multi-endpoint pairing + first-class Tailscale (ADR 24, 25)** (fae8ccd)
- **feat(chat): header reflects selected profile** (95fb7e6)
- **feat(relay): push profiles.updated envelope on profile changes** (42fdff2)
- **feat(inspector): deep link routes** (2813d47)
- **feat(profiles): consume profiles.updated envelope** (7977f60)
- **feat(api): PUT /api/profiles/{name}/soul and /memory/{filename}** (3163878)
- **feat(inspector): skill-toggle graceful handling of 501** (4679aa8)
- **feat(stats): timeline view below StatsForNerds** (7d691f2)
- **feat(settings): picker disambiguation + a11y labels** (cb8e15c)
- **feat(relay): file-backed session persistence across restarts** (df69f02)
- **feat(stats): voice + tool call sections in StatsForNerds** (6dcd8d4)
- **feat(inspector): editable SOUL + memory with monospace editor** (5232582)
- **feat(inspector): config secret mask with reveal** (82b21e1)
- **feat(chat): document isStreaming as the ConnectionInfoSheet gate** (d538ce7)
- **feat(auth): split pairing vs session auth rate-limit buckets** (9633f46)
- **feat(inspector): markdown render for SOUL with raw-view toggle** (53006f2)
- **feat(terminal): opt-in sessions and terminal.kill envelope** (fe06c05)

### Fixes
- **fix(android): add bridge media sharing and mms handoff** (a5f3d0a)
- **fix: recover relay sessions with trusted device refresh** (fea9742)
- **fix: allow voice API auth over Tailscale** (88119b4)
- **fix: normalize Tailscale pairing endpoints** (5f0a52a)
- **fix: clarify VPN route fallback on Android** (fa1ab2f)
- **fix: harden Android Tailscale pairing routes** (3f0ef81)
- **fix: improve Android route failover** (d2857d7)
- **fix(tests): test_tui_channel SIGKILL fallback for Windows** (693c870)
- **Merge pull request #43 from Codename-11/chore/branch-protection-fix** (d5c5238)
- **merge: docs install-card rendering fix** (bb1771c)
- **fix(docs): prevent install cards from stretching** (1e2aa9f)
- **fix(docs): add missing ExperimentalBadge.vue** (de3f94f)
- **fix(docs): create missing ExperimentalBadge.vue (Deploy Docs build error)** (37d01ae)
- **fix: register /desktop/* HTTP routes + reframe relay-status skill** (00b622e)
- **fix(relay,skill): close Victor's awareness gap on desktop tools** (2a84c8e)
- **fix(desktop): alpha.12 — install scripts preserve prerelease in display** (0128a34)
- **fix(desktop): alpha.11 — resolvers pick SemVer-max, not API's first** (09743a1)
- **fix: test_profile_discovery aligns with hardened gateway_running probe** (a9793d2)
- **fix(tests): test_profile_discovery aligns with hardened gateway_running probe** (6d23a5a)
- **release: desktop-v0.3.0-alpha.10 — Windows clipboard -STA fix** (fd8fc51)
- **fix(desktop): alpha.10 — Windows clipboard image capture needs -STA** (a1e9a21)
- **fix(desktop): alpha.5 — bash-safe gen:version comment (no backticks)** (4df4964)
- **fix(desktop): alpha.4 — main() never invoked in bun --compile binaries** (b75b163)
- **release: desktop-v0.3.0-alpha.3 — actually fix --bytecode segfault** (8053ab2)
- **fix(desktop): actually drop --bytecode (workflow inlined its own flags)** (3f6d2cd)
- **release: desktop-v0.3.0-alpha.2 — hotfix Bun --bytecode segfault + prerelease-aware installer** (75e84f5)
- **fix(desktop): drop --bytecode Bun flag (1.3.13 win x64 segfault); cut alpha.2** (5e24776)
- **fix(desktop): installers resolve 'latest' via Releases API (prerelease-aware)** (d322600)
- **fix(desktop): installers resolve 'latest' via Releases API (prerelease-aware)** (8838cb7)
- **fix(desktop): README install copy + status default-redact tokens** (9d199bc)
- **fix(connections): silence voice chime + skip 500ms stall on Add-connection** (8844709)
- **fix(connections): rename placeholder on pair + resolve activeEndpoint + derivedStateOf for agentDisplayName** (28e802b)
- **fix(connections): pre-create placeholder so pair token lands in new store** (4a710d4)
- **fix(relay): pairing-code expiry reflects 10-min TTL, not 60s fallback** (4a204ec)
- **fix(dashboard): widen PairDialog modal for expanded content** (e896625)
- **fix(relay): restore profile PUT handlers clobbered by ADR 24 commit** (ee653d4)
- **fix(voice): dedupe user/agent transcript entries in VoiceModeOverlay** (05481c8)
- **fix(relay): proper gateway_running probe via PID start_time** (6a8359c)
- **fix(connection): honor server rate-limit with 5-minute backoff on 429** (41ef197)
- **fix(pairing): clear rate-limit blocks on /pairing/mint** (53f1e48)
- **Merge branch 'fix/profile-ux-probe' into dev** (ecaa164)
- **fix(profiles): JSON gateway.pid parse + default-profile inspector fallback** (f370488)
- **fix(terminal): scroll, friendly names, cold-start relay kick** (e379a3b)
- **fix^(terminal^): overlay z-index stacking fix** (091c8d6)

### Backend
- **Merge pull request #51 from Codename-11/dev** (e19ee12)
- **merge: sync main into dev for v0.6.1 release** (5c714eb)
- **release: v0.6.1** (edf00bc)
- **Merge pull request #45 from Codename-11/dev** (041fbdc)
- **merge: sync main → dev for PR #45** (ac12227)
- **release: desktop-v0.3.0-alpha.17 — pair --grant-tools / --auto-grant-tools** (fd64d5b)
- **Merge pull request #44 from Codename-11/dev** (fa7050f)
- **merge: sync main into dev for PR #44 — pulls in PR #42 release-merge that landed before this PR opened** (ae42096)
- **release: desktop-v0.3.0-alpha.16 — daemon URL fallback** (4ccc0cc)
- **Merge pull request #42 from Codename-11/dev** (f8949c9)
- **merge: sync main into dev — bring relay-side fixes (HTTP routes, hackathon polish) onto dev so PR #42 can land** (cfd52a9)
- **release: desktop-v0.3.0-alpha.15 — remote-PC ergonomics tools** (537e142)
- **merge: dashboard plugin hackathon polish** (5f452e8)
- **release: desktop-v0.3.0-alpha.14 — Ctrl+A ? help chord** (efb9bec)
- **release: desktop-v0.3.0-alpha.13 — Ctrl+A v in-session paste** (2a2cba6)
- **release: desktop-v0.3.0-alpha.12 — install script preserves prerelease** (cd0e16c)
- **release: desktop-v0.3.0-alpha.11 — resolvers pick SemVer-max** (94d035e)
- **release: chore — recapture server-side alpha.1 drift + tui-mvp into main** (d91e134)
- **Merge chore/recapture-server-state into dev** (ac42b2a)
- **release: desktop-v0.3.0-alpha.9 — TUI paste bridge via /clipboard/inbox** (3af45f9)
- **release: desktop-v0.3.0-alpha.8 — /screenshot multi-monitor** (7137dd1)
- **release: desktop-v0.3.0-alpha.7 — native image paste** (926b6cf)
- **release: desktop-v0.3.0-alpha.6 — seamless-local dev pass** (bb57e84)
- **plan(desktop): alpha.6 seamless-local scope + deferred items** (0424fa9)
- **release: desktop-v0.3.0-alpha.5 — bash-safe gen:version** (d1cbf85)
- **release: desktop-v0.3.0-alpha.4 — binary actually runs now** (4bab202)
- **release: desktop-v0.3.0-alpha.1 — README + status redaction fixes** (97e12aa)
- **release: desktop-v0.3.0-alpha.1 — Desktop CLI experimental track** (100beed)
- **merge: sync dev → main for docs deployment** (c1d86ce)
- **Merge pull request #36 from Codename-11/claude/ui-dev-preview-exploration-vKvzr** (9d5a5d5)
- **Merge branch 'feature/profile-ux-v2' into dev** (47667bd)
- **Merge feature/terminal-kill-optin into dev** (26b394f)
- **Merge branch 'feature/profile-inspector-ui' into dev** (0427afa)

### Docs
- **docs: prefer bare 'hermes-relay' over verbose 'hermes-relay shell' in narrative** (bcba320)
- **docs: prefer bare 'hermes-relay' over 'hermes-relay shell' in narrative** (1dd78fe)
- **docs: dual-surface reframe (README + install card + FAQ + troubleshooting)** (b0190bf)
- **docs: reframe README + install card around dual-surface (Android + desktop)** (e836bd4)
- **docs(claude-md): key files sync for desktop alpha.5 — daemon, doctor, version, uninstall, smoke** (11d2c8b)
- **docs(roadmap): workspace-awareness + update subcommand + retag hardening for alpha.2** (85bdea2)
- **docs: relay protocol spec + desktop TUI MVP plan** (30bf739)
- **docs: ADR 26, relayReady + KDoc trap write-up, CHANGELOG/DEVLOG refresh** (f6dde70)
- **docs(voice): fix stale MorphingSphere comment reference after core extraction** (76f966d)
- **docs(sphere): CLAUDE.md Key Files + CHANGELOG + DEVLOG entries** (9450787)
- **docs: sync --prefer flag + profile-PUT restore across user/operator docs** (a167ab6)
- **docs: server-side ADR updates for v0.7 profile UX** (2cf3efd)
- **docs: inspector editing and polish** (1cbdd7e)
- **docs: devlog for chat/voice polish + stats + timeline pass** (10e71a6)
- **docs: migrate policy to main+dev branching model** (f0e959d)

### Chore
- **ci(android): avoid stuck broad test aggregate** (f8ea40d)
- **chore(android): gradle deps + .gitignore prep for Quest module** (1ab5a5a)
- **chore: remove unused SubFrame skill stubs** (92e5eea)
- **chore(ci): add Required-checks sentinel + drop broken path-filtered required checks** (650c00a)
- **chore(relay): opportunistic inbox cleanup** (f50a671)
- **chore(relay): opportunistic sweep of stale clipboard inbox files** (afd45f1)
- **chore: recapture alpha.1 server-side state into git + merge feature/desktop-tui-mvp** (7117e61)
- **chore(deps): bump Android Gradle Plugin 9.1.1 -> 9.2.0** (1003e34)
- **refactor(connections): humanize UX vocab + contextual security + add-connection perf** (a04ede7)
- **refactor(connections): unify connection settings — one screen, one card** (5a38b69)
- **chore(ci): advisory test jobs on dev, strict on main** (f8edbfb)
- **chore(sphere): merge dev to pick up split CI workflows (ci-android.yml + ci-relay.yml)** (9a49b67)
- **ci: split into ci-android.yml + ci-relay.yml with path filters** (11a8a27)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/Codename-11/hermes-relay?utm_source=github-action)._