π§ͺ Rolling preview build from
mainβ newest features, less tested. Opt in via Settings β About β Update channel β Preview; switch back to Stable any time.
What's Changed
- feat: Scalar API docs, community health files, Quickstart cards by @debpalash in #41
- fix: resolve open issues β Discord link, Docker crash, IndexTTS compat, engine tooltips by @debpalash in #47
- Stability pass: DB leaks, App.jsx hooks refactor, desktop bootstrap by @debpalash in #49
- Post-refactor cleanup: wire fingerprints, drop dead code, scope pytest by @debpalash in #50
- Import .srt subtitles to bypass Whisper (closes #52) by @debpalash in #53
- fix: lazy-load ASR during desktop startup by @sunsetsobserver in #61
- fix: setuptools pin, Linux/Russia troubleshooting (#58, #56, #60) by @debpalash in #62
- Phase 0 β Gates: cross-platform CI matrix + regression fixture + release smoke by @debpalash in #71
- security: add loopback origin check to /system/set-env by @debpalash in #81
- Cross-platform bug bash: docker, diarization, VRAM concurrency, dub editor UX, Stories tab by @debpalash in #51
- fix(widget): hide dictation pill when idle, show only when activated by @debpalash in #83
- fix: stabilize dub/diarization UI + production deployment + sonitranslate plumbing by @debpalash in #75
- fix(docker): GPU detection in containers + compose profiles + sonitranslate cuDNN sub-repo by @debpalash in #74
- fix: add PYTHONPATH to docker-compose for pre-built images by @fishandsheep in #77
- P0: release.yml typecheck + bind audit + loopback middleware by @debpalash in #84
- docs(v0.3.0): research + 18 plans for fat-milestone planning by @debpalash in #87
- P0 wave-1: security + correctness + Phase 2 foundation by @debpalash in #88
- Phase 1 Wave 1: HF token persistence + redactor (closes #35) by @debpalash in #91
- docs(planning): Phase 0 VERIFICATION + flip GATE/AUTH status to Done by @debpalash in #92
- Phase 1 Wave 3: AppImage launcher + .deb ffprobe + Docker LAN + Gatekeeper probe (closes #54, #56, #76, #80) by @debpalash in #93
- fix(smoke): force-override OMNIVOICE_DATA_DIR + purge cached backend modules by @debpalash in #95
- Phase 1 Wave 2: per-OS install docs + Settings UI + errorβdocs deeplinks by @debpalash in #94
- Phase 2 Plan 02-02: audio I/O hardening + WAV-export correctness by @debpalash in #96
- Phase 2 Plan 02-01: SubprocessBackend primitive (Wave 1 of Phase 2) by @debpalash in #97
- Phase 2 Plan 02-03: IndexTTS on SubprocessBackend (closes #42) by @debpalash in #98
- Phase 2 Plan 02-04: Engine Compatibility Matrix API + UI by @debpalash in #99
- Phase 3 Plan 03-01: Supertonic-3 engine on SubprocessBackend by @debpalash in #101
- Fix NameError: '_gpu_pool' is not defined in get_model() by @nexlabz in #90
- fix(tauri): inject-apprun path relative to frontend/ (where beforeBundleCommand runs) by @debpalash in #102
- fix(desktop-prod): clean backend data dir for actual fresh-install emulation by @debpalash in #103
- fix(widget): hide on app load, bottom-center position, exclude from window-state restore by @debpalash in #104
- fix(ui): calmer launchpad β hide readiness when green, drop duplicate notif pill by @debpalash in #105
- fix(ui): hide RAM/CPU/VRAM in header by default; opt in via Settings β Performance by @debpalash in #106
- fix(ui): gate A/B Compare on having β₯2 profiles to actually compare by @debpalash in #107
- fix(ui): move UI scale + theme picker from footer to Settings β Appearance by @debpalash in #108
- Per-segment audio effects DSP preset selector (closes #67, rebased from #68) by @debpalash in #109
- fix: personality preset crash in Design tab (closes #89) by @debpalash in #111
- fix: speaker detection β gated pyannote license surfaces a docs deeplink (closes #78) by @debpalash in #110
- Phase 4 Plan 04-01: SPIKE-01 GGUF β GO + integration by @debpalash in #100
- ci(security): scanning workflow + CodeRabbit config + sweep design (PR 0) by @debpalash in #135
- feat: pipeline error transparency β no more silent "unknown error" (plan-04, closes #131) by @debpalash in #136
- fix(client): use window.location.hostname for remote/Docker deployments by @abhid in #123
- fix(windows): HF cache disk-fallback for WinError 448 (plan-01, closes #117 #118) by @debpalash in #137
- feat: bundle Claude Code agent skill at .claude/skills/omnivoice/ by @broomva in #113
- fix(windows): gate torch.compile on Triton + ASR critical-path smoke (plan-02, closes #65) by @debpalash in #138
- fix(bootstrap): mirror cascade + system-Python fallback for blocked networks (plan-03, closes #60) by @debpalash in #140
- fix(voice-design): validator-safe instruct builder (plan-05, closes #114 #115) by @debpalash in #141
- fix(bootstrap): always try only-system fallback (drop too-strict gate, refs #130) by @debpalash in #142
- feat(macos): wire Developer-ID signing + notarization; fix "app is damaged" docs (#134, #72) by @debpalash in #143
- chore: set version to 0.3.0 across all sources (+ drop v0.4 references) by @debpalash in #145
- ci: gate omnivoice-tts build to pin changes; drop hanging Intel-Mac leg by @debpalash in #147
- fix(bootstrap): surface why the backend "never started" (refs #144, #127) by @debpalash in #148
- feat(settings): configurable models directory (#64) by @debpalash in #149
- feat: onboarding demos, opt-in bug reporting, error-docs deeplinks + issue triage by @debpalash in #133
- feat(dub): audio-only dubbing mode (#119) by @debpalash in #150
- docs(#124): AMD GPU (ROCm) install path by @debpalash in #151
- fix(dub): async-ify _pitch_preserving_stretch (Greptile P1 from #133) by @debpalash in #152
- fix(onboarding): hide DictationDemo when sample assets are absent by @debpalash in #153
- feat(bootstrap): opt-in AMD ROCm torch install (#124) [needs AMD-hardware validation] by @debpalash in #154
- docs(install): clarify macOS Gatekeeper "damaged" workaround (#134) by @debpalash in #155
- fix(windows): port-conflict kill + Triton/torch.compile disable (salvaged from #85) by @debpalash in #156
- l10n(zh-CN): full Chinese localization + Windows/settings fixes (absorbed from #66) by @debpalash in #157
- fix(bootstrap): scrub PYTHONHOME/PYTHONPATH before uv so AppImage venv build succeeds (#144, #127) by @debpalash in #158
- feat: network sharing (PIN-gated LAN + QR) & Tailscale remote access (#125) by @debpalash in #159
- polish(network): outermost PIN gate + non-buffering ASGI middleware + listener test by @debpalash in #160
- fix(tailscale): HTTP serve fallback when tailnet lacks HTTPS certs + parallel dev launch by @debpalash in #161
- test: scrub brand name from whisper segmentation fixture by @debpalash in #162
- feat(network): user-configurable backend / LAN-share / UI ports by @debpalash in #163
- fix(scripts): support Windows (Git Bash) in desktop-prod.sh (#164) by @debpalash in #165
- fix(scripts): Windows (Git Bash) support in install/run/smoke-test by @debpalash in #166
- fix(diarization): use_auth_token->token shim for pyannote on HF Hub 1.x (#167) by @debpalash in #168
- fix(network): footer Local toggle was dead in Tauri (window.confirm no-op) by @debpalash in #169
- feat(settings): dedicated Appearance tab + global font selection by @debpalash in #170
- fix(network): remote LAN-share UI actually works (same-origin API + safe clipboard) by @debpalash in #171
- chore: gitignore Spec Kit/GSD local tooling (clean untracked clutter) by @debpalash in #172
- fix(model): first-run model load/download never hangs forever (Windows demo-voice hang) by @debpalash in #173
- fix(docker): runtime API-base override (Settings 'Failed to load engines: Failed to fetch') by @debpalash in #174
- fix(win): subprocess spawns work under
bun run dev(--reload) on Windows (#122) by @debpalash in #175 - fix(stories): preview 404 β route through job-less /generate by @debpalash in #176
- feat(stories): Pro Studio Phase 1 β real audiobook output, cast, persistence, reorder, i18n by @debpalash in #177
- feat(stories): Pro Studio Phase 2 β auto-cast from text + import (.txt/.srt) by @debpalash in #178
- feat(stories): Pro Studio Phase 3 β per-line tone tags + speed by @debpalash in #179
- feat(stories): Pro Studio Phase 4 β stems + chapters + named projects by @debpalash in #180
- feat(stories): MP3/M4B export β backend ffmpeg encode + format selector by @debpalash in #181
- fix(dub): ExportModal crash β t-shadowing in .map callbacks (#183) by @debpalash in #184
- fix(dub): key per-segment WAVs by stable id, not list index (#185) by @debpalash in #187
- fix(win): SoniTranslate venv paths cross-platform β Scripts/ on Windows (#186) by @debpalash in #188
- feat(dub): move Generate Dub + Export to the header bar by @debpalash in #189
- feat(dub): Output Options + Timing β top of the right (transcript) section by @debpalash in #190
- feat(asr): FunASR (SenseVoice) as an opt-in alternative ASR backend (#182) by @debpalash in #191
- fix(ui): larger collapsed-sidebar icons (Projects/History/Exports) by @debpalash in #192
- fix(ui): compact the top-bar height by @debpalash in #193
- feat(dub): density pass β tighter segment rows by @debpalash in #194
- feat(ui): density follow-up β tighter studio-panel padding by @debpalash in #196
- feat(dub): FunASR cam++ inline diarization (#182 Phase 2) by @debpalash in #197
- feat(update): non-blocking auto-update β progress, states, busy-gating by @debpalash in #198
- feat(update): Stable/Preview update channels with opt-in toggle by @debpalash in #199
- chore(security): scope CodeQL to shipped product code by @debpalash in #201
- feat(l10n): Full i18n β 21 languages, auto-detection, splash language picker by @debpalash in #200
- i18n: backfill update-channel + auto-update keys across 18 languages by @debpalash in #202
- feat(gallery): designed-voice archetype gallery + neutral importer by @debpalash in #203
- fix(audio): stop near-silent renders becoming blank noise + guard archetype renders by @debpalash in #204
- i18n: backfill gallery + archetypes keys across 20 locales by @debpalash in #205
- feat(gallery): lucide/flag icon redesign + community marketplace (omnivoice-gallery) by @debpalash in #207
- chore(lint): remove unused imports + variables (ruff F401/F841) by @debpalash in #210
- Add Arch Linux installation instructions by @Antony-hash512 in #209
- fix(ci): skip supertonic license/cpu tests when optional dep absent (unblocks releases) by @debpalash in #211
New Contributors
- @sunsetsobserver made their first contribution in #61
- @fishandsheep made their first contribution in #77
- @nexlabz made their first contribution in #90
- @abhid made their first contribution in #123
- @broomva made their first contribution in #113
- @Antony-hash512 made their first contribution in #209
Full Changelog: v0.2.7...preview