Skip to content

Releases: loopedautomation/whisper

v0.7.0

Choose a tag to compare

@RatulMaharaj RatulMaharaj released this 10 Jul 06:05

Minor Changes

  • In-app auto-updates: when a new release is available, the app now downloads the signed, notarized update in the background, verifies its Developer ID code signature (Apple-anchored chain + matching Team ID), and offers a one-click "Restart to Update" from the menu bar and the About tab. Builds that can't safely self-update (dev builds, translocated or read-only installs) keep the existing behavior of linking to the releases page. The Homebrew cask is now marked auto_updates true so brew upgrade doesn't fight the in-app updater.

v0.6.2

Choose a tag to compare

@RatulMaharaj RatulMaharaj released this 09 Jul 21:45
4e95ec2

Patch Changes

  • Actually fix pasting into Electron apps (Discord, Claude, …). The 0.6.1 fix missed the real failure: the system-wide accessibility "focused application" query itself answers "none" for Electron apps, so the focus check bailed to copy-only before any fallback logic ran. The focus check now finds the frontmost app via NSWorkspace, asks its accessibility tree directly, and only skips the paste when the app positively reports that no window and no element have focus — any uncertainty means the paste is attempted.

v0.6.1

Choose a tag to compare

@RatulMaharaj RatulMaharaj released this 09 Jul 16:48
3a620c1

Patch Changes

  • Fix paste never firing in Electron apps (Discord, Claude, etc.). The keyboard-focus check added in 0.6.0 treated Electron's lazily-enabled accessibility tree as "nothing focused" and skipped the paste entirely. We now ask Chromium apps to enable their AX tree (AXManualAccessibility) and, when an app has a focused window but reports no focused element, attempt the paste anyway instead of dropping it.

v0.6.0

Choose a tag to compare

@RatulMaharaj RatulMaharaj released this 09 Jul 16:27
c7efec7

Minor Changes

  • Voice quick actions — spoken commands can trigger actions instead of pasting text: open URLs (including incognito), launch or quit apps, and run Siri Shortcuts. Trigger phrases are matched on-device, with optional AI intent detection via your Rewrite provider for paraphrased commands. Hold a configurable modifier (default ⌘) as recording starts to switch into action mode; without it, everything pastes as normal dictation. Configure in Settings → Actions (off by default). (#43)
  • Parakeet TDT v3 (via speech-swift) added as an additional transcription engine alongside WhisperKit. (#42)
  • Local crash reporting — crashes (uncaught exceptions and signals) are captured locally and surfaced on the next launch so they can be reviewed and reported. Privacy-respecting: crash logs stay on your machine and nothing is sent anywhere without your consent. (#38→)

Note: minimum macOS version is now 15 (required by the Parakeet engine).

v0.5.2

Choose a tag to compare

@AminChirazi AminChirazi released this 08 Jul 08:57
e85998d

Patch Changes

  • Fix a confusing "stuck" experience after switching to a bigger model (or while a previous recording is still transcribing/cleaning up): starting a new recording during that window doesn't fail, it just silently queues behind the in-flight work, while the status line gets overwritten to "Recording…"/"Transcribing…" — hiding what's actually happening for as long as that takes (worst case: minutes, for a multi-GB model download). Starting a recording is now refused with a specific message ("Large v3 (turbo) is still loading", "Still transcribing the previous recording", etc.) instead of silently queuing.
  • Fix a bug in realtime dictation with 2+ languages selected: the final transcript could sometimes come back empty — no paste, no clipboard, no warning — even when live captions clearly showed real speech. The final decode was reusing a language guess made from only the first ~2 seconds of audio; a bad early guess could force the entire recording into the wrong language, degrading it all the way to nothing. The final decode now always detects fresh against the complete recording (as batch mode already did), and additionally retries once with free auto-detect if a detected-and-pinned language still decodes to nothing.

v0.5.1

Choose a tag to compare

@AminChirazi AminChirazi released this 07 Jul 10:04
4739e13

Patch Changes

  • Fix an intermittent bug where a recording would finish but nothing got typed, with no error shown — most noticeable since language detection and AI cleanup can add real latency before delivery, widening the window for focus to drift away from the app you were dictating into. The app you were in when you started recording is now captured and explicitly re-activated right before pasting or typing, regardless of what's frontmost by the time delivery actually happens.

v0.5.0

Choose a tag to compare

@AminChirazi AminChirazi released this 06 Jul 19:55
545e36d

Minor Changes

  • Add an opt-in "Fix cross-language mix-ups with AI" toggle (Settings → Model, shown once you select 2+ languages) that repairs words transcribed in the wrong language — e.g. mid-sentence switches between English and German — by sending the transcript to your configured Rewrite provider. Off by default so transcription stays fully local unless you turn it on. Not applied during realtime incremental typing.

Patch Changes

  • Fix a bug where a recording could decode to an empty transcript (silence, background noise, a very short or quiet clip) and still play the success sound with nothing typed and no warning shown. Empty decode results are now treated the same as "no speech detected" — same soft warning as recording with no audio at all — instead of silently completing as if delivery had succeeded.

v0.4.0

Choose a tag to compare

@AminChirazi AminChirazi released this 06 Jul 13:20
d57a8d0

Minor Changes

  • Add a multi-language selector for transcription: pick the languages you speak from a popover checklist in Settings → Model. Select exactly one to pin it, or several (or none) to let the model auto-detect the language of each recording.
  • When several languages are selected, auto-detection is now restricted to just those languages — a recording can no longer be mis-transcribed in a language you never selected.

v0.3.0

Choose a tag to compare

@AminChirazi AminChirazi released this 06 Jul 13:01
3f4dbb2

What's Changed

  • Add a multi-language selector for transcription by @AminChirazi in #23
  • In-app update check via GitHub Releases by @RatulMaharaj in #15
  • Restrict language auto-detect to the selected languages by @AminChirazi in #25
  • Version Packages by @github-actions[bot] in #26

New Contributors

Full Changelog: v0.2.0...v0.3.0

v0.2.0

Choose a tag to compare

@RatulMaharaj RatulMaharaj released this 24 Jun 12:38
76c1c3c
  • Add the ability to delete downloaded transcription models from Settings to free up disk space. Deletion asks for confirmation, and the currently active model can’t be deleted.

  • Add a microphone picker to the menu bar dropdown: choose any available input device or follow the macOS system default (which tracks the OS as you change inputs). The selection is persisted across launches.

  • Surface clear, user-facing error messages when transcription or AI rewrite models fail to load or run, a model hasn’t been downloaded, or a required permission (microphone, accessibility, input monitoring) hasn’t been granted — instead of failing silently.

  • Menu bar & sound polish: use the Looped brand mark as the menu bar icon (crisp vector template) with a state-colored pill (recording #ED9B00, busy #685EF6, error #D02E1F) matching the macOS mic indicator; add a brand color palette and #685EF6 app accent; add a sound-effects volume slider; make the menu bar model picker functional (installed models only) and move the microphone picker below Start Recording; press Esc to cancel an in-progress recording and hide the live HUD.

  • Show the app as “Looped Whisper” (with a space) in Finder and the Applications folder, instead of “LoopedWhisper”.

  • Fix the model rows in Settings so the per-model action buttons (e.g. Reveal in Finder) are no longer hidden behind the scrollbar.