From baeee19f1796ed9b723bdcd7fc64c7a7ffddf36b Mon Sep 17 00:00:00 2001 From: Jatin K Malik Date: Sat, 14 Mar 2026 13:53:22 -0700 Subject: [PATCH] chore(release): prepare v0.9.0-beta (#310) * chore(release): prepare v0.9.0-beta - Bump version from 0.8.0-beta to 0.9.0-beta - Update README What's New section with new features and bug fixes - Update all install script URLs to v0.9.0-beta - Add v0.9.0-beta What's New section to docs/UPDATE.md - Update SECURITY.md supported versions (0.9.x supported, 0.8.x dropped) - Update website schema softwareVersion and nav badge to 0.9.0 - Update website featureList with new sound effects and clipboard features - Add v0.9.0-beta entry to changelog page - Update web/package.json version to 0.9.0 - Add v0.9.0-beta row to RELEASE_PROCESS.md version history * docs(readme): add contributors avatar grid via contrib.rocks * feat(about): add Changelog link to About dialog * Revert "feat(about): add Changelog link to About dialog" This reverts commit 15e0984f516caccb14a0609e96d5fb6870ea247e. --- README.md | 60 +++++++++++++++++++--------------- SECURITY.md | 6 ++-- docs/INSTALL.md | 6 ++-- docs/RELEASE_PROCESS.md | 1 + docs/UPDATE.md | 39 ++++++++++++++++++++-- src/vocalinux/main.py | 2 +- src/vocalinux/version.py | 4 +-- web/package.json | 2 +- web/src/app/changelog/page.tsx | 17 +++++++++- web/src/app/page.tsx | 7 ++-- 10 files changed, 103 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index 16a5aa2..4aa0ab5 100644 --- a/README.md +++ b/README.md @@ -28,38 +28,38 @@ **A seamless free open-source private voice dictation system for Linux**, comparable to built-in solutions on macOS and Windows. -## 📚 What's New in v0.8.0-beta +## 📚 What's New in v0.9.0-beta -> 🎉 **Major Release: Push-to-Talk, command controls, and reliability upgrades.** +> 🎉 **Release: Left/Right modifier keys, sound effects toggle, Wayland clipboard fallback, and more.** -### 🚀 Highlights (v0.7.0 → v0.8.0) +### 🚀 Highlights (v0.8.0 → v0.9.0) | Feature | Description | |---------|-------------| -| **🎤 Push-to-Talk Mode** | Hold the shortcut key to speak, release to stop | -| **⚙️ Voice Commands Toggle** | Enable/disable command parsing with smart VOSK auto-enable | -| **⌨️ Shortcut Reliability** | Improved live mode switching and callback lifecycle stability | -| **🧠 Better Input Handling** | More robust IBus detection and text injection behavior | +| **⌨️ Left/Right Modifier Keys** | Choose Left Ctrl vs Right Ctrl (etc.) as your shortcut trigger | +| **🔔 Sound Effects Toggle** | Enable or disable audio feedback from the Settings dialog | +| **📋 Wayland Clipboard Fallback** | Automatic clipboard copy when virtual keyboard injection isn't available | +| **🛠️ Installation Polish** | Better pipx/Debian guidance and headless display detection | -### ✨ New Features (v0.8.0) +### ✨ New Features (v0.9.0) -- **Push-to-Talk Shortcut Mode** — Added a second shortcut mode alongside double-tap toggle -- **Mode-aware Shortcut UI** — Settings now clearly describe toggle vs push-to-talk behavior -- **Voice Commands Optional Mode** — Commands can be disabled, with auto mode optimized for VOSK +- **Left/Right Modifier Key Distinction** — Shortcuts now support `Left Ctrl`, `Right Alt`, etc., with grouped UI in Settings +- **Sound Effects Toggle** — New Audio Settings toggle to silence start/stop/error sounds +- **Clipboard Fallback for Wayland** — Auto-copies text via `wl-copy`/`xclip` when injection unavailable (KDE Plasma etc.) +- **Display Availability Check** — Graceful error message when running in headless environments -### 🐛 Bug Fixes (v0.8.0) +### 🐛 Bug Fixes (v0.9.0) -- **#277**: Detect active IBus input method before using IBus injection path -- **#275**: Auto-detect supported audio channel count for better microphone compatibility -- **#268**: Prevent GTK startup dialog crash on Fedora -- **#261**: Resolve text injection reliability issues across desktop environments -- **#259**: Prevent recognition-thread state flicker -- **#262/#263**: Auto-detect device sample rate for broader audio hardware support +- **#308**: Distinguish left vs right modifier keys (evdev + pynput backends) +- **#307**: Remove unwanted leading space when starting a new transcription session +- **#305**: Pass configured shortcut mode to `KeyboardShortcutManager` on startup +- **#299**: Add clipboard fallback for Wayland compositors without virtual keyboard support +- **#289**: Improve Debian/pipx installation error messages and cross-distro dependency guidance -### 🔧 Recent Improvements +### 🔧 Improvements -- **Web SEO Expansion** — Added 8 additional optimized pages for discoverability -- **Web Visual Refresh** — Updated homepage gradients and voice-brand styling +- **Grouped shortcut selector** — Settings dropdown now organises shortcuts by Either/Left/Right side +- **pipx documentation** — New `DISTRO_COMPATIBILITY.md` section for pipx users --- @@ -117,7 +117,7 @@ Here are some screenshots showcasing Vocalinux in action: Our new interactive installer guides you through setup with intelligent hardware detection: ```bash -curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh +curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.9.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh ``` **Choose your engine:** @@ -131,25 +131,25 @@ The installer will: - **Download the appropriate model** (~39MB for whisper.cpp tiny) - **Install in ~1-2 minutes** (vs 5-10 min with old Whisper) -> **Note**: Installs v0.8.0-beta. For other versions, check [GitHub Releases](https://github.com/jatinkrmalik/vocalinux/releases). +> **Note**: Installs v0.9.0-beta. For other versions, check [GitHub Releases](https://github.com/jatinkrmalik/vocalinux/releases). ### Installation Options **Default (whisper.cpp - recommended):** ```bash -curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh +curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.9.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh ``` Fastest installation (~1-2 min), universal GPU support via Vulkan. **Whisper (OpenAI) - if you prefer PyTorch:** ```bash -curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --engine=whisper +curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.9.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --engine=whisper ``` NVIDIA GPU only (~5-10 min, downloads PyTorch + CUDA). **VOSK only - for low-RAM systems:** ```bash -curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --engine=vosk +curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.9.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --engine=vosk ``` Lightweight option (~40MB), works on systems with 4GB RAM. @@ -361,6 +361,14 @@ This script generates all three sounds using the same smooth glide algorithm. Yo We welcome contributions! Whether it's bug reports, feature requests, or code contributions, please check out our [Contributing Guide](CONTRIBUTING.md). +### Contributors + +Thanks to everyone who has contributed to Vocalinux! 🙌 + + + + + ### Quick Links - 🐛 [Report a Bug](https://github.com/jatinkrmalik/vocalinux/issues/new?template=bug_report.md) diff --git a/SECURITY.md b/SECURITY.md index 4630e6e..a46b573 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -4,10 +4,10 @@ | Version | Supported | | ------- | ------------------ | -| 0.8.x | :white_check_mark: | +| 0.9.x | :white_check_mark: | +| 0.8.x | :x: | | 0.7.x | :x: | -| 0.6.x | :x: | -| < 0.6 | :x: | +| < 0.7 | :x: | ## Reporting a Vulnerability diff --git a/docs/INSTALL.md b/docs/INSTALL.md index 950686f..7c11254 100644 --- a/docs/INSTALL.md +++ b/docs/INSTALL.md @@ -7,10 +7,10 @@ This guide provides detailed instructions for installing Vocalinux on Linux syst ### One-liner Installation (Recommended) ```bash -curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh | bash +curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.9.0-beta/install.sh | bash ``` -> **Note**: Installs v0.8.0-beta with **whisper.cpp** (our default engine). For other versions, check [GitHub Releases](https://github.com/jatinkrmalik/vocalinux/releases). +> **Note**: Installs v0.9.0-beta with **whisper.cpp** (our default engine). For other versions, check [GitHub Releases](https://github.com/jatinkrmalik/vocalinux/releases). That's it! The installer handles everything automatically: - ✅ Installs whisper.cpp (~1-2 minutes, no heavy dependencies!) @@ -508,7 +508,7 @@ Already have Vocalinux installed? See the [Update Guide](UPDATE.md) for instruct Quick update command: ```bash -curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh | bash +curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.9.0-beta/install.sh | bash ``` ## Getting Help diff --git a/docs/RELEASE_PROCESS.md b/docs/RELEASE_PROCESS.md index ef0ba4d..afa7656 100644 --- a/docs/RELEASE_PROCESS.md +++ b/docs/RELEASE_PROCESS.md @@ -327,6 +327,7 @@ git push origin v0.5.1-beta | 0.6.3-beta | 2026-02-19 | Beta | GPU detection improvements | | 0.7.0-beta | 2026 | Beta | Autostart, tabbed settings, Intel GPU support, single instance | | 0.8.0-beta | 2026-03-01 | Beta | Push-to-talk mode, optional voice commands, input/audio compatibility fixes | +| 0.9.0-beta | 2026-03-14 | Beta | Left/right modifier keys, sound effects toggle, Wayland clipboard fallback, leading-space fix | ## Questions? diff --git a/docs/UPDATE.md b/docs/UPDATE.md index f9346a2..bc804ee 100644 --- a/docs/UPDATE.md +++ b/docs/UPDATE.md @@ -2,6 +2,41 @@ This guide explains how to update Vocalinux to the latest version. +## What's New in v0.9.0-beta + +### 🚀 Highlights + +| Feature | Description | +|---------|-------------| +| **⌨️ Left/Right Modifier Keys** | Choose Left Ctrl vs Right Ctrl (etc.) as your shortcut trigger | +| **🔔 Sound Effects Toggle** | Enable or disable audio feedback from the Settings dialog | +| **📋 Wayland Clipboard Fallback** | Automatic clipboard copy when virtual keyboard injection isn't available | +| **🛠️ Installation Polish** | Better pipx/Debian guidance and headless display detection | + +### ✨ New Features + +- **Left/Right Modifier Key Distinction** — Shortcuts now support `Left Ctrl`, `Right Alt`, etc., with grouped UI in Settings +- **Sound Effects Toggle** — New Audio Settings toggle to silence start/stop/error sounds +- **Clipboard Fallback for Wayland** — Auto-copies text via `wl-copy`/`xclip` when injection unavailable (KDE Plasma etc.) +- **Display Availability Check** — Graceful error message when running in headless environments + +### 🐛 Bug Fixes + +- **#308**: Distinguish left vs right modifier keys (evdev + pynput backends) +- **#307**: Remove unwanted leading space when starting a new transcription session +- **#305**: Pass configured shortcut mode to `KeyboardShortcutManager` on startup +- **#299**: Add clipboard fallback for Wayland compositors without virtual keyboard support +- **#289**: Improve Debian/pipx installation error messages and cross-distro dependency guidance + +### 🔧 Improvements + +- **Grouped shortcut selector** — Settings dropdown now organises shortcuts by Either/Left/Right side +- **pipx documentation** — New `DISTRO_COMPATIBILITY.md` section for pipx users + +See the [full changelog](https://github.com/jatinkrmalik/vocalinux/releases/tag/v0.9.0-beta). + +--- + ## What's New in v0.8.0-beta ### 🚀 Highlights @@ -44,7 +79,7 @@ See the [full changelog](https://github.com/jatinkrmalik/vocalinux/releases/tag/ Simply re-run the installation command: ```bash -curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh | bash +curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.9.0-beta/install.sh | bash ``` The installer will: @@ -58,7 +93,7 @@ The installer will: ```bash cd vocalinux git fetch origin -git checkout v0.8.0-beta +git checkout v0.9.0-beta ./install.sh ``` diff --git a/src/vocalinux/main.py b/src/vocalinux/main.py index 68d79a9..4afb0a5 100644 --- a/src/vocalinux/main.py +++ b/src/vocalinux/main.py @@ -141,7 +141,7 @@ def check_dependencies(): logger.error("") logger.error("For the best experience, use the recommended installer:") logger.error( - " curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh | bash" + " curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.9.0-beta/install.sh | bash" ) return False diff --git a/src/vocalinux/version.py b/src/vocalinux/version.py index 83274c2..8eb33ae 100644 --- a/src/vocalinux/version.py +++ b/src/vocalinux/version.py @@ -2,8 +2,8 @@ Version information for Vocalinux. """ -__version__ = "0.8.0-beta" -__version_info__ = (0, 8, 0, "beta") +__version__ = "0.9.0-beta" +__version_info__ = (0, 9, 0, "beta") __author__ = "Jatin K Malik" __email__ = "jatinkrmalik@gmail.com" __license__ = "GPL-3.0" diff --git a/web/package.json b/web/package.json index e71945b..7b64dfa 100644 --- a/web/package.json +++ b/web/package.json @@ -1,6 +1,6 @@ { "name": "vocalinux-website", - "version": "0.8.0", + "version": "0.9.0", "private": true, "type": "module", "scripts": { diff --git a/web/src/app/changelog/page.tsx b/web/src/app/changelog/page.tsx index fd9bedb..30cfd96 100644 --- a/web/src/app/changelog/page.tsx +++ b/web/src/app/changelog/page.tsx @@ -5,6 +5,21 @@ import { SeoSubpageShell } from "@/components/seo-subpage-shell"; import { absoluteUrl, buildPageMetadata } from "@/lib/seo"; const releases = [ + { + version: "v0.9.0-beta", + date: "2026-03-14", + type: "beta", + highlights: [ + "Left/right modifier key distinction — choose Left Ctrl vs Right Ctrl for your shortcut", + "Sound effects toggle — enable or disable audio feedback from Settings", + "Wayland clipboard fallback — auto-copies text when virtual keyboard injection isn't available", + "Display availability check — graceful error when running in headless environments", + "Fixed unwanted leading space at the start of each new transcription session", + "Fixed shortcut mode (toggle/push-to-talk) not applying on startup", + "Improved Debian/pipx installation guidance and cross-distro error messages", + "Grouped shortcut selector UI — shortcuts organised by Either/Left/Right side", + ], + }, { version: "v0.8.0-beta", date: "2026-03-01", @@ -160,7 +175,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-03-01", + dateModified: "2026-03-14", author: { "@type": "Person", name: "Jatin K Malik", diff --git a/web/src/app/page.tsx b/web/src/app/page.tsx index efc52d2..3744d3d 100644 --- a/web/src/app/page.tsx +++ b/web/src/app/page.tsx @@ -65,7 +65,7 @@ const homeJsonLd = [ }, description: "Offline voice dictation and speech-to-text for Linux with whisper.cpp and VOSK.", - "softwareVersion": "0.8.0-beta", + "softwareVersion": "0.9.0-beta", author: { "@type": "Person", name: "Jatin K Malik", @@ -78,8 +78,11 @@ const homeJsonLd = [ "100% offline speech recognition", "Works with X11 and Wayland", "Toggle and push-to-talk shortcut modes", + "Left/right modifier key distinction for shortcuts", "Optional voice commands with VOSK-aware defaults", "Adaptive audio and IBus-aware text injection", + "Clipboard fallback for unsupported Wayland compositors", + "Sound effects toggle for audio feedback", "whisper.cpp, Whisper, and VOSK support", "Linux desktop integration", ], @@ -292,7 +295,7 @@ export default function HomePage() { /> Vocalinux - v0.8.0 Beta + v0.9.0 Beta