Repository navigation
Releases
v0.15.5
The built-in instructions for fixing and translating text now show the AI model examples.
Changed
- The instructions for Fixing and Translation in Settings › Translator end with examples, as those of Clean and Formal do, and the Translate mode has examples for more languages than English. Instructions you rewrote stay as they are, and Reset to Default… gives you the new ones.
Fixed
- An answer that a model wraps in
<reply>tags, copied from the examples, is pasted without them.
Contributors: @imsvidskiy
Full changelog: v0.15.4...v0.15.5
v0.15.4
The instructions editor in Settings now looks like the other inputs.
Fixed
- The Instructions editor of a mode and of a translator task sits in a card, like the name field above it and the Try it field below, with the same corners and text inset.
Contributors: @imsvidskiy
Full changelog: v0.15.3...v0.15.4
v0.15.3
Waft tells you when part of a long dictation wasn't recognized and lets you retry it, and its windows use the current macOS look.
Changed
- On macOS 26 and later, Waft's windows and controls use the current macOS look. Earlier releases ran in the compatibility mode for apps built before macOS 26.
Fixed
- When a piece of a long dictation can't be recognized, Waft pastes the rest, says that a part is missing, and offers Retry Last Dictation in the menu for 10 minutes. It used to leave the gap without a word.
- A local server that rejects the larger answer limit of 0.15.2 is asked again with the earlier one, so a model with a small context window works as before.
- Rarer clipboard formats that an app is slow to provide no longer delay the paste: Waft stops reading them after 200 ms and restores the clipboard without them.
- Remove License… says when the key can't be removed.
Contributors: @imsvidskiy
Full changelog: v0.15.2...v0.15.3
v0.15.2
Waft no longer drops what you dictated: the text is pasted or on the clipboard, and a recording survives the cases that used to throw it away.
Fixed
- A dictation that Waft keeps out of a password field now goes to the clipboard instead of nowhere. Waft also stopped mistaking an ordinary field for a password field while another app, such as a browser with a login page open, held secure keyboard input.
- If the microphone stops in the middle of a dictation, such as when headphones disconnect, Waft recognizes what it recorded until then.
- Pressing another key cancels a hold only in its first 2 seconds, so a shortcut pressed late doesn't cost you what you said. A recording also survives macOS switching Waft's key monitoring off for a moment.
- Quitting Waft finishes the dictation in progress first, also one that is still recording.
- After a paste, Waft restores everything that was on the clipboard, such as spreadsheet cells or design layers, and never leaves it empty.
- Light mode keeps the space before words like ".NET" and ".env", and no longer deletes the verb "err".
- A dictionary term that starts with a symbol, such as
@waft, is no longer written with the symbol doubled. - Fixing or translating selected text keeps its indent and final line break, and an edit that asks for quotes keeps them.
- Dictionary terms stay as written in every writing system, not only when Serbian is written in Cyrillic.
- A key can't be recorded for dictation or editing while a shortcut uses it, and recording a key or shortcut stops when you switch to another app instead of leaving the dictation key switched off.
- A license key that can't be saved is reported instead of working only until the next launch.
- A mode that sends text to a local server on another computer says so instead of "Runs on this Mac".
- Local reasoning models get room to think, so their answers are cut short less often, and a local server address works without
http://. - A long dictation keeps the pieces Whisper recognized when one of them fails.
- Other sounds return to their volume on outputs that change it in coarse steps.
- Requests to the AI provider, a local server, and the usage service no longer name your macOS version or languages.
- 98 translations are corrected across 22 languages.
Added
- Retry Last Dictation appears in the menu for 10 minutes after a recognition that failed, and copies the text once it works.
- The HUD says when the 5-minute limit ended a recording.
Contributors: @imsvidskiy
Full changelog: v0.15.1...v0.15.2
v0.15.1
The step that asks about anonymous usage data reads more evenly.
Fixed
- In the setup guide's Help improve Waft step, every row now fits on one line in all 23 languages; the first row used to wrap.
Contributors: @imsvidskiy
Full changelog: v0.15.0...v0.15.1
v0.15.0
Waft now asks whether you want to share anonymous usage data, and sends nothing unless you agree.
Added
- The setup guide has one more step, Help improve Waft, with Share and Don't Share. If you already use Waft, the guide opens once on this step.
- If you agree, Waft sends daily counts of how often you use each feature, the Waft and macOS versions, the app language, the speech model, the AI provider, the license state, and a random ID. It never sends your words, audio, dictionary, app names, or keys. Privacy lists every field.
- Settings › General has a Privacy section with Share anonymous usage data. Turning it off deletes the counts and the ID from your Mac.
Contributors: @imsvidskiy
Full changelog: v0.14.0...v0.15.0
v0.14.0
Settings is easier to find your way around: the sidebar and the pages follow one order.
Changed
- The sidebar opens with what you dictated, Overview and History, continues with Voice and Text, and ends with an App group for General, Waft+, and About.
- Play sounds and Lower other sounds while recording moved from General to Settings › Dictation, next to the other recording settings.
- General lists Permissions right after the app's own settings, so they fit the window without scrolling.
- Settings › Writing keeps everything that picks a mode together: Modes, Your modes, Shortcut, and Apps, then Translation and Output.
- Settings › Translator lists its Shortcuts right after the languages, and the AI model and the instructions last.
Contributors: @imsvidskiy
Full changelog: v0.13.1...v0.14.0
v0.13.1
Waft stops reacting to its own paste, fixes two recognition slips, and tidies Settings and the setup guide.
Fixed
- Waft's own ⌘V and ⌘C no longer count as keys you pressed. With Left Command as the dictation key, a paste could start and drop a recording or end hands-free dictation, and with any key a paste could cancel a recording you held on the other key.
- Serbian in Cyrillic joins "nj", "lj", and "dž" again after a prefix such as "kon-" or "nad-", so "konjugovanje" becomes "конјуговање", not "конјугованје".
- A dictation that only begins like a subtitle credit, such as "Субтитры сделали мои друзья", is no longer dropped as made up.
- The Settings window can't shrink below its sidebar, which used to spill over the window's edges.
- The dots in the setup guide count the steps you see, not always five.
Changed
- Settings › Dictation lists your languages right after the key and the microphone, so Choose Languages… in the menu opens with them in view.
- Updated Sparkle, which installs updates, to 2.10.1.
Contributors: @imsvidskiy
Full changelog: v0.13.0...v0.13.1
v0.13.0
Waft's AI modes follow clearer instructions with examples and now know your dictionary.
Added
- Clean, Formal, Translate, and your modes give the AI model your dictionary terms, so it spells a name or term the way you wrote it even when Whisper misheard it in a way Heard as doesn't list.
Changed
- Rewrote the default instructions of Clean, Formal, and Translate: their rules follow the order of the cleanup and end with examples. A time keeps the hour you said, so "at three" becomes "at 3", not 3 PM or 15:00; "new line" starts one new line; Translate uses the polite "you" when the tone is unclear; and a dictated request such as "write an email to…" stays that request in Formal. Instructions you rewrote stay yours, and Reset to Default… brings in the new ones.
Contributors: @imsvidskiy
Full changelog: v0.12.5...v0.13.0
v0.12.5
Waft reads audio and video files without holding up other work, and its code is leaner inside.
Fixed
- Reading an audio or video file for transcription no longer blocks a thread that other tasks need, so a slow file can't hold up the rest of Waft.
Changed
- Removed unused code, repeated checks, and duplicate tests across the app, and brought the documentation in line with the code. Nothing you see or do changes.
Contributors: @imsvidskiy
Full changelog: v0.12.4...v0.12.5