Releases: AltanS/collie
Release list
Collie v0.17.0
Fixed
- A reply sent while an agent dialog was focused answered the dialog instead. The submit key approved whatever option was highlighted (Claude defaults to "Yes") and the message was destroyed, while the bridge reported success. Sending now refuses outright while a dialog is up, and otherwise types first and only submits once the text is verified in the input box (#34) — thanks @maikschuheida-spec
Changed
- Free-text replies on harnesses with a block grammar (Claude) are two steps — type, verify, submit — so "Sent ✓" now means the text was seen in the input box. Harnesses without an adapter keep the previous one-shot send
Update
Update the plugin — pulls, rebuilds, restarts, and re-links (runs from any directory):
herdr plugin action invoke update --plugin herdr.collie
Or just restart the bridge to pick up an already-built change:
herdr plugin action invoke restart --plugin herdr.collie
Collie v0.16.1
Fixed
/api/configis now gated like every other endpoint — it was the one route that skipped the same-origin check andCOLLIE_PUBLIC_HOSTS, noted by @Optic00 in #32 (a54afd9)
Update
Update the plugin — pulls, rebuilds, restarts, and re-links (runs from any directory):
herdr plugin action invoke update --plugin herdr.collie
Or just restart the bridge to pick up an already-built change:
herdr plugin action invoke restart --plugin herdr.collie
Collie v0.16.0
Added
- Bring-your-own-tunnel deployment path documented as Variant E — NetBird, ZeroTier, Cloudflare Tunnel (6550041)
scripts/collie-ctl.test.sh— first lifecycle coverage for the control script, wired into the pre-push hook (a004449, 65889da)
Fixed
unserve/uninstallno longer remove atailscale servemapping Collie didn't create, andstartno longer replaces one (a004449, thanks @iamtimmy)- A front door that fails to publish no longer aborts
startbefore the status banner (65889da)
Update
Update the plugin — pulls, rebuilds, restarts, and re-links (runs from any directory):
herdr plugin action invoke update --plugin herdr.collie
Or just restart the bridge to pick up an already-built change:
herdr plugin action invoke restart --plugin herdr.collie
Collie v0.15.0
Added
- Pane conversation history read from the agent's own transcript — scroll back past the live mirror (77dff7c)
- Windows support for the bridge: dials herdr's named pipe through
node:net, one code path for both platforms (#25, #27) — thanks @mikebenner and @bwright2810 (dd6610d) COLLIE_HERDR_DIAL=auto|net|bunforces the dialer;netexercises the Windows path on Linux/macOS (f662834)
Changed
- Breaking, only if
COLLIE_DEVICE_HEADERis set: a request arriving without the device header is now read-only. It previously got full write access, which let any tailnet client reach the bridge's own URL and skip the proxy that injects the header. Front doors that inject it on every request are unaffected; direct loopback/MagicDNS access now needs the header sent by hand (#28) — thanks @Optic00 (8ed715d)
Fixed
- A 401/403 no longer renders as an endless "reconnecting" banner — an access refusal now says so and offers Reload (#30) — thanks @Optic00 (7bdcbfb)
Update
Update the plugin — pulls, rebuilds, restarts, and re-links (runs from any directory):
herdr plugin action invoke update --plugin herdr.collie
Or just restart the bridge to pick up an already-built change:
herdr plugin action invoke restart --plugin herdr.collie
Collie v0.14.2
Added
- Paste an image straight from the clipboard into the composer, same upload path as the picker (#24) (ad6957b)
Update
Update the plugin — pulls, rebuilds, restarts, and re-links (runs from any directory):
herdr plugin action invoke update --plugin herdr.collie
Or just restart the bridge to pick up an already-built change:
herdr plugin action invoke restart --plugin herdr.collie
Collie v0.14.1
Fixed
collie-ctl.sh self_dnsnameshelled out tonode, which Collie never requires — now usesbun(#22) — thanks @jz-wilson (a61f3d1)
Update
Update the plugin — pulls, rebuilds, restarts, and re-links (runs from any directory):
herdr plugin action invoke update --plugin herdr.collie
Or just restart the bridge to pick up an already-built change:
herdr plugin action invoke restart --plugin herdr.collie
Collie v0.14.0
Added
- Alt modifier in the nav tray —
alt+<key>chords now reachable from the phone (#19) — thanks @bnivanov (d1dc947) - Modifiers combine (checkbox, not radio):
ctrl+shift+p,alt+shift+p, even triple chords (#20) (d1dc947) - Modifier lock — tap an armed modifier again to keep it armed across presses and Sends; Clear or a third tap releases (#20) (d1dc947)
Changed
- HERDR_API.md: multi-modifier chords live-verified in any order against Herdr 0.7.3, cross-confirmed on 0.7.4 by @bnivanov (b505c4e)
Update
Update the plugin — pulls, rebuilds, restarts, and re-links (runs from any directory):
herdr plugin action invoke update --plugin herdr.collie
Or just restart the bridge to pick up an already-built change:
herdr plugin action invoke restart --plugin herdr.collie
Collie v0.13.2
Fixed
- Tabs render in Herdr's reported order instead of stable-number order, so a reorder in Herdr survives to the screen — thanks @iFwu (a16478f)
- Tapping raw terminal output focuses the composer synchronously, keeping iOS's user-activation window so the software keyboard opens — thanks @iFwu (a78ccfd)
Update
Update the plugin — pulls, rebuilds, restarts, and re-links (runs from any directory):
herdr plugin action invoke update --plugin herdr.collie
Or just restart the bridge to pick up an already-built change:
herdr plugin action invoke restart --plugin herdr.collie
Collie v0.13.1
Fixed
- Taking over or sending a draft no longer permanently mutes the preview for that same text — the handled key resets once the host line clears (7153639)
- Send's pre-clear sweep overshoot widened 8 → 32 so host typing inside the poll gap can't leave a remnant (7153639)
- A scrollback line starting with
❯can no longer pin a bogus session name — only the live (bottommost) prompt decides (808cce7)
Update
Update the plugin — pulls, rebuilds, restarts, and re-links (runs from any directory):
herdr plugin action invoke update --plugin herdr.collie
Or just restart the bridge to pick up an already-built change:
herdr plugin action invoke restart --plugin herdr.collie
Collie v0.13.0
Added
- Long-press a pane pill for a pane actions sheet — rename + two-tap close (5b50941, c713551, 90210ce, ea20df0)
- Pane rename end-to-end:
pane.renameRPC, bridge route, label threading (99c8808) - Tab rename + tab close (blast-radius confirm) via the same long-press sheet on tab chips (a9664b5, 37a470e)
- Claude's own
/renamesession name surfaced on cards, headers, and the switcher (d22fdd7) - Read-only "Draft in terminal" preview with explicit Take over — the composer input is exclusively phone-owned (4b6f0ac, 10fa28d)
- Self-update without the service worker:
X-Collie-Buildon polled responses, auto-reload or tap-to-update banner (8d13622) - Instant offline navigation — during a known outage, routes serve the last good snapshot instead of hanging on a dead fetch (b756edd)
- Busy strip on genuinely hung loads: navigations >500ms, background polls >6s (e886541, 3bfaa1c, 06516c4)
-devmarker in the build stamp for non-release builds (3e785f4)
Changed
- One shared
AppHeaderfor dashboard, space, and pane — same components underneath, stale status badges dim during outages (29432c2) - Connection status is a single animated top bar — amber "reconnecting…" after 4s of trouble, red with Retry at 15s, green flash on recovery; no header pill (394e6fe, b2dd50e)
- Switcher sections carry status-colored bullets; per-row close removed (switching is the only action there) (3918c69)
assets/*served immutable, everything elseno-cache— proxy caches can no longer starve/sw.jsupdates (8d13622)
Fixed
- Own in-flight reply no longer flagged as a stranded terminal draft (e8462f9)
- Wrapped multi-line drafts and the new background-agents footer no longer break input-box detection (829fc7e, d9521e3)
navigator.onLinenever gates polling or liveness — lying flags can't wedge the app or fake outages (d31ffb8, 394e6fe)- One shared connection-lost clock; escalation survives route changes and app switches until a poll succeeds (1486e07, 5949885)
- Sustained outages escalate everywhere — boot splash, header, banner — with Retry/Reload (0cbbac1, 4d89588, 4494cf5)
- Gallop sprite re-centered; the dog never freezes mid-stride (rest state is the static icon) (3c7174a, 394e6fe)
- Offline banner no longer overlaps the sticky header (bf98a88)
Update
Update the plugin — pulls, rebuilds, restarts, and re-links (runs from any directory):
herdr plugin action invoke update --plugin herdr.collie
Or just restart the bridge to pick up an already-built change:
herdr plugin action invoke restart --plugin herdr.collie
⚠️ Upgrade note for reverse-proxy (Variant C) operators
Releases before 0.13.0 served /sw.js without a Cache-Control header, so a caching proxy may still be holding an old copy — which can keep installed PWAs pinned to old code. After updating, purge (or restart) your proxy's cache once. From 0.13.0 the bridge sends explicit cache headers (assets/* immutable, everything else no-cache) and the app self-heals: open clients detect a new build via the polled X-Collie-Build header and update themselves within ~1–2 minutes — no reinstall needed. Make sure your proxy respects origin Cache-Control and never blanket-caches /sw.js (see README → Variant C).