This release is about the viewer: it renders cleaner, loads faster, and now runs natively on more machines.
✨ A smoother terminal. The viewer moves to xterm.js 6.0 with synchronized output, so full-screen programs — vim, htop, anything that repaints — land as complete frames instead of tearing mid-redraw. The terminal also paints in the default theme immediately, so there is no flash of the wrong colors before the broadcaster's theme arrives.
⚡ Faster room loads. Stylesheets and the viewer script now ship from their own immutable, versioned URLs, so opening a second share link reuses what your browser already has instead of re-downloading it. The /r/:room.bin snapshot no longer gets cached by CDNs for a month, so agents and scripts always read the live broadcast.
💻 Linux arm64 binaries. Raspberry Pis, Ampere/Graviton servers, and arm64 containers get a native build — via npx shellshare or a direct download, no emulation needed.
🐛 Also fixed: a lost SIGWINCH wake-up could hang the client on exit.
What's Changed
- Upgrade the viewer to xterm.js 6.0 for synchronized output by @vitorbaptista in #191
- perf: serve the viewer's CSS and script from cacheable URLs by @vitorbaptista in #190
- fix: stop CDNs caching the /r/:room.bin snapshot for a month by @vitorbaptista in #193
- fix: paint the viewer terminal in the default theme before one arrives by @vitorbaptista in #194
- docs: drop the -y flag from the npx install command by @vitorbaptista in #196
- fix: stop a lost SIGWINCH wake-up hanging the client on exit by @vitorbaptista in #198
- chore: delete comments that only restate the code by @vitorbaptista in #197
- feat: ship a Linux arm64 binary by @vitorbaptista in #199
Full Changelog: v3.11.0...v3.12.0