From 97bfbfecd12e5b1773429da044817afe57eabec1 Mon Sep 17 00:00:00 2001 From: Palash Debnath <4178343+debpalash@users.noreply.github.com> Date: Fri, 28 Aug 2026 11:27:59 +0530 Subject: [PATCH] chore(release): prepare v0.5.1 (#1688) Prepare the tested main branch for the v0.5.1 patch release with synchronized version sources, mirrors, lockfiles, release notes, and install guidance. Closes #1687. --- .github/SECURITY.md | 2 +- CHANGELOG.md | 3 ++- backend/core/version.py | 2 +- bun.lock | 2 +- deploy/dockerhub-overview.md | 4 ++-- docs/install/docker.md | 6 +++--- frontend/package.json | 2 +- frontend/src-tauri/Cargo.lock | 2 +- frontend/src-tauri/Cargo.toml | 2 +- infra/install-redirect/worker.js | 2 +- pyproject.toml | 2 +- scripts/install.ps1 | 2 +- scripts/install.sh | 2 +- tests/test_voicestudio_branding.py | 2 +- uv.lock | 2 +- 15 files changed, 19 insertions(+), 18 deletions(-) diff --git a/.github/SECURITY.md b/.github/SECURITY.md index 1c3c7459..a7fcd8d7 100644 --- a/.github/SECURITY.md +++ b/.github/SECURITY.md @@ -4,7 +4,7 @@ | Version | Supported | |---------|-----------| -| 0.3.x (latest release + `main` previews) | ✅ Current — all fixes land here | +| 0.5.x (latest release + `main` previews) | ✅ Current — all fixes land here | | 0.2.7 | ⚠️ Legacy stable — security fixes only, upgrade recommended | | < 0.2.7 | ❌ No longer supported | diff --git a/CHANGELOG.md b/CHANGELOG.md index c52ecb4c..ef7d4b76 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ The format is loosely based on [Keep a Changelog](https://keepachangelog.com/). `frontend/package.json` is the app-version source of truth; Cargo, Python, and the frozen-backend fallback mirror it for their toolchains. -## [Unreleased] +## [0.5.1] — 2026-08-28 **Highlights** @@ -51,6 +51,7 @@ the frozen-backend fallback mirror it for their toolchains. - Opt-in 24-layer PocketTTS checkpoints via `OMNIVOICE_POCKETTTS_24L` — better prosody for it/de/es/pt at roughly 2x render time (still faster than real-time); the fast 6-layer model stays the default (#1613) — thanks @paoloantinori! ### Docs +- Supported-version and install guidance now identifies 0.5.1 as the stable desktop and container release (#1687) - The Docker Hub overview now shows the current engine-switching demo, Model Catalogue, and gallery voice workflow (#1593) - The Docker Hub overview and install guide now show the v0.5 tags and the built-in API-key/share-PIN security model instead of obsolete v0.4 and no-authentication guidance (#1592) - The READMEs now lead with download buttons and a three-step first-clone walkthrough, and a new benchmarks page anchors measured per-engine/per-device numbers on the in-repo harness (#1555) diff --git a/backend/core/version.py b/backend/core/version.py index 6af1b907..df7aec07 100644 --- a/backend/core/version.py +++ b/backend/core/version.py @@ -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.5.0" +_FALLBACK_VERSION = "0.5.1" def _fallback_version() -> str: diff --git a/bun.lock b/bun.lock index 1f7ae1e3..17385079 100644 --- a/bun.lock +++ b/bun.lock @@ -15,7 +15,7 @@ }, "frontend": { "name": "omnivoice-studio", - "version": "0.5.0", + "version": "0.5.1", "dependencies": { "@fontsource-variable/inter": "^5.3.0", "@fontsource-variable/source-serif-4": "^5.3.0", diff --git a/deploy/dockerhub-overview.md b/deploy/dockerhub-overview.md index 10002576..d77b2526 100644 --- a/deploy/dockerhub-overview.md +++ b/deploy/dockerhub-overview.md @@ -111,12 +111,12 @@ publishing the web UI — see the [Docker install guide](https://github.com/debp |-----|--------------| | `:latest` | **Rolling preview** — latest commit on `main`, at or ahead of the last release. This is the preview channel; pin `:stable` for production. | | `:stable` | Most recent versioned release (updated on every `v*` git tag) | -| `:0.5.0` | Exact release version | +| `:0.5.1` | Exact release version | | `:0.5` | Latest patch within the `0.5` minor | | `:main` | Alias of the same rolling `main` build as `:latest` | | `:sha-xxxxxxx` | A specific commit (produced by manual workflow dispatch) | | `:rocm` | **AMD GPU (ROCm) build** of the rolling preview — the ROCm analogue of `:latest` | -| `:stable-rocm`, `:0.5.0-rocm`, `:0.5-rocm`, `:sha-xxxxxxx-rocm` | ROCm builds of the corresponding tags above | +| `:stable-rocm`, `:0.5.1-rocm`, `:0.5-rocm`, `:sha-xxxxxxx-rocm` | ROCm builds of the corresponding tags above | Preview builds always come from `main` and never version-sort below `:stable`, so upgrades flow naturally. The same images and tags diff --git a/docs/install/docker.md b/docs/install/docker.md index af3fa61b..a4098590 100644 --- a/docs/install/docker.md +++ b/docs/install/docker.md @@ -13,12 +13,12 @@ and [`palashdeb/omnivoice-studio` on Docker Hub](https://hub.docker.com/r/palash > |-----|--------------| > | `:latest` | **Rolling preview** — latest commit on `main`, at or ahead of the last release. This is the preview channel; pin `:stable` for production. | > | `:stable` | Most recent versioned release (updated on every `v*` git tag) | -> | `:0.5.0` | Exact release version | +> | `:0.5.1` | Exact release version | > | `:0.5` | Latest patch within the 0.5 minor | > | `:main` | Alias of the same rolling `main` build as `:latest` | > | `:sha-xxxxxxx` | Specific commit (produced by manual workflow dispatch) | > | `:rocm` | **AMD GPU (ROCm) build** of the rolling preview — the ROCm analogue of `:latest` | -> | `:stable-rocm`, `:0.5.0-rocm`, `:0.5-rocm`, `:sha-xxxxxxx-rocm` | ROCm builds of the corresponding CUDA tags above | +> | `:stable-rocm`, `:0.5.1-rocm`, `:0.5-rocm`, `:sha-xxxxxxx-rocm` | ROCm builds of the corresponding CUDA tags above | > > Versioning rule: preview builds always come from `main` and never > version-sort below `:stable` — upgrades flow naturally. @@ -137,7 +137,7 @@ Volume=omnivoice-data:/app/omnivoice_data Environment=OMNIVOICE_API_KEY=replace-with-a-long-random-key ``` -Release pins exist too: `:stable-rocm`, `:0.5.0-rocm`, `:0.5-rocm` mirror +Release pins exist too: `:stable-rocm`, `:0.5.1-rocm`, `:0.5-rocm` mirror the CUDA tags exactly. > **Consumer cards and APUs (RX 6000/7000, Strix Point/Halo):** the backend diff --git a/frontend/package.json b/frontend/package.json index e133a13d..cf224f2c 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "omnivoice-studio", - "version": "0.5.0", + "version": "0.5.1", "private": true, "license": "AGPL-3.0-only", "type": "module", diff --git a/frontend/src-tauri/Cargo.lock b/frontend/src-tauri/Cargo.lock index 5528513c..4113dec4 100644 --- a/frontend/src-tauri/Cargo.lock +++ b/frontend/src-tauri/Cargo.lock @@ -2964,7 +2964,7 @@ dependencies = [ [[package]] name = "omnivoice-studio" -version = "0.5.0" +version = "0.5.1" dependencies = [ "arboard", "dirs-next", diff --git a/frontend/src-tauri/Cargo.toml b/frontend/src-tauri/Cargo.toml index 2dacf9c2..99c627e2 100644 --- a/frontend/src-tauri/Cargo.toml +++ b/frontend/src-tauri/Cargo.toml @@ -4,7 +4,7 @@ # launcher's pkill matches `omnivoice-studio` and must never match a user's # installed app. Renaming it would collapse that distinction. name = "omnivoice-studio" -version = "0.5.0" +version = "0.5.1" description = "VoiceStudio – AI voice cloning & dubbing desktop app" authors = ["Debpalash"] license = "AGPL-3.0-only" diff --git a/infra/install-redirect/worker.js b/infra/install-redirect/worker.js index a55ba99e..5f3c3a78 100644 --- a/infra/install-redirect/worker.js +++ b/infra/install-redirect/worker.js @@ -34,7 +34,7 @@ const HTML = `

macOS / Linux / WSL (prebuilt app):

curl -fsSL https://voicestudio.sh/install | sh

Pick a version, or build from source:

- curl -fsSL https://voicestudio.sh/install | sh -s -- --version 0.5.0
curl -fsSL https://voicestudio.sh/install | sh -s -- --source
+ curl -fsSL https://voicestudio.sh/install | sh -s -- --version 0.5.1
curl -fsSL https://voicestudio.sh/install | sh -s -- --source

Windows PowerShell:

irm https://voicestudio.sh/install | iex

PowerShell source mode: set $env:VOICESTUDIO_INSTALL_MODE = "source" first.

diff --git a/pyproject.toml b/pyproject.toml index 9ece884e..7af45401 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "omnivoice" -version = "0.5.0" +version = "0.5.1" description = "VoiceStudio — a private, local-first studio for voice cloning, speech generation, dubbing, transcription, and audiobooks" readme = "README.md" # Free and open-source under the GNU Affero General Public License v3 (see diff --git a/scripts/install.ps1 b/scripts/install.ps1 index 0b2c600a..265d1670 100644 --- a/scripts/install.ps1 +++ b/scripts/install.ps1 @@ -9,7 +9,7 @@ # powershell -ExecutionPolicy Bypass -File scripts\install.ps1 -Source # # Overrides (set before running): -# $env:VOICESTUDIO_VERSION = "0.5.0" # release version in binary mode +# $env:VOICESTUDIO_VERSION = "0.5.1" # release version in binary mode # $env:VOICESTUDIO_INSTALL_MODE = "source" # same as -Source when piped # $env:OMNIVOICE_PYTHON = "3.12" # Python version (source mode) # $env:OMNIVOICE_REGION = "china" # route Python downloads through a mirror diff --git a/scripts/install.sh b/scripts/install.sh index 99cdedfb..58aed030 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -9,7 +9,7 @@ # curl -fsSL https://voicestudio.sh/install | sh # Install the latest prebuilt app (macOS dmg / Linux AppImage). # -# curl -fsSL https://voicestudio.sh/install | sh -s -- --version 0.5.0 +# curl -fsSL https://voicestudio.sh/install | sh -s -- --version 0.5.1 # Install a specific release. # # curl -fsSL https://voicestudio.sh/install | sh -s -- --source diff --git a/tests/test_voicestudio_branding.py b/tests/test_voicestudio_branding.py index 853360c4..a6f3cb78 100644 --- a/tests/test_voicestudio_branding.py +++ b/tests/test_voicestudio_branding.py @@ -8,7 +8,7 @@ from pathlib import Path ROOT = Path(__file__).resolve().parents[1] -CURRENT_VERSION = "0.5.0" +CURRENT_VERSION = "0.5.1" def test_current_version_is_in_lockstep_everywhere() -> None: diff --git a/uv.lock b/uv.lock index 3894ab98..c0f60396 100644 --- a/uv.lock +++ b/uv.lock @@ -3777,7 +3777,7 @@ wheels = [ [[package]] name = "omnivoice" -version = "0.5.0" +version = "0.5.1" source = { editable = "." } dependencies = [ { name = "accelerate" },