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:
@@ -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
|
||||
|
||||
@@ -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
@@ -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
@@ -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,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
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "vocalinux-website",
|
||||
"version": "0.6.1",
|
||||
"version": "0.6.2",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user