Repository navigation
Releases
v3.8.1
v3.8.1
A small maintenance release that makes the Linux terminal paste shortcut persist between launches, so you no longer have to reselect it each time Onda starts.
Highlights
- Your Linux terminal paste shortcut choice is now saved and restored across launches.
- The shortcut applies consistently to terminal output after being set in the Linux General settings.
- The Linux README now documents how the paste shortcut is remembered.
Changed
- On Linux, the terminal paste shortcut selected in settings is persisted and reused on the next launch instead of reverting to the default.
- Terminal output uses the currently configured paste shortcut, keeping settings and actual paste behavior in sync.
Upgrade Notes
No configuration changes are required.
v3.8.0
v3.8.0
This release brings the Linux app to parity with macOS: first-run onboarding, live recording preview, shortcut recording and Escape-to-cancel, history and post-processing editing, the tray status menu, and real start/stop sounds. It also cleans up how shortcuts and copy are worded per platform.
Highlights
- Linux now has a full first-run wizard, including shortcut recording and a Getting Started page that shows what is left to set up.
- Dictation on Linux shows a live preview while recording, joins text correctly at the caret (including after emoji in Qt fields), and can be cancelled with Escape on X11.
- The Linux window and tray are feature-complete: status menu, history row actions, model download/load progress in the overlay, post-processing prompt editing, and the model update notice.
- Onda now plays its own start and stop cues on Linux, and can pause or mute media while you dictate.
- Shortcuts are named the way each platform does, and only shortcuts the current platform can register are offered.
Added
- Linux first-run onboarding and Getting Started page, including recording a custom shortcut by pressing it.
- Live preview of transcribed speech while recording on Linux.
- Press Escape to cancel a dictation on X11.
- Onda's own dictation start and stop sounds, bundled as
dictation_start.wavanddictation_stop.wav. - Pause or mute playing media while dictating on Linux.
- Linux tray status menu, plus overlay states for model downloads and model loads.
- History row actions and post-processing prompt editing in the Linux app.
- Parakeet Japanese available on Linux.
- Dictation target application is identified on X11, so text is joined to the field before the caret.
- Linux builds are now built on Apple Silicon virtual machines, and the Linux real-GUI test suite runs in CI.
Changed
- Core now uses a single
Platformvalue for platform-specific behavior, and copy is worded for the platform it runs on. - Shortcut display names follow each platform's conventions, and the shortcut picker only offers shortcuts that platform can register.
- macOS privacy permission prompts are no longer presented on Linux.
- Linux shortcut registration failures are now reported back to the core instead of failing silently.
- The Linux overlay now draws all recording states consistently.
Fixed
- Removed two stale texts shown in the Linux window.
- Fixed joining dictation after an emoji in a Qt field.
- Fixed the Linux build silently ignoring core events or commands; it now fails instead.
- Linux CI container now keeps
CAP_IPC_LOCKso the keyring works. xdotoolis installed for Linux real-GUI tests in CI.
Upgrade Notes
No configuration changes are required.
Full changelog: v3.7.2...v3.8.0
v3.7.1
v3.7.1
A bug-fix release focused on reliable dictation: long transcripts are no longer lost, media playback and system output behave correctly around recording, and model downloads and updates are more robust.
Highlights
- Long dictations are kept even when a custom prompt returns no text.
- System audio is muted only during actual recording and restored reliably, including after a crash or while on a call.
- Model downloads no longer discard completed files, and download progress percentages are now consistent.
- Text without spaces (such as Chinese and Japanese) now works correctly with the live preview, cleanup guardrails, and replacement rules.
Added
- Deferred model switches are now applied automatically after a failed start.
Changed
- Recording keeps using the originally selected microphone until another input is clearly louder, reducing accidental channel switches.
- When the now-playing query fails, media playback is left untouched.
- Quitting while the microphone is opening now resumes media playback.
- Text output copies to the active app instead of typing when focus changes, avoiding text being entered into the wrong application.
- The History Is Off message no longer refers to "this Mac."
- An unreadable post-processing API key is now reported instead of failing silently.
- If the core panics, the app aborts rather than continuing in an inconsistent state.
Fixed
- Long dictations are no longer lost when a custom prompt returns nothing.
- Kept model files are re-verified before being skipped.
- History retention is never shortened based on an unknown previous value.
- Finished model files are kept when a download fails.
- The download percentage is consistent across views.
- Microphones restricted by system policy no longer offer a non-working fix.
- Restart to Update is answered before downloading a newer release.
- A mute left behind by a crash is undone at the next launch.
- Output is no longer muted during calls or for other audio devices.
- Unmuting happens when recording stops, not after delivery.
- The live preview keeps moving for text without spaces.
- Replacement rules match inside text without spaces.
- On Linux, settings windows are no longer killed and window opens are reported correctly.
- API keys are no longer exposed in the key field's debug output.
Upgrade Notes
- macOS: if Onda crashed during a recording in a previous version, system output may have been left muted; v3.7.1 restores it at the next launch.
- No configuration changes are required.
Full changelog: v3.7.0...v3.7.1
v3.7.0
v3.7.0
This release improves how Onda handles your system audio while recording, so pausing playback works more reliably across more apps.
Highlights
- Recording now mutes audio output that a simple pause command cannot reach.
- The macOS app gains dedicated output mute handling for media that does not respond to standard pause controls.
- A new setting in General preferences exposes this behavior.
Added
- Output muting during recording for players that cannot be paused directly, on macOS.
Changed
- Media control during recording now falls back to muting when pausing is not possible, so no audio keeps playing over your dictation.
Fixed
- Audio from apps that ignore pause requests no longer continues playing while you record.
Upgrade Notes
No configuration changes are required.
Full changelog: v3.6.0...v3.7.0
v3.6.0
v3.6.0
This release focuses on a redesigned post-processing model sheet, making it easier to choose and configure the model used for cleanup. No breaking changes.
Highlights
- Post-processing model selection has a refreshed layout with clearer model options and configuration.
- Provider and model settings are easier to review and adjust from the model sheet.
Changed
- Redesigned the post-processing model sheet on macOS and Linux for a clearer, more consistent configuration experience.
- Improved how provider and model information is presented when configuring post-processing.
Fixed
- Corrected behavior in the post-processing model sheet so selections and settings are applied consistently.
Upgrade Notes
No configuration changes are required.
Full changelog: v3.5.0...v3.6.0
v3.5.0
v3.5.0
This release makes post-processing more flexible: you can now replace the built-in cleanup prompt with your own instructions, preview and restore the default, and see clearer feedback when cleanup fails.
Highlights
- Override the post-processing prompt with custom instructions tailored to your workflow.
- Reset back to the built-in default prompt at any time.
- Post-processing settings now show the active prompt and its source, so it is clear whether you are using the default or a custom version.
- Cleanup errors surface more specific, actionable messages instead of a generic failure.
Added
- Custom post-processing prompt support in the Post Processing settings, with a dedicated editor for overriding the default prompt.
- Ability to restore the built-in prompt after customizing it.
Changed
- The Post Processing page now indicates whether the default prompt or a user-provided override is active.
- Cleanup outcomes distinguish between different failure reasons, making it easier to diagnose issues such as an invalid custom prompt.
- Prompt handling is validated before use, so malformed overrides are caught rather than silently applied.
Fixed
- Cleanup failures are now reported with clearer, more specific error information.
Upgrade Notes
No configuration changes are required. Existing setups continue to use the built-in prompt unless you add an override.
Full changelog: v3.4.0...v3.5.0
v3.4.0
v3.4.0
Onda v3.4.0 improves reliability across dictation, cleanup, history, settings, and updates, and adds official Arch Linux packages plus a new download page. Several fixes address cases where dictation text could be lost, duplicated, or delivered at the wrong moment.
Highlights
- Arch Linux packages are now built and published alongside the existing macOS and Linux packages.
- More reliable text delivery: cancelled or abandoned dictations no longer output text, and a new press can take over a start that is still being abandoned.
- Cleanup is safer: overly long responses that stray far from the transcript are rejected, and ordinary prose is no longer mistaken for Markdown.
- History and settings are more resilient, including under concurrent access and interrupted writes.
- Model downloads and updates keep their progress across network interruptions and relaunches.
Added
- Arch Linux release packages.
- Download page served at rselbach.com/onda.
- Automatic hotkey hold timing is measured from the physical key press, making hold gestures more predictable.
- Dictation joins now omit the space in scripts that do not use one.
Changed
- Settings writes are merged under a cross-process lock, so concurrent windows and processes no longer overwrite each other's changes.
- History files are synced to disk before being renamed into place.
- Transcription records the loudest input channel instead of always channel 0.
- Replacement rules are decoded row by row, so one malformed row no longer breaks the rest.
- Unchanged windows are reused across TDT previews, reducing redundant work.
- The focused-app query that every dictation waits on is now bounded.
- Update archives are kept after download, so relaunching does not trigger another download.
- Finished downloads wait for the active session to end before reloading.
- Package identity is no longer stored in removable documentation, so uninstalling docs does not affect package identity.
- Cleanup requests now use restricted transport and bounded response bodies.
Fixed
- Cancelled deliveries no longer output text, and cancellable copies and re-deliveries commit at the real output point.
- History reads replaced by a newer read or change are no longer dropped, and entries the first load cannot read are kept.
- An empty cleanup reply is retried instead of dropping the dictation.
- The engine stream is reset before a decode that produced no preview.
- Modifier flags are cleared on typed Unicode key events.
- Model transition races and history error handling are fixed.
- Load, gesture, and aborted-start states are now explicit.
- Model download progress is preserved when the network gives out.
Upgrade Notes
No configuration changes are required. Linux users on Arch can now install from the new Arch package.
Full changelog: v3.3.1...v3.4.0
v3.3.1
v3.3.1
This release contains only internal release automation changes. There are no user-facing app changes in this version.
Changed
- Release builds for macOS and Linux platforms now run concurrently, shortening the time between tagging a release and published artifacts becoming available.
Upgrade Notes
No configuration changes are required. macOS DMG and ZIP packages and Linux DEB, RPM, and tar.gz packages are attached to the release. The signed update feed is updated separately.
Full changelog: v3.3.0...v3.3.1
v3.3.0
v3.3.0
Onda now runs on Linux with a native GTK4 and libadwaita desktop app, alongside macOS. Linux builds are available as DEB, RPM, and tar.gz packages, and Onda can now verify signed update manifests before applying updates.
Highlights
- Onda is now available on Linux as a native GTK4 and libadwaita desktop app, with the same local, on-device dictation workflow as macOS.
- Linux releases are packaged as DEB, RPM, and tar.gz, with a desktop entry enabling launch from your app menu.
- Updates are checked against signed manifests, so Onda can verify update integrity before downloading.
Added
- Linux desktop app with dictation, tray integration, and a system overlay while recording.
- Linux settings UI covering general options, speech models, hotkeys, history, replacements, and post-processing.
- Clipboard and output handling for pasting transcriptions into the focused application.
- Linux packaging and an installer script supporting DEB, RPM, and tar.gz layouts.
- Signed update verification in the update checker and the
onda-update-toolhelper.
Changed
- Linux audio capture now handles device and stream changes more robustly.
- Speech model selection and routing logic are unified across platforms.
- The README has been restructured to cover macOS and Linux separately.
Fixed
- Session handling no longer loses state when transcription starts immediately after a stop.
- Update feed parsing handles alternate manifest shapes more reliably.
Upgrade Notes
Onda v3.3.0 installs as before on macOS; Linux users get a new native app rather than a port of the macOS UI, so settings start from defaults on first launch. No configuration changes are required.
Full changelog: v3.2.0...v3.3.0
v3.2.0
v3.2.0
Onda 3.2.0 adds two new cleanup options for polishing transcripts: Apple Intelligence runs entirely on-device, and Fireworks AI joins the hosted providers. Provider logos now appear in the model picker so you can identify configurations at a glance.
Highlights
- Apple Intelligence is now available as an on-device cleanup provider, with no API key or network requests required.
- Fireworks AI is supported as a hosted cleanup provider.
- The model selection sheet shows each provider's logo, making it easier to identify the active provider and model.
- Release update feeds are now verified before publishing, and releases can be republished to refresh the feeds.
Added
- Apple Intelligence cleanup provider: polish transcripts locally using Apple's on-device models. No account, API key, or outbound network traffic is involved.
- Fireworks AI cleanup provider: bring your own Fireworks AI API key and choose from its available models for cleanup.
- Provider logos (Fireworks AI and OpenRouter, including light/dark variants) displayed in the model sheet.
Changed
- Provider and model selection in Post Processing now shows visual provider identity alongside names.
- Model listing and cleanup requests for OpenRouter and Fireworks AI handle provider differences more consistently.
- Release automation verifies the public update feeds and supports republishing them, improving reliability of in-app updates.
- API keys for the supported providers are stored and resolved through the settings secret store.
Fixed
- Improved handling of cleanup outcomes so provider or listing errors surface clearly rather than producing an incorrect result.
Upgrade Notes
No configuration changes are required. Apple Intelligence requires a Mac with Apple Intelligence support; if unavailable, the option will not be usable. Fireworks AI requires an API key entered in Post Processing settings.
Full changelog: v3.1.0...v3.2.0