release: v0.4.0
Bump the single source of truth (frontend/package.json) and the three toolchain mirrors (Cargo.toml, pyproject.toml, backend/core/version.py) plus the lockfiles (Cargo.lock, uv.lock) from 0.3.22 → 0.4.0, and rename the CHANGELOG's [Unreleased] section to [0.4.0] with milestone highlights. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
f73846b1c9
commit
9f6fb247ab
+14
-10
@@ -6,19 +6,19 @@ The format is loosely based on [Keep a Changelog](https://keepachangelog.com/).
|
||||
Versions track the desktop app (`tauri.conf.json` + `frontend/src-tauri/Cargo.toml`).
|
||||
The bundled TTS model package (`pyproject.toml`) is versioned independently.
|
||||
|
||||
## [Unreleased]
|
||||
## [0.4.0] — 2026-07-21
|
||||
|
||||
**Highlights**
|
||||
|
||||
- First run is ~2.4 GB, not ~5 GB — only the TTS model is required
|
||||
- Settings → Models redesigned: grouped, platform-aware, one-click "for your system" picks
|
||||
- Guided mic + Accessibility permissions with Open Settings deep-links
|
||||
- Parakeet TDT v3 on Apple Silicon (`parakeet-mlx`)
|
||||
- No silent multi-GB downloads anywhere — explicit, one-click prompts instead
|
||||
- Windows: custom install drives honored, no console-window storms, no black-screen boot
|
||||
- Quiet recordings clone; broken engine deps repair-hint and fall back
|
||||
- Queued and long generations stop failing with a bogus "too heavy for your hardware"
|
||||
- First-run analytics consent, Colab notebook, ROCm Docker image, trusted-network CIDRs
|
||||
- Audiobooks, end to end — a real **Stop** with live per-chapter progress, a **multi-voice cast**, expressive controls, a markup toolbar, live stats, and a one-click sample
|
||||
- Pick a designed voice from the **Gallery** anywhere you choose a voice — audiobook, Stories, and Dubbing
|
||||
- Dub **Paste Translation** — drop in a translation or `.srt` and it maps straight onto your segments, timings intact
|
||||
- Downloading a finished audiobook no longer hijacks the app — it just saves
|
||||
- First run is ~2.4 GB, not ~5 GB — only the TTS model is required; ASR picks are curated per platform
|
||||
- Guided mic + Accessibility permissions with Open Settings deep-links; **Parakeet TDT v3** on Apple Silicon
|
||||
- Opens in your system language, with a one-tap switch back to English
|
||||
- Security: server-mode admin routes can't be reached by a trusted-network client without the API key
|
||||
- A render error shows a recoverable card instead of a blank window; queued and long generations stop failing with a bogus "too heavy for your hardware"
|
||||
|
||||
### Changed
|
||||
|
||||
@@ -26,6 +26,10 @@ The bundled TTS model package (`pyproject.toml`) is versioned independently.
|
||||
- Only the TTS model (~2.4 GB) is required on first run; ASR picks are curated per platform via `curated_on` in `models.yaml` (MLX on Apple Silicon, CT2+Turbo on CUDA, PyTorch on ROCm, int8 on CPU)
|
||||
- Audiobook tab tidied up: the settings column is now grouped into compact collapsible sections (Output / Book details / Pronunciation / Markup), so script + voice + Create sit up top instead of a long scroll — same controls, denser layout (#1214)
|
||||
|
||||
### Removed
|
||||
|
||||
- The Dubbing per-segment picker's hardcoded design-presets group — superseded by the richer designed-voice Gallery; already-saved `preset:` picks still generate identically (#1220)
|
||||
|
||||
### Added
|
||||
|
||||
- Voice picker: the designed-voice **Gallery** is now selectable anywhere a voice is chosen — the audiobook default voice and each Cast row can pick a gallery archetype (searchable, favourites first), and it's materialised into a real profile on pick so it just works everywhere (#1219)
|
||||
|
||||
@@ -24,7 +24,7 @@ from pathlib import Path
|
||||
# tests/test_app_version.py::test_all_version_files_in_lockstep and bumped by
|
||||
# release.yml's version-bump job, so it stays equal to
|
||||
# pyproject/tauri.conf/Cargo/package.json.
|
||||
_FALLBACK_VERSION = "0.3.22"
|
||||
_FALLBACK_VERSION = "0.4.0"
|
||||
|
||||
|
||||
def _fallback_version() -> str:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "omnivoice-studio",
|
||||
"version": "0.3.22",
|
||||
"version": "0.4.0",
|
||||
"private": true,
|
||||
"license": "AGPL-3.0-only",
|
||||
"type": "module",
|
||||
|
||||
Generated
+1
-1
@@ -2941,7 +2941,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "omnivoice-studio"
|
||||
version = "0.3.22"
|
||||
version = "0.4.0"
|
||||
dependencies = [
|
||||
"arboard",
|
||||
"dirs-next",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "omnivoice-studio"
|
||||
version = "0.3.22"
|
||||
version = "0.4.0"
|
||||
description = "OmniVoice Studio – AI voice cloning & dubbing desktop app"
|
||||
authors = ["Debpalash"]
|
||||
license = "AGPL-3.0-only"
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
||||
|
||||
[project]
|
||||
name = "omnivoice"
|
||||
version = "0.3.22"
|
||||
version = "0.4.0"
|
||||
description = "OmniVoice: Towards Omnilingual Zero-Shot Text-to-Speech with Diffusion Language Models"
|
||||
readme = "README.md"
|
||||
# Free and open-source under the GNU Affero General Public License v3 (see
|
||||
|
||||
Reference in New Issue
Block a user