Changelog

Every release since we started keeping score. Updated with each version that ships; the app pulls the same notes into its update window.

v1.22.3

What’s New

  • Clipboard mode is now truly copy-only: “Clipboard” and “Direct Insert” had quietly become the same paste action. Clipboard mode now copies your transcript to the clipboard without pasting — with a “Copied — Undo” toast — while Direct Insert remains the default paste-at-cursor behavior. Existing setups are migrated automatically, so nothing changes unless you opt in.

Improvements

  • Dictation and media-transcription messages (errors, queue updates, word counts) are now localized in all 31 languages instead of appearing in English.
  • Copying a note shows the same “Copied — Undo” toast as transcripts.
  • The recording timer in the floating indicator keeps counting while menus are open or windows are being dragged.
  • System-audio permission is checked for real before a meeting capture starts, so a missing grant surfaces immediately with a clear message instead of failing mid-capture.

Bug Fixes

  • Cancelling right after a paste no longer loses the transcription: pressing Escape while the clipboard was being restored used to drop the dictation from history and could overwrite your clipboard. The paste is now committed the moment it lands.
  • Escape is no longer swallowed during background media transcriptions: while a queued media job runs, Escape reaches the app you’re working in again, and a dictation running alongside stays cancellable.
  • Queued toasts no longer vanish: a notification shown while the previous one was still fading out could disappear instantly.
  • Dictating without Accessibility permission now tells you what happened: instead of a silent no-op (or a false “Paste failed” error while streaming), you get “Copied to clipboard” with Undo.
  • Clear Audio Buffer fully resets capture modes: it could previously leave note-append or quick-capture mode stuck, blocking dictation until relaunch.
  • Switching microphones mid-recording can’t silently record from the wrong device: if the switch fails, the previous mic stays selected everywhere and an error is shown.
  • A dead audio engine now stops the recording with an error instead of showing “recording” while capturing silence after repeated device changes.
  • Media transcriptions queued during a dictation are no longer dropped: they wait and start automatically when the dictation finishes, and a missing diarization model now marks the job failed instead of silently discarding it.

Full Changelog

https://github.com/watzon/pindrop/compare/v1.22.2…v1.22.3

v1.22.2

Bug Fixes

  • Already-downloaded models are ready after onboarding: picking a model that was already on disk used to skip the preparation step, so dictation could stall on first use until the engine loaded. Onboarding now always prepares the selected model before finishing.
  • Onboarding window title bar is painted correctly: the window background now extends behind the title bar instead of leaving an unpainted strip at the top.

Full Changelog

https://github.com/watzon/pindrop/compare/v1.22.1…v1.22.2

v1.22.1

What’s New

  • The Orb is now a living blob: the floating indicator sheds its glass circle for an amorphous, audio-reactive body that breathes while idle and undulates as you speak, matching the orb on pindrop.dev. Mid-band energy drives the surface motion, high-band energy adds shimmer, and the whole body swells with your voice.
  • Toasts follow your indicator: notifications now appear anchored to the notch, pill, or orb you actually use instead of a fixed screen corner.

Improvements

  • The Orb renders with real depth: a hue-rotated gradient, specular highlight, and rim shading derived from your theme accent, so every preset keeps its color.
  • Orb motion runs at 60 fps while recording, with a fast attack and slow release so plosives land instantly and the body relaxes between words.
  • The new rendering draws a single path per frame instead of a per-pixel shader pass, lowering GPU load during recording.
  • Release tooling now syncs each release’s notes to the pindrop.dev changelog automatically.

Fixes

  • Fixed the Orb’s silhouette clipping flat at peak input levels.

Full Changelog

https://github.com/watzon/pindrop/compare/v1.22.0…v1.22.1

v1.22.0

What’s New

  • Privacy-first diagnostics: optional TelemetryDeck diagnostics remain off until you opt in. A separate local training-contribution workflow lets you review, export, or delete redacted before/after transcript pairs; uploading remains disabled.
  • Editable transcripts: correct saved transcripts directly in Library, with a clear Edited marker and local contribution capture for opted-in training-data review.
  • Pipeline insights: inspect stage-by-stage dictation timing and AI enhancement token usage on Library entries, with aggregate latency statistics in Stats.
  • More reliable dictation: generation barriers and lifecycle hardening keep streaming callbacks, media pauses, shutdown, and live UI updates ordered.
  • Prompt presets in the menu bar: switch built-in and custom AI prompt presets without opening Settings (#73).
  • New recording waveform: the orb now renders flat-gated low, mid, and high waveform traces that stay calm below the input floor.

Fixes and Improvements

  • Fixed existing SwiftData stores failing on their first fetch after updating to 1.21.0, which could crash Library and prevent completed dictations from being inserted (#74).
  • Reduced unnecessary UI invalidations across Dashboard, Library, Notes, and Dictionary while tightening media and history fetch behavior.
  • Removed transcript reinsertion from Library to keep output actions scoped to active dictation flows.
  • Added privacy controls for telemetry consent, local contribution review, JSONL export, deletion, and shared diagnostic-log export.
  • Added timing and token metrics to the opt-in success signal using bucketed values rather than raw transcript content.

Full Changelog

https://github.com/watzon/pindrop/compare/v1.21.0…v1.22.0

v1.21.0

What’s New

  • SenseVoice transcription: a new fully local engine (SenseVoice-Small, FunASR) with fast, accurate multilingual recognition.
  • Notch and caret indicators: two returning indicator styles — a discreet pill under the notch, or a bubble that follows your caret.
  • Three new languages: dictate in Polish, Hindi, and Malayalam; the interface now speaks Polish too.
  • Cleaner transcripts: optional on-device paragraph formatting breaks long dictations into readable paragraphs.
  • Cancel hotkey: cancel a recording or transcription mid-flight with a dedicated shortcut.
  • Silent launch: Pindrop can start quietly in the menu bar without opening the main window.

Improvements

  • Text insertion now works reliably inside virtual machines, with safer keyboard-event routing and cleanup.
  • The About pane shows the Pindrop logo and can reopen the What’s New announcement at any time.

Full Changelog

https://github.com/watzon/pindrop/compare/v1.20.0…v1.21.0

v1.20.0

What’s New

  • A complete Scorched Earth redesign: Pindrop now has a focused sidebar, refreshed Home dashboard, rebuilt Library, standalone Settings, and polished onboarding and floating controls.
  • A more capable Library: browse, search, sort, play, edit, export, and manage transcripts with richer meeting details, keyboard navigation, and improved media layouts.
  • Speaker profiles and better diarization: train voices, assign speakers across transcripts, and use offline global clustering for more consistent speaker labels.
  • Notes and dictionary workflows: capture spoken notes, edit interactive checklists, organize pinned and dated notes, and manage vocabulary with match modes and usage-aware transcription bias.
  • Activity insights: explore recording history, streaks, word counts, destinations, and yearly trends from the new Home and analytics views.

Improvements

  • Dictation audio can be retained at native quality with configurable cleanup, waveform previews, disk-usage reporting, and per-recording export.
  • Recording, media conversion, streaming, persistence, and history loading now do less work on the main thread and handle cancellation and finalization more safely.
  • Accessibility, reduced-motion behavior, keyboard navigation, right-to-left layouts, localization, and VoiceOver feedback were improved throughout the app.
  • CoreAudio input handling now supports more microphone stream formats and cleans up listeners reliably.
  • The floating recording indicator, window controls, settings forms, media player, and list interactions received extensive reliability and visual polish.

Full Changelog

https://github.com/watzon/pindrop/compare/v1.19.1…v1.20.0

v1.19.1

What’s New

  • Simpler status bar menu: recording, transcript, history, settings, and quit stay front and center, with the active input device shown in the status row.

Bug Fixes

  • Paste works in VMs again: simulated Cmd+V now posts physical Command key events so hypervisors receive the full paste shortcut instead of a bare v (#59).
  • GPT-5 AI enhancement no longer fails on token limits: requests for GPT-5 models use max_completion_tokens instead of the older max_tokens parameter (#56).
  • Offline model loading is safer: local model folders load without a network, and a network error no longer deletes models you already downloaded (#66).
  • Media diarization no longer hangs: speaker diarization for file jobs is toggleable, cancellable, and time-bounded so long jobs can’t get stuck (#67).
  • Diarized segments stay in one language: when a language is detected, it is pinned across segments, and single-speaker labeling is more consistent (#68).
  • Missing mics fall back cleanly: if your selected input device disappears, Pindrop resets to System Default instead of clinging to an unavailable device.

Improvements

  • Signed DMG packaging uses a custom background layout for a cleaner install experience.

Full Changelog

https://github.com/watzon/pindrop/compare/v1.19.0…v1.19.1

v1.19.0

What’s New

  • Meet the new Orb indicator: the floating dictation indicator is now a living, audio-reactive orb that breathes while idle, swells when you speak, and streams your words live as you dictate.
  • Streaming transcription, instantly ready: the new Nemotron streaming engine shows words as you say them, with launch prewarming so your first dictation starts without a delay.
  • Better Bluetooth and external mic support: recording from external and Bluetooth microphones is now rock solid, even when your audio output is routed elsewhere. Thanks to @ntdkhang for investigating and kicking off the fix (PR #64).
  • Dictate in Russian and Ukrainian: two new dictation languages, fully wired into model recommendations. Thanks to @nezzard for the contribution (PR #61).
  • What’s New announcement sheet: Pindrop now greets you with an in-app release summary when you update, so you can see the highlights without leaving the app.

Improvements

  • Live transcript overlay streams partial recognition in real time while you dictate, making in-progress transcription easier to follow.
  • RTL layout support across app surfaces, plus 20 new interface languages (Arabic, Bengali, Czech, Danish, Greek, Finnish, Hebrew, Hindi, Hungarian, Indonesian, Malay, Norwegian Bokmål, Polish, Romanian, Russian, Swedish, Thai, Ukrainian, Vietnamese, and Traditional Chinese).
  • Audio capture is more resilient against device churn, CoreAudio input restarts, and teardown races during hot-plug and route changes.
  • Language settings are clearer with a simplified picker UI and all shipped interface languages visible in settings.
  • Build and CI automation now routes through just recipes for more consistent local and CI workflows.

Bug Fixes

  • Microphone capture no longer follows output route, so Bluetooth headphones as output no longer break external mic input.
  • CoreAudio input restarts are hardened against rapid device changes during recording sessions.
  • Russian and Ukrainian dictation labels are fully localized across the app.

Upgrade Notes

  • Existing settings and history should carry forward from v1.18.0.
  • The Orb is now the default floating indicator; older pill, dot, and caret variants have been removed.
  • If you use Bluetooth headphones for output while dictating through an external mic, you should no longer need workarounds after updating.

Full Changelog

https://github.com/watzon/pindrop/compare/v1.18.0…v1.19.0

v1.18.0

What’s New

  • Apple on-device speech transcription is now built in: Pindrop can use Apple’s native speech recognition stack alongside the existing transcription pipeline, giving you another local transcription option on macOS.
  • AI Enhancement got a major upgrade: transcripts can now flow through stronger cleanup and enhancement presets, with the new Clean Transcript default helping first-time users get polished results immediately.
  • Update alerts now show release notes in-app: Sparkle update windows can display version-specific release notes directly in the modal, so you can see what’s changing before you install.

Improvements

  • Live dictation is easier to trust with a committed-versus-tentative streaming presentation that makes in-progress recognition more readable while the transcript is stabilizing.
  • Floating indicators feel much more polished thanks to the new Dot indicator default, animation refinements, and broader visual tuning across the indicator system.
  • Pindrop’s visual identity has been refreshed with the new ripple mark, updated app and status bar icons, and theme adjustments that better match the brand.
  • Language and localization controls are clearer: locale switching works again, and language pickers now show native language names to make selection easier.
  • Built-in MCP support opens Pindrop to AI tooling workflows with an embedded MCP server and new settings for managing that integration.

Bug Fixes

  • Default AI enhancement behavior is more consistent for new users thanks to cleaner preset seeding and settings migration behavior.
  • Dock and app icon rendering are more reliable by using the packaged native icon assets instead of generating full-size artwork on the fly.
  • Development and release automation are more robust with cleanup of obsolete tooling files and a release pipeline that now publishes versioned HTML release notes alongside the appcast.

Upgrade Notes

  • Existing settings and history should carry forward from v1.17.0.
  • If you use AI-agent workflows, look for the new MCP settings after updating.
  • Future update prompts will include release notes directly inside the update window when the feed provides them.

Full Changelog

https://github.com/watzon/pindrop/compare/v1.17.0…v1.18.0

v1.16.0

What’s New

  • Back to a native macOS app: Pindrop now ships from the restored SwiftUI/Xcode codebase again, keeping the macOS-specific behavior and workflows that fit the app best.
  • Direct Insert works on non-QWERTY layouts: direct typing now injects Unicode characters instead of relying on QWERTY key mapping, so Dvorak and other keyboard layouts behave correctly.
  • Preferred microphone stays selected: recordings now re-apply your chosen input device if the live audio engine reconfigures mid-session.

Improvements

  • Floating indicator placement is more reliable across multiple displays and mode changes.
  • Model downloads show clearer native progress states during onboarding, settings, and startup repair flows.
  • Release pipeline and project docs are back to a native macOS workflow using Xcode, SwiftPM, and just.

Bug Fixes

  • Status bar startup is more defensive, helping the menu bar item recover cleanly during launch.
  • Direct Insert streaming updates preserve Unicode text insertion behavior without falling back for supported accessibility sessions.
  • Audio input routing no longer drifts to a secondary microphone after recording starts when a specific input device is selected.

Upgrade Notes

  • Existing settings, history, and downloaded local models should carry forward from v1.15.0.
  • This release intentionally returns Pindrop to the native macOS architecture while preserving the macOS-specific fixes that still matter.

Full Changelog

https://github.com/watzon/pindrop/compare/v1.15.0…v1.16.0

v1.14.0

What’s New

  • Anthropic Claude for AI enhancement—connect your Anthropic API key and use Claude alongside your existing AI options. Model IDs stay current with flexible aliases so you are not stuck on dated snapshot names.
  • Floating indicators get a clearer pulse—recording and processing states now use a unified waveform visualization, with improved screen tracking and more reliable behavior when you open settings menus.
  • More app languages—Dutch, Japanese, Korean, and Portuguese (Brazil) join the localized UI. Pick your language in Settings as before.
  • Parakeet in recommendations—recommended model lists now include Parakeet options where they fit your setup.

Improvements

  • Boot logging adds structured logs for launch, onboarding, and model downloads so support and debugging are easier when something goes wrong off the bat.
  • Settings no longer does a redundant theme refresh at startup, trimming a little work from every launch.
  • AI enhancement answers follow transcript questions more reliably instead of drifting off-topic.

Bug Fixes

  • Settings dropdowns that use the anchored floating panel no longer misbehave when the panel is pinned near screen edges.
  • Anthropic requests use the correct model API identifiers end-to-end.

Upgrade Notes

  • If you use AI enhancement, open Settings and add an Anthropic API key if you want to try Claude; existing providers and history are unchanged.
  • Transcripts and SwiftData content carry forward as in prior updates.

Full Changelog

https://github.com/watzon/pindrop/compare/v1.13.0…v1.14.0

v1.13.0

What’s New

  • Pindrop now speaks your language—literally. We’ve added full support for Spanish, French, German, and Simplified Chinese. The app will automatically match your system language, and you can switch languages anytime in Settings.
  • Choose your transcription language when starting a recording. Whether you’re transcribing in English, Spanish, or another supported language, Pindrop now lets you specify the target language for better accuracy.
  • Find models faster with the new search feature in the Model Browser. Type to filter models by name, and use the new “Recommended” filter to see our curated picks for your Mac.
  • More models, more choices—we’ve added all the missing WhisperKit CoreML models, including multilingual variants and specialized sizes.

Improvements

  • The transcription row component is now consistent across the Home and History pages, making the UI feel more polished and unified.
  • Sparkle update checks now use gentle reminders designed for background apps, so you won’t be interrupted while working.
  • Model browser search filtering has been moved off the main thread for smoother performance, even when browsing hundreds of models.
  • The EventTapRunLoopThread now runs at user-interactive QoS for more responsive hotkey handling.

Bug Fixes

  • Fixed an issue where SwiftData stores with missing schema objects could fail to load. Pindrop now recovers gracefully and rebuilds the store when needed.
  • Fixed model search alignment and made search work across all tabs in the model browser.

Upgrade Notes

  • Language support is automatic—if your Mac is set to one of the supported languages, Pindrop will use it immediately. Visit Settings to change languages manually.
  • Existing transcript history and settings will remain intact during this upgrade.

Full Changelog

https://github.com/watzon/pindrop/compare/v1.12.0…v1.13.0

v1.12.0

What’s New

  • Pindrop now includes preset-based app theming, making it easier to personalize the app’s appearance without manual tweaking.
  • Settings now live directly in the main window, so configuring recording, transcription, and output options feels faster and more cohesive.
  • Single-speaker transcripts are cleaner and easier to read because unnecessary speaker labels are no longer shown.

Improvements

  • Release builds now consistently use the hardened runtime and a stricter notarization flow, improving reliability for signed macOS distribution.
  • Pindrop’s SwiftData store now lives in Application Support, which helps the app behave more predictably across installs and updates.
  • Release tooling now fails more clearly when notarization is rejected, making future updates safer to ship.

Upgrade Notes

  • Existing transcript history and app data should migrate to the new Application Support store location automatically during upgrade.
  • If you are upgrading from an older release and macOS prompts for permissions again, re-approve the requested access and relaunch Pindrop if needed.

Full Changelog

https://github.com/watzon/pindrop/compare/v1.11.0…v1.12.0

v1.11.0

What’s New

  • Pindrop now ships as a properly signed macOS app. This is the first release using the new signed distribution workflow instead of the previous self-signed setup.
  • AI enhancement setup and settings have been overhauled to make model selection, onboarding, and day-to-day configuration easier to manage.
  • The built-in dictionary is now easier to access from the main window, and Pindrop can automatically learn word corrections as you use it.

Improvements

  • Refined transcript output behavior so clipboard and direct insert modes behave more consistently.
  • Polished the history view, toast behavior, settings flows, and several shared UI components for a more consistent app experience.
  • Aligned bundle identifiers and release tooling with the new Apple Developer signing setup used for local exports and distribution builds.

Upgrade Notes

  • Because this release switches Pindrop to a new signed app identity, your existing app settings will reset and need to be configured again after upgrading.
  • macOS may ask you to grant Microphone and Accessibility permissions again. If output insertion or recording permissions get stuck, reset them and relaunch Pindrop:
    • tccutil reset Microphone tech.watzon.pindrop
    • tccutil reset Accessibility tech.watzon.pindrop
  • If you’re upgrading from an older self-signed build and see permission or launch issues, remove the old app from /Applications, install the new signed build fresh, then re-enable the permissions above if needed.

Full Changelog

https://github.com/watzon/pindrop/compare/v1.10.1…v1.11.0

v1.10.1

What’s New

  • Fixed a keyboard-monitor recovery bug that could make system input sluggish after granting Accessibility permission while Pindrop was already running.

Improvements

  • Moved the CGEventTap monitors off the main run loop so normal UI work no longer starves the global key monitors.
  • Added bounded event-tap recovery with backoff and full monitor recreation to prevent tight disable and re-enable loops.

Full Changelog

https://github.com/watzon/pindrop/compare/v1.10.0…v1.10.1

v1.10.0

What’s New

  • Added a new Transcribe Media workflow for turning local audio/video files and supported web links into transcripts inside Pindrop.
  • Media transcriptions now include speaker diarization and timestamps so multi-speaker recordings are easier to review.
  • Imported and downloaded media now appear in a dedicated library with thumbnails, searchable metadata, and folder organization.

Improvements

  • Added managed-media ingestion for both local files and web links, including progress updates during import and download.
  • Added compatibility handling for web media downloads, including yt-dlp and ffmpeg setup checks before link transcription starts.
  • Expanded persistence and regression coverage for media ingestion, folder management, and media-transcription state handling.

Full Changelog

https://github.com/watzon/pindrop/compare/v1.9.3…v1.10.0

v1.9.3

What’s New

  • Added support for using the Mac fn/Globe key by itself as a push-to-talk hotkey.

Improvements

  • Updated hotkey capture and registration so fn is recognized consistently alongside other modifier-only shortcuts.
  • Added regression coverage for fn push-to-talk press and release handling to reduce hotkey regressions.

Full Changelog

https://github.com/watzon/pindrop/compare/v1.9.2…v1.9.3

v1.9.2

What’s New

  • Added a new Bubble floating indicator that appears beside the focused text field or caret for a more contextual recording overlay.
  • Reworked floating indicator selection in Settings so you can choose between Notch, Pill, and Bubble styles with visual previews.

Improvements

  • Improved floating indicator drag and presentation behavior so the active overlay stays in sync more reliably while recording and processing.
  • Fixed stale floating-indicator state after stopping a recording by resetting the recording meter and escape-to-cancel status correctly.
  • Added coverage for focused-element anchor capture and floating-indicator setting persistence to reduce regressions.

Full Changelog

https://github.com/watzon/pindrop/compare/v1.9.1…v1.9.2

v1.9.1

What’s New

  • Fixed repeated macOS Accessibility permission prompts after installing from DMG by hardening app bundle re-signing in release builds.

Improvements

  • Release signing now explicitly signs nested Sparkle executables and XPC services before signing Sparkle.framework and the main app bundle.
  • Added strict deep-signature verification (codesign --verify --deep --strict) as a release gate in both local and CI release paths.

Full Changelog

https://github.com/watzon/pindrop/compare/v1.9.0…v1.9.1

v1.9.0

What’s New

  • Added opt-in streaming transcription so text appears as you speak instead of only after capture completes.
  • Added speaker diarization support so multi-speaker recordings are separated and labeled by speaker in the transcript output.

Improvements

  • Improved transcription orchestration and state handling for the new streaming and diarization paths.
  • Release artifacts now include an updated Sparkle appcast.xml attached directly to each GitHub release.

Full Changelog

https://github.com/watzon/pindrop/compare/v1.8.1…v1.9.0