# Hey Piclo changelog
All notable changes per released version, newest first. The publish script turns this into the release notes Sparkle shows with each update prompt.
## 0.2.6 (build 17) — 2026-08-19
### Added
- A local model now starts loading the moment you begin dictating, instead of when you stop. Local servers drop a model from memory after a few idle minutes, and that reload used to land after your take, as dead waiting. Now it happens while you speak: measured 10.3 seconds of waiting before, 2.0 after. Only applies when a local model is your engine — nothing is loaded on your behalf otherwise.
### Changed
- The microphone menu no longer repeats itself: "Studio Display Microphone" now reads "Studio Display", so the menu stops stretching the panel beneath it. Names that carry no redundancy, like "Scarlett 2i2 USB", are left alone.
- Simpler wording in the local-model settings; the setup detail moved into the ⓘ beside the server address, where you need it.
## 0.2.5 (build 16) — 2026-08-19
### Fixed
- The live word count keeps up again. If you speak softly, the counter used to freeze almost immediately — it only advanced while your voice cleared a fairly loud bar, and a quiet voice transcribes perfectly while sitting under it. It now counts whenever the mic hears you.
- "Remove the strikeouts", "undo the strikethrough", "turn off the bold" now actually turn formatting off, using the app's own shortcut. Before, these were misread as a request to rewrite the text, so the AI replaced your selection instead of changing its formatting.
- If an audio device change leaves your microphone delivering silence — an occasional side-effect of AirPods or a dock connecting mid-take — Piclo now notices within a second and reconnects the mic, instead of recording a whole take of nothing. And a take that really did capture silence now says the mic was silent, rather than implying you didn't speak.
### Added
- Choose your microphone from the menu bar too — the Piclo menu now has a Microphone submenu, so you can switch to the mic you just moved next to without opening Settings.
- Choose your microphone. Settings → General → Microphone lists every input on your Mac, so you can record from the one you actually sit next to instead of whatever macOS picks. If that mic isn't connected, Piclo quietly uses the system default. Worth doing if you dictate softly: a close mic is the one thing that genuinely improves accuracy.
- Dictated emails are broken into paragraphs the way people actually read them — the opening pleasantry on its own, each topic separated, a closing line before your sign-off — instead of arriving as one block.
- Local models are usable again. Many current local models "think" before answering, which for dictation cleanup is pure waiting — one 36B model took 35 seconds a take. Piclo now asks them to skip it (and falls back gracefully if a server doesn't understand the request), which took that same model to about a second. Recommended models in Settings are current again, too.
- Piclo now notes when your input is quiet. Speech that sits below the normal level costs accuracy, and the log will now tell you so — worth a check if words come out wrong.
- The dictionary says what it changed. Every replacement and repair is recorded, so a word that comes out wrong can finally be traced to the cause instead of guessed at.
- Held-back dictations record what happened to them. When text waits on the clipboard because focus moved, inserting, opening Recents, or dismissing it is now noted.
## 0.2.4 (build 15) — 2026-08-10
### Fixed
- "Strike out this paragraph" and "cross this out" now use the app's native strikethrough shortcut, like "strikethrough this" already did. Before, those phrasings went to the AI and could paste literal ~~tildes~~ into rich text.
- A voice mode switch is no longer counted as a failed dictation in the diagnostic log.
### Added
- The new spoken commands are now discoverable: "send it" appears in the Say… hints on the Guide and Activation pages, and the formatting hint now lists strikethrough alongside bold, italic, and underline.
- Cursor, Zed, and Windsurf now get Code mode automatically, the same treatment VS Code and the terminals already had — including its understanding that most dictation there is instructions to an AI assistant, not code.
- When "send it" is spoken but the target app is no longer in front, Piclo notes in its log that the Return was withheld — so a send that didn't land is explainable.
## 0.2.3 (build 14) — 2026-08-10
### Fixed
- Cleanup no longer occasionally answers you instead of cleaning. In rare cases the AI would reply about the dictation ("I'm ready to clean dictation…") and that reply reached your document. The cleaner now knows your words are never addressed to it, and a widened safety net pastes your raw words if anything like it ever slips again.
- A voice mode switch ("switch to email mode") no longer risks a stray "Couldn't transcribe that" message after the confirmation.
### Added
- Say "send it" or "press enter" — as the whole phrase — and Piclo presses Return for you. Works in plain dictation and Command Mode; perfect for chat boxes: dictate the reply, then send it, hands never touching the keyboard. It only fires when the phrase is the entire utterance, so a sentence that merely ends in "send it" is just typed.
- "Strikethrough this" on a selection now uses the app's own shortcut, exactly like bold, italic, and underline — no markup, no clipboard tricks. ("Strike that" still means what it always meant in dictation, and is left to the cleanup to handle.)
- Only one copy of Piclo runs at a time: launching the app quits any older copy, so hotkeys can never fire twice.
## 0.2.2 (build 13) — 2026-08-09
### Fixed
- Sounds no longer go quiet after days of use. Piclo's cue player now rebuilds its connection to your speakers whenever the Mac changes audio devices, wakes from sleep, or swaps AirPods — the situations that used to leave it silently broken until a restart. If a cue ever fails now, the log says so instead of saying nothing.
- A dictation that produces no text never just vanishes anymore. An empty take shows the quiet "Nothing heard" pill, and a transcription error says "Couldn't transcribe that" with the soft fail sound — you always know why nothing was typed.
### Added
- A new Agent mode for dictating to AI assistants: prose with proper punctuation, your full meaning kept as spoken, and technical terms, file paths, and names exactly as you said them. It switches on automatically in the Claude and ChatGPT apps and their browser tabs, and "switch to agent mode" works anywhere.
- Code mode now tells the difference between talking to an AI coding assistant and dictating actual code. Instructions to your assistant read like normal writing; real code keeps its symbols and casing untouched.
### Changed
- The diagnostic log opt-in now switches itself off after 7 days. It exists for troubleshooting, and a forgotten toggle shouldn't quietly keep collecting your dictated text.
- Update checks now note themselves in the log, so "is auto-update working?" has an answer.
## 0.2.1 (build 12) — 2026-07-11
### Added
- The Dictionary now takes whole term lists at once: Settings → Dictionary → "Add from a file…" accepts CSV or plain text, one term per line. Ask your AI for a project's vocabulary and drop the file in; re-importing updates terms instead of duplicating them.
- Shelves keep a project's terms together. Create one from the chip row above your terms, rest it when the project wraps, and copy it out as CSV to share; imported lists can name their own shelf.
- The vocabulary taught to your cleanup engine now follows what you actually use: recently used terms go first. Before, only your oldest 60 entries ever reached it, so new terms went untaught once the dictionary grew.
- The term list is searchable once it grows past 15 entries, and every term now edits in place. Big dictionaries stay fast: a thousand terms cost about a millisecond per dictation.
- Dictionary terms are word-first: add just a word or phrase ("Timbavati", "Kruger National Park") to teach Piclo your jargon, and only record a mishearing when a specific fix is needed.
- Garbled names now fix themselves: when the speech engine writes a non-word that clearly resembles one of your dictionary words ("Nelsprite" for "Nelspruit"), or splits a name into two ("Nels Sprite", "Hood Spruit"), the word is restored automatically, before any cleanup runs and on every dictation level. Real words and unrelated names are never touched.
- The Dictionary reads as a table now: shelf tabs across the top, Word and Heard as columns underneath, and an info dot that explains what tabs do. Rows lead with the word; corrections read "word, heard as".
- Terms Piclo learns from your fixes now land on their own Learned shelf, so General stays exactly what you added yourself.
- Your whole dictionary now reaches the cleanup engine. Before, only 60 entries ever did; vocabulary ships in full and recent terms lead.
- Importing a Numbers or Excel file renamed .csv now says exactly what to do (export it as real CSV) instead of doing nothing. Imports also never move terms you already had onto another shelf.
- Ready-to-use snippets out of the box: say "snippet date", "snippet time", "snippet date and time", or "snippet clipboard" and the live value is typed for you. Existing installs get them too; delete any you don't want and they stay gone.
- "Say ..." hints across Settings: sections that understand spoken commands carry a small chip in their header. Click it for every phrase that works there, from expanding and saving snippets to switching modes, "think deeply", "deep search", and spoken punctuation.
- The version number in Settings now opens the release notes, so you can always see what changed.
- The Guide tab links to the full getting started guide that shipped with the download.
### Changed
- The Guide's "Good to know" topics now follow a new user's setup order: engine first, then dictionary and snippets, the speed dials, modes, and privacy. There's also a new "Voice commands" topic explaining the hint chips, and example commands on the Command Mode card.
- The Smart command tier now says it auto-picks the model per task. It always did; the wording made it sound like you had to switch yourself.
### Fixed
- A word spoken after a long mid-dictation pause is no longer dropped or garbled: the finishing pass now finds where your speech resumes instead of transcribing the silence around it.
- Short replies no longer keep a leading "um": instant inserts shed the hesitation ("Um, yeah that works" types "Yeah that works").
- Short replies also stay on the instant path more reliably: a quirk in the garbled-name check could route everyday words ("good") through the full cleanup for nothing.
- The hint and info popovers now follow your text-size setting instead of staying tiny.
- Cleanup is firmer about stumbles in code editors: repeated words and false starts are treated as speech, not identifiers, so they're cleaned there like everywhere else.
- A snippet dictated on its own no longer picks up a stray period at the end. In the middle of a sentence, it keeps the sentence's punctuation, as it should.
- Snippets now fire even when the speech engine mishears "snippet" as "snip it", "snip at", "snap it", "snap at", or "snap that", including with a stray apostrophe, like "snap it's".
- Words spoken very softly at the end of a take are transcribed again: the finishing pass no longer skips a quiet tail outright, it decodes it and lets the usual checks sort real speech from noise.
- Dictionary words typed in lowercase get their capitalization back ("timbavati" becomes "Timbavati"), matching how single-word entries always behaved before this build.
- A word your dictionary already fixed no longer routes a short reply through full cleanup for nothing: the instant path now checks the corrected text.
- Fixing a word while the Learned shelf is resting now files it in General so the fix works immediately, instead of landing on the resting shelf where it would sit muted.
- The "say it" chip on the Modes page now reads "auto mode", which is the phrase that actually works.
- Confirmation pills stay up a beat longer: Done and the mode-switch and Learned confirmations hold a beat longer than before, so you can actually read what they say before they fade.
## 0.2.0 (build 11) — 2026-07-09
### Added
- A new speech engine, now the standard on Apple Silicon Macs: much faster, more accurate, and punctuation built in. It downloads once, about 480 MB, then runs entirely on your Mac.
- A live word count on the pill while you dictate.
- If nothing was heard, the pill now says so instead of finishing silently.
### Changed
- Whisper stays available in Settings, and remains the engine on Intel Macs and for languages the new engine does not cover.
- Settings now shows which speech model is actually running, whichever engine you pick.
- Raw takes in Recent dictations are preserved exactly as you said them, before any cleanup touches them.
### Fixed
- Silence is no longer transcribed into a stray courtesy phrase like "Thank you." — on either engine.
- A long take that picked up only room noise is dropped before it reaches the cleanup model.
- The app can no longer hang if the speech model's first download stalls; it fails cleanly and keeps dictating on the other engine.
- The live word count moves at the pace of your speech instead of jumping, and holds steady when you pause.
- Switching engines now warms the one you picked, not the previous one.
### Known issues
- Dictating as the very first thing into an empty chat box in some Electron apps (VS Code, web chat panels) can insert one leading space. Those apps report their placeholder text as if it were typed content, so there is no reliable way to tell an empty box from a full one. Typing or dictating anything into the box first avoids it.
## 0.1.9 (build 10) — 2026-07-08
### Fixed
- Long dictations no longer lose their endings: very long takes are cleaned in sentence-safe chunks, a new guard catches a model that trims or trails off and falls back to your exact words, and the output limit was doubled.
### Added
- Your raw words are saved to Recent dictations the moment they are transcribed, before any cleanup, so nothing is ever lost if a step fails.
- A live word count on the pill while you dictate, so you can see your words are being captured.
- Very long takes wrap up safely: a warning at four minutes, then an automatic finish at five.
## 0.1.8 (build 9) — 2026-07-08
### Fixed
- The welcome tour's Command Mode card now describes the actual gesture (double-tap) instead of contradicting its own chip.
## 0.1.7 (build 8) — 2026-07-08
### Added
- The Snippets settings now show the dynamic variables you can use: {date}, {time}, {datetime}, and {clipboard}.
### Changed
- The Getting Started guide recommends Msty for local models: free, no terminal, a few clicks.
- Release notes in the update window now read as clean sentences.
## 0.1.6 (build 7) — 2026-07-08
### Changed
- Command Mode's default gesture is now double-tap Command (was hold left Command). If you already picked your own gesture, nothing changes.
- Diagnostic logs and feedback now go to john@heypiclo.com.
- The Getting Started guide reflects the new default.
## 0.1.5 (build 6) — 2026-07-08
### Changed
- Short phrases up to five words now paste instantly more often: common word endings (thanks, dictated) no longer get mistaken for garbled dictionary terms and sent through a cloud round trip.
### Fixed
- The Guide tab no longer shows a keyboard shortcut that was removed.
- The fallback local model setting now links to the same how-to guide as the main local model setup.
## 0.1.4 (build 5) — 2026-07-08
### Changed
- The app is now named "Hey Piclo" everywhere, including the Applications folder and the permission panes. macOS may ask for Microphone and Accessibility once more after this update; one-time.
- The Getting Started guide is back inside the DMG.
## 0.1.3 (build 4) — 2026-07-08
### Fixed
- After an update, macOS may ask for Accessibility once more; the app now walks you to the right place. (One-time signature transition.)
- The menu bar status line is short again, so the menu is easy to scan.
- The Settings window now shrinks back down when you lower the text size, instead of keeping stale space on the right.
## 0.1.2 (build 3) — 2026-07-08
### Fixed
- The ghost "Thank you." Whisper sometimes added after your last sentence is gone: trailing silence is trimmed before transcription, and a final phrase is only ever dropped when it provably came from silence. A "thank you" you actually said is never touched.
- Starting dictation can no longer cut off a live Command Mode session (and vice versa); each gesture only stops its own kind of recording.
- Web research on the Claude engine works again (a wrong tool version made every research command silently fall back to a non-web model).
- Vault Mode is honest on fresh installs: no local model means Vault gives exact on-device dictation, and leaving Vault only lands on an engine that is actually set up.
- Editing text that opens with an apology no longer makes commands silently do nothing; words like "curl" or "link" no longer trigger fake web research; mentioning an AI model by name no longer escalates cost tiers; "make this a code snippet" edits instead of saving a snippet.
- Commands are no longer wrapped in dictation scaffolding, and a failed paid web search is not re-billed on another model.
- Gestures and shortcuts arm within seconds of granting Accessibility on first run; no relaunch needed.
- Long error messages fit the status pill, and the pill appears on the screen you are working on.
- Appending at the cursor reports honestly when the paste could not land.
### Changed
- Hardened the command prompt against instructions hidden inside selected text or the clipboard.
- Faster dictation cleanup on Gemini's default model.
## 0.1.1 (build 2) — 2026-07-07
First shareable beta.
### Added
- First-run setup window: gestures, live permission status, optional AI key.
- Getting Started guide, bundled in the app and in the DMG.
- Share Diagnostic Log menu item (content-free log, emailed to John).
- Default shortcuts: Control+Option+V toggles Vault Mode, Control+Option+D cycles the dictation level. Both rebindable.
- Sparkle auto-update with a real signing key: this build updates itself once the update feed is live.
### Fixed
- Vault Mode never refuses to turn on: without a local model it now switches to fully on-device raw dictation instead of failing silently.
- Snippet triggers no longer fire on ordinary speech about snippets (the "snippet at my address" false-expansion leak).
- Command Mode can no longer paste its internal prompt scaffolding when a cloud model returns an empty reply.
- Stuck recording when both Command keys were held and released across sides.
- Clipboard is preserved across overlapping dictations and word fixes.
- Dozens of smaller fixes from a full audit round (hotkeys, streaming, single-instance, packaging).
### Changed
- Sharing with Piclo Bot is now off by default on fresh installs.
- Keyboard shortcuts come alive right after Accessibility is granted, no relaunch needed.