From 63c1053d8b3c14df05b81acf53ea0b9cc2155c19 Mon Sep 17 00:00:00 2001 From: Jatin K Malik Date: Wed, 1 Jul 2026 17:32:36 -0700 Subject: [PATCH] chore(release): prepare v0.13.0-beta (#489) - Bump version 0.12.0-beta -> 0.13.0-beta (src/vocalinux/version.py) - README: refresh "What's New" for v0.13.0-beta and bump comparison table - docs/UPDATE.md: add v0.13.0-beta section and bump checkout example - SECURITY.md: mark 0.13.x supported, 0.12.x unsupported - docs/RELEASE_PROCESS.md: add v0.13.0-beta to version history - web: bump package.json / package-lock.json / page.tsx schema + badge - web changelog: add v0.13.0-beta entry and refresh dateModified --- README.md | 40 ++++++++++++++++------------------ SECURITY.md | 3 ++- docs/RELEASE_PROCESS.md | 1 + docs/UPDATE.md | 38 +++++++++++++++++++++++++++++++- src/vocalinux/version.py | 4 ++-- web/package-lock.json | 4 ++-- web/package.json | 2 +- web/src/app/changelog/page.tsx | 20 ++++++++++++++++- web/src/app/page.tsx | 4 ++-- 9 files changed, 85 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 4ba3f41..67d4258 100644 --- a/README.md +++ b/README.md @@ -32,41 +32,39 @@ It's a free, GPLv3-licensed desktop app that lets you dictate text into *any* ap No internet required. No data leaves your machine. Just speak and type. -## ๐Ÿ“š What's New in v0.12.0-beta +## ๐Ÿ“š What's New in v0.13.0-beta -> ๐ŸŽ‰ **Release: Remote API recognition, Silero VAD, and reliability hardening across threading, IBus, settings, installer, and model metadata.** +> ๐ŸŽ‰ **Release: Guided whisper.cpp model selection, plus Wayland text-injection reliability, hotplug keyboard support, dictation spacing fixes, and refreshed website docs.** ### ๐Ÿš€ Highlights | Feature | Description | |---------|-------------| -| **๐ŸŒ Remote API Engine** | New speech recognition backend for self-hosted or compatible remote transcription services | -| **๐ŸŽ™๏ธ Silero VAD** | Neural voice activity detection drops silence-only buffers for cleaner, faster dictation | -| **๐Ÿงต Thread Safety** | Hardened Remote API, IBus, and text injection threading behavior | -| **๐Ÿ”Œ IBus Reliability** | Preserves user engines for dead keys and captures scoped engines during activation | -| **โš™๏ธ Settings Polish** | Remote Server section now respects the Advanced toggle and the dialog fits lower-resolution screens | -| **๐Ÿ“ฆ Installer & Models** | CUDA diagnostics include auto-remediation and model download sizes are corrected | +| **๐ŸŽ™๏ธ Guided Whisper Models** | Pick a whisper.cpp **size** and **specialization** (English-only, quantized, Turbo) through split dropdowns with in-app guidance | +| **๐Ÿ”Œ Hotplug Keyboard Support** | Shortcuts keep working on keyboards connected after startup, with automatic recovery from disconnects | +| **โœ๏ธ Dictation Spacing** | Spacing is preserved between speech segments separated by a pause in the same session | +| **๐Ÿ–ฅ๏ธ Wayland Reliability** | Fixes silent text drops on wlroots/COSMIC compositors and garbled output on non-US keyboard layouts | ### โœจ New Features -- **Remote API speech recognition engine** โ€” Configure Vocalinux to use compatible remote transcription services while keeping existing local engines available (#335) -- **Silero VAD** โ€” Neural voice activity detection filters silence-only buffers for cleaner recognition when ONNX Runtime support is installed (#447) +- **Guided whisper.cpp model variants** โ€” The Settings dialog now splits whisper.cpp selection into **Model Size** and **Specialization**, exposing English-only, quantized (Q5/Q8), Large v3 Turbo, and legacy large models with language-aware recommendations and hover guidance. Exact model IDs (e.g. `medium.en-q5_0`, `large-v3-turbo`) can also be passed to `--model` (#465) ### ๐Ÿ› Bug Fixes -- **Threading**: Harden Remote API, IBus, and text injection thread safety (#452) -- **IBus**: Preserve user engines for dead keys and capture the current engine during scoped activation (#457, #458) -- **UI**: Keep the Remote Server section behind the Advanced toggle and reduce settings dialog height for lower-resolution screens (#454, #456) -- **Installer**: Harden CUDA diagnostics with auto-remediation and behavioral tests (#451) -- **Models**: Correct whisper.cpp and VOSK download size metadata (#453) -- **Startup**: Allow launch without the pynput backend (#448) -- **Website**: Clarify speech demo browser support (#449) +- **Dictation**: Preserve spacing between speech segments separated by a pause, so words no longer run together after a silence within the same session (#464) +- **Shortcuts**: The evdev keyboard backend rescans for hotplugged keyboards, so shortcuts work on devices connected after startup and disconnected devices can be replugged (#467) +- **KDE Plasma Wayland**: Detect KDE Plasma Wayland sessions and guide you to enable IBus Wayland (System Settings โ†’ Keyboard โ†’ Virtual Keyboard) when `wtype` injection fails, with matching hints during install and in logs (#466) +- **Wayland**: Fix garbled output on non-US keyboard layouts (AZERTY/QWERTZ/Dvorak) and a clipboard-copy hang; ydotool now pastes through the clipboard for layout-independent injection (#480) +- **Wayland/IBus**: Use wtype/ydotool instead of IBus on compositors that don't bridge IBus to native apps (COSMIC, Sway, Hyprland, and similar), fixing silent text drops (#486) +- **Wayland/IBus**: Require a real IM engine before using IBus on Wayland, so a bare `xkb` layout no longer causes silent text drops on GNOME/Mutter and other compositors (#478) +- **Wayland**: Preserve the keyboard layout on Wayland by not running `setxkbmap`, which was flipping XWayland/Electron apps to `us` after dictation (#474) +- **UI**: Cap the settings dialog height on high-resolution displays (#465) ### ๐Ÿ”ง Improvements -- **Developer docs** โ€” Remote API test server instructions for easier backend testing (#455) -- **Community** โ€” GitHub Sponsors funding configuration added -- **Behavioral coverage** โ€” CUDA diagnostics and release-facing reliability fixes include targeted tests +- **Performance** โ€” Faster ydotool text injection via an explicit `--key-delay` (#488) +- **Website** โ€” New documentation pages for Remote API, Silero VAD, advanced whisper.cpp settings, and desktop reliability, plus responsive layout polish (#470) +- **CI** โ€” Automatic pull-request labeling by changed files (#473) --- @@ -388,7 +386,7 @@ Vocalinux is part of a family of privacy-first, offline voice dictation tools. S | Platform | Project | Website | GitHub | Status | |----------|---------|---------|--------|--------| -| ๐Ÿง Linux | **VocaLinux** | [vocalinux.com](https://vocalinux.com) | [jatinkrmalik/vocalinux](https://github.com/jatinkrmalik/vocalinux) | โœ… Beta v0.12.0 | +| ๐Ÿง Linux | **VocaLinux** | [vocalinux.com](https://vocalinux.com) | [jatinkrmalik/vocalinux](https://github.com/jatinkrmalik/vocalinux) | โœ… Beta v0.13.0 | | ๐ŸŽ macOS | **VocaMac** | [vocamac.com](https://vocamac.com) | [jatinkrmalik/vocamac](https://github.com/jatinkrmalik/vocamac) | ๐Ÿš€ Beta | | ๐ŸชŸ Windows | **VocaWin** | [vocawin.com](https://vocawin.com) | [jatinkrmalik/vocawin](https://github.com/jatinkrmalik/vocawin) | ๐Ÿ“‹ Planned | diff --git a/SECURITY.md b/SECURITY.md index 3f394d7..7ffb32e 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -4,7 +4,8 @@ | Version | Supported | | ------- | ------------------ | -| 0.12.x | :white_check_mark: | +| 0.13.x | :white_check_mark: | +| 0.12.x | :x: | | 0.11.x | :x: | | 0.10.x | :x: | | 0.9.x | :x: | diff --git a/docs/RELEASE_PROCESS.md b/docs/RELEASE_PROCESS.md index 8fd42fa..4486fb2 100644 --- a/docs/RELEASE_PROCESS.md +++ b/docs/RELEASE_PROCESS.md @@ -343,6 +343,7 @@ git push origin v0.5.1-beta | 0.10.2-beta | 2026-04-08 | Beta | Non-ASCII text injection, IBus Wayland detection, Pop!_OS deps, code quality refactor | | 0.11.0-beta | 2026-05-30 | Beta | Advanced Settings tab, IBus/recognition hardening, installer fixes, distro compatibility | | 0.12.0-beta | 2026-06-07 | Beta | Remote API engine, Silero VAD, threading/IBus hardening, settings and installer fixes | +| 0.13.0-beta | 2026-06-30 | Beta | Guided whisper.cpp model variants, Wayland text-injection reliability, hotplug keyboard support, dictation spacing fix, website docs refresh | ## Questions? diff --git a/docs/UPDATE.md b/docs/UPDATE.md index 149e8fd..c616b52 100644 --- a/docs/UPDATE.md +++ b/docs/UPDATE.md @@ -2,6 +2,42 @@ This guide explains how to update Vocalinux to the latest version. +## What's New in v0.13.0-beta + +### ๐Ÿš€ Highlights + +| Feature | Description | +|---------|-------------| +| **๐ŸŽ™๏ธ Guided Whisper Models** | Pick a whisper.cpp size and specialization (English-only, quantized, Turbo) with in-app guidance | +| **๐Ÿ”Œ Hotplug Keyboard Support** | Shortcuts keep working on keyboards connected after startup | +| **โœ๏ธ Dictation Spacing** | Spacing preserved between speech segments separated by a pause in the same session | +| **๐Ÿ–ฅ๏ธ Wayland Reliability** | Fixes silent text drops on wlroots/COSMIC compositors and garbled non-US-layout output | + +### โœจ New Features + +- **Guided whisper.cpp model variants** โ€” The Settings dialog now splits whisper.cpp selection into **Model Size** and **Specialization**, exposing English-only, quantized (Q5/Q8), Large v3 Turbo, and legacy large models with language-aware recommendations and hover guidance. Exact model IDs (e.g. `medium.en-q5_0`, `large-v3-turbo`) can also be passed to `--model` (#465) + +### ๐Ÿ› Bug Fixes + +- **Dictation**: Preserve spacing between speech segments separated by a pause (#464) +- **Shortcuts**: Rescan for hotplugged keyboards so shortcuts work on devices connected after startup (#467) +- **KDE Plasma Wayland**: Detect KDE Plasma Wayland sessions and guide you to enable IBus Wayland when `wtype` injection fails (#466) +- **Wayland**: Fix garbled output on non-US keyboard layouts and a clipboard-copy hang; ydotool now pastes through the clipboard (#480) +- **Wayland/IBus**: Use wtype/ydotool instead of IBus on compositors that don't bridge IBus to native apps like COSMIC, Sway, and Hyprland (#486) +- **Wayland/IBus**: Require a real IM engine on Wayland so a bare `xkb` layout no longer causes silent text drops on GNOME/Mutter and similar (#478) +- **Wayland**: Preserve the keyboard layout on Wayland by not running `setxkbmap` (was flipping XWayland apps to `us`) (#474) +- **UI**: Cap the settings dialog height on high-resolution displays (#465) + +### ๐Ÿ”ง Improvements + +- **Performance**: Faster ydotool text injection via an explicit `--key-delay` (#488) +- **Website**: New documentation pages for Remote API, Silero VAD, advanced whisper.cpp settings, and desktop reliability (#470) +- **CI**: Automatic pull-request labeling by changed files (#473) + +See the [full changelog](https://github.com/jatinkrmalik/vocalinux/releases/tag/v0.13.0-beta). + +--- + ## What's New in v0.12.0-beta ### ๐Ÿš€ Highlights @@ -202,7 +238,7 @@ The installer will: ```bash cd vocalinux git fetch origin -git checkout v0.12.0-beta +git checkout v0.13.0-beta ./install.sh ``` diff --git a/src/vocalinux/version.py b/src/vocalinux/version.py index 2fae2a0..b86881f 100644 --- a/src/vocalinux/version.py +++ b/src/vocalinux/version.py @@ -2,8 +2,8 @@ Version information for Vocalinux. """ -__version__ = "0.12.0-beta" -__version_info__ = (0, 12, 0, "beta") +__version__ = "0.13.0-beta" +__version_info__ = (0, 13, 0, "beta") __author__ = "Jatin K Malik" __email__ = "jatinkrmalik@gmail.com" __license__ = "GPL-3.0" diff --git a/web/package-lock.json b/web/package-lock.json index 291fa62..8be8c55 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -1,12 +1,12 @@ { "name": "vocalinux-website", - "version": "0.12.0", + "version": "0.13.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "vocalinux-website", - "version": "0.12.0", + "version": "0.13.0", "dependencies": { "@types/node": "^20.14.10", "@types/react": "^18.3.3", diff --git a/web/package.json b/web/package.json index 2c2365e..409c96f 100644 --- a/web/package.json +++ b/web/package.json @@ -1,6 +1,6 @@ { "name": "vocalinux-website", - "version": "0.12.0", + "version": "0.13.0", "private": true, "type": "module", "scripts": { diff --git a/web/src/app/changelog/page.tsx b/web/src/app/changelog/page.tsx index fd25376..34d1693 100644 --- a/web/src/app/changelog/page.tsx +++ b/web/src/app/changelog/page.tsx @@ -14,6 +14,24 @@ import { SeoSubpageShell } from "@/components/seo-subpage-shell"; import { absoluteUrl, buildPageMetadata } from "@/lib/seo"; const releases = [ + { + version: "v0.13.0-beta", + date: "2026-06-30", + type: "beta", + highlights: [ + "Guided whisper.cpp model selection: pick a size plus a specialization (English-only, quantized Q5/Q8, or Large v3 Turbo) through split Model Size and Specialization dropdowns with in-app guidance; the --model flag also accepts exact IDs like medium.en-q5_0 and large-v3-turbo (PR #465)", + "Dictation now keeps a space between segments spoken with a pause in between, so words no longer run together after a silence (PR #464)", + "Keyboard shortcuts now work on keyboards hotplugged after Vocalinux starts, with the evdev backend rescanning for new devices and recovering from disconnects (PR #467)", + "Vocalinux now detects KDE Plasma Wayland sessions and points you to enable IBus Wayland for reliable text injection, surfaced during install and when wtype injection fails (PR #466)", + "Wayland: fixed garbled text on non-US keyboard layouts (AZERTY/QWERTZ/Dvorak) and a clipboard-copy hang; ydotool now pastes through the clipboard, which is layout-independent (PR #480)", + "Wayland: use wtype/ydotool instead of IBus on compositors that don't bridge it to native apps like COSMIC, Sway, and Hyprland, fixing silent text drops (PR #486)", + "Wayland/IBus: require a real IM engine before using IBus, so a bare xkb layout no longer causes silent text drops on GNOME/Mutter and other compositors (#478)", + "Wayland: keep the keyboard layout intact by not running setxkbmap, which was flipping XWayland apps to us after dictation (#474)", + "Faster ydotool text injection via an explicit --key-delay (PR #488)", + "Settings dialog height capped on high-resolution displays (PR #465)", + "Refreshed website docs with new feature pages for Remote API, Silero VAD, advanced whisper.cpp settings, and desktop reliability, plus responsive layout polish (PR #470)", + ], + }, { version: "v0.12.0-beta", date: "2026-06-07", @@ -276,7 +294,7 @@ export default function ChangelogPage() { headline: "Vocalinux Changelog - Release History", description: "Complete release history for Vocalinux, the offline voice dictation software for Linux.", - dateModified: "2026-06-11", + dateModified: "2026-06-30", author: { "@type": "Person", name: "Jatin K Malik", diff --git a/web/src/app/page.tsx b/web/src/app/page.tsx index 5545dfd..65d61cc 100644 --- a/web/src/app/page.tsx +++ b/web/src/app/page.tsx @@ -68,7 +68,7 @@ const homeJsonLd = [ }, description: "Offline voice dictation and speech-to-text for Linux with whisper.cpp and VOSK.", - softwareVersion: "0.12.0-beta", + softwareVersion: "0.13.0-beta", author: { "@type": "Person", name: "Jatin K Malik", @@ -340,7 +340,7 @@ export default function HomePage() { /> Vocalinux - v0.12.0 Beta + v0.13.0 Beta