From 1e0a2a6cee789789782ef9c468aed9345a437c78 Mon Sep 17 00:00:00 2001 From: Jatin K Malik Date: Thu, 12 Feb 2026 13:12:21 -0800 Subject: [PATCH] chore(release): prepare v0.6.1-beta (#201) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bump version from 0.6.0-beta to 0.6.1-beta with installation improvements: Version Updates: - src/vocalinux/version.py: 0.6.0-beta → 0.6.1-beta - install.sh: Default tag and help text updated - web/package.json: 0.6.0 → 0.6.1 - web/src/app/layout.tsx: schema.org softwareVersion updated - web/src/app/page.tsx: version badge updated Documentation Updates: - README.md: New 'What's New' section for v0.6.1-beta - docs/UPDATE.md: Added v0.6.1-beta release notes with new features - docs/INSTALL.md: Version references updated - docs/RELEASE_PROCESS.md: Example commands updated - tests/distro-testing-checklist.md: Version references updated - src/vocalinux/main.py: Error message updated New Features in v0.6.1-beta: - Interactive backend selection for whisper.cpp (GPU vs CPU) - Enhanced welcome message with testing instructions - Simplified install commands (tag-based URLs) - Better GPU support with proper library detection Bug Fixes: - Fixed bash arithmetic with set -e - Fixed TTY detection for interactive mode - Auto-install git if missing - Fixed GPU installation commands --- README.md | 81 +++++++++++++++++++------------ docs/INSTALL.md | 6 +-- docs/RELEASE_PROCESS.md | 2 +- docs/UPDATE.md | 55 ++++++++++++++++++--- install.sh | 6 +-- src/vocalinux/main.py | 2 +- src/vocalinux/version.py | 4 +- tests/distro-testing-checklist.md | 2 +- web/package.json | 2 +- web/src/app/layout.tsx | 2 +- web/src/app/page.tsx | 2 +- 11 files changed, 112 insertions(+), 52 deletions(-) diff --git a/README.md b/README.md index 158ed88..a30beb6 100644 --- a/README.md +++ b/README.md @@ -28,38 +28,57 @@ **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.6.0-beta +## 📚 What's New in v0.6.1-beta -We're excited to announce our first **Beta release**! Vocalinux has evolved significantly with the biggest change yet: **whisper.cpp is now the default speech recognition engine**, bringing massive improvements to speed, compatibility, and ease of installation. +This patch release brings significant improvements to the installation experience and GPU support! -### 🚀 Major Change: whisper.cpp is Now Default! +### ✨ New Features -**Why this is a game-changer:** -- **⚡ 10x faster installation** - No more 2.3GB PyTorch downloads (was ~5-10 min, now ~1-2 min) -- **🎮 Universal GPU support** - Works with AMD, Intel, and NVIDIA via Vulkan (not just NVIDIA CUDA) -- **💾 Smaller footprint** - Tiny model is only ~39MB vs ~75MB Whisper -- **🔥 Better performance** - C++ optimized inference with multi-threading -- **🐍 No Python GIL** - True parallel processing for faster transcription +- **Interactive Backend Selection** - When installing whisper.cpp, choose between GPU (Vulkan/CUDA) or CPU backend + - Intelligent hardware detection recommends the best option + - Shows helpful tips when GPU libraries are missing + - Respects your choice during installation -### 🐛 Critical Bug Fixes -- Fixed text escaping issues (apostrophes and quotes no longer have backslash escapes) -- Fixed stop sound being transcribed as "thank you" -- Fixed missing spaces after punctuation when transcribing again +- **Enhanced Welcome Message** - Completely redesigned end-of-installation experience + - Shows exactly what was installed (engine, backend, locations) + - Clear step-by-step testing instructions + - Voice command examples ("period", "comma", "new line", "delete that") + - All management commands in one place -### ✨ Key New Features -- **🤖 whisper.cpp integration** - High-performance C++ speech recognition with Vulkan GPU acceleration -- **📦 Interactive installer** - Choose between 3 engines: whisper.cpp (recommended), Whisper, or VOSK -- **🔧 Hardware auto-detection** - Automatically detects your GPU and recommends optimal settings -- **Customizable keyboard shortcuts** - Configure your own activation shortcuts via GUI -- **Modern GNOME HIG settings dialog** - Complete UI overhaul following GNOME design guidelines -- **Pleasant audio feedback** - Gliding tones replace harsh beeps -- **Better Wayland support** - Native keyboard shortcuts without XWayland +### 🔧 Improvements -### 🔧 Quality Improvements -- **80%+ test coverage** - Comprehensive test suite across all modules -- **Microphone reconnection** - Automatic recovery when microphone disconnects -- **Audio buffer management** - Prevents memory issues during long recordings -- **Enhanced logging** - Comprehensive debug info for whisper.cpp troubleshooting +- **Simplified Install Commands** - No more `--tag` parameter needed + - Before: `curl .../main/install.sh | bash -s -- --tag=v0.6.1-beta` + - After: `curl .../v0.6.1-beta/install.sh | bash` + +- **Version Consistency** - Install script is now downloaded directly from the release tag + - Ensures perfect version matching between script and code + - No risk of main branch changes affecting releases + +- **Better GPU Support** - Fixed Vulkan development library detection + - Properly installs `libvulkan-dev`, `glslc`, and other required packages + - Falls back gracefully when GPU libraries are missing + - Clear error messages with installation instructions + +### 🐛 Bug Fixes + +- **Fixed Bash Compatibility** - Resolved `((var++))` arithmetic issues with `set -e` +- **Fixed TTY Detection** - Interactive mode now works correctly with `--interactive` flag +- **Auto-install Git** - Installer now automatically installs git if not present +- **Fixed GPU Installation** - Properly executes pip commands for GPU backend installation + +--- + +## Previous Release: v0.6.0-beta + +**Major milestone: whisper.cpp is now the default engine!** + +- **⚡ 10x faster installation** (~1-2 min vs ~5-10 min) +- **🎮 Universal GPU support** - AMD, Intel, NVIDIA via Vulkan +- **🤖 whisper.cpp integration** - C++ optimized speech recognition +- **📦 Interactive installer** - Choose between 3 engines +- **🔧 Hardware auto-detection** - GPU, RAM, Vulkan support detection +- **🐛 Critical bug fixes** - Text escaping, audio feedback, punctuation --- @@ -124,7 +143,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.6.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh +curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.1-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh ``` **Choose your engine:** @@ -138,25 +157,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.6.0-beta. For other versions, check [GitHub Releases](https://github.com/jatinkrmalik/vocalinux/releases). +> **Note**: Installs v0.6.1-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.6.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh +curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.1-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.6.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --engine=whisper +curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.1-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.6.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --engine=vosk +curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.1-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --engine=vosk ``` Lightweight option (~40MB), works on systems with 4GB RAM. diff --git a/docs/INSTALL.md b/docs/INSTALL.md index 0b64368..135c09a 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.6.0-beta/install.sh | bash +curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.1-beta/install.sh | bash ``` -> **Note**: Installs v0.6.0-beta with **whisper.cpp** (our new default engine). For other versions, check [GitHub Releases](https://github.com/jatinkrmalik/vocalinux/releases). +> **Note**: Installs v0.6.1-beta with **whisper.cpp** (our new 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!) @@ -495,7 +495,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.6.0-beta/install.sh | bash +curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.1-beta/install.sh | bash ``` ## Getting Help diff --git a/docs/RELEASE_PROCESS.md b/docs/RELEASE_PROCESS.md index 6e989d6..06aab7b 100644 --- a/docs/RELEASE_PROCESS.md +++ b/docs/RELEASE_PROCESS.md @@ -112,7 +112,7 @@ Change the Development Status classifier: **Install Commands:** Update all curl commands to use the new tag: ```bash -curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.0-beta/install.sh | bash +curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.1-beta/install.sh | bash ``` **Release Announcement (lines ~31-34):** diff --git a/docs/UPDATE.md b/docs/UPDATE.md index e2e74d9..06275c8 100644 --- a/docs/UPDATE.md +++ b/docs/UPDATE.md @@ -2,6 +2,47 @@ This guide explains how to update Vocalinux to the latest version. +## What's New in v0.6.1-beta + +### ✨ New Features + +- **Interactive Backend Selection**: When installing whisper.cpp, you can now choose between GPU (Vulkan/CUDA) or CPU backend with intelligent hardware detection +- **Enhanced Welcome Message**: Completely redesigned end-of-installation message showing what was installed, testing instructions, and voice command examples + +### 🔧 Improvements + +- **Version Consistency**: Install commands now download install.sh directly from the release tag, ensuring perfect version matching +- **Simplified Install Commands**: No more `--tag` parameter needed - cleaner syntax like `curl .../v0.6.1-beta/install.sh | bash` +- **Better GPU Support**: Fixed Vulkan development library detection and installation + +### 🐛 Bug Fixes + +- **Fixed TTY Check**: Interactive mode now works correctly with `--interactive` flag +- **Auto-install Git**: Installer now automatically installs git if not present +- **GPU Installation**: Fixed pip command execution for GPU backend installation +- **Bash Arithmetic**: Fixed issues with `((var++))` and `set -e` compatibility + +### 📚 Documentation + +- Updated all install commands to use tag-based URLs +- Improved error messages with correct install instructions +- Better inline help in install script + +See the [full changelog](https://github.com/jatinkrmalik/vocalinux/releases/tag/v0.6.1-beta). + +--- + +## Previous Versions + +### v0.6.0-beta + +- **whisper.cpp as default engine**: Fast, works with any GPU via Vulkan +- **Multi-language support**: Auto-detect language with manual override +- **System tray indicator**: Better desktop integration +- **Wayland support**: Full compatibility with modern Linux desktops + +--- + ## Quick Update (Recommended) ### If You Installed via curl (One-liner) @@ -9,7 +50,7 @@ This guide explains how to update Vocalinux to the latest version. Simply re-run the installation command with the new version tag: ```bash -curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.0-beta/install.sh | bash +curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.1-beta/install.sh | bash ``` The installer will: @@ -24,7 +65,7 @@ The installer will: ```bash cd vocalinux git fetch origin -git checkout v0.6.0-beta +git checkout v0.6.1-beta ./install.sh ``` @@ -50,7 +91,7 @@ cd vocalinux ./install.sh --tag=v0.4.1-alpha # Or via curl (for any installation) -curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.0-beta/install.sh | bash +curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.1-beta/install.sh | bash ``` **What gets preserved:** @@ -68,7 +109,7 @@ cd vocalinux # 2. Pull the latest changes git fetch origin -git checkout v0.6.0-beta +git checkout v0.6.1-beta # 3. Activate your virtual environment source venv/bin/activate @@ -97,7 +138,7 @@ git describe --tags --- -## What's New in v0.6.0-beta +## What's New in v0.6.1-beta ### 🚀 Major Feature: whisper.cpp is Now Default! @@ -116,7 +157,7 @@ This release brings **whisper.cpp** as the new default speech recognition engine - **Enhanced logging**: Comprehensive debug info for whisper.cpp troubleshooting - **Better documentation**: Updated all docs to reflect whisper.cpp as the new default -See the [full changelog](https://github.com/jatinkrmalik/vocalinux/releases/tag/v0.6.0-beta). +See the [full changelog](https://github.com/jatinkrmalik/vocalinux/releases/tag/v0.6.1-beta). --- @@ -151,7 +192,7 @@ See the [full changelog](https://github.com/jatinkrmalik/vocalinux/releases/tag/ ./uninstall.sh --keep-config --keep-data # Reinstall -curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.0-beta/install.sh | bash +curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.1-beta/install.sh | bash ``` ### Old Version Still Running diff --git a/install.sh b/install.sh index 0685059..85945f6 100755 --- a/install.sh +++ b/install.sh @@ -101,7 +101,7 @@ while [[ $# -gt 0 ]]; do echo " --test Run tests after installation" echo " --venv-dir=PATH Specify custom virtual environment directory" echo " --skip-models Skip downloading speech models during installation" - echo " --tag=TAG Install specific release tag (default: v0.6.0-beta)" + echo " --tag=TAG Install specific release tag (default: v0.6.1-beta)" echo " --help Show this help message" echo "" echo "Examples:" @@ -141,7 +141,7 @@ print_info "==============================" echo "" # Default to installing from latest stable release instead of main branch -INSTALL_TAG="${INSTALL_TAG:-v0.6.0-beta}" +INSTALL_TAG="${INSTALL_TAG:-v0.6.1-beta}" # Check if running from within the vocalinux repo or remotely (via curl) REPO_URL="https://github.com/jatinkrmalik/vocalinux.git" @@ -802,7 +802,7 @@ if [[ "$INTERACTIVE_MODE" == "yes" ]]; then if [ ! -t 0 ]; then print_error "Interactive mode requires a terminal (TTY)." print_error "Please run from a terminal, or use automatic mode:" - print_error " curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.0-beta/install.sh | bash" + print_error " curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.1-beta/install.sh | bash" exit 1 fi diff --git a/src/vocalinux/main.py b/src/vocalinux/main.py index fef7ee0..31ebfce 100644 --- a/src/vocalinux/main.py +++ b/src/vocalinux/main.py @@ -122,7 +122,7 @@ def check_dependencies(): logger.error("") logger.error("For the best experience, install using the recommended method:") logger.error( - " curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.0-beta/install.sh | bash" + " curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.1-beta/install.sh | bash" ) return False diff --git a/src/vocalinux/version.py b/src/vocalinux/version.py index 69fdb40..39c3362 100644 --- a/src/vocalinux/version.py +++ b/src/vocalinux/version.py @@ -2,8 +2,8 @@ Version information for Vocalinux. """ -__version__ = "0.6.0-beta" -__version_info__ = (0, 6, 0, "beta") +__version__ = "0.6.1-beta" +__version_info__ = (0, 6, 1, "beta") __author__ = "Jatin K Malik" __email__ = "jatinkrmalik@gmail.com" __license__ = "GPL-3.0" diff --git a/tests/distro-testing-checklist.md b/tests/distro-testing-checklist.md index ec7579a..62d8717 100644 --- a/tests/distro-testing-checklist.md +++ b/tests/distro-testing-checklist.md @@ -40,7 +40,7 @@ Use this checklist when testing Vocalinux on a new Linux distribution. ### Standard Installation - [ ] Download installer ```bash - curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.0-beta/install.sh -o /tmp/vl.sh + curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.1-beta/install.sh -o /tmp/vl.sh ``` - [ ] Run installer diff --git a/web/package.json b/web/package.json index 90064d4..9554b67 100644 --- a/web/package.json +++ b/web/package.json @@ -1,6 +1,6 @@ { "name": "vocalinux-website", - "version": "0.6.0", + "version": "0.6.1", "private": true, "type": "module", "scripts": { diff --git a/web/src/app/layout.tsx b/web/src/app/layout.tsx index d381252..fa2b252 100644 --- a/web/src/app/layout.tsx +++ b/web/src/app/layout.tsx @@ -120,7 +120,7 @@ export default function RootLayout({ "priceCurrency": "USD" }, "description": "Free, open-source voice dictation for Linux. 100% offline with Whisper AI and VOSK. Works with X11 and Wayland.", - "softwareVersion": "0.6.0-beta", + "softwareVersion": "0.6.1-beta", "author": { "@type": "Person", "name": "Jatin K Malik", diff --git a/web/src/app/page.tsx b/web/src/app/page.tsx index b5b0602..a32dc0e 100644 --- a/web/src/app/page.tsx +++ b/web/src/app/page.tsx @@ -194,7 +194,7 @@ export default function HomePage() { /> Vocalinux - v0.6.0 Beta + v0.6.1 Beta