Fixed: Fixed MeetMemo appearing not to reopen after you quit it while Claude Desktop or Cursor were connected. Those apps keep a small MeetMemo helper running in the background, and macOS was mistaking that helper for the app already being open β so clicking MeetMemo did nothing. It now relaunches properly, and your Claude/Cursor connection keeps working across the restart.
v3.7.1July 2026
Fixed: Fixed the upgrade screen getting cut off after your free meetings run out β it's been reorganised to fit the window, so the 'View Plans' and 'Enter license key' buttons are always reachable.
Fixed: Your licence is harder to lose. MeetMemo now stores its device identifier somewhere a preferences reset can't erase, fixing a rare case where a valid licence was deactivated and you were unexpectedly asked to re-enter your key.
v3.7.0Major releaseJuly 2026
Fixed: Quitting MeetMemo during a recording now stops and saves the recording first. Previously the app exited immediately and the entire meeting file was left unplayable.
Fixed: Fixed a family of silent recording failures: double-clicking Start can no longer corrupt a session or leave the microphone running, a full disk now stops the recording with a clear message instead of recording nothing, and two recordings started in the same minute no longer overwrite each other.
Fixed: The automatic meeting-end safety net no longer stops a live recording at the 10-minute mark when the transcription model has not finished downloading.
Fixed: Apple Notes results are reported honestly. If a note cannot be created you now see why (including when MeetMemo lacks the Notes permission), and if only the audio attachment fails the note is still created and you are told. Previously every failure was reported as success and the note silently never appeared.
Fixed: Recording while the transcription model was still downloading no longer loses the opening minutes of the meeting, and per-line timestamps no longer drift a couple of seconds on long recordings.
Fixed: Team license keys now unlock the app. A personal license can also no longer be deleted by a temporary server problem, a website outage, or reaching the seat limit β it is only removed when the server definitively reports it invalid or expired.
Fixed: Knowledge Base meetings are no longer indexed β and summarised β twice. Existing duplicates are cleaned up automatically on first launch, so Ask answers and action-item lists stop double-counting.
New: New privacy control: Settings β AI & Privacy has a "Share anonymous usage statistics" toggle. Analytics were already content-free (feature-usage counts only), and now you can switch them off entirely.
New: The model-download step in onboarding can be skipped. The download continues in the background and transcription starts working the moment it is ready.
Improved: Turning the MCP server off in Settings now genuinely disconnects Claude Desktop and Cursor, and date-based questions through MCP use your local timezone. Launches are also faster: the search-index maintenance step now correctly skips work it already did.
v3.6.3June 2026
Fixed: Fixed the summary model showing as "not installed" at launch when it was already downloaded β so you no longer have to open Settings and click Download for the app to notice it's there. MeetMemo was checking the wrong cache folder; it now looks where the model is actually stored and shows "Ready" straight away.
Improved: Faster startup. A background step that prepares your meetings for search used to redo all of its work on every launch, getting slower as your history grew. It now only processes new meetings, so launching stays quick no matter how many meetings you've recorded.
v3.6.2June 2026
Fixed: Fixed MeetMemo sometimes refusing to reopen β or to install an update β after you quit it while Claude Desktop or Cursor were connected. The background MCP server those apps run alongside MeetMemo could outlive the app and was mistaken for the app still running, so relaunching (and Sparkle's post-update relaunch) quietly gave up. MeetMemo now recognises those helpers for what they are and opens normally.
Fixed: The MCP server no longer lingers as an orphaned process. When Claude Desktop or Cursor disconnect, the helper now exits cleanly instead of piling up a stale copy on every restart.
v3.6.1June 2026
Improved: Smoother model-download progress. The percentage no longer sits at a misleading "0%" for the first ~23 MB of the 2.3 GB summariser model β it now shows fractional progress under 1% and a continuous progress bar in Settings and the menu bar, so you can see the download is actually moving.
Improved: Ask your meetings is smarter. Duplicate search results are gone, the answer is grounded in more distinct sources, and a new on-device query-expansion step quietly broadens acronyms and jargon (ask about "ICP" and it also looks for "ideal customer profile"), so answerable questions get answered more often. Retrieval is now a single shared path, so the sources shown are exactly the ones the answer used.
Fixed: Duplicate meetings in your searchable index are cleaned up automatically. A meeting that was indexed twice β once from its transcript and once from its Knowledge Base copy β is now recognised as one by a content fingerprint, so it stops showing up twice in search and no longer crowds out other relevant results. Existing duplicates are merged on launch; new ones can't form.
v3.6.0June 2026
Fixed: New transcription engine: speech-to-text now runs on NVIDIA Parakeet via the Apple Neural Engine instead of Whisper. It is dramatically faster and more accurate on European languages (English, Dutch, French, German, and 20+ more), and still runs 100% on your Mac β your audio never leaves the device. Requires an Apple Silicon Mac.
Fixed: Faster, more accurate meeting summaries. After benchmarking the latest on-device models (including Gemma 4 and Qwen 3.5) on real meetings, we switched the default summariser to Qwen 3 4B β it summarises better than the larger 8B model on long, multilingual meetings while downloading half the size and running about 2.5x faster.
Fixed: Reliability fixes from a deep code audit: licence expiry dates with fractional seconds are now parsed correctly (an expired licence could previously read as valid); meeting transcripts are saved to a permanent location instead of the system temporary folder (which the OS could purge); AI summaries no longer leak the model's internal reasoning; Knowledge Base recording-copy failures are now surfaced instead of silently dropped; and several potential crashes in the search index were hardened.
v3.5.1May 2026
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