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.
This commit is contained in:
Jatin K Malik
2026-03-14 13:53:22 -07:00
committed by GitHub
parent e2fdf5ddf2
commit baeee19f17
10 changed files with 103 additions and 41 deletions
+34 -26
View File
@@ -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! 🙌
<a href="https://github.com/jatinkrmalik/vocalinux/graphs/contributors">
<img src="https://contrib.rocks/image?repo=jatinkrmalik/vocalinux" />
</a>
### Quick Links
- 🐛 [Report a Bug](https://github.com/jatinkrmalik/vocalinux/issues/new?template=bug_report.md)
+3 -3
View File
@@ -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
+3 -3
View File
@@ -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
+1
View File
@@ -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?
+37 -2
View File
@@ -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
```
+1 -1
View File
@@ -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
+2 -2
View File
@@ -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"
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "vocalinux-website",
"version": "0.8.0",
"version": "0.9.0",
"private": true,
"type": "module",
"scripts": {
+16 -1
View File
@@ -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",
+5 -2
View File
@@ -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() {
/>
<span className="font-bold text-lg sm:text-xl">Vocalinux</span>
<span className="hidden sm:inline-block text-xs bg-gradient-to-r from-primary/20 to-green-500/20 text-primary border border-primary/30 px-2.5 py-1 rounded-full font-semibold shadow-sm shadow-primary/20">
v0.8.0 Beta
v0.9.0 Beta
</span>
</Link>