- New Glide sounds: softer, quieter cues for start, stop, done and errors.
- Feedback: speak your note, add a screenshot or a screen recording; you get a reference number.
- Meetings: your mic follows the input you switch to, and Kaho tells you when it can't hear you.
- For testers: unsure speakers get a guess like "Rishi?"; Voices are now past meeting participants.
- Times like "730 pm" become "7:30 pm", and German amounts get thousands points: "1.250 Euro".
- The first take after signing in again is pasted right away instead of hanging.
- Linux: smoother Wayland setup, and the kaho command works after a .deb or .rpm install.
- Windows: no stray space after Enter, prompt windows open reliably, and the installer shows Kaho.
What shipped.
Release notes, newest first. Auto-update lands within hours of every entry.
- Windows: Kaho now installs on Windows 10 and 11 (64-bit) from the download page.
- Kaho has its own sounds for start, stop, done and errors, with a volume slider.
- Send feedback or report a bug from inside Kaho, with an optional screenshot.
- Linux: Wayland sessions work after a one-time setup for the hotkey and paste.
- Sign in with Apple, next to Google and email.
- Mac: quitting with ⌘Q right after a take no longer hangs.
- History Rewrite keeps the space before the pasted text, like History Paste.
- For testers: someone new in a meeting is less often mistaken for a past meeting participant.
- Linux: one command installs Kaho on Ubuntu, Debian, Mint, Fedora and Arch; Fedora gets a .rpm.
- Meeting transcripts and notes use one calm type scale, and the language menu matches Kaho's style.
- Mac: the call banner goes away after a call ends, even if another app keeps the mic open.
- Linux: the AppImage brings everything it needs and no longer opens blank on Fedora and Arch.
- Kaho Pocket (TestFlight): the keyboard no longer runs out of memory when you open it often.
- Kaho now ships its own fonts and loads none from the internet at start.
- For testers: sounds without words no longer show up as an extra speaker.
- For testers: meeting transcripts show who is speaking, and Kaho learns the names you give them.
- Rewrite keeps casual German with English words in German.
- Polite German commands like “Kaho, bitte mach …” now work.
- History loads on the first try after signing in, and the pill comes back after you sign in again.
- Linux: links and folders open again.
- After a pause, meeting notes show the real time of day, and due dates use your local day.
- Paste from History goes only to the window you left; otherwise Kaho copies the text.
- Continue after a crash keeps the meeting clock and the times of earlier lines.
- Dictation keeps your words when you switch mics mid-take or quit while Kaho is transcribing.
- When the server is busy, Kaho now says so instead of showing you as offline.
- Rewrite keeps the language of your text and never pastes its instructions.
- Meeting notes now find decisions far more reliably.
- Kaho shows over full-screen apps, and the call prompt no longer gets missed.
- Calls on Bluetooth headsets no longer garble the other side.
- Paste and Rewrite from History go to your app.
- Say a command without “Kaho,” first.
- Live meeting transcripts are cleaner: no stray words, and fuller sentences.
- Pick the language for each meeting, including Hindi + English.
- Choose which microphone Kaho uses, in Settings → General → Audio.
- Signing out, and quitting Kaho during a meeting, are now safer.
- You can delete your account in the app, in Settings → Account.
- Missed the prompt? During a call, “Take notes for Zoom call” stays in the tray and Meetings tab.
- Short meetings under 2 minutes now have “Write notes anyway”.
- Kaho now shows what each update contains, before and after you install it.
- When Zoom, Teams, Meet or another call app starts, Kaho offers to take notes with one click.
- Meetings at your desk (no call) work too, and Kaho can suggest notes when a calendar meeting starts (Mac, opt-in).
- On speakers, the other side’s words no longer show up as yours.
- The Sound effects switch now covers every sound, and the start sound is audible again.
- During a meeting, words now appear within a few seconds instead of half a minute.
- Kaho chimes once if your mic picks up nothing for four seconds.
- Reliability fixes.
- Kaho can now take notes of your calls. It records you and the other side — no bot joins the call.
- You get a transcript, then a summary with the decisions and action items.
- Start from the Meetings tab or from the menu bar.
- Ask everyone in the call first. One click copies a short note you can paste into the meeting chat.
- On Mac, meeting notes need macOS 14.2 or later.
- Hovering the pill shows one short hint.
- Clicking the pill no longer pulls Kaho in front of your work.
- “No sound — check the mic” appears after two seconds of silence.
- After Kaho pastes, ⌘ is released properly, so your next keystroke isn’t a shortcut.
- Hovering the pill no longer pulls Kaho to the front.
- When a rewrite has nothing to change, Kaho says so instead of doing nothing.
- The pill only says “pasted” when it really pasted; otherwise it says “copied — ⌘V”.
- Notices no longer pull the Kaho window in front of your work.
- The rewrite panel shows all actions and keeps your keystrokes inside it, with undo.
- Clear history asks first, and deleted dictations can be undone for a few seconds.
- The pill always says what it’s doing.
- You can move the Kaho window again by its top edge.
- Removed the built-in prayer word list; your own dictionary is unchanged.
- Better handling of automatic language detection.
- Hindi and other languages: choose the languages you speak, and no more results in the wrong language.
- Spoken commands: select some text and say, for example, "make this informal".
- Translations no longer invent text, and the original is kept.
- Deleting a dictation now really erases it, including its recording.
- While Kaho is in testing, recordings are shared with us to improve accuracy. You can turn this off in Settings.
- Long Hindi dictations now come back complete.
- An available update now shows when you come back to Kaho, not only at start-up.
- Lost your connection? Kaho tells you within about 3 seconds. The recording is still kept.
- Typing in Settings is no longer lost to the floating pill or a notice popping up.
- Buttons in the Kaho window react to the first click, even when the window is not in front.
- After you sign in, Kaho greets you by name once it is back in front.
- Pressing your hotkey during the key check is only the check; it no longer starts a dictation.
- No connection? Kaho tells you within a few seconds instead of after about 15. The recording is still kept.
- Signing out yourself now says "You're signed out." instead of "Your session ended".
- An available update now shows on the sign-in screen and in the menu bar, signed in or not.
- "Kaho" is heard as "Kaho", not "Keho".
- Kaho now counts, as daily totals only, that a sign-in completed and how long the first dictation took. No text, audio or user id. Turn it off in Settings → General → Share usage counts. See the privacy policy.
- Kaho now needs a free account. Sign in with Google or e-mail in your browser; the page shows the same code as Kaho, and "Open Kaho" brings you back. Dictation works only while you are signed in. Sessions last 90 days and renew while you use Kaho.
- A new first run: sign in, Microphone, Accessibility (one permission per screen), a live check of your hotkey, then a first dictation to try it.
- Coming from 1.9.0 or earlier? Sign in once after the update.
- Dictionary rules no longer drop the capital letter at the start of a sentence, and "Kaho" is no longer heard as "Keho".
- When there is no text field to paste into, Kaho tells you the text is on the clipboard.
- Clearer recording pill: done, no sound, network and access states.
- New installs on macOS can use the microphone again — the 1.8.0 download could not. Kaho now only asks for two permissions: Microphone and Accessibility.
- The recording pill stays visible above the Dock.
- Images and files you copied stay on the clipboard after you dictate.
- Long dictations no longer lose text during cleanup.
- Dictionary rules handle German umlauts and other special characters correctly.
- Corrections Kaho learns are now suggestions — they only apply once you confirm them in Settings.
- Clearer error messages when the server can't be reached, and your dictated text is no longer written to log files.
- Linux is here. Kaho now ships as a signed Linux AppImage (portable, auto-updating) and a Debian/Ubuntu
.debpackage — the same push-to-talk dictation, cleanup, and translation you get on macOS. - The macOS build is a freshly signed & notarized DMG (Apple Silicon), served from our own EU infrastructure alongside the Linux binaries.
- Downloads now live at wovero.com/download and always resolve to the latest signed release for both platforms.
- Pill placement now branches on the Dock: when the Dock is visible the pill keeps its 2 px gap above it, but when the Dock is hidden / on a side the pill drops all the way to ~3 px from the actual screen bottom (was ~15 px). No more floating in dead space.
- Idle pill now sits 6 px lower (flush with the Dock top instead of 8 px above it), so it stops floating into the gap above the Dock.
- Smarter idle: when your cursor isn't anywhere near the pill, opacity fades down to ~0.22 and the hairline border softens — Kaho stops being visually in the way when you're working on the bottom-center of the screen. Move toward it and it lifts back to full opacity. Recording / hover / error states stay at full visibility — only the truly-ambient idle state adapts.
- Auto-language German dictations no longer start with stray
ï¸characters. The cleanup pipeline was emitting a leading invisible variation selector that an upstream layer re-interpreted as Latin-1, turning one invisible char into three visible Latin-1 mojibake chars at the start of every transcript. Sanitiser now strips both the genuine invisible char and the mojibake aftermath. - Also fixed a latent encoding bug in the tag-stripper that could mangle umlauts (ä, ö, ü) and other multi-byte UTF-8 characters when the response contained any non-ASCII content. Tag scan still byte-level, but content is now copied as whole UTF-8 sequences.
- Strips other zero-width / bidi-control characters anywhere in the output (ZWSP, ZWJ, BOM, bidi overrides) — these never come from speech and broke history-rail rendering in some fonts.
- Clicking Restart now after a staged update now relaunches Kaho instead of just quitting. The button was calling
quit_appwhen it should have been callingrelaunch()— fix applied to both the inline banner and the Settings → About control.
- Auto-update now actually installs. The packed tarball was including macOS AppleDouble sidecar files (
._Kaho.app) that Tauri's updater tried to unpack as a directory and choked on — leaving the staged update half-extracted and the UI bouncing back to "Update now". Tarballs now build withCOPYFILE_DISABLE=1and skip those sidecars cleanly. - App auto-relaunches after a successful update — no more "click again, manually quit, manually reopen" dance.
- Update failures no longer fail silently. If an install errors, the exact reason now shows in Settings → About instead of the button just reverting.
- Cleanup-output sanitiser rewritten: when the model echoes the prompt scaffolding back (Valentin's German-auto case), it now extracts the inner transcript instead of deleting it. The previous v1.7.4 version would have wiped the dictation entirely — caught before it shipped to real users.
- Server-side cleanup prompt hardened with an explicit "never wrap your reply in XML tags" rule so the echo stops happening at the source.
- Push-to-talk now self-heals when macOS drops a key-release event. Press the hotkey again and the in-flight recording transcribes cleanly instead of getting stuck on. The stop pipeline is also idempotent, so a stray double-event can't fire it twice.
- Cleanup pipeline strips stray
<context>/<transcript>tags if the model ever echoes the prompt scaffolding. Defense-in-depth — you should never see XML in your output. - Settings dropdowns and language pickers now use the Vellum terracotta accent on hover. No more navy-blue rows breaking the paper-and-ink palette.
- Account → Profile fields now have labels above each textarea, shorter italic placeholders, and lighter hint colour — so example text reads as a hint, not as saved data.
- History rail entries no longer overflow horizontally on long single-paragraph transcripts. Two-line clamp with proper word-break wrapping.
- Recording pill now shows a faint esc hint after the timer — tells you ESC will cancel the take.
- Settings → General → Translation has a new caption clarifying it applies to selected text via ⌃⌘T, not to the dictation output.
- History rail in the main window has a substring search at the top.
- Settings → About → "Check for updates" now shows a Vellum confirmation toast when you're already on the latest version — no more silent click.
- Click the idle pill → opens Settings on the Hotkey tab directly (was: default Account).
- Each release on this page is anchorable — hover the version chip to grab a # link.
- v1.7.1 shipped a single 1× PNG as the DMG background — Finder upscaled it on retina displays and the "Drag Kaho into Applications." headline looked pixelated. Now we ship a multi-image TIFF (1× + 2× layers paired via
tiffutil -cathidpicheck) and Finder picks the right density automatically.
- The DMG drag-to-Applications screen is now Vellum: cream paper, terracotta vignette, italic-serif headline ("Drag Kaho into Applications."), dashed terracotta arrow flying over the icons, mono utility caption, and a small Resolve mark watermark in the footer.
- Window resizes to 720 × 460 with 128 px icons positioned per the drop-4 spec (180/540 @ y 220).
- Background drawn as SVG and rendered at @1 + @2x — no more pixelation on retina.
- The inline language indicator on the pill (e.g. EN→DE or EN) is now a click target — clicking it opens the translate menu, the same affordance the standalone lang pill used to have. The rest of the pill still opens the main window on click.
- Settings layout rebuilt with a 180 px left sidebar instead of the horizontal tab strip. Active tab gets a terracotta accent rail and an ink tint; rows stack vertically with icon + label.
- Recording now waits for the cpal callback to actually fire before flipping into the active state. Previously, with Always-on microphone OFF, short dictations could finish before CoreAudio had delivered any samples — the pipeline saw an empty buffer, bailed with "no audio captured", and nothing pasted. Worst case is now a ~150 ms perceived delay on the first hotkey press; the recording is reliable.
- The macOS green microphone indicator no longer stays lit while Kaho is idle. The cpal stream opens on hotkey press and closes when the recording finishes — the indicator follows.
- Trade-off, surfaced as a Settings → General toggle: Always-on microphone. ON keeps the v1.5.4 pre-roll behavior (first word never clipped, indicator always lit). OFF (default) is privacy-first: indicator dark when idle, the first ~150 ms of speech can be lost to CoreAudio's cold-start.
- Settings, sign-in, permissions, and onboarding all reserve a 32 px drag region at the top so the system traffic lights have somewhere to sit and don't collide with the back button or content.
- Main window is now sidebar + detail. Left rail of recent transcripts (mono timestamps, two-line italic-serif preview, terracotta tag for translations); right pane shows the focused transcript with copy / rewrite / paste / delete actions.
- Toggle dictation mode. Settings → Hotkey → Trigger: Hold (default) or Tap. Tap-to-toggle starts on first press, stops on second; the configured hotkey is the same.
- Manual-start hotkey (⇧⌘D by default). Tap-to-toggle independent of the trigger setting; rebindable in Settings → Hotkey alongside the other combos.
- Pill error shake. When a recording fails, the pill shakes ±6 px horizontally over 400 ms before settling back into the error visual; auto-clears after 2 s.
- Sign-in and permissions screens are now Vellum. Paper background, italic-serif headlines, ink primary buttons — same look as the 4-step welcome flow.
- "No microphone connected" inline state card. Joins mic-blocked and offline as the third state Settings can surface inline (never as a system alert).
- The pointer cursor and CSS
:hoverstates now work on every floating surface — translate menu, rewrite prompt, translate preview, paste toast, pill tooltip — not just the mic pill. Each window flipsacceptsMouseMovedEventson its NSWindow at create time. - Global CSS adds a subtle
brightness(1.06)hover affordance to every<button>and disabled-cursor styling for disabled controls.
- Kbd chip now stays on a single line — labels like Right ⌘ no longer wrap into two rows when the parent flex shrinks.
- When the dictation language is anything other than auto, the pill shows the language inline (e.g. hold [Right ⌘] · EN). Translation indicator still wins when both are set.
- Reverted the v1.6.0 custom-chrome experiment after it broke show_main_window_cmd — main window opened invisibly. System chrome is back; the custom-chrome push will return once a few rough edges are sorted.
- First attempt at a fully custom Kaho title bar: K mark + title + crumb on the left, ghost minimize/zoom/close dots on the right. Reverted in v1.6.1 because pill clicks stopped reaching the main window. The work lives on as VellumWindow.tsx for the next pass.
- The audio stream now stays open for the lifetime of the app, with a 600 ms ring buffer running in the background. Press the dictation key and the last 600 ms of audio gets prepended to the recording — so the first word is captured even when CoreAudio's cold-start eats the leading 100–400 ms.
- The separate language pill window is gone. Translation status (e.g. EN→DE) now appears inline on the mic pill itself when you hover or record — one pill, all the information.
- The mic pill window now matches its visible UI: 50 × 50 in idle, 170 × 50 in every other state. No more transparent dead zone over the lang pill — clicks land where you'd expect.
- Recording start/stop and hover transitions both reposition the lang pill, so it never collides with the mic pill when the pill blooms.
- The language pill now sits 8 px from the visible mic capsule's left edge — not the always-170 px window edge — so it stays close to the small ambient idle dot instead of floating ~70 px away. Updates live as the mic pill blooms on hover or recording.
- The idle mic pill is now ambient — a hairline ghost capsule with just the terracotta dot at 70% opacity. "Quiet at rest. Loud when you ask."
- Hover blooms the full pill with the hold [Right ⌘] hint. The bounding click target is unchanged.
- 4-step first-run flow: welcome → permissions → choose hotkey → first dictation. Lives at 380×540, ~2 minutes start-to-finish, with a live preview of your first transcript.
- Inline state banners in Settings — microphone-blocked and offline states surface as Vellum cards instead of system alerts.
- New app icon: the Resolve mark on a paper gradient, generated from the Vellum master.
- Tray template icon redrawn from the same mark; macOS auto-tints for menubar light/dark.
- Update toast restyled to Vellum (terracotta accent, mono version chip, three states: ready / installing / restart).
- 404 and 5xx pages on wovero.com.
- Pointer cursor now appears when you hover the mic pill — the overlay window finally tracks mouse-moved events on macOS.
- In-app polish: the rewrite prompt and the dictionary "heard as" placeholder no longer name specific upstream models.
- Mic pill now shows your actual dictation key in the idle hint, not a hardcoded ⌥ space.
- Mic pill and language pill now share the same vertical centerline.
- Clicking the pill body opens the main window; recording is started by hotkey only.
- Full visual redesign: paper palette, terracotta accent, italic Source Serif headlines, Inter UI, mono kbd hints.
- Day theme by default; night-mode toggle in Settings → General → Appearance.
- New "Resolve" mark across the app, dock icon, DMG installer, and marketing site.
- Reskinned recording overlay, language pill, translate menu, rewrite prompt, and toasts.
- Tighter typography across Settings; clearer empty states.
- Reshape now reads the surrounding paragraph for tone-matching before applying the edit.
- Translation glossary picks up alternate phonetic forms automatically.
- Settings → Dictionary cache refresh fixed; new entries propagate within a second.
- Hold-to-translate: language pill shows e.g. EN→DE while active.
- Push-to-talk hotkey is now user-configurable in Settings → Hotkey.
- Brand transition from Wovero Dictate to Kaho.
- Stability fixes around dock-autohide and second-monitor positioning.
- First-launch onboarding flow walks through Microphone, Accessibility, and Input Monitoring.
- Smart dictionary: per-user phonetic glossary that survives re-installs.
- Rewrite-on-selection (⌃⌘M) with six quick actions plus free-text instructions.
- Screen-context awareness on supported apps for sharper reshape suggestions.
- Universal binary (Apple Silicon + Intel), Developer-ID signed and notarized.
- Hardened entitlements stop macOS revoking TCC grants on every restart.
- Auto-updater wired up with a signed updater key.