Skip to content

v1.35.0

Latest

Choose a tag to compare

@goodroot goodroot released this 05 Jul 02:56

v1.35.0

Headline feature: first-class Noctalia support. Also includes native VAD for the pywhispercpp backend, a more robust wheel pipeline, and a handful of correctness fixes.

Added

  • Noctalia (v5+) integration. (or hyprwhspr setup, which now
    Headline feature: first-class Nocnative VAD for the pywhispercppbackend, a more robust wheel pipeline, and a handful of correctness fixes.

Added

  • Noctalia (v5+) integration. hyprwhspr noctalia install (or hyprwhspr setup, which now offers it automatically when Noctalia is detected) sets up:
    • A bar widget (noctwhspr) that mirrors the Waybar module's service/recording state as a glyph — left-click records, right-click restarts.
    • Automatic mic-OSD theme sync: the recording overlay renders in your live Noctalia palette via an app-theming template, and follows theme switches live.
    • hyprwhspr noctalia status / remove round out the command, and reinstalling migrates any earlier plugin/template names automatically.
  • Opt-in native VAD for the pywhispercpp backend (pywhispercpp_use_vad, default off). Bumps pywhispercpp to 1.5.0 (whisper.cpp 1.8.4), which exposes whisper.cpp's native Silero VAD. The VAD model auto-downloads on first use; a stale pre-1.5.0 install falls back gracefully with upgrade guidance instead of erroring.

Fixed

  • Audio ducking no longer moves your speaker volume. Ducking now lowers each playing application's stream volume (PulseAudio/PipeWire sink inputs) instead of the output device's master volume — so desktop-shell volume OSDs (Noctalia, swayosd, GNOME) don't fire on every recording, and your speaker setting is never touched. Restoration is now identity-checked per stream to avoid mis-restoring an unrelated app if a sink-input index gets reused mid-recording.
  • Model lookup now respects a cservice, not just theinstaller/CLI — previously a non- the CLI could download a modelthe running service then couldn't find.
  • Model download hash validation is now keyed per model file instead of one shared key, so validation actually checks the model you just downloaded rather than whatever was downloaded last. The minimum valid-download 100MB to 20MB so model downloadtiny (~31MB quantized) stops re-downloading itself every time.

Changed

  • Wheel publishing is now automatic. CI derives the pinned pywhispercpp commit straight from the installer (no more hand-maintained SHA fallbacks to forget) and only builds when the pinned version's wheels are actually missing from wheels-v2 — closing the drift that caused two silent CUDA source-build outages this cycle.
  • Tests now fail loudly on real network access. A guard on tests/ catches any mispatched mock that would otherwise reach out to HuggingFace mid-test-run, across both direct-network and proxied environments.

Full Changelog: https://githuare/v1.34.2...v1.35.0