Changelog
All updates, fixes, and new features.
Orb fixes (Windows)
Two Windows-side fixes around the floating orb widget: the opaque rectangle that appeared after closing Settings is gone, and the orb now correctly disappears after each dictation in hotkey-only mode.
- Windows: opaque rectangle around the orb after Settings dialog close is fixed — the Win32 layered window setup is now re-applied on every show()
- Hotkey mode: orb stayed visible after each dictation — a Signal/Slot signature mismatch silently swallowed the deferred hide, now fixed
- Internal: tightened PySide6 signal signatures to prevent the same class of silent failure elsewhere
Bring Your Own Key (BYOK)
Power users can now paste their own Groq or OpenAI API key directly in Settings — bypass the VoxWave proxy and use your own quota. Keys are stored locally encrypted, never leave your machine except to the provider.
- BYOK: paste your own Groq API key (free tier, no credit card) in Settings → Advanced → transcription provider
- BYOK: paste your own OpenAI API key in Settings → Advanced → cleaning provider
- Keys stored locally with Fernet encryption (~/.voxwave/apikeys.enc, 0600 permissions)
- Keys are never logged in cleartext, never sent to VoxWave servers — only to the chosen provider
- Settings UI: dedicated key field appears only when the BYOK provider is selected, with show/hide toggle
- Hybrid mode is preserved as the default recommended option for everyone else
- Internal: dynamic version display in Settings and tray About (no more hardcoded version strings)
Silence detection on proxy + portable Windows build
Proxy now rejects silent audio so muted-mic dictations no longer produce hallucinated text. New portable Windows ZIP for users who can't install software.
- Proxy rejects audio with no_speech_prob > 0.7 (mic muted, weak signal) — matches direct Groq behavior
- Tray notification when no speech is detected
- Unicode-robust hallucination detection: typographic apostrophes, non-breaking spaces, NFKC-normalized accents
- New portable Windows ZIP — no installation required, runs from any folder
- Bumped version metadata across setup.py, __init__.py and the Inno Setup script
Security audit & usage telemetry
Comprehensive security audit with 11 fixes, anonymous usage telemetry with opt-out, and improved cloud reliability.
- Security audit: timing-safe token comparison (hmac.compare_digest)
- HTTP security headers: HSTS, CSP, X-Frame-Options, nosniff
- Rate limiting hardened against IP spoofing (X-Forwarded-For bypass fixed)
- Subprocess calls use absolute paths to prevent binary hijacking
- File permissions applied atomically for license keys
- Anonymous usage telemetry: app launches, dictation count, session duration
- Telemetry opt-out toggle in Settings > Advanced
- No dictated text is ever sent — only anonymous counters
- Proxy timeout increased to 60s for Render cold starts
- Softer circuit breaker: 3 failures before fallback (not instant)
Linux stability & cross-platform fixes
Major Linux improvements: transparent orb widget, reliable clipboard injection, better language detection and cross-platform build.
- Fixed orb widget transparency on Linux (offscreen QImage rendering with X11 alpha compensation)
- Fixed clipboard injection on X11 with xclip verification and xdotool fallback
- Fixed Whisper language detection: neutral hints on first call, interface language fallback
- Added single-instance lock to prevent double-launch on Linux and Windows
- Bundled Silero VAD model in AppImage for reliable voice activity detection
- Cross-platform build: automatic site-packages detection for Windows and Linux
- Fixed PyInstaller windowed mode crash (sys.stdout None guard)
- Improved hallucination detection with new patterns
- Dark background for settings dialog on Linux
- AppImage icon discovery via .DirIcon symlink
First public release
VoxWave is now available for Windows and Linux. Smart voice dictation with AI cleanup.
- Voice dictation with configurable keyboard shortcut
- Hybrid transcription: Groq cloud + local Whisper fallback
- AI text cleanup cascade: OpenAI → Ollama → regex (15 languages)
- Progressive injection: raw text in < 1s, AI cleanup replaces in background
- Native QPainter orb widget (no Chromium dependency)
- Win32 UpdateLayeredWindow for pixel-perfect transparency on Windows
- Onboarding wizard: 9 pages (hotkey, language, mic test, demo, tone)
- Settings dialog with sidebar navigation (5 sections)
- Hallucination detection: 35+ patterns + Groq logprob rejection
- Thread-safe circuit breaker for cloud/local switching
- 15 interface languages, 99 transcription languages
- System tray with translated menu and notifications
- Windows installer (Inno Setup) + Linux AppImage
- Auto-update via GitHub Releases API (12h cache)