v0.3.3 — 2026-05-19
Fixed
- Hook installer reachable in production install — when ai-talkie was installed from the DMG into
/Applications, the bundled hook scripts directory was unreachable, so Settings → Integrations showed every adapter besides Claude Code as “Coming Soon”, four lifecycle hooks added in v0.3.2 (InstructionsLoaded / TaskCreated / Elicitation / ElicitationResult) failed to register, and the “Fix Hooks” button reported “install-hooks.sh not found at: //scripts/install-hooks.sh”. The hook scripts are now bundled into the app’s Resources directory and discovered there first. Dev iteration from a checked-out repo is unaffected.
v0.3.2 — 2026-05-19
Added
- Language picker for transcription — Settings → STT lets you pick the source language (System / English / 中文 / 12+ more, BCP-47 list). Previously transcription always followed the system language; now you can lock it explicitly when your spoken language differs from the OS locale.
- Visual link on voice paste — when voice text drops into the focused window, a brass particle stream now flows from the Notch down to the target window's title bar, drawing your eye back to where the text landed.
- Inline conversation pairing in the Notch — the expanded session row now pairs each Claude response with the prompt that triggered it (
> question+← answer), and shows the last assistant message directly in the marquee. The Notch also plays a short audio cue for major lifecycle events (start / Stop / approval), with a graceful spoken fallback when no audio file is present. - Hook coverage expanded — the app now reacts to 19 Claude Code event types (was 15), including new lifecycle hooks like Elicitation / ElicitationResult / InstructionsLoaded / TaskCreated.
- Remote enhance prompt override — the cloud-side LLM post-processing prompt is now configurable from the AppSettings file and can be overridden centrally without shipping a new app build.
Changed
- Settings overhaul (round 2) — Microphone moved into Lab, Permissions consolidated under General, STT pulled into its own carve-out section, Logs and Danger Zone added to General, pay-go layout trimmed. The Account → Reopen Onboarding entry now lives under About, and Integrations stops showing Usage.
- Cloud Engine UI simplified — replaced the dual Engine + preferStreaming toggle (plus Configure / Disable buttons) with a single Engine toggle and a separate WS Proxy toggle. The connection state (Active / Connecting / Disconnected) is now visible inline. Turning Cloud off immediately stops the WebSocket retry loop instead of letting it thrash in the background.
- Default streaming endpoint moved to
api.aitalkie.io— earlier builds hardcodedworkers.devfor the v3 WS endpoint, which was unreachable from mainland China without a proxy. Users behind GFW now connect directly toapi.aitalkie.io. If you need a SOCKS5 / HTTP proxy anyway, Settings → STT → WS Proxy still supports it. - Enhance prompt v2a-2 — the LLM post-processing prompt now preserves the input language more conservatively. No more “Chinese input, English answer back” surprises when the enhance layer kicks in.
Fixed
- WebSocket idle-state guard — closing Cloud no longer triggers an endless reconnect loop. The disconnect path now correctly handles user-initiated close vs lifecycle close.
- Exponential backoff reset — the retry delay now resets only after a successful handshake, not on every
open()call, so flaky networks no longer get repeatedly hammered at the initial 1 s interval. - Stop-hook curl no longer leaks — the background
&reaper pattern in the bash status hook was leaving zombie curl processes; switched to foreground curl with a tight timeout. - Hardcoded endpoint URL leak — all cloud endpoints now go through a single URL helper, preventing the kind of “one endpoint switched, another didn’t” drift that previously needed a hotfix.
v0.3.1 — 2026-05-12
Changed
- Version naming switched to plain SemVer — moving from
0.3.0-beta.Nto0.3.1/0.3.2/ …, dropping the explicit-beta.Nprerelease tag. The product is still in beta, but the cleaner naming improves automatic update reliability and matches industry convention for patch releases.
Fixed
- Sparkle automatic update prompt — previous builds wrote a semver string (e.g.
0.3.0-beta.6) intoCFBundleVersion, which caused Sparkle's version comparator to misorder prereleases and incorrectly report "you're up to date" when a newer release was actually available.CFBundleVersionis now a monotonic integer build number (per Apple Generic Versioning), withCFBundleShortVersionStringstill showing the user-visible version. Existing beta.5 / beta.6 users finally receive the upgrade prompt starting with this release.
v0.3.0-beta.6 — 2026-05-11
Added
- Three new CLI agent integrations — install hooks directly from Settings → Integrations for Gemini CLI (Google), Qoder, and Code Buddy (Tencent Cloud). Each integration coexists with any existing third-party plugins, shows real-time Active / Available status, and sessions from these agents appear in the Notch UI Session List with the correct provider badge on the right of the row.
- Session detail fully wired — expanding a session row now shows the real approval command preview (
$ rm -rf …instead of generic activity text), TodoWrite progress with per-task checkboxes, and the running / completed subagent tree. Click an approval Yes / No / Always Allow and the button disappears immediately (no stale window). - Notch UI Layer 0 polish — context %, plan name, model name, and CLI provider badge now display correctly. Earlier builds rendered "—" and empty fields for these.
Fixed
- OpenCode adapter probe — Settings → Integrations → OpenCode now correctly reports "Active" after install (previously stuck on "Available" forever).
- Multi-vendor session lifecycle — sessions from CLI agents that don't write status files to disk (Gemini, Qoder, Code Buddy) no longer flicker in-and-out of the Session List on every refresh tick.
v0.3.0-beta.5 — 2026-05-10
Added
- Onboarding flow streamlined — first-launch onboarding skips the upfront microphone-permission step (deferred to first PTT use). Sparkle's auto-update probe is delayed 30 seconds after launch so it no longer competes with onboarding focus. The welcome chime is gated to only play on truly-first launch. "Check for Updates" works correctly even before the auto-checker has booted. Runtime-revoked Accessibility permission now surfaces the AX banner inline in the Notch UI instead of relaunching the onboarding window.
- Experimental: Usage from Codexbar CLI (Settings → Lab) — display Plan / 5h / 7d / extra-rate windows from one or more local
codexbarCLI commands as Notch tabs. Configure up to 5 commands with per-row Test & Save, pick a polling interval (5 / 15 / 30 min), and see real-time remaining % with color-coded thresholds (green ≥70% / amber 20-69% / red 10-19% / bold red <10%). Disabled by default; requires CodexBar installed locally. Defaults to a single Claude provider via OAuth source for proxy-friendly operation; add more rows to track other providers.
Fixed
- AX banner visual polish — the accessibility-needs-permission banner now follows the Approval banner visual language (amber semantic, monospaced caption, hover state). Banner click correctly routes to Settings without intercepting other clicks (fixes an earlier regression where the banner area was eating screen-top clicks across the whole width).
v0.3.0-beta.4 — 2026-05-08
Added
- ASR waiting cursor — the recording state now shows a blinking cursor placeholder before the first transcription frame arrives, with smooth flow into the streaming text.
- Clipboard-mode landing hint — when voice text lands via clipboard paste (Mode B), the in-notch ASR strip shows a "Pasted to clipboard" hint instead of a system notification popup.
Fixed
- Voice paste reliability — clipboard-restore timing tuned to fix a race against Ghostty's paste handler. The Mode A direct-inject path is now hardened against rapid consecutive PTT presses and Esc-cancel-then-PTT sequences.
- Virtual notch on non-notched displays — on external monitors and Macs without a display notch, ai-talkie now renders a virtual notch overlay covering the menu bar so the UI experience stays consistent across all Mac models. Marquee text is also vertically centered.
- Accessibility permission edge cases — when Accessibility permission silently fails (revoked, codesign drift, etc.), the app now degrades gracefully and surfaces a clear re-grant prompt instead of failing silently. Version display is now consistent across all surfaces.
v0.3.0-beta.3 — 2026-05-08
- Intel Mac support restored — the main app now ships as a Universal binary (arm64 + x86_64). Intel-based Macs running macOS 14 Sonoma (2019–2020 MacBook Pro, Intel iMac, etc.) can now install and launch the app. Previous beta.2 builds were Apple Silicon–only by accident; existing beta.2 users receive this update automatically through Sparkle.
v0.3.0-beta.2 — 2026-05-07
- Settings overhaul (7-tab IA) — rebuilt as Account / General / Integrations / Audio / Personalization / Lab / About. Voice Engine moved into Audio. Experimental panes consolidated under Lab. Gift Card redeem, Hooks doctor, and Display picker are now first-class.
- Notch is the only surface — the menu bar icon and the Auto-Accept toggle have been retired. Approval flow lives entirely in the notch; every permission request is now manually approved.
- Onboarding tuned — the app no longer prompts on every launch. The first-run window now shows Continue / Skip dual buttons.
- CLI integrations expanded — Codex and OpenCode adapters shipped alongside Claude Code and OpenClaw. Install / uninstall directly from the Integrations tab.
- Stability — major refactor of
AppControllerandNotchView(~5500 → ~2000 lines across 22 files). HealthTicker (12-counter / 9-probe) wires diagnostics into the in-app activity log.
v0.3.0-beta.1 — 2026-04-30
Initial public beta — release pipeline technical validation (signed + notarized + stapled .app and DMG, Sparkle EdDSA appcast, Cloudflare R2 distribution).