The polish release. The dubbing workspace can no longer trap you — an interrupted dub session used to relaunch into an eternal spinner that even reinstalling couldn't clear (thank you @nanai97 for the screenshot that cracked it). A 58-finding audit of every Settings panel got fixed end to end, FFmpeg and yt-dlp stopped being your problem (the app provisions its own, with a new Audio tools panel when you want control), the Engines and Models pages went compact and tabbed, the launcher stopped trusting half-dead backends, and the app finally opens at 100% scale.
Added
-
FFmpeg, FFprobe, and yt-dlp stopped being your problem. The setup wizard no longer lists them as system requirements with "brew install" homework — the app provisions them itself: shipped installs already bundle them, and when nothing is found the backend downloads its own checksum-pinned static build in the background, showing a single actionable card only if that fails. A new Settings → Audio tools panel gives back the control: per-tool version and origin (App package / Bundled / System / Custom), update / use-system / choose-file / restore-bundled — and one-click yt-dlp updates that survive app upgrades, because video-site support changes faster than releases. Install docs updated to match. (#1071)
-
The Engines and Models pages got compact and tabbed. Engines is now one section with TTS / ASR / LLM tabs; every engine is a strict two-line, fixed-height row with truncated text and aligned status / GPU / isolation / action columns, so the whole engine list fits one screen — details like "Why unavailable?" expand below the row instead of stretching it. Models rows tightened the same way. (#1072)
-
The Engines and Models pages got a full readability-and-features pass. Every engine row now carries a small identity mark and honest capability badges (voice cloning, device routing with the reason on hover, sidecar isolation), and engines that are ready-but-have-advice finally say so — upgrade hints used to be dropped before reaching the UI. The model store gains a filter, disk-space context next to downloads, "in memory — safe to unload" indicators, copyable setup snippets for opt-in engines, and empty states that tell you what to do next. (#1058)
Fixed
-
The app no longer attaches to a "zombie" backend that looks alive but fails everything. If a backend process survived while its install was replaced or deleted underneath it, it kept answering health checks from memory — so the next launch attached to it and every real request failed with a confusing access-control error. The launcher now runs a deeper probe (an endpoint that actually touches the database) before attaching, and replaces any backend that fails it. The local dev/test scripts also now terminate running instances before wiping data, which is how this state was produced. (#1077)
-
The app opens at 100% scale by default. New installs rendered everything at 130% zoom, which read as oversized on typical displays. Fresh sessions now start at native size; if you already picked a scale in Settings → Appearance, your choice is kept. (#1074)
-
The app no longer relaunches into a dead "generating" dub session — the blank-pane-and-spinner trap. The saved dub session was restoring its in-flight state verbatim: quit (or crash) while a dub was generating and every subsequent launch waited forever for work that died with the process — and reinstalling couldn't clear it. Interrupted sessions now reopen on the segment editor with all your work intact (or the upload screen if nothing was transcribed yet). Thanks to @nanai97 for the screenshot that told the whole story. (#1067)
-
A 58-finding audit of every Settings panel, fixed end to end. Highlights: the About page linked to the wrong project's GitHub; Arabic rendered left-to-right (RTL wiring was missing); a saved proxy could never be cleared after a reload; the HF-mirror and refinement panels vanished entirely when the backend was down; "Test now" on the HF token served five-minute-old cached results; factory reset only cleared part of what it promised; pronunciation previews ignored language-scoped entries; the hotkey recorder swallowed invalid presses in silence; Settings search could strand you with an empty sidebar — plus first component tests for previously untested panels, full i18n for five all-English panels, accessible names across inputs, confirmed destructive actions, deep links instead of dead-end advice, temp-file reclaim, and log-sharing workflows. (#1059, #1060, #1061, #1063, #1064)
macOS Apple Silicon artifacts
f8b730ab27870b6be781e76c690b7fe406c5b446e7542a8f466e6669b2919ad1 OmniVoice Studio_0.3.17_aarch64.dmg
efed3a908b6b0c23d2494f5026c3801ca539a908e753d7281819d1f973e17c8b OmniVoice Studio.app.tar.gz
7a2eedf59ae3e5f38c6a08f186a462c9fff359251ae3ca0274970bcb4be58910 OmniVoice Studio.app.tar.gz.sig
Windows x64 artifacts
8216073abd0ca67db5eb462f06d821385b63542a06dc357db2d580ae5f1a46ac *OmniVoice Studio_0.3.17_x64_en-US.msi
defee37952fa6be4de905a2c764c917de5e8e3a6c1c0736d8ce8b7d2c6bcf92d *OmniVoice Studio_0.3.17_x64_en-US.msi.sig
macOS Intel artifacts
360ef5ba7dd1083d7e9f8e4a1becce05f1e3df18c371497c1c529c2e07d87316 OmniVoice Studio_0.3.17_x64.dmg
3742437396bf5a651f9c113c6a66b06e4c40d6821d547e6b5219562907b9fcb5 OmniVoice Studio.app.tar.gz
a30031606f1f42e5252c32a329209d107613f83f3e3265cc2ce91c82500bf939 OmniVoice Studio.app.tar.gz.sig