#66

chore: release 0.6.0

Opengithub-actions[bot]wants to merge intofrom

:robot: I have created a release beep boop

0.6.0 (2026-10-27)

Features

  • a11y: screen reader announcements, row mirror and keyboard exit (37c7595)
  • add GPU post-process effects and custom WGSL shaders (6040feb), closes #43
  • add React, Vue, Svelte and <wraith-term> bindings (9b9c876), closes #42
  • command blocks API, gutter and shell integration for both profiles (fe489e0), closes #48
  • command blocks from OSC 133 shell integration (bd31175)
  • demo: add the effects lab with a custom shader gallery (48d4bff), closes #43
  • draw pooled terminals into one shared WebGPU surface per worker (e5fbb60), closes #45
  • engine: track OSC 133 command blocks with Ghostty tracked refs (a986aa5), closes #48
  • expose VT state snapshots and grid digests from the headless engine (c08ca79), closes #47
  • GPU effects (CRT, bloom, cursor trail) and custom WGSL shaders (a7cfb53)
  • let the engine worker own the terminal's WebSocket (0873abe)
  • React, Vue, Svelte and <wraith-term> bindings (2b3f45b)
  • record, replay and scrub terminal sessions (a9bdbd9), closes #47

Performance

  • batch serve's PTY output into larger WebSocket messages (66f6f5b)
  • measure keystroke-to-pixel latency; render idle echoes at once (2c66654)
  • open serve's WebSocket in the engine worker, off the main thread (3f6548d)
  • read serve's PTY from a worker thread (a7849e2)
  • read serve's PTY into a shared ring without stack traces (1f48fa6), closes #60
  • render an idle terminal's next write at once (7c308c3), closes #59
  • stop re-layerizing the page on every unfocused cursor move (94b0ec7), closes #45
  • warm up the first engine in each worker during idle time (73f9788)
  • warm up the Wasm engine; measure SIMD and build flags (c787121)

Bug fixes

  • a11y: hold accessibility config until the worker has started (c266ed4)
  • a11y: show the focus ring only for the focus a Tab caused (c252051)
  • bindings: stop live grid changes on fitting terminals and late onReady (e42377a)
  • correct bash integration cmdlines for unsaved and non-ASCII commands (db6df0c)
  • drop the worker socket when the terminal fails (75ca66b)
  • effects: survive dispose during setEffects and restore trail after reduced motion (bda3871)
  • engine: report blocks erased by clear as truncated (34489dc)
  • fall back to the typed command in the native profile (a30dca5)
  • hide styled-hidden and re-clip moved hosts on shared surfaces (9908ea9)
  • ignore command-block replies while a terminal disposes (00e893e)
  • keep internal player seeks from raising unhandled rejections (50b2a72), closes #47
  • keep Wraith.player from deadlocking under top-level await (ee33a8b)
  • read grid digests inside synchronized output without releasing it (1567485), closes #47
  • record resizes in the order the worker applies them (415563b)
  • serve: stop the PTY reader thread before node-pty closes the master (92f242e)

Documentation

  • a11y: describe what announcements: 'always' actually gates on (accbcc0)
  • document accessibility and compare it with wterm (564fb28)
  • document command blocks and measure their overhead (3de3011), closes #48
  • document framework bindings and add a <wraith-term> demo (5c3723e), closes #42
  • document recording, asciicast and the scrubbable player (87514b5), closes #47
  • measure and document GPU effects (de0790f), closes #43
  • record replay seek latency on a 10-minute session (0ef13cd), closes #47
  • rename engine warm-up report and state its measurement limits (2de5b0f)
  • report the headed fleet benchmark and document shared surfaces (53ecd08), closes #45
  • state shared atlas capacity and opacity limits in both READMEs (127d4a3)
  • state that recordings start empty (1cf25a3)

Benchmarks

  • a11y: measure screen reader mode overhead and record validation (66fab23)
  • add engine-only throughput, first-content and worker profile harnesses (c2dc4be)
  • add headed fleet benchmark for shared vs per-canvas pools (df8b8db), closes #45
  • make the native-Ghostty scripts portable across concurrent runs (5dc8e63), closes #60
  • measure keystroke-to-pixel latency through serve (d255384), closes #59
  • record serve's ring reader against #57, with a browserless client (a05efe2), closes #60

This PR was generated with Release Please. See documentation.

Activity

1
G
3586dc3