Skip to content

Releases

v0.2.3 - Critical Crash Fix

Choose a tag to compare

@adbutler007 adbutler007 released this 19 Nov 16:16

🚨 Critical Bug Fixes

This release fixes a segmentation fault crash that occurred when opening the app menu.

Fixed Issues

  • 🐛 Fixed heap corruption in audio device enumeration - CoreAudio buffer allocation was too small, causing memory corruption
  • 🧵 Fixed main thread blocking - Device enumeration now happens in background thread
  • 💥 Fixed random crashes when opening the status bar menu
  • ⚡ Improved menu responsiveness - Devices are cached and updated asynchronously

Technical Details

The crash was caused by AudioObjectGetPropertyData writing beyond allocated memory when querying audio devices with multiple channels. This corrupted adjacent heap objects, leading to EXC_BAD_ACCESS (SIGSEGV) crashes in objc_retain.

Changes:

  • Allocate correct buffer size for AudioBufferList based on actual data size
  • Use UnsafeRawPointer with proper byte alignment
  • Move MicrophoneCaptureManager.getInputDevices() to background thread
  • Wrap AudioInputDevice struct in AudioDeviceWrapper class for safe Objective-C bridging

Previous Features (from v0.2.2)

  • ✨ Custom app icon
  • 🔧 5-minute timeout for long recording sessions
  • 📝 Status feedback during summary generation
  • 🎯 Bundled Python engine with auto-start
  • ✅ Fully notarized

Installation

Clean install recommended

brew uninstall --zap audio-summary
brew install --cask adbutler007/private-notes/audio-summary### Requirements

  • macOS 13.0+ (Ventura or later)
  • Apple Silicon (M1/M2/M3/M4)
  • ~4GB disk space

If you experienced crashes with v0.2.2, please upgrade immediately!

v0.2.2 - Notarized with Icon and 5min Timeout

Choose a tag to compare

@adbutler007 adbutler007 released this 19 Nov 15:58

🎉 Audio Summary v0.2.2 - Notarized Release
Major improvements for long recording sessions!
What's New
✨ Custom App Icon - Professional branding with beautiful custom icon
🔧 5-Minute Timeout - Fixed timeout errors when stopping long recordings
📝 Better UX - Shows "Generating final summary..." status during stop
✅ Fully Notarized - No more quarantine warnings (for the base app)
Bug Fixes
Fixed: Network timeout when stopping 1+ hour recordings
Fixed: No visual feedback during summary generation
Request timeout increased from 30s → 5 minutes (300s)
Resource timeout increased to 10 minutes
Features
Self-contained Python engine bundled in app
Auto-starts backend on launch
Dependencies install automatically on first run
Engine logs: ~/Library/Logs/AudioSummary/engine.log
Installation

Fresh installbrew install --cask adbutler007/private-notes/audio-summary# Or upgrade existingbrew upgrade audio-summary

Note: First launch will install Python dependencies (~2-3 minutes), subsequent launches are instant.
Technical Details
macOS 13.0+ (Ventura or later)
Apple Silicon optimized
Notarized and stapled for seamless installation
Built with Swift + Python FastAPI backend

v0.2.1 - Auto-Start Engine

Choose a tag to compare

@adbutler007 adbutler007 released this 18 Nov 21:49

What's New- ✨ Engine now starts automatically when the app launches- 🔧 No need to manually run the backend server- 📝 Engine logs available at ~/Library/Logs/AudioSummary/engine.log- 🐛 Fixed transcriber parameter bug## Installationbrew install --cask adbutler007/private-notes/audio-summary## What's Changed- feat: Auto-start engine server with GUI app- chore: Bump version to 0.2.1 with auto-start engine

bash
brew install --cask adbutler007/private-notes/audio-summary

What's Changed- feat: Auto-start engine server with GUI app- chore: Bump version to 0.2.1 with auto-start engine-summary# Verify versiondefaults read "/Applications/Audio Summary.app/Contents/Info.plist" CFBundleShortVersionString# Should show: 0.2.1# Launch and watch engine auto-startopen "/Applications/Audio Summary.app"# Monitor engine logstail -f ~/Library/Logs/AudioSummary/engine.log

Upload: ~/Projects/private_notes/audio_summary_app/macos_gui/dist/AudioSummary-0.2.1.zip

Audio Summary 0.1.4

Choose a tag to compare

@adbutler007 adbutler007 released this 13 Nov 21:17

Force mic prompt + short-call/48kHz fixes

Audio Summary 0.1.3

Choose a tag to compare

@adbutler007 adbutler007 released this 13 Nov 20:38

Mic prompt helper + 48k short-call defaults + routing fixes

Audio Summary 0.1.1

Choose a tag to compare

@adbutler007 adbutler007 released this 13 Nov 19:39

48kHz capture, 60s summaries, device/channel fixes

Private Notes v0.1.0

Choose a tag to compare

@adbutler007 adbutler007 released this 06 Nov 15:44

Privacy-first audio transcription and summarization for sales discovery calls.

What's New in v0.1.0

Fixed

  • Short meetings (< 5 minutes) now generate summaries correctly
  • Final chunk is immediately summarized when recording stops (no 5-minute wait)
  • Multiprocessing workers no longer create duplicate menu bar icons
  • PyInstaller build with Qt runtime hook for stability
  • Added scipy dependency for mlx_whisper compatibility

Installation

brew install adbutler007/private-notes/private-notes
SHA256: 872f58242faa71f89dd9a478213a994e9e6469583eeade60dcbc87100abded80

v0.2.0 - macOS GUI Update

Choose a tag to compare

@adbutler007 adbutler007 released this 18 Nov 19:16

v0.1.6

Choose a tag to compare

@adbutler007 adbutler007 released this 18 Nov 16:49

Changes

  • Fix ScreenCaptureKit audio capture on macOS 15 Sequoia
  • Use display-wide capture filter for better audio sample delivery
  • Add explicit audio sample rate (48000) and channel count (2)
  • Improve debug logging for stream output diagnostics
  • Increase queue depth for better audio buffering

Installation

brew tap adbutler007/private-notes
brew install --cask audio-summary

Audio Summary v0.1.5

Choose a tag to compare

@adbutler007 adbutler007 released this 18 Nov 16:23

v0.1.5: ScreenCaptureKit improvements for audio capture

  • Changed from exclusion-based to inclusion-based content filter
  • Added excludesCurrentProcessAudio to prevent feedback
  • Added proper display selection for multi-monitor setups
  • Added microphone permission request for audio capture
  • Added entitlements for hardened runtime audio input
  • Added error callback support