Commit Graph
18 Commits
Author SHA1 Message Date
Jatin K MalikandGitHub 748d318515 chore(release): prepare v0.12.0-beta (#459)
* chore(release): bump version to v0.12.0-beta

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

* docs(release): document v0.12.0-beta changes

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

* docs(security): update supported beta version

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

* chore(web): refresh v0.12.0-beta website metadata

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

* fix(web): type lazy syntax highlighter

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
2026-06-07 00:21:29 -07:00
3f5a5effff feat(vad): add Silero VAD and drop silence-only buffers (#447)
* feat(vad): replace amplitude-based VAD with Silero neural network

Replace the simple amplitude threshold VAD with Silero VAD, a lightweight
neural network model that classifies audio as speech/non-speech. This
addresses the root cause of #302 (silence not stopping recording) and

- Add silero_vad.py wrapper using ONNX Runtime with bundled Silero v5 model
- Accumulate 512-sample chunks with 64-sample context window per official API
- Map existing vad_sensitivity (1-5) to Silero thresholds (0.8-0.3)
- Use max() across sub-chunks to avoid missing speech onsets
- Fall back to amplitude VAD when onnxruntime is unavailable
- Add onnxruntime as optional dependency (pip install vocalinux[vad])

Closes #344

* address review: add tests, LICENSE, logging, validation fixes

- Add unit tests for SileroVAD (process, reset, fallback, sensitivity mapping)
- Add MIT LICENSE for bundled Silero VAD model in data/
- Log which VAD backend is active on init
- Validate chunk length in SileroVAD.process()
- Skip is_speech check until a full Silero chunk is processed
- Add thread safety note to SileroVAD docstring
- Document resampling rate effect on VAD resolution
- Comment explaining why load_silero_vad() catches broad Exception

* address review: bundle license, document [vad] extra, surface backend in UI

- Pack data/LICENSE into the wheel (pyproject package-data) so attribution
  travels with the model
- README: short note on enabling neural VAD via vocalinux[vad]
- Settings: VAD Sensitivity row subtitle shows the active backend; if
  onnxruntime is missing, an info-row beneath the group spells out the
  install command and the restart requirement
- silero_vad.is_silero_available() probes onnxruntime + model presence
  w/o instantiating an InferenceSession
- CI installs .[dev,vad] so Silero paths get exercised
- Integration test for _record_audio Silero branch (mocked pyaudio +
  scripted SileroVAD), covering silence flush, speech reset, and
  sensitivity threshold mapping at sens=1 vs sens=5
- Tests no longer skip when other modules globally mock numpy: pop the
  top-level numpy ref so a fresh import gives the real package, and
  swap sys.modules["numpy"] inside the _record_audio call so the lazy
  import inside the function picks up real numpy too

* fix(vad): drop silence-only recording buffers

* test(vad): align stop buffer expectations

* test(vad): preserve real numpy module

* fix(install): install vad support opportunistically

* test(vad): cover recognition manager vad edges

---------

Co-authored-by: Sbenazar <127324689+Sbenazar@users.noreply.github.com>
2026-06-02 12:43:51 -07:00
Jatin K MalikandGitHub b3c73dd872 chore(release): prepare v0.11.0-beta (#440)
- Bump version from 0.10.2-beta to 0.11.0-beta
- Update all version references across codebase
- Add What's New section for v0.11.0-beta in README and docs/UPDATE.md
- Add v0.11.0-beta entry to website changelog
- Update SECURITY.md supported versions to 0.11.x
- Update website schema, badge, and package version
- Update RELEASE_PROCESS.md version history table
2026-05-30 16:52:02 -07:00
Jatin K MalikandGitHub 166bb8c49a chore(release): prepare v0.10.2-beta (#394)
- Bump version from 0.10.1-beta to 0.10.2-beta in version.py
- Update README.md What's New section with v0.10.2 highlights and bug fixes
- Update SECURITY.md supported versions table
- Update docs/UPDATE.md with v0.10.2 release notes
- Update docs/RELEASE_PROCESS.md version history table
- Update web/src/app/page.tsx softwareVersion and version badge
- Update web/src/app/changelog/page.tsx with v0.10.2 release entry
- Update web/package.json and web/package-lock.json to 0.10.2

Key changes in this release:
- Non-ASCII text injection via ydotool clipboard fallback (#376)
- IBus detection on Wayland without legacy env vars (#381)
- IBus engine process startup fix (#361)
- Missing deps for Pop!_OS and Ubuntu 24.04+ (#379)
- Systematic code quality refactor (#377)
- Redesigned website OG image (#392)
2026-04-08 13:43:22 -07:00
Jatin K MalikandGitHub c1f12db845 chore(release): prepare v0.10.1-beta (#358)
* chore(release): prepare v0.10.1-beta

* chore(release): update release notes with new fixes from main
2026-03-30 00:31:08 -07:00
84ec79c769 chore(release): prepare v0.10.0-beta (#345)
* chore(release): prepare v0.10.0-beta

Bump versions and release references across app, docs, installer, and website for the next beta release. Add v0.10.0-beta release notes entries covering reliability fixes and CI/test improvements since v0.9.0-beta.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* docs(release): align Python baseline references to 3.9+

Synchronize stale Python 3.8 references in agent guidance and distro dependency docs/scripts with the current 3.9+ minimum used by project metadata and release docs.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

---------

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-25 23:31:26 -07:00
Jatin K MalikandGitHub 44af1703c6 fix(docs): point all install curl URLs to main/install.sh (#314)
The install.sh on main now dynamically resolves the latest release tag
via GitHub API (merged in PR #313), so pinning to a specific release tag
in install commands is no longer needed — and was causing users to run
the old hardcoded installer.

Update all curl install command URLs across docs, code, and website from
versioned tags (v0.9.0-beta, v0.8.0-beta) to main/install.sh:
- README.md (4 URLs + note text)
- docs/INSTALL.md (2 URLs + note text)
- docs/UPDATE.md (2 URLs)
- docs/DISTRO_COMPATIBILITY.md (1 URL)
- tests/distro-testing-checklist.md (1 URL)
- src/vocalinux/main.py (1 URL)
- web/src/app/page.tsx (remove dynamic release fetch, hardcode main)
2026-03-14 14:16:38 -07:00
Jatin K MalikandGitHub baeee19f17 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.
2026-03-14 13:53:22 -07:00
Jatin K MalikandGitHub 0469defae6 chore(release): prepare v0.8.0-beta (#280)
* chore(release): prepare v0.8.0-beta

* docs(web): align release messaging with v0.8.0-beta features

* docs(web): tighten homepage messaging for v0.8.0-beta
2026-02-28 20:58:55 -08:00
Jatin K MalikandGitHub 6e02e928ae chore(release): prepare v0.7.0-beta (#255)
* chore(release): prepare v0.7.0-beta

## Version Bump (v0.6.3-beta → v0.7.0-beta)

This is a major beta release with significant new features including autostart support, tabbed settings, and improved GPU detection.

### Core Version Files
- Updated src/vocalinux/version.py to 0.7.0-beta
- Updated pyproject.toml classifiers (already correct - Beta)

### Documentation
- Updated README.md with new features, bug fixes, and version references
- Updated docs/INSTALL.md with v0.7.0-beta install commands
- Updated docs/UPDATE.md with comprehensive 'What's New' section
- Updated SECURITY.md supported versions table (0.7.x now supported)

### Website
- Updated web/src/app/page.tsx version badge (v0.7.0 Beta)
- Updated web/src/app/page.tsx softwareVersion schema
- Updated web/package.json version to 0.7.0
- Updated web/src/app/changelog/page.tsx with v0.7.0-beta release entry

### Other Updates
- Updated install.sh default tag to v0.7.0-beta
- Updated src/vocalinux/main.py error message install command
- Updated AGENTS.md branch naming example

## Changes Since v0.6.3-beta

### New Features (13 commits)
- Autostart on login support via XDG autostart
- Tabbed settings dialog with 5 organized tabs
- Intel GPU compatibility detection with automatic CPU fallback
- Single instance prevention
- Evdev device management to prevent CPU spin
- Improved GPU detection avoiding false positives
- IBus fallback when daemon not running
- Fedora dnf check-update fix
- Web SEO - 7 new optimized pages

### Contributors
- Jatin K Malik (maintainer)
- Antoine Monnet (contributor)
- jatinkrmalik (contributor)

### Bug Fixes
- #254: Improved GPU detection to avoid false positives
- #251: Skip IBus setup when daemon not running
- #243: Prevent dnf check-update from exiting script on Fedora
- #240: Raise exception on IBus setup failure
- #234: Removed leading space from first speech transcription
- #242/#253: Removed disconnected evdev devices to prevent CPU spin

## Verification
- [x] Lint passed
- [x] Black formatting passed
- [x] isort check passed
- [x] Version imports correctly as 0.7.0-beta

* docs: update version history in RELEASE_PROCESS.md

Add entries for 0.6.0-beta through 0.7.0-beta to the version history table.
2026-02-22 21:30:05 -08:00
Jatin K MalikandGitHub d7d91a7db2 chore(release): prepare v0.6.3-beta (#235)
* chore(release): prepare v0.6.3-beta

- Fix #220: Installer default tag now points to correct version
- Update version from 0.6.2-beta to 0.6.3-beta
- Update documentation version references
- Update website schema and badges
- Add v0.6.3-beta changelog entry

The v0.6.2-beta installer was defaulting to v0.6.1-beta which is
missing the psutil dependency, causing fresh installs to fail.

* docs(update): simplify update guide, remove duplicate version history
2026-02-18 23:07:00 -08:00
Jatin K MalikandGitHub 2acf6899bd 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
2026-02-17 21:48:24 -08:00
Jatin K MalikandGitHub 1e0a2a6cee chore(release): prepare v0.6.1-beta (#201)
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
2026-02-12 13:12:21 -08:00
Jatin K MalikandGitHub 86ee79cc0d chore: update install commands to use tag-based URLs (#200)
Changed install commands to download install.sh directly from the release
tag instead of from main branch with --tag parameter. This ensures:

1. The install script version matches the release being installed
2. No version mismatch between script and code
3. Simpler, cleaner install commands

Changes:
- install.sh: Updated error message to use v0.6.0-beta URL
- README.md: All install commands now use v0.6.0-beta/install.sh
- docs/INSTALL.md: Updated quick install command
- docs/UPDATE.md: Updated update command examples
- docs/RELEASE_PROCESS.md: Updated example command
- src/vocalinux/main.py: Updated error message install command
- tests/distro-testing-checklist.md: Updated download URL
- web/src/app/page.tsx: Now uses dynamic tag in URL (not main)
- .github/workflows/release.yml: Release notes use tag-based URL

Before:
  curl .../main/install.sh | bash -s -- --tag=v0.6.0-beta

After:
  curl .../v0.6.0-beta/install.sh | bash

Fixes version consistency between install script and installed code.
2026-02-12 13:02:51 -08:00
Jatin K MalikandGitHub 03d55a989f chore(release): prepare v0.6.0-beta with whisper.cpp as default (#181)
* docs: update all documentation for whisper.cpp as default engine

Comprehensive documentation update highlighting whisper.cpp as the new
default speech recognition engine:

README.md:
- Added 'Major Change: whisper.cpp is Now Default!' section
- Updated Features to highlight whisper.cpp and Vulkan GPU support
- Updated Quick Install section with engine choices
- Changed default engine from whisper to whisper_cpp in examples
- Updated configuration examples
- Updated roadmap to mark whisper.cpp as complete

docs/INSTALL.md:
- Added whisper.cpp section with performance benefits
- Updated installation options (--engine flag)
- Added GPU support matrix and Vulkan detection info
- Added installation time comparison table
- Updated system requirements (lower disk space for whisper.cpp)

docs/USER_GUIDE.md:
- Added comprehensive 'Choosing Your Engine' section
- Added GPU acceleration information
- Updated tips to mention whisper.cpp benefits
- Added model size recommendations

web/src/app/page.tsx:
- Updated hero to mention whisper.cpp (C++ optimized, Vulkan support)
- Changed installation time from ~5-10 min to ~1-2 min
- Updated Features section to mention Vulkan GPU support
- Added whisper.cpp as default engine card (3-column layout)
- Updated installation commands (--engine flags)
- Updated FAQ about switching engines

This ensures all documentation reflects whisper.cpp as the new default
and highlights its major benefits: 10x faster install, universal GPU
support, and C++ optimized performance.

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

This release brings whisper.cpp as the new default speech recognition engine:

Version Updates:
- Bump version from 0.5.0-beta to 0.6.0-beta
- Update src/vocalinux/version.py
- Update web/package.json

Documentation Updates:
- README.md: Update all v0.5.0-beta references to v0.6.0-beta
- docs/INSTALL.md: Update version references and installation commands
- docs/UPDATE.md: Add new 'What's New' section highlighting whisper.cpp
- SECURITY.md: Update supported versions table (0.6.x now supported)

Website Updates:
- web/src/app/layout.tsx: Update softwareVersion to 0.6.0-beta

Release Highlights:
- whisper.cpp is now the default engine (10x faster install!)
- Universal GPU support via Vulkan (AMD, Intel, NVIDIA)
- C++ optimized inference with multi-threading
- ~1-2 minute installation vs ~5-10 minutes before

Testing:
- All 472 tests passing
- Black formatting clean
- Flake8 linting clean
- isort import ordering clean

* ui(website): improve hero section layout

* docs(readme): remove duplicate What's New section
2026-02-11 20:33:28 -08:00
Jatin K MalikandGitHub d004a401af chore(release): prepare v0.5.0-beta (#148)
This commit prepares the repository for the v0.5.0-beta release,
transitioning from alpha to beta status.

Changes made:
- Update version from 0.4.1-alpha to 0.5.0-beta in version.py
- Update Development Status classifier from Alpha to Beta in pyproject.toml and setup.py
- Update status badges from Alpha (orange) to Beta (blue) in README.md
- Update all installation command examples to use v0.5.0-beta tag
- Update release announcement from Alpha to Beta in README.md
- Add RELEASE_PROCESS.md documentation for future releases
- Update docs/INSTALL.md with new version references
- Add What's New section for v0.5.0-beta in docs/UPDATE.md
- Update SECURITY.md supported versions table
- Update website schema softwareVersion in layout.tsx
- Update website version badges in page.tsx
- Update website package.json version to 0.5.0

Testing:
- All 463 tests passing (100%)
- Version consistency verified across all files

Release process documentation added to docs/RELEASE_PROCESS.md
2026-02-05 19:00:17 -08:00
jatinkrmalik 460378ae0c chore: bump version to v0.4.1-alpha
Release preparation for v0.4.1-alpha with the following updates:

Features:
- Language selector UI with 10 languages and auto-detection support

Bug Fixes:
- App drawer launch fix when installing from local repo (absolute path for VENV_DIR)
- Escape commit message in Detect Changes step
- Correct git fetch syntax for tag-based updates

Updated Files:
- src/vocalinux/version.py: 0.4.0-alpha → 0.4.1-alpha
- install.sh: Default tag v0.3.0-alpha → v0.4.1-alpha
- README.md: Install command version updates
- docs/INSTALL.md: Install command version updates
- docs/UPDATE.md: New v0.4.1-alpha section, moved v0.4.0-alpha to Previous Versions
- web/src/app/layout.tsx: Software version update
2026-01-29 00:13:34 -08:00
Jatin K MalikandGitHub 5e4f781254 docs: add UPDATE guide and bump version references to v0.4.0-alpha (#83) 2026-01-28 20:10:12 -08:00