Skip to content

Releases: EpicenterHQ/epicenter

Whispering v7.11.0: Local Transcription Expansion + Windows Stability

27 Dec 02:38
a6b15c2

Choose a tag to compare

This release adds Moonshine as a new local transcription engine, fixes critical Windows stability issues, and introduces auto-start on login. We've upgraded to transcribe-rs 0.2.1, which powers all three local engines.

Windows: No More Vulkan Crashes

Fixes #840, #829—Whispering no longer crashes on Windows systems without Vulkan or GPU support.

Previously, starting with v7.5.0, Windows users on CPU-only systems or VMs would see "vulkan-1.dll was not found" errors at launch. This blocked users without dedicated GPUs from using the app at all.

The fix: Windows builds now only include Parakeet for local transcription. We removed whisper-cpp and Moonshine from Windows due to upstream issues with whisper-rs and MSVC runtime conflicts. Parakeet uses prebuilt ONNX binaries and doesn't require Vulkan or GPU drivers.

Major thanks to @cjpais for maintaining transcribe-rs and adding Moonshine support! We are a proud sponsor of their work 🫶

Three Local Transcription Engines

Parakeet (All Platforms)

NVIDIA's state-of-the-art speech recognition model. English-only, uses ONNX Runtime for efficient inference. This is now the default and only local option on Windows.

Moonshine (New-macOS/Linux)

A fast ONNX-based engine optimized for English. Two model variants:

  • Tiny (~30 MB): 6-layer model, great for quick notes
  • Base (~65 MB): 8-layer model, better accuracy

Models downloaded from HuggingFace. Give it a try and see how it goes!

Whisper C++ (macOS/Linux)

The multilingual workhorse supporting 65 languages. Fixed upstream build issues that broke it in previous releases.

Why Windows Has Fewer Options

Due to upstream issues with the whisper-rs package and MSVC runtime library conflicts, Windows builds can only include Parakeet. The whisper-rs-sys and tokenizers crates use incompatible C runtime linking strategies that cannot coexist in the same binary on Windows.

Parakeet works because it uses ONNX Runtime without the problematic dependencies. This is a toolchain limitation we're monitoring for upstream fixes.

Auto-Start on Login

Whispering can now launch automatically when you log in. Works on macOS, Windows, and Linux.

Settings → General → Start on login

CleanShot 2025-12-26 at 18 37 18@2x

Initial Prompt Support

You can now provide an initial prompt to guide transcription for more models. This helps with domain-specific vocabulary, proper nouns, or formatting preferences. Available for Whisper C++ and cloud services that support it.

Dark Mode: No More Flash

Fixed the flash of light mode (FOUC) on app load. The app now correctly applies your theme preference before rendering. New installations also default to dark mode.

Improved Update Experience

The update dialog now renders release notes with proper markdown formatting, so you can read what's new without visiting GitHub.

Other Improvements

  • Settings Overhaul: Reorganized with tabs and cleaner Field.Set/Legend/Group layout
  • Mode-Specific Instructions: Recording screen shows helpful guidance based on your current mode
  • Better Dialogs: Confirmation dialogs now show loading spinners during async operations
  • CORS Fix: Custom transformation endpoints on desktop properly bypass CORS restrictions (thanks @thurstonsand!)
  • Empty States: Standardized empty state UI across the app

Technical: transcribe-rs 0.2.1

Upgraded from transcribe-rs 0.1.5 to 0.2.1 with platform-specific feature flags. Thanks to @cjpais for maintaining transcribe-rs and adding Moonshine support!

# Windows: parakeet only
transcribe-rs = { version = "0.2.1", features = ["parakeet"] }

# macOS/Linux: all engines
transcribe-rs = { version = "0.2.1", features = ["whisper", "parakeet", "moonshine"] }

What's Changed

Features

  • feat(transcription): add Moonshine engine and upgrade transcribe-rs to 0.2 by @braden-w in #1157
  • feat(transcription): add initial_prompt support for guided transcription by @braden-w in #1132
  • feat(whispering): add auto-start on system login for all platforms by @braden-w in #1161
  • feat(whispering): show mode-specific instructions by @braden-w in #1133
  • feat: default to dark mode instead of system preference by @braden-w in #1134
  • feat(ConfirmationDialog): overhauled ConfirmationDialog with loading spinner by @braden-w in #1138
  • feat(UpdateDialog): improve update experience with markdown rendering by @braden-w in #1122
  • feat(ui): add Empty component and standardize empty states by @braden-w in #1105

Bug Fixes

  • fix(windows): remove whisper-cpp and Moonshine, resolving Vulkan crashes (#840, #829) by @braden-w in #1181, #1182
  • fix: prevent dark mode FOUC on app load by @braden-w in #1168
  • fix(whispering:transformations): bypass CORS for custom endpoints on desktop by @thurstonsand in #1118
  • fix(tooltip): coordinate tooltips globally and adjust delay timing by @braden-w in #1110
  • fix: resolve TypeScript strict mode violations and improve type safety by @braden-w in #1167

Improvements

  • refactor(services): reorganize into desktop/isomorphic architecture with autostart by @braden-w in #1164
  • refactor(settings): overhaul settings pages with Field.Set, tabs, and improved organization by @braden-w in #1123
  • refactor(view-transitions): centralize with element-centric naming by @braden-w in #1126

Full Changelog: v7.9.0...v7.11.0


Questions? Join our Discord or check the README.

Love Whispering? Star us on GitHub to show your support!

Whispering v7.10.0

11 Dec 19:20

Choose a tag to compare

⚠️ This release has known issues and is superseded by v7.11.0. Windows builds may crash due to Vulkan/whisper-rs issues. Please use v7.11.0 instead.

This release upgrades our local transcription engine, adds new capabilities for Whisper C++, and overhauls our update and API Key management experience.

transcribe-rs 0.1.5 Upgrade

We've upgraded transcribe-rs from 0.1.0 to 0.1.5, which brings whisper-rs 0.15.1 under the hood (previously 0.13.2). This upgrade includes upstream improvements to whisper.cpp that should help with stability on various CPU configurations.

If you were experiencing crashes on Linux or Windows with Whisper C++, please try this release and let us know if the issue persists.

Huge thanks to @cjpais for maintaining transcribe-rs! We are a proud sponsor for their work 🫶

Other Improvements

  • System Prompt for Whisper C++: You can now use the System Prompt field with local transcription to provide context and improve accuracy
  • Update dialog: Now renders release notes with proper markdown formatting
  • API keys page: Reorganized with tabs to filter between transcription and transformation services
  • CORS fix: Custom transformation endpoints on desktop now properly bypass CORS restrictions (thanks @thurstonsand!)

What's Changed

Features

  • feat(transcription): upgrade transcribe-rs and add initial_prompt support by @braden-w in #1132
  • feat(UpdateDialog): improve update experience with markdown rendering by @braden-w in #1122
  • feat(ui): add Empty component and standardize empty states by @braden-w in #1105
  • feat(ui): add ButtonGroup component for pagination buttons by @braden-w in #1103

Bug Fixes

  • fix(whispering:transformations): bypass CORS for custom endpoints on desktop by @thurstonsand in #1118
  • fix(tooltip): coordinate tooltips globally and adjust delay timing by @braden-w in #1110
  • fix: resolve TypeScript errors and clean up codebase by @braden-w in #1125
  • fix: TypeScript fixes and fs service refactoring by @braden-w in #1121
  • fix: use extractErrorMessage for unused error params in catch handlers by @braden-w in #1113

Internal

  • refactor(settings): overhaul settings pages with Field.Set, tabs, and improved organization by @braden-w in #1123
  • refactor(view-transitions): centralize with element-centric naming by @braden-w in #1126
  • refactor(result): remove fromTaggedError, add serviceError field to WhisperingErr by @braden-w in #1124
  • refactor(db): unify create/delete methods to accept single item or array by @braden-w in #1120
  • refactor(query): migrate to accessor pattern for wellcrafted v0.26.0 by @braden-w in #1115
  • refactor(query): migrate to wellcrafted v0.29.0 API naming by @braden-w in #1111
  • refactor(errors): migrate to wellcrafted v0.28.0 explicit context/cause API by @braden-w in #1109
  • refactor: consolidate CopyButton with injectable copyFn and migrate Kbd component by @braden-w in #1108
  • refactor(ui): add Spinner component and replace animate-spin loaders by @braden-w in #1102
  • refactor: migrate keyboard shortcuts to Kbd component by @braden-w in #1101
  • refactor(ui): add tooltip prop to Button and Link, consolidate link styling by @braden-w in #1097

Full Changelog: v7.9.0...v7.10.0


Questions? Join our Discord or check the README.

Love Whispering? Star us on GitHub to show your support!

Whispering v7.9.0: New Navigation & Custom Endpoints

09 Dec 09:22

Choose a tag to compare

The app has a completely redesigned sidebar navigation, and you can now connect Whispering to any OpenAI-compatible transcription service.

New Vertical Navigation

CleanShot 2025-12-09 at 01 17 40@2x CleanShot 2025-12-09 at 01 17 53@2x

The app has a completely new vertical sidebar navigation. Quick navigation to recordings, transformations, and settings is right at your fingertips, and it collapses gracefully when you need more space. Thank you, @Leftium, for their work on this feature!

Prefer the classic look? You can now toggle between Sidebar Navigation and Header Navigation in the settings menu.

Navigation Layout Settings

OpenAI-Compatible API Endpoints

Bring your own transcription server. Running LocalAI, Ollama, vLLM, or any other OpenAI-compatible service? Just select "OpenAI-Compatible" as your transcription service and enter your endpoint URL.

Settings → Transcription → Service → OpenAI-Compatible

GPT-5 Model Support

GPT-5 and GPT-5 mini are now available as inference model options for transformations.

Bug Fixes & Improvements

  • VAD misfire fix: Voice activity detection now properly resets to LISTENING state after a misfire
  • Linux stability: whisper.cpp crash resilience with proper panic logging and mutex handling
  • Bulk delete performance: Deleting multiple recordings is now significantly faster

What's Changed

Features

  • feat: add support for OpenAI-compatible API endpoints by @braden-w in #1078
  • feat(keyboard): add display labels for browser keyboard shortcuts by @braden-w in #1075
  • feat(inference): add GPT-5 and GPT-5 mini model support by @braden-w in #1065
  • feat(settings): add visible navigation toggle by @braden-w in #1073

Bug Fixes

  • fix(vad): reset state to LISTENING on misfire by @braden-w in #1080
  • fix(transcription): handle poisoned mutex locks by @braden-w in #955
  • fix: update broken documentation links in settings pages by @braden-w in #1069
  • fix(settings): clarify transcription vs transformation toggles by @braden-w in #966
  • fix(sidebar): default to collapsed state by @braden-w in #1085

Performance

  • perf(db): add bulk file deletion with single FFI call by @braden-w in #1067

Internal

  • refactor: integrate vertical nav as default layout by @braden-w in #1073
  • refactor(vad): replace query layer with Svelte 5 $state reactivity by @braden-w in #1081
  • refactor: rename @repo/* packages to @epicenter/* by @braden-w in #1074

Full Changelog: v7.8.0...v7.9.0


Questions? Join our Discord or check the README.

Love Whispering? Star us on GitHub to show your support!

Whispering v7.8.0: Custom Providers, Enter After Transcription, Many Internal Fixes

03 Dec 00:44

Choose a tag to compare

This release adds support for custom OpenAI-compatible API endpoints for transformations, so you can use your own LLM servers, local models, or any OpenAI-compatible service. We also fixed the white screen on launch by parallelizing startup operations.

Custom OpenAI-Compatible Provider

You can now use any OpenAI-compatible API for transformations. This means you can connect to:

  • Self-hosted models (Ollama, LocalAI, vLLM)
  • Custom endpoints behind your firewall
  • Any service that speaks the OpenAI API format

Go to Settings > Transformations > Provider and select "Custom" to configure your endpoint.

Enter After Transcription

New option to automatically press Enter after inserting transcribed text. Useful for chat applications, command lines, or anywhere you want to submit immediately after dictation.

Settings > Transcription > Post-transcription behavior

Performance: No More White Screen

Startup is now faster. We parallelized the async initialization operations that were causing a white screen on launch. The app should feel snappier when you open it.

Internal: Zod to Arktype Migration

We migrated our entire schema validation layer from Zod to Arktype. This improves TypeScript inference and sets us up for better compile-time type safety. The migration also introduced arktype-based validation for reading markdown files from the file system, making the local-first storage more robust.

What's Changed

Features

  • feat: add option to simulate Enter keystroke after transcription by @braden-w in #1046
  • feat(whispering:transformations): add custom OpenAI-compatible provider by @thurstonsand in #984
  • feat(epicenter): add blob storage system for binary file handling by @braden-w in #1043
  • feat(windows): improve installer configuration to reduce false positives by @braden-w in #1026

Bug Fixes

  • fix(push-to-talk): use explicit start/stop instead of toggle by @braden-w in #1048
  • fix(recording): prevent race condition in rapid push-to-talk by @braden-w in #1020
  • fix(transcription): validate model downloads and detect corrupted files by @braden-w in #1008
  • fix(audio): enable asset protocol for audio playback in recordings table by @braden-w in #987
  • fix(transcription): convert number input to string for temperature setting by @Cprakhar in #1018
  • fix(transform-clipboard): add file system permissions for transformations by @braden-w in #1063
  • fix(db): support all audio/video formats in findAudioFile by @braden-w in #1051

Performance

  • perf(startup): parallelize async init operations to prevent white screen by @braden-w in #1045

Internal

  • refactor: migrate from Zod to Arktype for schema validation by @braden-w in #1052
  • feat: add arktype JSON Schema fallback handlers by @braden-w in #1054
  • chore: update license to AGPL-3.0 and migrate GitHub links to EpicenterHQ by @braden-w in #1007
  • chore: migrate to zod v4 and standard schema by @braden-w in #1027
  • fix: migrate remaining lucide imports to individual icon paths by @braden-w in #1009
  • chore(ui): migrate to bits-ui 2.14.4 by @braden-w in #1039
  • refactor(mime): use mime package instead of custom implementation by @braden-w in #1047
  • Fixing some outdated doc links by @rupokghosh in #993

New Contributors

Full Changelog: v7.7.2...v7.8.0


Questions? Join our Discord or check the README.

Love Whispering? Star us on GitHub to show your support!

Whispering v7.7.2: IndexedDB Migration Cleanup

13 Nov 06:50
11fffee

Choose a tag to compare

This release tightens up the migration cleanup we added in 7.7.0. If a recording, transformation, or run already exists on disk, the migrator now deletes the duplicate row from IndexedDB right away. That keeps IndexedDB from filling up with skipped entries and makes the final "migration complete" state trustworthy.

What's Changed

  • fix(migration): delete skipped items from IndexedDB during migration by @braden-w in #969
  • Fix: remove duplicate DeepGramApiKeyInput component by @rupokghosh in #959
  • ci(pr-preview-builds): auto-cancel builds when PR is merged by @braden-w in #971
  • fix(readme): update v7.7.1 download links and fix workflow patterns by @braden-w in #972
  • fix: align compression presets with modern FFmpeg by @braden-w in #967
  • fix(shortcuts): unregister old global shortcuts before reset by @thisisharsh7 in #931
  • fix(settings): add $routes alias and fix broken import path by @Leftium in #917

Full Changelog: v7.7.1...v7.7.2


Questions? Join our Discord or check the README.

Love Whispering? Star us on GitHub to show your support!

Whispering v7.7.1: Hotfix for Workers Deployments & Clipboard Permissions

06 Nov 00:55
9e6a7b5

Choose a tag to compare

This is a quick cleanup pass after 7.7.0. We fixed the transform-clipboard permissions, tweaked the migration dialog to show its button only when it matters, and corrected the recordings settings copy so it matches the platform you’re on. Plus, a few CI/CD fixes.

What's Changed

  • refactor(capabilities): rename transformation-picker to transform-clipboard by @braden-w in #948
  • fix(ci): correct artifact upload paths for cross-compiled macOS builds by @braden-w in #950
  • feat(deploy): migrate Whispering from Cloudflare Pages to Workers by @braden-w in #946
  • feat(MigrationDialog): show database button in dev mode or when migration needed by @braden-w in #951
  • fix(recordings): correct storage location text based on platform by @braden-w in #952
  • feat: add parallel GitHub issue fixer command by @braden-w in #953
  • refactor(fix-issues): change from auto-fix to spec generator by @braden-w in #954
  • chore(whispering): configure Cloudflare Workers + Assets deployment by @Leftium in #956
  • chore(whispering): migrate wrangler configuration from TOML to JSONC by @braden-w in #957
  • chore(whispering): migrate to wrangler.jsonc and optimize Cloudflare Workers deployment by @braden-w in #958

Full Changelog: v7.7.0...v7.7.1

Whispering 7.7.0: Local-First File System Storage

04 Nov 09:30
7141f93

Choose a tag to compare

This release marks a major architectural milestone in Whispering's evolution toward true local-first data ownership. Desktop now stores all your data as human-readable markdown files on your file system instead of IndexedDB.

Your recordings, transformations, and transcriptions now live as regular files on your computer. You can:

  • Open the folder and see your data directly
  • Edit metadata in any text editor
  • Back up your data by copying a folder
  • Grep through your transcriptions
  • Version control your transformations
  • Move your data between computers

This is the foundation of local-first software: your data lives in a format you control, in a location you choose, readable by standard tools.

File System Storage

Desktop now stores data as markdown files with YAML frontmatter:

~/.whispering/
├── recordings/
│   ├── abc123.md        # Metadata + transcribed text
│   └── abc123.webm      # Audio file
├── transformations/
│   └── transform-01.md
└── transformation-runs/
    └── run-001.md

Example Recording File

---
id: abc123
title: Morning Meeting Notes
timestamp: 2025-10-29T09:30:00Z
transcription_status: DONE
---

This is the transcribed content of your recording.
You can edit this in any text editor.

The audio file lives right next to it as abc123.wav. No database or proprietary format; just files.

Migration Assistant

image

When you launch this version with existing IndexedDB data, Whispering shows a toast notification with a "Migrate Now" button. The migration assistant guides you through moving your data to the file system. Migration is optional (though recommended for better performance and data ownership).

image

Why This Matters

IndexedDB is a browser technology that made sense when Whispering was web-first. But for a desktop app that values data ownership, it's the wrong tool:

  • Data is opaque (you can't see it without dev tools)
  • Backup requires special tooling
  • Export/import is complicated
  • Storage limits are unpredictable
  • You don't really own your data

File system storage fixes all of this. Your data lives in plain-text files you can read, edit, back up, and move freely. This is how local-first software should work.

This change has been in planning for months. It's a rewrite of the storage layer, and it sets us up for features like:

  • Data sync across devices (your files, your control)
  • Git integration for transformations
  • Better backup and restore
  • Command-line tooling
  • Plugins and extensions

Open Folder Buttons

CleanShot 2025-11-04 at 01 30 34@2x

New buttons on the recordings and transformations pages let you open the folder where your data lives. Click them to see your data directly in Finder/Explorer.

This might seem small, but it's fundamental: you should always know where your data is and be able to access it without the app. Transparency builds trust.

Technical Details

For those interested in the implementation:

Storage Format: Markdown files with YAML frontmatter for metadata, separate audio files with matching IDs

Batching: To speed up reads and minimize IPC calls, we bulk-read all Markdown files in the Rust layer and send their contexts as strings to the frontend, where parsing/validation occur. This keeps our performance fast by minimizing IPC calls to and from the frontend and Rust backend (e.g., one bulk-read call to markdown files instead of hundreds of IPC calls to read each file).

Migration Strategy: User-initiated migration via toast notification and dialog, with visual progress tracking and verification before cleanup

Web Compatibility: Web continues using IndexedDB. This change is desktop-only. We use dependency injection to inject the right implementation from db/web.ts or db/desktop.ts at build time.

Atomic Operations: All writes use atomic rename (write to .tmp, then rename) to prevent corruption.

Next Steps

This release was weeks of planning and implementation, and focuses on desktop storage architecture. Future releases aim to build on this foundation:

  • Sync (your settings, synced via your own cloud storage)
  • Transformation library (share and version control transformations)
  • Command-line interface
  • Plugin system

More to come!

What's Changed

  • refactor(query): consolidate query layer with entity-based namespacing by @braden-w in #883
  • feat(transcription): add persistent model manager for whisper.cpp by @braden-w in #889
  • chore: switch Claude model from opus to sonnet by @braden-w in #888
  • chore: update biome configuration to schema 2.2.6 by @braden-w in #890
  • docs(CLAUDE): specify regular merge strategy for PRs by @braden-w in #891
  • chore: update @tanstack/svelte-query to v6.0.0 by @braden-w in #892
  • fix: messed up formatting in AGENTS.md. by @Leftium in #887
  • [READY] add missing community standard files by @thisisharsh7 in #876
  • feat(whispering): add evergreen 'latest' Gemini inference API model names by @dstanley-ttech in #894
  • fix: prevent Windows console flash when executing FFmpeg commands by @braden-w in #899
  • chore: simplify and improve formatting tooling by @braden-w in #900
  • feat(settings): add proactive warnings for recording method compatibility by @braden-w in #902
  • chore: run formatter to organize imports by @braden-w in #901
  • feat(scripts): automate release workflow with commit, tag, and push by @braden-w in #903
  • refactor(rules): split AGENTS.md into domain-specific files for lazy loading by @Leftium in #906
  • fix(ci): rename GITHUB_* secrets and env vars to GH_* by @braden-w in #922
  • refactor: consolidate database layer with entity-based namespacing by @braden-w in #921
  • chore: enable experimental Svelte support in Biome 2.3 by @braden-w in #923
  • revert: disable experimental Biome Svelte support by @braden-w in #924
  • refactor(db): split service into platform-specific implementations by @braden-w in #925
  • refactor: simplify model path structure and remove redundant nesting by @braden-w in #926
  • fix(windows,transcription): prevent FFmpeg console window flash by @brummelte in #909
  • fix(ffmpeg): use shell-less executor for installed check by @brummelte in #908
  • refactor(macos-accessibility): migrate Command.create to services.command.execute by @braden-w in #927
  • Fix: Deepgram Nova-3 fails when system prompts are used due to unsupported keywords parameter by @passion8 in #895
  • feat: update Anthropic models to latest Claude 4.5 generation by @ElDataDude in #928
  • feat(landing-page): add Try Now buttons to landing page tool cards by @rupokghosh in #799
  • feat: add transform-clipboard feature with two command modes and keyboard shortcuts by @braden-w in #930
  • feat(db): implement file system storage for desktop with automatic IndexedDB migration by @braden-w in #933
  • refactor(commands): always return Ok after notifying errors by @braden-w in #932
  • refactor(db): optimize migration with sequential execution and simplified counting logic by @braden-w in #934
  • feat(transformations): add delete functionality for transformation runs by @braden-w in #935
  • fix(db): simplify transformation runs migration by @braden-w in #936
  • perf(db): optimize transformation runs queries with Rust batch reading and arktype validation by @braden-w in #938
  • fix: source AGENTS.md from CLAUDE.md. by @Leftium in #940
  • chore: remove GH action that syncs CLAUD.md. by @Leftium in #941
  • feat(MigrationDialog): add database migration tool for IndexedDB to File System by @braden-w in #943
  • feat(ci): add PR preview builds workflow by @braden-w in #942
  • refactor: replace toast with rpc.notify for migration notification by @braden-w in #944
  • fix(MigrationDialog): delete items from Ind...
Read more

Whispering 7.6.0: Transform Clipboard Content with Keyboard Shortcuts

29 Oct 20:54
47bd288

Choose a tag to compare

This release adds two commands for transforming text in your clipboard without opening the main app.

Interactive picker (Ctrl+Shift+X / Cmd+Shift+X): Opens a searchable list of your transformations. Pick one, apply it to your clipboard text, done.

CleanShot 2025-10-29 at 14 27 58@2x

Direct command (Ctrl+Shift+R / Cmd+Shift+R): Runs your pre-selected transformation instantly. No window, no clicks.

Both commands respect your existing settings: copy result to clipboard (enabled by default) and paste at cursor (if enabled).

Using the Picker

  1. Copy text
  2. Press Ctrl+Shift+X (or Cmd+Shift+X on macOS)
  3. Type to search your transformations
  4. Click one or press Ctrl+1, Ctrl+2, etc. (or Cmd+1, Cmd+2, etc. on macOS) to apply it

Using Direct Command

  1. Go to Settings > Transformations and select your most-used transformation
  2. Copy text
  3. Press Ctrl+Shift+R (or Cmd+Shift+R on macOS)

Customize Shortcuts

Settings > Shortcuts > find openTransformationPicker or runTransformationOnClipboard > click the field > press your preferred keys.

What's Changed

  • refactor(query): consolidate query layer with entity-based namespacing by @braden-w in #883
  • feat(transcription): add persistent model manager for whisper.cpp by @braden-w in #889
  • chore: switch Claude model from opus to sonnet by @braden-w in #888
  • chore: update biome configuration to schema 2.2.6 by @braden-w in #890
  • docs(CLAUDE): specify regular merge strategy for PRs by @braden-w in #891
  • chore: update @tanstack/svelte-query to v6.0.0 by @braden-w in #892
  • fix: messed up formatting in AGENTS.md. by @Leftium in #887
  • [READY] add missing community standard files by @thisisharsh7 in #876
  • feat(whispering): add evergreen 'latest' Gemini inference API model names by @dstanley-ttech in #894
  • fix: prevent Windows console flash when executing FFmpeg commands by @braden-w in #899
  • chore: simplify and improve formatting tooling by @braden-w in #900
  • feat(settings): add proactive warnings for recording method compatibility by @braden-w in #902
  • chore: run formatter to organize imports by @braden-w in #901
  • feat(scripts): automate release workflow with commit, tag, and push by @braden-w in #903
  • refactor(rules): split AGENTS.md into domain-specific files for lazy loading by @Leftium in #906
  • fix(ci): rename GITHUB_* secrets and env vars to GH_* by @braden-w in #922
  • refactor: consolidate database layer with entity-based namespacing by @braden-w in #921
  • chore: enable experimental Svelte support in Biome 2.3 by @braden-w in #923
  • revert: disable experimental Biome Svelte support by @braden-w in #924
  • refactor(db): split service into platform-specific implementations by @braden-w in #925
  • refactor: simplify model path structure and remove redundant nesting by @braden-w in #926
  • fix(windows,transcription): prevent FFmpeg console window flash by @brummelte in #909
  • fix(ffmpeg): use shell-less executor for installed check by @brummelte in #908
  • refactor(macos-accessibility): migrate Command.create to services.command.execute by @braden-w in #927
  • Fix: Deepgram Nova-3 fails when system prompts are used due to unsupported keywords parameter by @passion8 in #895
  • feat: update Anthropic models to latest Claude 4.5 generation by @ElDataDude in #928
  • feat(landing-page): add Try Now buttons to landing page tool cards by @rupokghosh in #799
  • feat: add transform-clipboard feature with two command modes and keyboard shortcuts by @braden-w in #930

New Contributors

Full Changelog: v7.5.4...v7.6.0

Love using Whispering? Join us on Discord or report issues on GitHub.

Whispering v7.5.5: Faster Whisper.cpp & Windows Console Fix

27 Oct 01:41

Choose a tag to compare

This release brings faster local transcription for Whisper.cpp users, fixes the annoying Windows console flash, and adds helpful compatibility warnings. Also includes evergreen Gemini model names, dependency updates, and contributions from @dstanley-ttech, @Leftium, and @thisisharsh7.

What's Changed

  • feat(transcription): add persistent model manager for whisper.cpp by @braden-w in #889
    • Whisper.cpp now keeps models loaded between transcriptions (just like Parakeet already does), so consecutive transcriptions are much faster after the initial model load.
  • fix: prevent Windows console flash when executing FFmpeg commands by @braden-w in #899
    • Eliminated the brief console window flash during FFmpeg operations by rewriting command execution to use native Rust instead of shell wrappers. This also improves PATH resolution and command reliability across all platforms.
  • chore: switch Claude model from opus to sonnet by @braden-w in #888
  • chore: update biome configuration to schema 2.2.6 by @braden-w in #890
  • docs(CLAUDE): specify regular merge strategy for PRs by @braden-w in #891
  • chore: update @tanstack/svelte-query to v6.0.0 by @braden-w in #892
  • fix: messed up formatting in AGENTS.md. by @Leftium in #887
  • [READY] add missing community standard files by @thisisharsh7 in #876
  • feat(whispering): add evergreen 'latest' Gemini inference API model names by @dstanley-ttech in #894
  • chore: simplify and improve formatting tooling by @braden-w in #900
  • feat(settings): add proactive warnings for recording method compatibility by @braden-w in #902
  • chore: run formatter to organize imports by @braden-w in #901
  • feat(scripts): automate release workflow with commit, tag, and push by @braden-w in #903

New Contributors

Full Changelog: v7.5.4...v7.5.5

Whispering v7.5.4: Much Faster Parakeet with Persistent Model Manager

16 Oct 01:36

Choose a tag to compare

This release brings an enormous speed boost to Parakeet transcriptions via a new persistent model manager (models stay warm between runs, so after the first load, transcriptions complete much faster).

What's Changed

  • feat(transcription): implement persistent model manager for Parakeet by @braden-w in #885
  • refactor(db): improve database service architecture and type safety by @braden-w in #882
  • refactor: replace array[0] with .at(0) for consistent array access by @braden-w in #884

Full Changelog: v7.5.3...v7.5.4