Fixed: On-disk model cache detection now correctly recognises already-downloaded weights after upgrading. Previously, even when a model's weights were fully downloaded to the HuggingFace cache, the Settings UI would show "Download" instead of "Ready" β the inference itself worked fine, but the badge was wrong. Root cause: the detector looked at the cache repo dir directly, but HuggingFace stores the actual files under snapshots/<revision>/. Fixed to probe the snapshot subdirs.
v3.5.0Major releaseMay 2026
New: Meeting-end nudge: when the recorder detects the meeting has likely ended (sustained silence + closing phrases like "tot ziens" / "see you" / "merci Γ bientΓ΄t" + audio shrinkage), a dismissible banner appears above the Stop button so you don't accidentally keep recording through post-meeting small-talk. The banner is dismissible via Snooze (5-min cooldown) and never auto-stops except as a 10-min last-resort safety net.
Fixed: Summary.md is now actually written to your Knowledge Base folder. Since v3.1's switch to the on-device summariser, the summary file was silently never written for any meeting β only the transcript and audio were saved. The summary is now plumbed through and writes the on-device Markdown directly without a lossy HTML conversion step.
Fixed: Indexed meetings now carry the classifier's chosen theme ("Sales", "Engineering", etc.) instead of always being tagged with whatever theme happened to sort first in your list. Fixes a bug where every meeting got bucketed into the same theme regardless of content.
Improved: Faster summarisation for typical English hour-long meetings on Qwen 3 8B: per-model context budget raised from 6K to 14K tokens, which lets a 60-min meeting (~12K tokens) fit in a single inference pass instead of a 3β4-round map-reduce. Phi-4 Mini stays on its validated 6K tuning.
Improved: On long discussion meetings where the main summariser would previously emit "(none)" for every Decision / Action / Follow-up section, a backup extraction pass now recovers grounded bullets directly from the source transcript. Adds ~15s only when the main summary returned empty bullets β short structured meetings are unaffected.
Improved: Recording file copy to your Knowledge Base no longer freezes the menu bar UI. The "Saving to Knowledge Baseβ¦" status now returns immediately while the copy continues in the background β noticeable on iCloud Drive / external disk / network share destinations where the copy can take seconds to minutes.
v3.4.3May 2026
Fixed: MCP subprocesses no longer create extra menu bar icons. When Claude Desktop or Cursor spawns the app with --mcp-stdio, that subprocess now skips all UI setup; only the GUI copy of the app shows a waveform icon.
Fixed: Settings and the menu bar popover re-detect the on-disk model cache every time they open. Previously, if the LocalSummariser singleton was first touched off-main during knowledge-base index backfill, its @Published state could stay at .idle and the user would see a Download button for a model that was already on disk β clicking Download was the only way to trigger a re-check.
v3.4.2May 2026
New: Attendees in meeting notes are now populated by the on-device summariser. Names mentioned in the conversation (vocatives, self-introductions, third-person references) are extracted and listed in the Attendees section of Apple Notes. Honest about scope: people who never get named won't appear, and per-turn speaker attribution still requires acoustic diarization (planned for v3.5.0).
Fixed: Tight anti-fabrication prompt with hard rules against role/title/company strings, generic Speaker/Person placeholders, and invented names. Defensive parser strips trailing role hints ("Sarah - sales lead") and rejects placeholder patterns even if they survive the prompt. Caps at 8 names, dedupes case-insensitively.
Improved: Shared <think>-block stripping helper for Qwen's occasional reasoning leakage despite /no_think; used by both the new attendees pass and the existing question-suggestion path.
v3.4.1May 2026
Fixed: MCP search and synthesize tools now use hybrid lexical + semantic retrieval (matching the in-app Ask flow). Multi-concept and jargon-heavy queries from Claude Desktop / Cursor that previously returned zero hits now surface relevant chunks.
Fixed: Meeting summary parser now preserves prose under Key decisions / Action items / Follow-ups headers when the on-device model writes sentences instead of bullets β sections no longer silently render as empty.
Fixed: Apple Notes summaries no longer show 'Attendees: Unknown' or 'None recorded' placeholder bullets when the section has no content. Empty sections are omitted instead of pretending the pipeline ran and found nothing.
v3.4.0Major releaseApril 2026
New: New default summariser: Qwen 3 8B (4.6 GB at 4-bit, Apache 2.0). Trained on 119 languages with substantially better Dutch / French / German / Spanish output than Phi-4 Mini. Tested across four real fixtures (Dutch sales demo, English standup, hiring screen, sales discovery) β Dutch transcripts now produce real Dutch summaries with grounded action items, not English drift.
New: Qwen 3 4B option for 8 GB Macs β same 119-language coverage, ~2.3 GB download (same footprint as Phi-4 Mini). Available in Settings β Second Brain.
Improved: Phi-4 Mini and Llama 3.1 8B kept as alternative options for users who already have those weights downloaded. Phi-4 Mini is no longer the default because of its English-bias on non-English transcripts.
Fixed: Qwen models default to thinking mode (chain-of-thought before answer); we now prefix user messages with `/no_think` to bypass that. Without it the model would emit reasoning that blew through the output budget before reaching the actual summary. Theme classifier and Ask suggestions also use the same prefix.
Fixed: Defensive `<think>β¦</think>` block stripping in theme classifier + suggestion paths. Even with `/no_think` Qwen sometimes emits thinking tags; the strippers ensure those never leak into the UI.
v3.3.1April 2026
Fixed: Summary section no longer repeats the same sentence 12 times. The on-device summariser occasionally falls into a phrase-level loop. The post-recording flow now de-duplicates repeated sentences and bullets before saving β the token-level repetition penalty stays conservative because higher penalties caused worse output (run-on gibberish).
Fixed: Bullet items using en-dash (β) or em-dash (β) instead of plain hyphen are now parsed correctly. Phi-4 sometimes emits Unicode dash variants; the parser used to silently drop those bullets so sections appeared empty when they actually had content.
Fixed: Theme classifier no longer creates duplicate folders when the model emits `PROPOSE: Hiring` even though Hiring was already in the known themes list. We now promote `PROPOSE: <name>` to `EXISTING: <name>` whenever the proposed name matches an existing theme case-insensitively.
Improved: Section / bullet caps in summary output β each section caps at a sensible number of bullets, and duplicate bullets get de-duplicated. A runaway model can no longer dump 50 bullets in one section.
v3.3.0Major releaseApril 2026
New: Ask your meetings now produces direct answers β not just snippets. Type a question and you get a synthesised paragraph at the top, citing the specific moments it came from. Sources are still listed underneath so you can verify and click through to the original transcript.
New: Copy last transcript β new menu-bar button (next to Ask your meetings) that puts the most-recent meeting's transcript on your clipboard in one click. Useful for pasting into emails, Slack messages, or other AI tools.
Fixed: Multiple menu-bar icons after upgrade β the app now refuses to start a second copy of itself. If you drag-update from a DMG without quitting first, the new copy activates the existing one and exits cleanly. No more two or three waveform icons in the menu bar.
Improved: β₯β§M now opens Ask your meetings directly. The standalone Spotlight-style modal that shipped in v3.0 has been folded into the Ask window β same hybrid keyword + semantic search, but a single surface instead of two.
Improved: Better onboarding when the on-device summariser hasn't been downloaded yet. The menu-bar popover now shows a Download button for users who skipped during onboarding, and the after-recording flow surfaces a one-click Download CTA instead of a dead-end error message. Failed downloads get a Retry button right where you'd expect it.
Improved: Synthesised answers cite at least one source per factual claim, copy numbers / names / deadlines verbatim from the transcript, and refuse to fabricate when the sources don't support an answer. Calibrated against five real test queries (English + Dutch) β pricing answers no longer hallucinate dollar figures.
v3.2.1April 2026
Fixed: Apple Notes formatting β meeting notes are now properly structured (headings, bullets, paragraphs) instead of one wall of text with literal `#` and `##` characters. The on-device summariser produces Markdown; we now render it through the structured-HTML pipeline before sending to Apple Notes.
Improved: Phi-4 chat template now properly applied via `UserInput(chat: [.system, .user])`. The previous build sent raw text without the `<|system|>...<|end|><|user|>...<|end|><|assistant|>` markers, dropping the model into continuation mode and significantly increasing hallucination.
Improved: Anti-hallucination prompt + grounding rules calibrated through six live-test iterations against a real Dutch transcript. Generic fabricated owners (`@Project Manager`, `@HR Team`, `@Finance Team`, `@UI Designer`, `@All`) are now explicitly forbidden. Fabricated topics (rounding 'data sync' up to 'data protection regulations', etc.) are explicitly called out.
Improved: Language lock β output now matches the transcript's language across all sections (title, abstract, decisions, action items, follow-ups). Previously a Dutch transcript would summarise in English.
Improved: Repetition penalty (1.10) on inference to prevent the rare token-loop failure mode where a 4-bit model gets stuck repeating the same phrase.
Improved: Theme classifier uses a clearer decision tree β vendor demos and sales pitches now classify as Sales (not Customer Support).
Fixed: On-device summariser auto-detects already-installed weights at app startup. Previously the Settings UI showed Download even when the model was already downloaded; one had to click Download to trigger a re-check.
v3.2.0Major releaseApril 2026
New: Hybrid search in Ask your meetings β typing 'pricing' now also surfaces chunks that talked about 'rates' or 'tariffs'. Combines BM25 keyword search with cosine similarity over sentence embeddings via Reciprocal Rank Fusion.
New: Sentence-level on-device embeddings via Apple's NLContextualEmbedding (BERT-derived, multilingual). Replaces word-vector averaging that was blind to sentence semantics. Falls back to NLEmbedding for languages without contextual model assets.
New: Match-kind chip on every Ask / Spotlight result β colour-coded so you can tell at a glance whether a hit came from keyword (blue), semantic (purple), or both (green). Helps calibrate trust when a non-keyword match surfaces.
New: Spotlight search (β₯β§M) gains the same hybrid retrieval β cross-meeting semantic search from anywhere on your Mac.
Improved: Background contextual-embedding backfill β old meetings get sentence vectors added alongside their existing word-vector embeddings without losing summaries, action items, or any other indexed data. Idempotent and runs once per launch in the background.
New: Vector similarity for find_related β meeting-to-meeting recommendations now use cosine similarity over per-meeting centroid embeddings, with graceful lexical fallback. Surfaces topical neighbours even when no keywords overlap.
Improved: Gemini cloud summarisation code retired in full β SummarisationManager.shared is now the single summarisation entry point. v3.0+ has been local-only, this cleans up the dead Gemini path.
Improved: PostHog event audit β search analytics now record match-kind distribution per query (lexical / vector / hybrid), so we can see how often semantic-only matches surface useful results.
v3.0.2April 2026
Improved: Settings β Meeting Summaries now clearly shows the summariser's readiness state. The language picker is disabled and an inline notice appears until the on-device model has finished downloading and loading β no more 'looks like it's working' when the model is still 80% downloaded.
Improved: Download progress now formats as MB / GB instead of raw bytes β '1.18 GB of 2.4 GB' instead of '1.234.567.890 of 2.177.574.851'.
Fixed: Post-recording summary path now exits cleanly with a clear status message when the on-device model isn't ready, instead of silently kicking off a multi-gigabyte download mid-flow.
v3.0.1April 2026
New: Phi-4 Mini support β the default on-device summariser is now Microsoft's Phi-4 Mini Instruct (3.8B params, ~2.4 GB at 4-bit). Migrated to Apple's new mlx-swift-lm library which supports tied embeddings and partial rotary embeddings β both required by Phi-4.
Improved: Bumped WhisperKit to 0.18.0 and swift-transformers to 1.1.9 β opens the path to ~50 model architectures via mlx-swift-lm (Gemma 3, Qwen 3, Llama 3.2, GLM 4, etc.) for future model options.
Fixed: Click-Download for the on-device summariser no longer crashes the app β the previous build's Phi-4 path failed in mlx-swift-examples 1.18.2's Phi3Model loader because it didn't recognise tied embeddings or partial RoPE.
v3.0.0Major releaseApril 2026
New: Fully-local AI summarisation β meetings are now summarised on-device via Apple MLX (Phi-3.5 Mini default ~2.2 GB, Llama 3.1 8B optional ~4.5 GB). Audio, transcripts, embeddings, and summaries never leave your Mac.
New: Local meeting index β every meeting is chunked, embedded, and indexed in a local SQLite + FTS5 database. Auto-backfills your existing Knowledge Base on launch.
New: Ask your meetings β new menu-bar button opens a search window over your full meeting history with per-meeting question suggestions generated on-device.
New: Spotlight-style global hotkey (β₯β§M) β search every meeting from anywhere on your Mac without opening the app.
New: MCP server (Model Context Protocol) β Claude Desktop, Cursor, and other AI tools can read your meetings directly. One-click setup writers for Claude Desktop and Cursor in Settings β Connect AI.
New: Eight MCP tools: search_meetings, get_transcript, get_transcript_text, find_related, list_action_items, get_context_for_date, summarize_meeting, synthesize. All filterable by date range and theme; cross-meeting synthesis with citation extraction.
New: MCP resources (meetmemo://meeting/{id}) β meetings can be attached to AI conversations directly by URI.
New: Live index status in Settings β see how many meetings are queued or indexed, with auto-pause under low battery or thermal throttling.
Improved: Map-reduce summarisation for long meetings β the summariser automatically chunks and reduces transcripts that exceed the on-device model's context window, so multi-hour meetings still get clean structured summaries.
Improved: Smart context sampling for theme classification and question suggestions β head + middle + tail of long transcripts so themes and questions surface from anywhere in the meeting, not just the first few minutes.
Improved: FTS5 query parser now supports OR / AND / NOT / NEAR operators and quoted phrases β "deadline OR action OR todo" works as expected.
Improved: LLM-extracted action items at index time β replaces the regex heuristic that didn't work in Dutch or French.
Improved: Local-first repositioning β Settings, Knowledge Base copy, and onboarding now reflect that no audio, transcript, or summary ever leaves the Mac.
Fixed: IndexStore.shared now runs migrations on init β fixes 'no such table: chunks_fts' errors when MCP tools were called from Claude Desktop.
Fixed: Transcript chunker now recognises the [MM:SS] WhisperKit format β start_ms now flows through search results correctly (was always 0).
Fixed: Backfilled meeting titles use the folder name (e.g. '20260427 Website Redesign') instead of the literal 'Transcript' filename.
Fixed: MCP meeting_id schema corrected from integer to string β get_transcript, find_related, and list_action_items are now reachable from Claude Desktop.
Fixed: Reset & retry button in Settings clears partial model downloads before retrying β fixes the 'click Download β app dies' loop after an interrupted download.
Fixed: Default Developer ID signing for the embedded Sparkle and MLX frameworks β fixes the cross-Team-ID dyld load failure that prevented v3.0 from launching at all on first install.
Improved: Minimum macOS bumped to 14.0 (mlx-swift-examples requires it).
v2.5.3March 2026
Fixed: Fix meeting notes showing raw JSON with literal \n markers instead of formatted content in Apple Notes
v2.5.2March 2026
Fixed: Fix Apple Notes crash caused by problematic Unicode characters in transcripts
v2.5.1March 2026
Fixed: Fix app freeze when starting a recording
Fixed: Fix notarization for macOS Gatekeeper approval
v2.5.0Major releaseMarch 2026
New: Knowledge Base β auto-organized local folder with summaries, transcripts, and recordings in Markdown
New: AI folder classification β Gemini sorts meetings into your custom folders by company, project, or client name
Improved: Bluetooth microphone support β audio resampling for AirPods and other Bluetooth headsets
Improved: Higher recording gain for Bluetooth/AirPods microphones
Fixed: Fixed folder classification defaulting to General even when company name was in transcript
Fixed: Fixed HTML-to-Markdown list items merging onto a single line
Fixed: Fixed AI summarization timeout on long meetings (async polling architecture)
Fixed: Fixed Apple Notes crash caused by unsanitized HTML content
v2.4.0Major releaseMarch 2026
New: AI-generated meeting titles β notes are now titled YYYYMMDD plus a short descriptive title inferred by Gemini
New: Notes language setting β choose the language for meeting notes independently from transcription
Improved: Transcripts always remain in the original spoken language, even when notes are in a different language
Fixed: Fixed WhisperKit special token artifacts appearing in transcripts
Improved: Improved note formatting with section spacing and H1 stripping for Apple Notes
Fixed: Fixed dual audio player rendering on macOS 15+
v2.3.3March 2026
New: In-app auto-updates via Sparkle β the app now checks for and installs updates automatically
Improved: Check for Updates menu now triggers native update dialog instead of opening browser
v2.3.2March 2026
Fixed: Improved audio recording quality β retuned AGC and soft limiter to eliminate compression artifacts and clipping distortion
Improved: Asymmetric AGC attack/release for natural-sounding dynamics