Releases: pasrom/meeting-transcriber
v0.5.1-rc4
MeetingTranscriber 0.5.1-rc4
Installation
Via Homebrew (recommended):
brew tap pasrom/meeting-transcriber
brew install --cask meeting-transcriberManual:
- Download the DMG below
- Mount it and drag MeetingTranscriber to Applications
SHA256
40ce0179ee271358ecd6862b7e2303b826ffac150c84fa33e91a7bbb49d7e5d1
What's Changed
🐛 Bug Fixes
- fix: security hardening (path traversal, file permissions, shell quoting) by @pasrom in #97
- fix(app): add KMeans crash recovery for FluidDiarizer by @pasrom in #98
- fix(build): staple notarization ticket to .app and DMG by @pasrom in #91
📖 Documentation
Full Changelog: v0.5.1-rc3...v0.5.1-rc4
v0.5.1-rc3
MeetingTranscriber 0.5.1-rc3
Installation
Via Homebrew (recommended):
brew tap pasrom/meeting-transcriber
brew install --cask meeting-transcriberManual:
- Download the DMG below
- Mount it and drag MeetingTranscriber to Applications
SHA256
c5285c833411027e319d0f9b305ede3a93ab88486734b58cbf098b91ad7f4380
What's Changed
🚀 Features
- feat(app): permission health check — detect broken TCC entries by @pasrom in #90
- feat(build): add Homebrew beta cask for pre-releases by @pasrom in #94
🐛 Bug Fixes
- fix: correct sample rate detection for Bluetooth devices by @pasrom in #85
- fix(ci): scope RC changelog to previous RC instead of last stable release by @pasrom in #93
🧹 Maintenance
- test: close critical test coverage gaps (+72 tests) by @pasrom in #86
- test(app): add missing SwiftUI view tests by @pasrom in #87
- test(app): add minor view test gap coverage by @pasrom in #88
- test(app): add E2E integration tests by @pasrom in #89
- build(deps): bump github.com/fluidinference/fluidaudio from 0.13.4 to 0.13.6 in /app/MeetingTranscriber by @dependabot[bot] in #92
📖 Documentation
Full Changelog: v0.5.1-rc2...v0.5.1-rc3
v0.5.1-rc2
MeetingTranscriber 0.5.1-rc2
Installation
Via Homebrew (recommended):
brew tap pasrom/meeting-transcriber
brew install --cask meeting-transcriberManual:
- Download the DMG below
- Mount it and drag MeetingTranscriber to Applications
SHA256
3d1ea09e95929800fd34c0696b41bcb930537a3e2449ec2dae61d5a34f045148
What's Changed
🚀 Features
- feat: add App Store build variant with APPSTORE flag by @pasrom in #29
- feat: use PowerAssertionDetector for meeting detection by @pasrom in #30
- feat(app): add custom protocol output directory by @pasrom in #34
- feat(app): add elapsed time display to pipeline stages by @pasrom in #36
- feat: add NVIDIA Parakeet TDT v3 as alternative ASR engine by @pasrom in #51
- feat: add Qwen3-ASR as third transcription engine (macOS 15+) by @pasrom in #52
- feat(app): pipeline warnings — surface non-fatal issues in menu bar by @pasrom in #60
- feat(app): merge consecutive same-speaker segments + pipeline warnings integration by @pasrom in #61
- feat(app): configurable protocol output language by @pasrom in #62
- feat(app): None LLM provider + graceful protocol generation fallback by @pasrom in #63
- feat(app): add VAD preprocessing via FluidAudio Silero v6 by @pasrom in #76
- feat(app): add custom vocabulary support for Parakeet CTC boosting by @pasrom in #77
- feat(app): add Sortformer diarizer mode for overlap-aware speaker diarization by @pasrom in #78
🐛 Bug Fixes
- fix(build): apply entitlements for App Store builds without notarization by @pasrom in #33
- fix(app): update Accessibility permission description by @pasrom in #35
- fix(app): fix menu bar icon staying inactive during file processing by @pasrom in #43
- fix(app): exclude manual recording from isWatching state by @pasrom in #44
- fix(app): show error message in job row by @pasrom in #45
- fix(app): mark recording as processed when job fails by @pasrom in #46
- fix(app): improve mic device change handling with testable restart policy by @pasrom in #58
- fix(app): hardening — crash prevention, thread safety, filename sanitization by @pasrom in #59
- fix: detect actual channel count to prevent Mickey Mouse with mono USB devices by @pasrom in #67
- fix(app): resolve SwiftFormat 0.60.1 lint violations by @pasrom in #75
- fix: harden USB audio sample rate detection by @pasrom in #65
🧹 Maintenance
- build(app): remove unnecessary entitlements by @pasrom in #26
- refactor(app): use sandbox-compatible paths in AppPaths by @pasrom in #28
- refactor(app): use macOS Keychain for secret storage by @pasrom in #27
- ci: add App Store build to release workflow by @pasrom in #31
- perf(app): cache MenuBarIcon animation frames at startup by @pasrom in #38
- build(deps): bump actions/github-script from 7 to 8 by @dependabot[bot] in #39
- build(deps): bump github.com/fluidinference/fluidaudio from 0.12.3 to 0.12.4 in /app/MeetingTranscriber by @dependabot[bot] in #40
- build(deps): bump github.com/argmaxinc/whisperkit from 0.16.0 to 0.17.0 in /app/MeetingTranscriber by @dependabot[bot] in #41
- refactor(app): extract AppState ViewModel + BadgeKind.compute pure function by @pasrom in #49
- refactor(app): normalize all recorded audio to 16kHz at capture time by @pasrom in #50
- test(app): comprehensive test coverage improvements by @pasrom in #56
- test(app): add workflow integration tests for pipeline by @pasrom in #55
- test(app): add FFT-based frequency preservation tests for AudioMixer by @pasrom in #57
- chore(app): update dependencies to latest compatible versions by @pasrom in #64
- chore(app): update FluidAudio to 0.13.4 by @pasrom in #74
- build(deps): bump github.com/pointfreeco/swift-snapshot-testing from 1.19.1 to 1.19.2 in /app/MeetingTranscriber by @dependabot[bot] in #81
- build(deps): bump github.com/argmaxinc/whisperkit from 0.17.0 to 0.18.0 in /app/MeetingTranscriber by @dependabot[bot] in #80
📖 Documentation
- docs(docs): add branch protection rules to CLAUDE.md by @pasrom in #25
- docs: update WhisperKit dual-source API references by @pasrom in #37
- docs: complete architecture docs for Parakeet + Qwen3 engines by @pasrom in #53
- docs: update README for Parakeet and Qwen3 transcription engines by @pasrom in #54
- docs: update documentation to match current codebase by @pasrom in #68
- docs: update CLAUDE.md to match current codebase by @pasrom in #71
- docs: remove non-existent generate_test_audio_10speakers.sh from CLAUDE.md by @pasrom in #72
- docs: update documentation to match current codebase by @pasrom in #73
Other Changes
Full Changelog: v0.4.1...v0.5.1-rc2
v0.5.1-rc1
MeetingTranscriber 0.5.1-rc1
Installation
Via Homebrew (recommended):
brew tap pasrom/meeting-transcriber
brew install --cask meeting-transcriberManual:
- Download the DMG below
- Mount it and drag MeetingTranscriber to Applications
SHA256
0fe50eb9bf4834309228fcf9a9ae28acd2bea247b1eab22431b66944bfd4aac1
What's Changed
🚀 Features
- feat: add App Store build variant with APPSTORE flag by @pasrom in #29
- feat: use PowerAssertionDetector for meeting detection by @pasrom in #30
- feat(app): add custom protocol output directory by @pasrom in #34
- feat(app): add elapsed time display to pipeline stages by @pasrom in #36
- feat: add NVIDIA Parakeet TDT v3 as alternative ASR engine by @pasrom in #51
- feat: add Qwen3-ASR as third transcription engine (macOS 15+) by @pasrom in #52
- feat(app): pipeline warnings — surface non-fatal issues in menu bar by @pasrom in #60
- feat(app): merge consecutive same-speaker segments + pipeline warnings integration by @pasrom in #61
- feat(app): configurable protocol output language by @pasrom in #62
- feat(app): None LLM provider + graceful protocol generation fallback by @pasrom in #63
🐛 Bug Fixes
- fix(build): apply entitlements for App Store builds without notarization by @pasrom in #33
- fix(app): update Accessibility permission description by @pasrom in #35
- fix(app): fix menu bar icon staying inactive during file processing by @pasrom in #43
- fix(app): exclude manual recording from isWatching state by @pasrom in #44
- fix(app): show error message in job row by @pasrom in #45
- fix(app): mark recording as processed when job fails by @pasrom in #46
- fix(app): improve mic device change handling with testable restart policy by @pasrom in #58
- fix(app): hardening — crash prevention, thread safety, filename sanitization by @pasrom in #59
- fix: detect actual channel count to prevent Mickey Mouse with mono USB devices by @pasrom in #67
🧹 Maintenance
- build(app): remove unnecessary entitlements by @pasrom in #26
- refactor(app): use sandbox-compatible paths in AppPaths by @pasrom in #28
- refactor(app): use macOS Keychain for secret storage by @pasrom in #27
- ci: add App Store build to release workflow by @pasrom in #31
- perf(app): cache MenuBarIcon animation frames at startup by @pasrom in #38
- build(deps): bump actions/github-script from 7 to 8 by @dependabot[bot] in #39
- build(deps): bump github.com/fluidinference/fluidaudio from 0.12.3 to 0.12.4 in /app/MeetingTranscriber by @dependabot[bot] in #40
- build(deps): bump github.com/argmaxinc/whisperkit from 0.16.0 to 0.17.0 in /app/MeetingTranscriber by @dependabot[bot] in #41
- refactor(app): extract AppState ViewModel + BadgeKind.compute pure function by @pasrom in #49
- refactor(app): normalize all recorded audio to 16kHz at capture time by @pasrom in #50
- test(app): comprehensive test coverage improvements by @pasrom in #56
- test(app): add workflow integration tests for pipeline by @pasrom in #55
- test(app): add FFT-based frequency preservation tests for AudioMixer by @pasrom in #57
- chore(app): update dependencies to latest compatible versions by @pasrom in #64
📖 Documentation
- docs(docs): add branch protection rules to CLAUDE.md by @pasrom in #25
- docs: update WhisperKit dual-source API references by @pasrom in #37
- docs: complete architecture docs for Parakeet + Qwen3 engines by @pasrom in #53
- docs: update README for Parakeet and Qwen3 transcription engines by @pasrom in #54
Other Changes
Full Changelog: v0.4.1...v0.5.1-rc1
v0.4.1
MeetingTranscriber 0.4.1
Installation
Via Homebrew (recommended):
brew tap pasrom/meeting-transcriber
brew install --cask meeting-transcriberManual:
- Download the DMG below
- Mount it and drag MeetingTranscriber to Applications
SHA256
2b393d12bcbf1be9a48b5ef1b2822db65a0a4cb83d92f8e27105428a6452b8a9
What's Changed
🚀 Features
- feat(app): add configurable protocol prompt via file by @pasrom in #16
- feat: multi-format audio/video file support by @pasrom in #18
- feat: ffmpeg CLI fallback for MKV/WebM/OGG support by @pasrom in #22
🐛 Bug Fixes
🧹 Maintenance
- Add SwiftLint, SwiftFormat, and comprehensive linting by @pasrom in #21
- refactor: convert audiotap from CLI to in-process library by @pasrom in #23
📖 Documentation
- docs: update CLAUDE.md and README.md for new features by @pasrom in #17
- docs: document multi-format audio/video loading by @pasrom in #20
Full Changelog: v0.3.1...v0.4.1
v0.3.1
MeetingTranscriber 0.3.1
Installation
Via Homebrew (recommended):
brew tap pasrom/meeting-transcriber
brew install --cask meeting-transcriberManual:
- Download the DMG below
- Mount it and drag MeetingTranscriber to Applications
SHA256
c615c3bf3958645cad213317a0db07fe15d8d7baef28aae218265882426d79c4
What's Changed
🐛 Bug Fixes
Full Changelog: v0.3.0...v0.3.1
v0.3.1-rc1
MeetingTranscriber 0.3.1-rc1
Installation
Via Homebrew (recommended):
brew tap pasrom/meeting-transcriber
brew install --cask meeting-transcriberManual:
- Download the DMG below
- Mount it and drag MeetingTranscriber to Applications
SHA256
239b729ae30113d0902287a95b5da37bae744d677b8e24d53f069a20de9714e1
What's Changed
🐛 Bug Fixes
Full Changelog: v0.3.0...v0.3.1-rc1
v0.3.0
MeetingTranscriber 0.3.0
Installation
Via Homebrew (recommended):
brew tap pasrom/meeting-transcriber
brew install --cask meeting-transcriberManual:
- Download the DMG below
- Mount it and drag MeetingTranscriber to Applications
SHA256
77e0dd070e1de520071029c0832831b74d6d5d8c7ff8bd72d4b86d039e953193
What's Changed
🚀 Features
- feat: add OpenAI-compatible API provider for protocol generation by @pasrom in #4
- feat(app): add help popovers and deep-links to permission rows by @pasrom in #9
- feat: animated waveform menu bar icon by @pasrom in #11
- feat: add auto-update checker via GitHub Releases API by @pasrom in #10
🐛 Bug Fixes
- fix(app): guard against invalid range in applyMuteMask by @pasrom in #5
- fix(app): filter screen-share artifacts from participant names by @pasrom in #6
- fix(build): use PlistBuddy for version injection by @pasrom in #8
- fix(build): use tag name as DMG version for pre-releases by @pasrom in #13
🧹 Maintenance
- build(deps): bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in #1
- build(deps): bump actions/cache from 4 to 5 by @dependabot[bot] in #2
- build(deps): bump actions/checkout from 4 to 6 by @dependabot[bot] in #3
- ci: add release note categorization and release flags by @pasrom in #12
- ci(ci): auto-label PRs from conventional commit title by @pasrom in #14
📖 Documentation
Full Changelog: v0.2.0...v0.3.0
v0.3.0-rc1
MeetingTranscriber 0.3.0-rc1
Installation
Via Homebrew (recommended):
brew tap pasrom/meeting-transcriber
brew install --cask meeting-transcriberManual:
- Download the DMG below
- Mount it and drag MeetingTranscriber to Applications
SHA256
7d025d0f4ce491f9960f573802b1c426c4922051035c0ac727814a19a13012b7
What's Changed
🚀 Features
- feat: add OpenAI-compatible API provider for protocol generation by @pasrom in #4
- feat(app): add help popovers and deep-links to permission rows by @pasrom in #9
- feat: animated waveform menu bar icon by @pasrom in #11
🐛 Bug Fixes
- fix(app): guard against invalid range in applyMuteMask by @pasrom in #5
- fix(app): filter screen-share artifacts from participant names by @pasrom in #6
- fix(build): use PlistBuddy for version injection by @pasrom in #8
- fix(build): use tag name as DMG version for pre-releases by @pasrom in #13
🧹 Maintenance
- build(deps): bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in #1
- build(deps): bump actions/cache from 4 to 5 by @dependabot[bot] in #2
- build(deps): bump actions/checkout from 4 to 6 by @dependabot[bot] in #3
- ci: add release note categorization and release flags by @pasrom in #12
- ci(ci): auto-label PRs from conventional commit title by @pasrom in #14
📖 Documentation
New Contributors
- @dependabot[bot] made their first contribution in #1
- @pasrom made their first contribution in #5
Full Changelog: https://github.com/pasrom/meeting-transcriber/commits/v0.3.0-rc1
v0.2.0
MeetingTranscriber 0.2.0
Installation
Via Homebrew (recommended):
brew tap pasrom/meeting-transcriber
brew install --cask meeting-transcriberManual:
- Download the DMG below
- Mount it and drag MeetingTranscriber to Applications
SHA256
94e5c4c046cbf0b4f9262c1e1cb4cdbe466b200e9fcd8b235a6bc0f6ada6dd0c
Full Changelog: https://github.com/pasrom/meeting-transcriber/commits/v0.2.0