Skip to content

MeetingNotes 1.12.3

Choose a tag to compare

@dbbaskette dbbaskette released this 25 Sep 17:42
a12b1b4

MeetingNotes 1.12.3

Release date: 2026-09-25

This stable release adds optional meeting groups to the local Mac app. The GitHub release is source-only; the Apple Silicon DMG and ZIP are built locally and are not attached to GitHub. The separate remote-processing beta is not included.

Highlights

Organize meetings without moving files

  • Use the compact selector in the Library to browse All meetings, one named group, or Ungrouped. Status filters, sorting, counts, pagination, and inline search follow that scope. Needs Attention, the processing queue, Weekly, and ⌘K quick search remain global; quick-search results show their group for context.
  • Create groups from the selector or while moving a meeting. Rename or delete the selected group from its options menu. Group names are unique regardless of case and ignore leading, trailing, and repeated whitespace.
  • Move one meeting from its row or detail view, or move a bulk selection. The move confirmation reports partial failures and offers Undo for successful changes. Deleting a group unassigns its meetings; it never deletes recordings, notes, or exports.
  • Each meeting can belong to one group. Existing meetings and imports remain ungrouped until moved. Group membership is SQLite metadata; meeting folders and audio paths do not change.

File new recordings as you capture them

The source picker and meeting-detected banner offer an optional Save to group choice. Recording still starts with one source click. Starting from a named Library group preselects it; otherwise capture defaults to Ungrouped. The choice survives recorder restart and recovery, and a deleted group falls back to Ungrouped. The capture session records this intent before the helper starts so a fast filesystem watcher cannot catalog the meeting first.

Upgrade and rollback

  • Requires macOS 14.2+ on Apple Silicon. Back up the meeting library before upgrading and keep the previous installer if you may roll back.
  • Database migration 17 adds the groups table and optional meeting/recording-session references. Existing rows are unchanged and ungrouped. The migration does not move or rewrite audio. Do not manually reverse the schema or delete the library to roll back; restore a pre-upgrade library backup if an older version cannot open it.
  • Local Whisper, pyannote, LLM, export, and Cloud Foundry settings are unchanged. No network service is introduced.

Verification

  • Production TypeScript/Vite build passed. Full Vitest suite: 119 files and 927 tests passed; 2 opt-in files and 6 tests skipped.
  • Sidecar tests: 9 passed. npm audit --omit=dev --audit-level=high reported 0 vulnerabilities.
  • The opt-in Library benchmark passed at 1,000 and 10,000 meetings. At 10,000 meetings, median group-scoped page/count queries were 0.137/0.604 ms versus 0.145/0.858 ms unscoped on the local fixture; these are synthetic query measurements, not UI latency promises.
  • New group storage, IPC, scoped search, cursor, catalog/recovery, capture-intent, and bulk-assignment paths have automated coverage. The new source files pass targeted ESLint. Repository-wide lint still has unrelated pre-existing errors.
  • A live recording and full visual smoke test against the user's library were not performed during feature development; the package build and artifact inspection are separate release checks.

Build locally

git clone https://github.com/dbbaskette/MeetingNotes.git
cd MeetingNotes
git checkout v1.12.3
npm install
npm run dist

Expected outputs: release/MeetingNotes-1.12.3-arm64.dmg and release/MeetingNotes-1.12.3-arm64-mac.zip. Verify the local artifact's version, signature, and checksum before distributing it. GitHub does not carry these binaries.

Known limitations

  • The local app uses an Apple Development certificate. Apple notarization is not configured, so the installer is not claimed as notarized.
  • A meeting can belong to only one group. Groups do not have nested folders, shared membership, or automatic classification.
  • The production renderer still lacks a Content Security Policy. No remote-processing capability is included in this stable release.

Full comparison: v1.12.2 → v1.12.3