La dernière version de VoxDrop est en pièce jointe ci-dessous.
The latest version of VoxDrop for macOS is attached below!
-------------------
Changelog
## [1.1.1] - 2026-07-03
New
- Apple on-device transcription engine by default on macOS 26+ (Parakeet fallback)
- Silero VAD v5 (improved voice activity detection)
- Single function key (F1–F20) usable as a modifier-less hotkey
Fixes
- Audio: VAD now runs on a mono downmix (no more truncation with multi-channel mics)
- Audio: channel-aware downmix (no longer averages the mic with a silent channel)
- Audio: VAD end-trim no longer cuts the last words of a dictation
- Audio: an all-silent capture now surfaces a mic error instead of being silently skipped
- Audio: cancelled recordings no longer convert or leak a temp WAV
- Post-processing: translation/rewrite are time-bounded (a wedged worker can't freeze hotkeys)
- Config: atomic writes (config/history/substitutions) + size-guard on oversized files
- Security/robustness: zip-slip on the Cohere model, WAV unwrap panic, silent empty translation
- Paste: clipboard is restored even when Cmd+V fails, without clobbering a fresh copy
- UI: the recording overlay no longer hides behind a bottom Dock
- Hotkey: ghost pressed-keys, poisoned locks, mask-0 release path + Secure Input detection
- Build: weak-link FoundationModels/Speech so the app runs on macOS 14+
- Build: silence the CFRelease clashing-extern-declarations warning
Dependencies
- transcribe-rs 0.3.8 → 0.3.11 (Parakeet/Canary/CoreML fixes)
## [1.1.0] - 2026-06-05
Added
- *Apple on-device speech engine* (macOS 26 Speech framework): instant,
multilingual, fully on-device, nothing to download (0 MB).
- *Apple Intelligence (Foundation Models)* as an on-device reformulation /
translation provider (macOS 26+), alongside TranslateGemma.
- Audio *and video* file transcription via drag & drop (transcribes the
audio track of video files).
- *Speaker diarization* (who-spoke-when) for recordings.
- Optional, language-aware *filler-word removal* ("euh", "hum"…).
- Opt-in *fuzzy vocabulary correction* for substitutions (phonetic + n-gram).
- Dedicated *Sortie (Output)* tab.
- Speech-model *preload + warm-up* on record-start for a faster first dictation.
- Auto-switch to a designated mic in *clamshell mode* (lid closed + external display).
- Actionable microphone-failure messages (permission / no device / no audio).
- Localized model-dropdown labels across the 13 UI languages.
- On-demand download + SHA-256 verification + ad-hoc signing of the Cohere /
diarization worker assets (smaller base download).
- Idle unload of the speech model after a configurable timeout (default 5 min).
Changed
- Engine lineup is now Parakeet v3 + Whisper (plus Apple, Canary, Cohere).
- Existing configs using Voxtral or Qwen3-ASR auto-migrate to Parakeet on launch.
- License / sign-in moved to the unified `licence.korben.info` server.
Fixed
- No stray leading space at the start of a dictation (including non-breaking /
Unicode trailing spaces, e.g. in terminals).
- The recurring UI scrollbar: the window now sizes to the active tab's content.
- Reformulation / translation hotkeys no longer steal focus to VoxDrop instead
of starting recording.
- Speaker labels now appear in diarization output.
- Apple Intelligence reformulates in the user's language and no longer answers
the dictated text like a chatbot.
- Clipboard paste for text longer than 20 characters (full NSPasteboard
snapshot / restore).
- Broad stability, security and performance hardening (ASR-panic isolation,
poison-recovering locks, band-limited resampling, and more).
Removed
- Qwen3-ASR and Voxtral STT engines (underperforming on speed, quality, size,
and build complexity).
- Real-time Live Mode (was Qwen3-ASR only).
- The short-lived opt-in streaming / partial-transcription feature.
## [1.0.2] - 2026-02-07
Added
- Voxtral STT engine (voxtral.c) for high-quality French transcription
- Localhost OAuth server replacing fragile deep-link flow for license activation
- Internationalized tray menu (FR/EN)
- Model reload state tracking with hotkey lock during reload
Fixed
- GGML crash fix: llama-cpp-2 isolated in `translator-worker` subprocess to eliminate symbol conflicts with whisper-rs (SIGABRT in `ggml_metal_rsets_free`)
- whisper-rs made a mandatory dependency instead of optional feature
- Strict hotkey matching ignores synthetic key events from enigo paste
Changed
- `lib.rs` refactored into focused modules (`commands/`, `recording.rs`, `sound.rs`)
- Post-processing logic extracted and optimized
- Audio initialization and media pause optimized
- Release profile: LTO enabled, binary stripped, size-optimized
Security
- Config, history and substitution files set to `0600` permissions on Unix
- Parakeet model tarball extraction protected against zip-slip path traversal
- `escapeHtml` now also escapes single quotes
- API: HSTS header added, rate limiting fail-closed, JS injection fixed in OAuth callback
- Cloudflare IP spoofing documented, debug mode warning added