Skip to content

Commit 9f6fb24

Browse files
debpalashclaude
andcommitted
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>
1 parent f73846b commit 9f6fb24

7 files changed

Lines changed: 20 additions & 16 deletions

File tree

CHANGELOG.md

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,30 @@ The format is loosely based on [Keep a Changelog](https://keepachangelog.com/).
66
Versions track the desktop app (`tauri.conf.json` + `frontend/src-tauri/Cargo.toml`).
77
The bundled TTS model package (`pyproject.toml`) is versioned independently.
88

9-
## [Unreleased]
9+
## [0.4.0] — 2026-07-21
1010

1111
**Highlights**
1212

13-
- First run is ~2.4 GB, not ~5 GB — only the TTS model is required
14-
- Settings → Models redesigned: grouped, platform-aware, one-click "for your system" picks
15-
- Guided mic + Accessibility permissions with Open Settings deep-links
16-
- Parakeet TDT v3 on Apple Silicon (`parakeet-mlx`)
17-
- No silent multi-GB downloads anywhere — explicit, one-click prompts instead
18-
- Windows: custom install drives honored, no console-window storms, no black-screen boot
19-
- Quiet recordings clone; broken engine deps repair-hint and fall back
20-
- Queued and long generations stop failing with a bogus "too heavy for your hardware"
21-
- First-run analytics consent, Colab notebook, ROCm Docker image, trusted-network CIDRs
13+
- 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
14+
- Pick a designed voice from the **Gallery** anywhere you choose a voice — audiobook, Stories, and Dubbing
15+
- Dub **Paste Translation** — drop in a translation or `.srt` and it maps straight onto your segments, timings intact
16+
- Downloading a finished audiobook no longer hijacks the app — it just saves
17+
- First run is ~2.4 GB, not ~5 GB — only the TTS model is required; ASR picks are curated per platform
18+
- Guided mic + Accessibility permissions with Open Settings deep-links; **Parakeet TDT v3** on Apple Silicon
19+
- Opens in your system language, with a one-tap switch back to English
20+
- Security: server-mode admin routes can't be reached by a trusted-network client without the API key
21+
- 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"
2222

2323
### Changed
2424

2525
- Settings → Models: grouped catalog (TTS / ASR / Dictation / Diarisation), "recommended for this machine" chips, incompatible models collapsed behind a toggle
2626
- 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)
2727
- 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)
2828

29+
### Removed
30+
31+
- 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)
32+
2933
### Added
3034

3135
- 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)

backend/core/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
# tests/test_app_version.py::test_all_version_files_in_lockstep and bumped by
2525
# release.yml's version-bump job, so it stays equal to
2626
# pyproject/tauri.conf/Cargo/package.json.
27-
_FALLBACK_VERSION = "0.3.22"
27+
_FALLBACK_VERSION = "0.4.0"
2828

2929

3030
def _fallback_version() -> str:

frontend/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "omnivoice-studio",
3-
"version": "0.3.22",
3+
"version": "0.4.0",
44
"private": true,
55
"license": "AGPL-3.0-only",
66
"type": "module",

frontend/src-tauri/Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

frontend/src-tauri/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "omnivoice-studio"
3-
version = "0.3.22"
3+
version = "0.4.0"
44
description = "OmniVoice Studio – AI voice cloning & dubbing desktop app"
55
authors = ["Debpalash"]
66
license = "AGPL-3.0-only"

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "omnivoice"
7-
version = "0.3.22"
7+
version = "0.4.0"
88
description = "OmniVoice: Towards Omnilingual Zero-Shot Text-to-Speech with Diffusion Language Models"
99
readme = "README.md"
1010
# Free and open-source under the GNU Affero General Public License v3 (see

uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)