Files

324 lines
12 KiB
Markdown
Executable File
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Changelog
## 0.8.4
### Patch Changes
- 8739929: Overhaul audio engine lifecycle: recover recordings across device/route changes instead of silently capturing nothing (#251, #252, #218, #226), rebuild the warm capture engine immediately when devices change while idle instead of leaving a stale engine running (#209), suspend the warm microphone while the screen is locked or asleep and rearm on wake, stop the sound-effects engine when idle (#209), and fix a crash on quit caused by racy audio teardown (#245)
- 2c5d8ae: Add Whisper Large v3 Turbo (632MB) to the model library: near large-v3 accuracy at several times the speed (#185). Whisper models are now labeled by their real sizes (Tiny, Base) instead of Small/Medium.
- 9c597cb: Prevent Hex from crashing on first launch before hotkey permissions are granted (#254)
## 0.8.3
### Patch Changes
- 224822d: Fix hotkeys dying after sleep or when macOS permission checks go stale: key events arriving at the tap now self-heal the Input Monitoring state instead of being dropped, the tap survives stale permission denials, and it is recreated on wake from sleep (#250)
## 0.8.2
### Patch Changes
- eae358b: Never silently clear the selected model when a scan misfires, and route hotkey presses to model setup instead of transcribing with no model
- eae358b: Redesign the model library: visible Download buttons, one-click model switching, and a menu to remove downloaded models or show them in Finder
## 0.8.1
### Patch Changes
- cd971a3: Reuse existing Parakeet downloads after upgrading FluidAudio
## 0.8.0
### Minor Changes
- 276da69: Add lowercase and punctuation-removal paste transforms (#253)
### Patch Changes
- 10e75b9: Simplify output transforms with clearer word rules, preview, and formatting controls.
- 8e6e041: Improve update and changelog controls in Settings.
- 71878b7: Defer Fast Mode capture rebuilds until audio route changes settle
- db31b0a: Move transcription model selection into a focused model library with automatic downloads on selection.
- c00a91d: Refresh microphones reliably, harden recording cleanup, and polish the settings overlay behavior.
- db31b0a: Handle interrupted recording stops explicitly and ignore stale Fast Mode callbacks.
- 2b5fb15: Recognize downloaded Parakeet models immediately after restarting Hex.
- 8e6e041: Preserve literal dollar signs in word-remapping replacements.
## 0.7.6
### Patch Changes
- f4cecbb: Show in Finder reveals Parakeet caches at the correct path (#205)
- f4cecbb: Stay in the menu bar when launched at login (#222)
## 0.7.5
### Patch Changes
- b5a19b4: Fix word remapping deletion crashes (#207)
- b5a19b4: Enable Super Fast Mode by default for new users
- b5a19b4: Restore macOS Sonoma compatibility (#215)
## 0.7.4
### Patch Changes
- 5a4af9b: Fix silent recordings from multichannel input devices during calls (#204)
- b78f049: Stop priming the sound-effects audio engine when sound effects are disabled so Hex avoids unnecessary background audio activity and sleep assertions (#200).
## 0.7.3
### Patch Changes
- 7340d1e: Restore double-tap lock audio capture (#193)
## 0.7.2
### Patch Changes
- 55249a6: Keep the ends of recordings from getting clipped in super fast mode.
- d9e40cc: Use the capture engine for normal recordings to reduce startup drift
- d9e40cc: Keep the microphone picker visible and refresh it when audio devices change
## 0.7.1
### Patch Changes
- ed69836: Suppress startup windows when Hex launches as a hidden login item (#146)
## 0.7.0
### Minor Changes
- c5d5162: Add Super Fast mode to keep the mic warm and prepend a short in-memory buffer
## 0.6.10
### Patch Changes
- c018c40: Add setting to disable double-tap lock for hands-free recording
- 7af7cd9: Update dependencies: TCA 1.23, Sparkle 2.8, swift-dependencies 1.11
## 0.6.9
### Patch Changes
- 74893ab: Support escape sequences (\n, \t, \\) in word remappings for newlines, tabs, and literal backslashes (#140)
## 0.6.8
### Patch Changes
- e2000d8: Fix Icon Composer app icon not displaying (#148)
- 75bc323: Update macOS Tahoe app icon (#145)
## 0.6.7
### Patch Changes
- cc99650: Prepare release metadata for 0.6.6
## 0.6.6
### Patch Changes
- 3b6c966: Improve transcript modifications layout and remove log export settings
- 3b6c966: Add opt-in regex word removals for transcripts (#121)
## 0.6.5
### Patch Changes
- 140c205: Fix Sparkle auto-update for sandboxed app by adding required XPC entitlements and SUEnableInstallerLauncherService. Users on 0.6.3 will need to manually download this update.
## 0.6.4
### Patch Changes
- c00f79e: Reduce code duplication: add ModelPatternMatcher, FileManager helpers, settingsCaption style, notification constants, and Core Audio helper
- 658a755: Fix silent recordings caused by device-level microphone mute - automatically detects and fixes muted input devices before recording
## 0.6.3
### Patch Changes
- b4c54ce: Fix microphone priming and media pause races
- 5217d3f: Add word remappings and remove LLM UI (#000)
- 4d38708: Add persistent MCP config editing for Claude Code modes
- bbd0b80: Show system default mic name in picker
- bbd0b80: Fix Parakeet polling cleanup and organize paste flow
- 3413d68: Rename Transformations tab to Modes
- 4d38708: Fix microphone freezing and speech cutoff when using custom microphone. Only switch input device when actually needed, re-prime recorder after device changes, and add cleanup on app termination.
## 0.6.2
### Patch Changes
- 7e325ad: Fix Sequoia hotkey deadlock by removing Input Monitoring guard that prevented CGEventTap creation. Tap creation triggers permission prompt naturally. Re-add 'force quit Hex now' voice escape hatch from v0.5.8 (#122 #124)
- 7e325ad: Add missing-model callout and focus settings when transcription starts without a model
## 0.6.0
### Patch Changes
- 3bf2fb0: Fix voice prefix matching with punctuation - now strips punctuation (.,;:!?) when matching prefixes
## 0.5.13
### Patch Changes
- 083513c: Add comprehensive documentation to HotKeyProcessor and extract magic numbers into named constants (HexCoreConstants)
## 0.5.12
### Patch Changes
- 471310c: Fix Input Monitoring permission enforcement for hotkey reliability
## 0.5.11
### Patch Changes
- 1deda2a: Route Advanced → Export Logs through the new swift-log diagnostics file so Sequoia permission bugs (#122 #124) can be diagnosed locally without relying on macOS unified logs.
## 0.5.10
### Patch Changes
- 3560bdb: Keep hotkeys alive on Sequoia and add voice force-quit plus Advanced log export (#122 #124)
## 0.5.9
### Patch Changes
- 6c2f1bd: Add comprehensive permissions logging for improved debugging and log export support
## 0.5.8
### Patch Changes
- 03b81c7: Let the hotkey tap start even when Input Monitoring is missing so Sequoia users get prompts again, while keeping the accessibility watchdog (#122 #124). Add a spoken “force quit Hex now” escape hatch in case permissions clobber input.
## 0.5.7
### Patch Changes
- 539b0a4: Pad sub-1.5s Parakeet recordings so FluidAudio accepts them
## 0.5.6
### Patch Changes
- a1eb1d0: Restore hotkeys when Input Monitoring permission is missing (#122, #124)
- 1ee452a: Add non-interactive changeset creation for AI agents
- 68475f5: Fix clipboard restore timing for slow apps – increased delay from 100ms to 500ms to prevent paste failures in apps that read clipboard asynchronously
## 0.5.5
### Patch Changes
- 0045f28: Fix recording chime latency by switching to AVAudioEngine with pre-loaded buffers
- 7f6c5db: Actually request macOS Input Monitoring permission when installing the key event tap so Sequoia users can record hotkeys again (#122, #124).
## 0.5.4
### Patch Changes
- Fix hotkey monitoring on macOS Sequoia 15.7.1 by properly handling Input Monitoring permissions (#122, #124)
## 0.5.3
### Patch Changes
- Fix Sparkle update delivery by regenerating appcast with correct bundle versions and updating release tooling to prevent duplicate CFBundleVersion issues
## 0.5.2
### Patch Changes
- Fix Sparkle update delivery by regenerating appcast with correct bundle versions and updating release tooling to prevent duplicate CFBundleVersion issues
## 0.5.1
### Patch Changes
- Fix Sparkle appcast generation by cleaning duplicate bundle versions and updating release pipeline to preserve last 3 DMGs for delta generation
## 0.5.0
### Minor Changes
- 049592c: Add support for multiple Parakeet model variants: choose between English-only (v2) or multilingual (v3) based on your transcription needs.
### Patch Changes
- aca9ad5: Fix microphone access retained when recording canceled with ESC (#117)
- 049592c: Polish paste-last-transcript hotkey UI with improved layout and clearer instructions.
- 049592c: Improve hotkey reliability with accessibility trust monitoring and automatic recovery from tap disabled events (#89, #81, #87).
- 049592c: Improve media pausing reliability by using MediaRemote API instead of simulated keyboard events.
- 049592c: Fix menu bar rendering issue where items appeared as single embedded view instead of separate clickable menu items.
- 1b9bd52: Optimize recorder startup by keeping AVAudioRecorder primed between sessions, eliminating ~500ms latency for successive recordings
- 55fb4f8: Add a sound effects volume slider beneath the toggle so users can fine-tune feedback relative to the existing 20% baseline, keeping 100% at the legacy loudness (#000).
## 0.4.0
### Minor Changes
- e50478d: Add Parakeet TDT v3 plus the first-run model bootstrap, faster recording pipeline, and solid Fn/modifier hotkeys so the next release captures all of the recent feature work (#71, #97, #113, #89, #81, #87).
### Patch Changes
- ea42b5b: Move `HexSettings` + `RecordingAudioBehavior` into HexCore and add fixtures/tests so we can migrate historic settings blobs safely before shipping new media-ducking options.
- e50478d: Adopt Changesets for SemVer + changelog management, wire release.ts to fail without pending fragments, and sync the aggregated release notes into the bundled changelog + GitHub releases.
- 2fbbe7a: Wait for NSPasteboard changeCount to advance before pasting so panel apps always receive the latest transcript (#69, #42).
All notable changes to Hex are documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and the project follows [Semantic Versioning](https://semver.org/).
## Unreleased
### Added
- Added NVIDIA Parakeet TDT v3 support with a redesigned model manager so you can swap between Parakeet and curated Whisper variants without juggling files (#71).
- Added first-run model bootstrap: Hex now automatically downloads the recommended model, shows progress/cancel controls, and prevents transcription from starting until a model is ready (#97).
- Added a global hotkey to paste the last transcript plus contextual actions to cancel or delete model downloads directly from Settings, making recovery workflows faster.
### Improved
- Model downloads now surface the failing host/domain in their error message so DNS or network issues are easier to debug (#112).
- Recording starts ~200–700 ms faster: start sounds play immediately, media pausing runs off the main actor, and transcription errors skip the extra cancel chime for less audio clutter (#113).
- The transcription overlay tracks the active window so UI hints stay anchored to whichever app currently has focus.
- HexSettings now lives inside HexCore with fixture-based migration tests, giving us a single source of truth for future settings changes.
### Fixed
- Printable-key hotkeys (for example `⌘+'`) can now trigger short recordings just like modifier-only chords, so quick phrases aren’t discarded anymore (#113).
- Fn and other modifier-only hotkeys respect left/right side selection, ignore phantom arrow events, and stop firing when combined with other keys, resolving long-standing regressions (#89, #81, #87).
- Paste reliability: Hex now waits for the clipboard write to commit before firing ⌘V, so panel apps like Alfred, Raycast, and IntelliBar always receive the latest transcript instead of the previous clipboard contents (#69, #42).
## 1.4
### Patch Changes
- Bump version for stable release
## 0.1.33
### Added
- Add copy to clipboard option
- Add support for complete keyboard shortcuts
- Add indication for model prewarming
### Fixed
- Fix issue with Hex showing in Mission Control and Cmd+Tab
- Improve paste behavior when text input fails
- Rework audio pausing logic to make it more reliable
## 0.1.26
### Added
- Add changelog
- Add option to set minimum record time