From ba9cca844b6b01cbfdfa9fbc18733f53868ad199 Mon Sep 17 00:00:00 2001 From: Jatin K Malik Date: Sun, 23 Aug 2026 01:33:08 -0700 Subject: [PATCH] chore(release): prepare v0.16.0 Stable minor since v0.15.0. Bumps version to 0.16.0 across app, web, AUR, and Flatpak AppStream, and refreshes docs, changelog, and SECURITY. Tag v0.16.0 after this lands on main. --- .github/workflows/nightly.yml | 8 ++- .github/workflows/release.yml | 8 ++- .github/workflows/unified-pipeline.yml | 4 +- README.md | 43 ++++++------- SECURITY.md | 3 +- docs/RELEASE_PROCESS.md | 1 + docs/UPDATE.md | 60 ++++++++++++++++++- packaging/appimage/build.sh | 2 +- packaging/aur/vocalinux/PKGBUILD | 4 +- packaging/flatpak/README.md | 2 +- .../com.vocalinux.Vocalinux.metainfo.xml | 5 ++ src/vocalinux/version.py | 4 +- web/PRODUCT.md | 9 ++- web/package-lock.json | 4 +- web/package.json | 2 +- web/src/app/changelog/page.tsx | 19 ++++++ web/src/app/desktop-reliability/page.tsx | 5 ++ web/src/app/page.tsx | 2 +- 18 files changed, 145 insertions(+), 40 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index e3d5351..4fa763b 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -54,7 +54,9 @@ jobs: ninja-build \ build-essential \ libvulkan-dev \ - glslc + glslc \ + spirv-headers \ + spirv-tools - name: Install build dependencies run: | @@ -310,7 +312,9 @@ jobs: ninja-build \ build-essential \ libvulkan-dev \ - glslc + glslc \ + spirv-headers \ + spirv-tools - name: Install build dependencies run: | diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6d920a1..515be88 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -54,7 +54,9 @@ jobs: ninja-build \ build-essential \ libvulkan-dev \ - glslc + glslc \ + spirv-headers \ + spirv-tools - name: Install build dependencies run: | @@ -189,7 +191,9 @@ jobs: ninja-build \ build-essential \ libvulkan-dev \ - glslc + glslc \ + spirv-headers \ + spirv-tools - name: Install build dependencies run: | diff --git a/.github/workflows/unified-pipeline.yml b/.github/workflows/unified-pipeline.yml index af44814..a9cad0a 100644 --- a/.github/workflows/unified-pipeline.yml +++ b/.github/workflows/unified-pipeline.yml @@ -218,7 +218,9 @@ jobs: ninja-build \ build-essential \ libvulkan-dev \ - glslc + glslc \ + spirv-headers \ + spirv-tools - name: Install GObject introspection dependencies run: | diff --git a/README.md b/README.md index 39099eb..2676b28 100644 --- a/README.md +++ b/README.md @@ -40,35 +40,36 @@ It's a free, AGPL-3.0-licensed desktop app that lets you dictate text into *any* No internet required. No data leaves your machine. Just speak and type. -## πŸ“š What's New in v0.15.0 +## πŸ“š What's New in v0.16.0 -> **0.15.0** adds searchable sidebar settings, AppImage packages, a much larger speech-language catalog (including Hungarian), cleaner continuous dictation (capitalization + trailing spaces), power-saving model unload, smarter Vulkan GPU selection, and Wayland IBus improvements on top of the 0.14 packaging line. +> **0.16.0** adds an in-app update checker with tray notifications, defaults new installs to hold Right Alt push-to-talk, makes the language list searchable, lets you delete unused downloaded models, and adds a family dictation tone picker. The project license is AGPL-3.0. The installer is hardened (Justfile, uv lockfiles, distro python3-gi). The app icon, tray states, and site favicons use the shared Voca family mic. ### Highlights | Feature | Description | |---------|-------------| -| **Searchable settings** | Sidebar navigation with search replaces the seven-tab notebook (#601) | -| **AppImage** | Self-contained x86_64 and aarch64 builds on GitHub Releases (#573, #602) | -| **More languages** | ~33 selectable speech languages (plus Auto-detect), including Hungarian; VOSK only lists languages with official models (#616, fixes #565) | -| **Dictation polish** | Auto-capitalize after sentence punctuation; trailing space so the next utterance does not glue on (#554, #608) | -| **Auto-pause + keep-alive** | Pause/unload while configured apps run; unload after idle timeout (#592) | -| **Vulkan GPU selection** | Prefer discrete GPUs automatically; pick a device in Advanced settings (#590) | -| **ibus-wayland** | Use IBus on β€œunbridged” compositors when `ibus-wayland` is running (#614) | +| **Update checker** | Settings β†’ About checks stable/nightly channels; tray shows Update Available when GitHub has a newer release (#631, #645) | +| **Right Alt PTT default** | New installs default to hold Right Alt (push-to-talk); existing configs keep their shortcut (#648) | +| **Searchable languages** | Type to filter the Speech Model language list (#672) | +| **Delete unused models** | Remove leftover downloaded speech models from Settings (#671) | +| **AGPL-3.0** | License aligned with other VocaHQ projects (#660) | +| **Family mic icons** | App icon, tray states, and site favicons use the shared Voca family mic (#704) | +| **Tone picker** | Settings β†’ Audio: Lift, Flick, Ember, Step, Voca, Soft, Chirp, Scale, Drop, Glass, Off, plus Preview. New installs default to Voca. Catalog uses family preview WAVs (#707, #708) | +| **Installer** | Justfile, uv lockfiles, distro python3-gi required (no pip sdist of PyGObject). Epic #701 still open (#700, #705, #706) | ### Also in this release -- Settings: dictation status / mic level / Test Dictation / Close live in the sidebar footer (#618) -- Settings: Custom Shortcut Record/Set controls show again (#619) -- Languages: English (India) maps to Whisper code `en` (#617) -- CLI `--version` (#563) -- Bluetooth mic probing no longer corrupts the heap / crashes on SCO capture devices (#599) -- IBus engine teardown when parent destroy fails (#613) -- Settings info notices flattened to match the rest of the dialog (#615) -- KDE Plasma Wayland unbridged-IBus skip when ibus-wayland is absent (#577) -- xdotool focus preserve; installer / uninstall / AUR reliability fixes (#564, #583, #569, #597, #579, #586) +- IBus: safer scoped injection, engine restore after teardown, XKB layout restore on X11 (#623, #643, #665) +- Audio: filter unsafe virtual capture devices; open stereo mics at native channel count; catalog tones are the family preview WAVs, not the synthesized #707 files (#629, #673, #708) +- Clipboard: restore after ydotool paste; text-only reads and safer overlapping restore (#588, #646) +- GPU / AppImage: honor bundled GPU libs and skip software Vulkan; ship transitive GI typelibs (AppImage fix already hotfixed onto the v0.15.0 AppImages) (#674, #637) +- Settings / tray: separate Close from Test Dictation; reuse Settings/Logs windows; prefer Ayatana AppIndicator on KDE; optional missing-tray warning toggle (#670, #669, #621, #628) +- Test Dictation: no longer reports no speech when recognition never started (#702) +- Settings: About page groups this app, the VocaHQ family, and talk-to-us links (#718) +- Installer / downloads / tests: gate `util-linux-extra` to Ubuntu 24.04+; report failed model downloads; stop tests from overwriting real `config.json` (#635, #690, #694) +- Website: vocalinux.com restyled to the Voca family workbench; Discord and X links point at VocaHQ (#728, #729, #722, #717) -See [docs/UPDATE.md](docs/UPDATE.md) and the [full changelog](https://github.com/VocaHQ/vocalinux/releases/tag/v0.15.0). +See [docs/UPDATE.md](docs/UPDATE.md) and the [full changelog](https://github.com/VocaHQ/vocalinux/releases/tag/v0.16.0). --- @@ -88,7 +89,7 @@ See [docs/UPDATE.md](docs/UPDATE.md) and the [full changelog](https://github.com ## πŸ“Έ Screenshots -Vocalinux in action. Settings gallery shots may lag the searchable sidebar UI from v0.15.0 β€” full gallery on the [website screenshots page](https://vocalinux.com/screenshots/). +Vocalinux in action. Settings gallery shots may lag the newest UI. Full gallery on the [website screenshots page](https://vocalinux.com/screenshots/). ### Product @@ -459,7 +460,7 @@ Vocalinux is part of [VocaHQ](https://vocahq.com). Same privacy-first, offline v | Platform | Project | Website | GitHub | Status | |----------|---------|---------|--------|--------| -| 🐧 Linux | **VocaLinux** | [vocalinux.com](https://vocalinux.com) | [VocaHQ/vocalinux](https://github.com/VocaHQ/vocalinux) | βœ… Stable v0.15.0 | +| 🐧 Linux | **VocaLinux** | [vocalinux.com](https://vocalinux.com) | [VocaHQ/vocalinux](https://github.com/VocaHQ/vocalinux) | βœ… Stable v0.16.0 | | 🍎 macOS | **VocaMac** | [vocamac.com](https://vocamac.com) | [VocaHQ/vocamac](https://github.com/VocaHQ/vocamac) | πŸš€ Beta | | πŸͺŸ Windows | **VocaWin** | [vocawin.com](https://vocawin.com) | [VocaHQ/vocawin](https://github.com/VocaHQ/vocawin) | πŸ“‹ Planned | diff --git a/SECURITY.md b/SECURITY.md index d78c7f1..34ae8ec 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -4,7 +4,8 @@ | Version | Supported | | ------- | ------------------ | -| 0.15.x | :white_check_mark: | +| 0.16.x | :white_check_mark: | +| 0.15.x | :x: | | 0.14.x | :x: | | 0.13.x | :x: | | 0.12.x | :x: | diff --git a/docs/RELEASE_PROCESS.md b/docs/RELEASE_PROCESS.md index 84e1fb4..554f2c0 100644 --- a/docs/RELEASE_PROCESS.md +++ b/docs/RELEASE_PROCESS.md @@ -413,6 +413,7 @@ git push origin v0.5.1-beta | 0.14.1 | 2026-07-17 | Stable | Flatpak packaging, AUR package, layout-aware hotkeys, installer/text-injection fixes | | 0.14.2 | 2026-07-17 | Stable | IBus engine launch + FocusIn gate; settings tabs scroll to fit monitor | | 0.15.0 | 2026-07-28 | Stable | Searchable settings + sidebar dictation footer, AppImage, expanded languages, dictation polish, auto-pause/keepalive, Vulkan device selection, ibus-wayland, Bluetooth mic + shortcut UI fixes | +| 0.16.0 | 2026-08-23 | Stable | Update checker + tray notify, Right Alt PTT default (new installs), searchable language list, delete unused models, Voca tone picker (family preview WAVs), About page, AGPL-3.0, family mic icons, installer/just/uv pinning, Test Dictation missing-model message, IBus/audio/clipboard/GPU/AppImage reliability, vocalinux.com family workbench restyle | ## Questions? diff --git a/docs/UPDATE.md b/docs/UPDATE.md index 0eb98ff..c7ac11b 100644 --- a/docs/UPDATE.md +++ b/docs/UPDATE.md @@ -2,6 +2,64 @@ This guide explains how to update Vocalinux to the latest version. +## What's New in v0.16.0 + +0.16.0 is a **minor** release on the stable line. It adds an in-app update checker with tray notifications, defaults new installs to hold Right Alt push-to-talk, makes the language picker searchable, lets you delete unused downloaded models, and adds a family dictation tone picker. The license is AGPL-3.0. The installer is hardened (Justfile, uv lockfiles, distro python3-gi). The app icon, tray states, and site favicons use the shared Voca family mic. + +### Highlights + +| Feature | Description | +|---------|-------------| +| **Update checker** | Settings β†’ About checks stable/nightly; tray shows Update Available for newer GitHub releases (#631, #645) | +| **Right Alt PTT default** | New installs default to hold Right Alt (push-to-talk); existing configs keep their shortcut (#648) | +| **Searchable languages** | Type to filter the Speech Model language list (#672) | +| **Delete unused models** | Remove leftover downloaded speech models from Settings (#671) | +| **AGPL-3.0** | License aligned with other VocaHQ projects (#660) | +| **Family mic icons** | App icon, tray states, and site favicons use the shared Voca family mic (#704) | +| **Tone picker** | Settings β†’ Audio: Lift, Flick, Ember, Step, Voca, Soft, Chirp, Scale, Drop, Glass, Off, plus Preview. New installs default to Voca. Catalog uses family preview WAVs (#707, #708) | +| **Installer** | Justfile, uv lockfiles, distro python3-gi required (no pip sdist of PyGObject). Epic #701 still open (#700, #705, #706) | + +### New Features + +- **In-app update checker**: Settings β†’ About with stable/nightly channels (#631) +- **Update notifications**: Tray menu Update Available entry and About badge when a newer release exists (#645) +- **Right Alt push-to-talk default**: New installs only; existing configs are unchanged (#648) +- **Searchable language combobox**: Filter the long language list by name or code (#672, fixes #652) +- **Delete unused models**: Remove leftover downloaded speech models from Settings (#671, fixes #650) +- **Disable missing-tray warning**: Settings toggle for desktops that false-positive the tray check (#628, fixes #620) +- **Family mic icons**: App icon, tray states, and site favicons use the shared Voca family mic instead of the old Linux rounded-rect (#704) +- **Family dictation tone picker**: Settings β†’ Audio dropdown (Lift, Flick, Ember, Step, Voca, Soft, Chirp, Scale, Drop, Glass, Off) plus Preview. New installs and unknown saved names default to Voca. A saved catalog id, including Off, is left alone. Enable remains the master mute; Off skips start/stop only (#707) +- **About page**: Settings β†’ About groups this app, VocaHQ family sites, and talk-to-us (GitHub issues, Discord, X, email) (#718) + +### Bug Fixes + +- **IBus**: Require a restorable engine for scoped injection (#623); restore engine after `register_component` teardown (#643, fixes #558); restore XKB layout after scoped injection on X11 (#665, fixes #664) +- **Injection**: Stop typing `test` during the wtype probe (#627, fixes #622) +- **whisper.cpp**: Skip unsupported `context_params` on pywhispercpp 1.4 (#626, fixes #625); use CUDA device 0 when CUDA-backed (#636); honor bundled GPU libs and skip software Vulkan devices (#674) +- **Audio**: Filter unsafe virtual capture devices (#629, fixes #624); open stereo mics at native channel count (#673, fixes #666); catalog tones are the family preview WAVs, not the synthesized #707 files. `generate_sounds.py` does not clobber catalog ids (#708) +- **Tray / Settings**: Prefer Ayatana AppIndicator on KDE (#621); reuse Settings/Logs windows (#669, fixes #653); separate Close from Test Dictation (#670, fixes #651) +- **Settings**: Test Dictation no longer reports no speech when recognition never started (missing model / auto-pause / live engine out of sync) (#702) +- **Clipboard**: Restore after ydotool clipboard-paste (#588); text-only reads and safer overlapping restore (#646) +- **AppImage**: Ship transitive GI typelibs for non-Debian hosts (also hotfixed onto the v0.15.0 AppImages on 2026-08-03) (#637); pin pywhispercpp to the version `install.sh` declares so a newer PyPI wheel cannot break the Vulkan rebuild (#718) +- **Installer**: Distro python3-gi is required; pip no longer builds PyGObject from sdist. Unset `XDG_SESSION_TYPE` / `XDG_CURRENT_DESKTOP` no longer crash under `set -u` (#706) +- **Installer / downloads / tests**: Gate `util-linux-extra` to Ubuntu 24.04+ (#635, fixes #526); report failed model downloads (#690); stop the suite from overwriting real `config.json` (#694) + +### Docs / maintenance + +- Website screenshot refresh for v0.15 (#630) +- Prefer Ayatana AppIndicator in Fedora/Arch packaging hints (#638) +- CUDA device 0 note for dual NVIDIA (#644) +- Discord and VocaHQ README shields; VocaHQ URL migration; VocaGateway rename (#695, #696, #697) +- Discord invite and X handle point at VocaHQ (#722) +- vocalinux.com restyled to the Voca family workbench; Open Graph card uses the flat Tux (#728, #729) +- Website copy drops the stale 100% offline claim and marks VocaWin as alpha on the site (#717) +- Codeberg mirror tag force-push (#633) +- Installer hardening, Justfile in place of Makefile, and uv lockfiles with pinned build inputs. Epic #701 remains open (#700, #705 by @sesav) + +See the [full changelog](https://github.com/VocaHQ/vocalinux/releases/tag/v0.16.0). + +--- + ## What's New in v0.15.0 0.15.0 is a **minor** release on the stable line. It redesigns settings navigation, adds AppImage packages, expands the speech-language catalog (Hungarian and many more), cleans up continuous dictation spacing/capitalization, adds power/GPU controls, and improves Wayland IBus on compositors that ship `ibus-wayland`, on top of the 0.14 packaging work (Flatpak, AUR, configurable hotkeys). @@ -391,7 +449,7 @@ The installer will: ```bash cd vocalinux git fetch origin -git checkout v0.15.0 +git checkout v0.16.0 ./install.sh ``` diff --git a/packaging/appimage/build.sh b/packaging/appimage/build.sh index dd81679..fff4622 100755 --- a/packaging/appimage/build.sh +++ b/packaging/appimage/build.sh @@ -233,7 +233,7 @@ rebuild_pywhispercpp_vulkan() { fi if ! has_vulkan_build_deps; then - echo "Vulkan build deps missing (libvulkan-dev, cmake, g++, glslc/glslangValidator)." >&2 + echo "Vulkan build deps missing (libvulkan-dev, cmake, g++, glslc/glslangValidator, spirv-headers)." >&2 if [ "$require_vulkan" = "1" ]; then echo "VOCALINUX_APPIMAGE_REQUIRE_VULKAN=1: refusing to ship a CPU-only AppImage." >&2 exit 1 diff --git a/packaging/aur/vocalinux/PKGBUILD b/packaging/aur/vocalinux/PKGBUILD index e97437b..724faee 100644 --- a/packaging/aur/vocalinux/PKGBUILD +++ b/packaging/aur/vocalinux/PKGBUILD @@ -3,8 +3,8 @@ pkgname=vocalinux # AUR pkgver cannot contain hyphens (v0.14.0-beta -> 0.14.0beta). -pkgver=0.15.0 -_tag=0.15.0 +pkgver=0.16.0 +_tag=0.16.0 pkgrel=1 pkgdesc="Free, offline voice dictation for Linux" arch=('any') diff --git a/packaging/flatpak/README.md b/packaging/flatpak/README.md index 9218da8..490d31d 100644 --- a/packaging/flatpak/README.md +++ b/packaging/flatpak/README.md @@ -78,7 +78,7 @@ pipx run flatpak-pip-generator \ sources: - type: git url: https://github.com/VocaHQ/vocalinux.git - tag: v0.15.0 + tag: v0.16.0 commit: ``` diff --git a/packaging/flatpak/com.vocalinux.Vocalinux.metainfo.xml b/packaging/flatpak/com.vocalinux.Vocalinux.metainfo.xml index ac9d8ba..41199c9 100644 --- a/packaging/flatpak/com.vocalinux.Vocalinux.metainfo.xml +++ b/packaging/flatpak/com.vocalinux.Vocalinux.metainfo.xml @@ -105,6 +105,11 @@ + + +

In-app update checker with tray notifications, hold Right Alt push-to-talk default for new installs, searchable language list, delete unused downloaded speech models, family dictation tone picker (default Voca, family preview WAVs), Settings About page for this app, VocaHQ, and talk to us, AGPL-3.0 relicensing, shared Voca family mic for app/tray/site icons, hardened installer with Justfile and uv lockfiles (distro python3-gi required), Test Dictation missing-model message, and desktop reliability fixes for IBus, audio capture, clipboard restore, GPU/Vulkan selection, and AppImage GI typelibs.

+
+

Searchable sidebar settings with dictation controls in the sidebar footer, AppImage packages for x86_64 and aarch64, expanded speech-language catalog (including Hungarian), sentence capitalization and trailing spaces for continuous dictation, auto-pause and idle model unload, Vulkan discrete-GPU selection, ibus-wayland support on previously unbridged compositors, Bluetooth mic capture crash fix, custom-shortcut Record/Set restore, and desktop reliability fixes.

diff --git a/src/vocalinux/version.py b/src/vocalinux/version.py index 85922ad..46eeea6 100644 --- a/src/vocalinux/version.py +++ b/src/vocalinux/version.py @@ -2,8 +2,8 @@ Version information for Vocalinux. """ -__version__ = "0.15.0" -__version_info__ = (0, 15, 0) +__version__ = "0.16.0" +__version_info__ = (0, 16, 0) __author__ = "Jatin K Malik" __email__ = "jatinkrmalik@gmail.com" __license__ = "AGPL-3.0" diff --git a/web/PRODUCT.md b/web/PRODUCT.md index 71a99a7..7f75d5d 100644 --- a/web/PRODUCT.md +++ b/web/PRODUCT.md @@ -30,12 +30,17 @@ Offline-first Linux voice typing with real desktop integration (system tray, X11 - Speech languages: large selectable catalog (~33 + Auto-detect) shared by Settings/CLI; VOSK only lists languages with official Alphacephei models; remaining Whisper languages available via Auto-detect - Display servers: X11 and Wayland - Shortcut modes: push-to-talk default (hold Right Alt / Option); toggle available; left/right modifier distinction; configurable modifier+key combos +- Searchable language combobox; delete unused downloaded speech models from Settings - Optional voice commands (English-only); Silero neural VAD with amplitude fallback - Continuous dictation polish: capitalize after sentence punctuation; trailing space after each completed utterance - Optional auto-pause while configured apps run; optional idle model keep-alive unload +- In-app update checker (stable/nightly) with tray notification when a newer GitHub release is available +- Settings About page groups this app, VocaHQ family sites, and talk-to-us links (GitHub, Discord, X, email) +- Optional disable of the missing-tray warning dialog +- Settings β†’ Audio family tone picker (Lift, Flick, Ember, Step, Voca, Soft, Chirp, Scale, Drop, Glass, Off) with Preview; new installs default to Voca; catalog files are the family preview WAVs - Vulkan discrete GPU auto-select with manual device override in Advanced settings - Wayland: IBus when `ibus-wayland` is running, including on compositors previously treated as unbridged -- Packaging: install.sh, AppImage (x86_64/aarch64), AUR, Flatpak (local/Flathub status as documented) +- Packaging: install.sh (distro python3-gi required; no pip sdist of PyGObject), AppImage (x86_64/aarch64), AUR, Flatpak (local/Flathub status as documented); uv.lock pins Python deps; Justfile replaces Makefile - No usage telemetry in the installed app - AGPL-3.0; marketing version string is tracked in site package/version surfaces - Website is Next.js marketing + SEO guides (static export); languages page documents per-engine support honestly @@ -43,7 +48,7 @@ Offline-first Linux voice typing with real desktop integration (system tray, X11 ## Brand commitments - Name: Vocalinux (part of [VocaHQ](https://vocahq.com) with VocaMac / VocaWin) -- Mark: microphone logo assets under `public/` +- Mark: shared Voca family mic for the app icon, tray states, and site favicons (`public/`) - Warm paper surfaces and Voca teal, matching the family web standard - Voice: practical, specific, Linux-native; not hype-first SaaS copy diff --git a/web/package-lock.json b/web/package-lock.json index 0e07ce1..8db8544 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -1,12 +1,12 @@ { "name": "vocalinux-website", - "version": "0.15.0", + "version": "0.16.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "vocalinux-website", - "version": "0.15.0", + "version": "0.16.0", "dependencies": { "@types/node": "^20.14.10", "@types/react": "^18.3.3", diff --git a/web/package.json b/web/package.json index 136fa55..059c0c4 100644 --- a/web/package.json +++ b/web/package.json @@ -1,6 +1,6 @@ { "name": "vocalinux-website", - "version": "0.15.0", + "version": "0.16.0", "private": true, "type": "module", "scripts": { diff --git a/web/src/app/changelog/page.tsx b/web/src/app/changelog/page.tsx index a5163e4..d0f1e6b 100644 --- a/web/src/app/changelog/page.tsx +++ b/web/src/app/changelog/page.tsx @@ -14,6 +14,25 @@ import { SeoSubpageShell } from "@/components/seo-subpage-shell"; import { absoluteUrl, buildPageMetadata } from "@/lib/seo"; const releases = [ + { + version: "v0.16.0", + date: "2026-08-23", + type: "stable", + highlights: [ + "In-app update checker (stable/nightly) plus tray Update Available when GitHub has a newer release (PR #631, #645)", + "New installs default to hold Right Alt push-to-talk; existing configs keep their shortcut (PR #648)", + "Searchable language list and delete unused downloaded speech models (PR #672, #671)", + "Family dictation tone picker in Settings β†’ Audio: Lift, Flick, Ember, Step, Voca, Soft, Chirp, Scale, Drop, Glass, Off, plus Preview. New installs default to Voca. Catalog tones are the family preview WAVs, not synthesized files (PR #707, #708)", + "License migrated to AGPL-3.0 (PR #660)", + "App icon, tray states, and site favicons use the shared Voca family mic instead of the old Linux rounded-rect (PR #704)", + "Installer hardened with Justfile and uv lockfiles; distro python3-gi required (no pip sdist of PyGObject). Epic #701 remains open (PR #700, #705, #706)", + "Test Dictation no longer reports no speech when recognition never started (PR #702)", + "IBus/X11 reliability: restorable scoped injection, engine restore after teardown, XKB layout restore (PR #623, #643, #665)", + "Audio, clipboard, and AppImage/GPU packaging fixes (PR #629, #673, #588, #646, #674, #637)", + "Settings About page groups this app, the VocaHQ family, and talk-to-us links (PR #718)", + "vocalinux.com restyled to the Voca family workbench; Discord and X links point at VocaHQ (PR #728, #729, #722, #717)", + ], + }, { version: "v0.15.0", date: "2026-07-28", diff --git a/web/src/app/desktop-reliability/page.tsx b/web/src/app/desktop-reliability/page.tsx index a2c132f..453f719 100644 --- a/web/src/app/desktop-reliability/page.tsx +++ b/web/src/app/desktop-reliability/page.tsx @@ -54,6 +54,11 @@ const reliabilityFeatures = [ ]; const releaseMap = [ + { + version: "v0.16.0", + highlights: + "Update checker with tray notifications, Right Alt PTT default for new installs, searchable language list, unused model deletion, Test Dictation missing-model message, IBus/XKB restore fixes, safer audio capture, clipboard restore, installer python3-gi requirement, and AppImage/GPU packaging hardening.", + }, { version: "v0.15.0", highlights: diff --git a/web/src/app/page.tsx b/web/src/app/page.tsx index 974b555..f3a2d16 100644 --- a/web/src/app/page.tsx +++ b/web/src/app/page.tsx @@ -40,7 +40,7 @@ const homeJsonLd = [ }, description: "Offline voice dictation and speech-to-text for Linux with whisper.cpp and VOSK.", - softwareVersion: "0.15.0", + softwareVersion: "0.16.0", author: { "@type": "Person", name: "Jatin K Malik",