Releases: dcolinmorgan/herdr-remote
Release list
v0.8.0 — Usable on a phone
A big release. The web client is genuinely usable on a phone now, agents' conversation history is readable from any client, and the relay no longer stalls on slow herdr calls.
Web Client
- Phone-usable — history, triage, terminals, and a stable mirror that carries scrollback
- Conversation history — read an agent's actual conversation, not just the terminal
- Blocked panes answerable — buttons send
prompt_id, free text routes to the right channel - Mobile terminal fixed — safe-area insets, no more iOS zoom-on-focus or stale header offsets
- Refreshed look — Claude Code palette, monospace UI, theme pin, real installable app icons
- Modular — split into
web/js/*.js+app.css, served as a static directory
Relay
- Conversation history — transcript reader for both Claude Code and pi agents
- Real workspace hierarchy — spaces, shell panes, pane activity
- No more stalls — every herdr call runs off the event loop, so one slow (or remote) call no longer freezes every connected client
- Hardened static serving — content types, cache policies, path-traversal guard
- Origin validation — rejects drive-by WebSocket connections (from v0.7.4)
Infrastructure
- One version source —
check-versions.pykeeps all 5 files in sync (no more drift) - Release automation — every client published on tag push
- Telegram replies work —
request_idechoed in theagent_promptack
Install
macOS:
curl -sL https://github.com/dcolinmorgan/herdr-remote/releases/download/v0.8.0/Herdi-0.8.0.dmg -o /tmp/Herdi.dmg && open /tmp/Herdi.dmgWindows:
cd herdi-win && ./build.ps1 && ./dist/win-x64/Herdi.exeThanks to @nickrunning, @wuqicyber, @DanielGnzlzVll, @jmfiola for the contributions this cycle.
v0.7.5
New
herdi-win — Native Windows Tray Client
- System tray icon with live agent count badge
- Toast notifications for blocked agents (approve inline)
- Direct mode (local CLI + SSH) and relay mode
- 20MB idle memory footprint
- Build:
cd herdi-win && ./build.ps1
Server-side Session Switcher
- Switch herdr sessions from the header without restarting
- Discovery via
herdr session list(cached 30s) - Per-source persistence in
active_sessions.json
Workspace Labels
- Space chips and agent cards show the workspace name you chose in herdr
- Falls back to cwd basename only when no workspace name exists
Fixes
- Swift
weak selfcapture for Xcode 15.3+ / Swift 5.10 (macOS build fix) HERDR_TRUSTED_ORIGINSenv var name aligned between code and tests- Removed accidentally committed
.wranglercache files
Install
macOS:
curl -sL https://github.com/dcolinmorgan/herdr-remote/releases/download/v0.7.5/Herdi-0.7.5.dmg -o /tmp/Herdi.dmg && open /tmp/Herdi.dmgWindows:
cd herdi-win
./build.ps1
./dist/win-x64/Herdi.exev0.7.4 — Security Release
⚠️ Security Fix
All users running the relay without HERDR_RELAY_TOKEN should upgrade immediately.
Vulnerability Fixed
The relay now validates WebSocket origins to prevent drive-by attacks. Previously, any webpage a user visited could connect to the local relay and inject commands into coding agents without authentication.
What Changed
- WebSocket connections from untrusted browser origins are now rejected with 403
- Native clients (Telegram bot, macOS app) that don't send Origin headers are still allowed
- New env var
HERDR_TRUSTED_ORIGINSfor explicitly allowing additional origins
Origin Validation Rules
| Origin | Allowed? |
|---|---|
| No header (native clients) | ✅ |
| Token auth enabled | ✅ (token governs) |
null (opaque/sandboxed) |
❌ |
| Non-HTTP (file://, app://) | ✅ (local apps) |
HERDR_TRUSTED_ORIGINS |
✅ |
| Loopback on loopback relay | ✅ |
| Other browser origins | ❌ |
Other Fixes
- Restore OMP ask interaction functions (PR #30)
- Fix cloudflared download URL for arm64/amd64 (PR #32)
macOS
curl -sL https://github.com/dcolinmorgan/herdr-remote/releases/download/v0.7.4/Herdi-0.7.4.dmg -o /tmp/Herdi.dmg && open /tmp/Herdi.dmgThanks to the security researchers who reported this through the private vulnerability reporting channel.
v0.7.3
New Features
Session Switcher
- Save multiple relay connections with custom names
- Switch between sessions with one tap
- Active session highlighted with green border
Conversation History
- Clock icon in terminal header opens history panel
- View past user/assistant messages from agent session logs
- Scrollable overlay panel
Find in Output
- Search button (🔍) in terminal header
- Highlights all matches in orange, current in blue
- Navigate with ↑/↓ arrows
Long-press Context Menu
- Mobile: hold 500ms on tabs or agents
- Desktop: right-click
- Tabs: rename, close
- Agents: rename, interrupt (Esc)
Also Included
- OMP
askinteraction support with prompt IDs - ANSI terminal rendering with Hack Nerd Font
- Native Windows relay support (PowerShell launcher)
- Telegram
/sendusesherdr agent promptfor Codex
macOS
curl -sL https://github.com/dcolinmorgan/herdr-remote/releases/download/v0.7.3/Herdi-0.7.3.dmg -o /tmp/Herdi.dmg && open /tmp/Herdi.dmgv0.7.2
Features
- OMP ask interaction support — prompt IDs, single/multi-select, custom answers (PR #13)
- ANSI terminal rendering — colors, Nerd Font symbols, proper fixed-width layouts (PR #12)
- Native Windows relay — PowerShell launcher, local-only by default (PR #11)
Fixes
- Telegram
/sendnow usesherdr agent promptfor proper Codex submission (#17) - HTTP push handler runs before static routes, no more silent drops (#21)
- herdr binary resolved via PATH,
~/.local/bin, etc. (#28) - SECURITY.md added for responsible disclosure (#25)
Windows
- PowerShell launcher (
start.ps1) - Local-only mode by default, token required for tunnels
- Cross-platform plugin hooks via
uv run --script
macOS
curl -sL https://github.com/dcolinmorgan/herdr-remote/releases/download/v0.7.2/Herdi-0.7.2.dmg -o /tmp/Herdi.dmg && open /tmp/Herdi.dmgv0.7.1
Fix: v0.7.0 DMG reported version 0.6.3 causing infinite update loop (fixes #29)
Changes since v0.7.0
- Updater now reads version from Bundle.main (dynamic)
- OMP
askinteraction support (PR #13) - herdr binary PATH resolution (issue #28)
- HTTP push handler ordering fix (issue #21)
- SECURITY.md for responsible disclosure (issue #25)
Upgrade
Users stuck in the update loop can install this DMG to resolve it.
v0.7.0 — Notch Panel
Notch panel — Dynamic Island-style agent status in the MacBook notch; see working/waiting/blocked at a glance without switching windows.
v0.6.3
- SVG icons throughout — paper plane send, bolt quick actions, keyboard dock, chevron back, refresh arrows
- Reactive Tokyo Day/Night theme (auto switches with system light/dark)
- Collie-style chip strips for space/tab navigation
- Quick actions dock: yes/no/continue/retry/skip/commit & push
- Key queue composition with Shift/Ctrl modifier chords
- Command palette (/) constrained to phone-width (420px)
- Approval buttons with icons: ✓ Yes / 🛡 Yes All / ✕ No
- Pulse animation on working agents
- Connection status label in header (live/connecting/offline)
- Cuelume interaction sounds (Web Audio, zero files)
- Responsive: Safari compat, narrow mobile, wide desktop
- Updated screenshots
v0.6.2
- Collie-style nav tray: grid keys (inverted-T arrows), modifier composition (Shift/Ctrl one-shot), key queue with batch send, Ctrl presets with two-tap confirm, digits tab
- Cuelume interaction sounds — synthesized live via Web Audio, no files
- Tokyo Night as default theme (removed picker)
- Slash command palette (/) with per-agent commands (Claude, Codex, Pi, opencode)
- Auto-connect demo relay on herdr-demo.pages.dev
- Fixed updater version loop (v0.6.1)
v0.6.1
Audit fixes (13/20 → 19/20):
- Keyboard-accessible agent/workspace cards (role=button, tabindex, keydown)
- ARIA labels on all icon buttons, form label associations
- Focus-visible styles throughout
- 44px minimum touch targets on header and key bar
- Removed user-scalable=no for pinch zoom
- All 11 themes now defined in CSS (was 5/11)
- Terminal colors now theme-aware
- Narrowed transition: all to specific properties