chore(release): prepare v0.6.2-beta (#224)

* chore(release): prepare v0.6.2-beta

- Update version from 0.6.1-beta to 0.6.2-beta
- Update documentation version references
- Update website schema and badges

Changes since v0.6.1-beta:
- Fix #221: Add missing psutil dependency
- Fix #219: Suppress [BLANK_AUDIO] tokens in whisper.cpp output
- Fix #204: Resolve PyAudio paInt16 attribute error
- Fix #205: Ensure whisper module installed with --auto
- Improve Vulkan shader package detection for multiple distros
- CI: Fix nightly build tag cleanup

* docs(agents): update AGENTS.md with current project structure

- Update speech recognition engines list (whisper.cpp is now default)
- Add key dependencies section
- Update project structure with whispercpp_model_info.py and vosk_model_info.py
- Add release process quick summary

* docs(agents): add important rules about PR workflow

- Never push directly to main
- All changes require a PR
- Wait for CI before merging
- Squash merge PRs
This commit is contained in:
Jatin K Malik
2026-02-17 21:48:24 -08:00
committed by GitHub
parent d3e1bd7128
commit 2acf6899bd
7 changed files with 93 additions and 78 deletions
+35 -3
View File
@@ -7,9 +7,16 @@ Guidelines for AI agents working on this codebase.
Vocalinux is a voice dictation system for Linux. It uses:
- **Python 3.8+** for the main application
- **GTK 3** (via PyGObject) for the desktop UI and system tray
- **Vosk** and **OpenAI Whisper** for speech recognition
- **whisper.cpp** (default), **OpenAI Whisper**, and **Vosk** for speech recognition
- **Next.js/TypeScript** for the website (in `web/`)
### Key Dependencies
- `pywhispercpp` - Python bindings for whisper.cpp (default engine)
- `vosk` - Lightweight speech recognition
- `pyaudio` - Audio capture
- `PyGObject` - GTK integration
- `psutil` - Process utilities (required by pywhispercpp)
## Build & Test Commands
### Python
@@ -158,7 +165,7 @@ src/vocalinux/
├── version.py # Version info
├── common_types.py # Shared types/enums/protocols
├── speech_recognition/
│ ├── recognition_manager.py # VOSK/Whisper management
│ ├── recognition_manager.py # VOSK/Whisper/whisper.cpp management
│ └── command_processor.py # Voice command processing
├── text_injection/
│ └── text_injector.py # X11/Wayland text injection
@@ -168,9 +175,26 @@ src/vocalinux/
│ ├── config_manager.py # Configuration handling
│ └── keyboard_backends/ # Keyboard input handling
└── utils/
└── resource_manager.py # Resource utilities
├── resource_manager.py # Resource utilities
├── whispercpp_model_info.py # whisper.cpp model metadata & hardware detection
└── vosk_model_info.py # VOSK model metadata
```
## Release Process
See `docs/RELEASE_PROCESS.md` for detailed release instructions.
Quick summary:
1. Update version in `src/vocalinux/version.py`
2. Update version references in README.md, docs/INSTALL.md, docs/UPDATE.md
3. Update web/src/app/page.tsx and web/package.json
4. Run `make lint` to verify code quality
5. Create branch `release/vX.Y.Z-PHASE`
6. Commit with `chore(release): prepare vX.Y.Z-PHASE`
7. Push and create PR
8. After merge, create and push tag: `git tag -a vX.Y.Z-PHASE -m "Release X.Y.Z-PHASE"`
9. GitHub Actions will build and publish automatically
## Commit Message Format
Follow Conventional Commits:
@@ -199,3 +223,11 @@ docs(readme): update installation instructions
- `docs/` - Documentation updates
- `refactor/` - Code refactoring
- `test/` - Test additions/updates
- `release/` - Release preparation (e.g., `release/v0.6.2-beta`)
## Important Rules
- **Never push directly to `main`** - Always create a branch and PR
- **All changes require a PR** - Even small fixes and documentation updates
- **Wait for CI to pass** before merging PRs
- **Squash merge** PRs to keep history clean
+27 -39
View File
@@ -28,44 +28,32 @@
**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.1-beta
## 📚 What's New in v0.6.2-beta
This patch release brings significant improvements to the installation experience and GPU support!
### ✨ New Features
- **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
- **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
### 🔧 Improvements
- **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`/`glslang-tools`, and other required packages
- Falls back gracefully when GPU libraries are missing
- Clear error messages with installation instructions
This patch release brings important bug fixes and installation improvements!
### 🐛 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
- **Fixed #221**: Add missing `psutil` dependency - Fresh installs now work correctly (pywhispercpp requires psutil)
- **Fixed #219**: Suppress `[BLANK_AUDIO]` tokens in whisper.cpp output - Cleaner transcription results
- **Fixed #204**: Resolve PyAudio `paInt16` attribute error on audio device reconnection
- **Fixed #205**: Ensure whisper module is properly installed with `--auto` flag
### 🔧 Improvements
- **Better Multi-Distro Installation** - Improved Vulkan shader package detection and installation for Ubuntu, Debian, Fedora, Arch, and more
- **CI Improvements** - Fixed nightly build tag cleanup and older release deletion
---
## Previous Release: v0.6.2-beta
**Installation experience improvements!**
- **Interactive Backend Selection** - Choose between GPU (Vulkan/CUDA) or CPU backend
- **Enhanced Welcome Message** - Redesigned end-of-installation experience
- **Simplified Install Commands** - No more `--tag` parameter needed
- **Better GPU Support** - Fixed Vulkan development library detection
---
@@ -143,7 +131,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.1-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.2-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh
```
**Choose your engine:**
@@ -157,25 +145,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.1-beta. For other versions, check [GitHub Releases](https://github.com/jatinkrmalik/vocalinux/releases).
> **Note**: Installs v0.6.2-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.1-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.2-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.1-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --engine=whisper
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.2-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.1-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --engine=vosk
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.2-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --engine=vosk
```
Lightweight option (~40MB), works on systems with 4GB RAM.
+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.6.1-beta/install.sh | bash
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.2-beta/install.sh | bash
```
> **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).
> **Note**: Installs v0.6.2-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.1-beta/install.sh | bash
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.2-beta/install.sh | bash
```
## Getting Help
+23 -28
View File
@@ -2,38 +2,33 @@
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
## What's New in v0.6.2-beta
### 🐛 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
- **Fixed #221**: Add missing `psutil` dependency - Fresh installs now work correctly (pywhispercpp requires psutil internally)
- **Fixed #219**: Suppress `[BLANK_AUDIO]` tokens in whisper.cpp output - Cleaner transcription results
- **Fixed #204**: Resolve PyAudio `paInt16` attribute error on audio device reconnection
- **Fixed #205**: Ensure whisper module is properly installed with `--auto` flag
### 📚 Documentation
### 🔧 Improvements
- Updated all install commands to use tag-based URLs
- Improved error messages with correct install instructions
- Better inline help in install script
- **Better Multi-Distro Installation** - Improved Vulkan shader package detection and installation for Ubuntu, Debian, Fedora, Arch, and more
- **CI Improvements** - Fixed nightly build tag cleanup and older release deletion
See the [full changelog](https://github.com/jatinkrmalik/vocalinux/releases/tag/v0.6.1-beta).
See the [full changelog](https://github.com/jatinkrmalik/vocalinux/releases/tag/v0.6.2-beta).
---
## Previous Versions
### v0.6.2-beta
- **Interactive Backend Selection**: Choose between GPU (Vulkan/CUDA) or CPU backend
- **Enhanced Welcome Message**: Redesigned end-of-installation experience
- **Simplified Install Commands**: No more `--tag` parameter needed
- **Better GPU Support**: Fixed Vulkan development library detection
### v0.6.0-beta
- **whisper.cpp as default engine**: Fast, works with any GPU via Vulkan
@@ -50,7 +45,7 @@ See the [full changelog](https://github.com/jatinkrmalik/vocalinux/releases/tag/
Simply re-run the installation command with the new version tag:
```bash
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.1-beta/install.sh | bash
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.2-beta/install.sh | bash
```
The installer will:
@@ -65,7 +60,7 @@ The installer will:
```bash
cd vocalinux
git fetch origin
git checkout v0.6.1-beta
git checkout v0.6.2-beta
./install.sh
```
@@ -91,7 +86,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.1-beta/install.sh | bash
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.2-beta/install.sh | bash
```
**What gets preserved:**
@@ -109,7 +104,7 @@ cd vocalinux
# 2. Pull the latest changes
git fetch origin
git checkout v0.6.1-beta
git checkout v0.6.2-beta
# 3. Activate your virtual environment
source venv/bin/activate
@@ -138,7 +133,7 @@ git describe --tags
---
## What's New in v0.6.1-beta
## What's New in v0.6.2-beta
### 🚀 Major Feature: whisper.cpp is Now Default!
@@ -157,7 +152,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.1-beta).
See the [full changelog](https://github.com/jatinkrmalik/vocalinux/releases/tag/v0.6.2-beta).
---
@@ -192,7 +187,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.1-beta/install.sh | bash
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.2-beta/install.sh | bash
```
### Old Version Still Running
+2 -2
View File
@@ -2,8 +2,8 @@
Version information for Vocalinux.
"""
__version__ = "0.6.1-beta"
__version_info__ = (0, 6, 1, "beta")
__version__ = "0.6.2-beta"
__version_info__ = (0, 6, 2, "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.6.1",
"version": "0.6.2",
"private": true,
"type": "module",
"scripts": {
+2 -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.6.1-beta",
"softwareVersion": "0.6.2-beta",
author: {
"@type": "Person",
name: "Jatin K Malik",
@@ -290,7 +290,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.6.1 Beta
v0.6.2 Beta
</span>
</Link>