Skip to content

v0.21.0

Choose a tag to compare

@silverstein silverstein released this 13 Jul 17:00
0e41793

Minutes v0.21.0

The Recall panel grows up, summarization goes fully on-device, and Live mode stops losing your sessions.

🎙️ Native chat panel for Recall (replaces the terminal by default)

Discuss-with-Agent is now a real chat surface, not a raw terminal — for everyone, not just developers.

  • Streaming replies with a "thinking" indicator the instant you hit enter — no more dead air on a cold start.
  • Live grounding narration — watch the agent read your memory in real time ("searching your meetings…", "checking commitments…") via a read-only scope on the Minutes MCP server.
  • Markdown rendering (bold, lists, inline + fenced code), rendered safely as the response streams.
  • Coach-mode UX: scroll-anchoring (scroll up to read a scripted paragraph aloud without getting yanked to the latest message — a "↓ new messages" pill appears instead), a compact header on small/teleprompter windows, and a clearly-labeled Terminal / Chat mode toggle.
  • The terminal is preserved as an opt-in Developer mode (Settings, or the header toggle).

🧠 On-device summarization via Apple Foundation Models (macOS 26+)

When available, Minutes now summarizes entirely on your Mac through Apple Foundation Models — no API key, nothing uploaded. Preferred automatically by engine = "auto" on supported machines.

💾 Live sessions are no longer ephemeral

Previously a minutes live session sat in a fixed slot that the next Live overwrote, and never became a real meeting. Now, on stop, Minutes preserves the audio/transcript out of the overwrite slot and (by default) promotes it into a diarized, summarized meeting in ~/meetings — just like Record. Configurable via [live_transcript] promote_on_stop (process / preserve / off).

🔒 Consent & governance

Agent-layer sensitivity enforcement (consent Phase 2 Wave 2): restricted meetings stay out of search, graph, and anything an agent assembles.

🛠️ Fixes

  • Screen-context screenshots retained and delivered to agent summarizers, coverage-bounded to the transcript actually sent.
  • Title generator no longer echoes its own prompt into filenames.
  • Multi-person strings ("Gert and Liam") no longer fuse into one person entity.
  • Screen-capture thread stops cleanly on every record-loop exit; build.sh --install can't hollow out the app on an App-Management denial.

🤖 Release prepared with Claude Code

🙏 Contributors

Huge thanks to the contributors who made this release:

  • @maosuarez — designed and built the native chat panel for Recall (#404), the foundation of this release's headline feature. The streaming, grounding narration, markdown, and coach-mode UX all build on his work.
  • @rymalia — screen-context reliability: screenshot retention + agent delivery with coverage-bounded sampling (#421), and a fix to stop the screen-capture thread cleanly on every record-loop exit (#427).

New contributors are always welcome — see CONTRIBUTING.md.