Speakeasy 0.2.1
Speakeasy 0.2.1 keeps settings, cancellation, and Linux clipboard preparation responsive while tightening ownership of native resources.
- Validate and save settings off the UI thread. Saves preserve later edits, serialize durable writes, and respect Pause; Quit finishes requested saves. Resume also validates configured files in the background.
- Initialize Windows and macOS shortcut monitoring asynchronously. Readiness is reported after native initialization, and Pause owns listener cleanup without waiting on the UI thread.
- Own microphone teardown and serialize rapid retries. Cancellation checks run between native startup stages; Pause waits for microphone and speech cleanup together.
- Cancel model startup cooperatively and explicitly reap owned speech processes before replacement. Healthy GPU inference cancellation still keeps the warm model; input remains responsive during recovery.
- Keep Wayland clipboard preparation and bounded selection transfers responsive to desktop events and cancellation. X11 fallback clipboard calls use an owned worker; automatic X11 paste uses one synchronization after its key releases, and manual copy skips modifier waiting.
- Verify a completed partial download locally instead of downloading it again. Resumed hashing yields between bounded chunks so setup cancellation can proceed. Cancel keeps cleanup off the UI thread; Quit waits for owned setup children to exit.
- Release large unused PCM allocations after heavy quiet-edge trimming. A synthetic five-minute 48 kHz recording retaining eleven seconds of padded speech released about 26.5 MiB of buffer capacity; ordinary recordings keep their allocation. This is a capacity measurement, not a whole-app RSS or GPU-memory claim.
Windows x64 and Apple silicon macOS zip packages, plus Linux x86_64 AppImage and bundled tar packages, are attached with SHA-256 checksums. Existing settings, engines, and models are preserved.
Linux remains experimental. This release uses safe fixtures and subprocess checks; live microphone, keyboard hooks, compositor permissions, clipboard/editor insertion, displayed frame pacing, and macOS runtime acceptance were not exercised. Native acceptance requires explicit opt-in. Recognition policy, the five-minute recording limit, warm model residency, and the display-aware animation budget are unchanged.