Releases: AnisurRahmann/call-copilot
Release list
v0.3.1
What's Changed
- chore: sync formula to 0.3.0 by @AnisurRahmann in #11
- Sync formula to 0.3.0 by @AnisurRahmann in #12
- chore: sync formula — bypass Homebrew pip wrapper by @AnisurRahmann in #13
- docs: brew works immediately, document dylib warning by @AnisurRahmann in #15
- Release v0.3.0 by @AnisurRahmann in #14
- fix: show spinner after Ctrl+C + clarify brew install warning by @AnisurRahmann in #17
- Release v0.3.1 by @AnisurRahmann in #18
Full Changelog: v0.3.0...v0.3.1
v0.3.0
What's Changed
- fix(release): GitHub Release permissions + version sync by @AnisurRahmann in #7
- docs(homebrew): sync formula to working version, document 24h guard by @AnisurRahmann in #8
- chore: bump version to 0.3.0 by @AnisurRahmann in #9
- Release v0.3.0 by @AnisurRahmann in #10
Full Changelog: v0.1.0...v0.3.0
v0.2.0 — reliable recording + capture self-test
What's new
This release fixes the two main ways a recording became unusable, and adds diagnostics that catch capture problems before a meeting is lost.
🐛 Fixed
-
Mic recordings played 3× too fast ("chipmunk voice"). The mic tap delivers bursty, irregular frames while Core Audio ramps up, so a 1-second startup measurement read ~14000 Hz and was (correctly) rejected — but then fell back to the system tap's 48000 Hz, which got baked into the WAV header. A 48000 header over ~16000 data played back 3× too fast.
_measure_true_ratenow re-measures over progressively longer windows until it converges on a snap-able rate, instead of trusting a noisy 1-second sample.- Each source now falls back to its own requested rate, never another source's.
-
Whisper hallucinated on silent recordings. An all-silent WAV produced garbage like
System [00:00] Yourepeated 36 times._finish_sessionnow skips transcription when every captured WAV is silent, marks the sessionSILENT, and keeps the WAV forrec diagnose. In mic+system recordings where only one source is silent, the other is still transcribed.
✨ Added
-
Live capture self-test in
rec setup. Setup now opens each tap for ~2s and reports the measured peak amplitude — catching a broken Screen Recording permission (the "tap runs but delivers zeros" state) before you lose a meeting.--selftest/--no-selftest(default on; use--no-selftestin CI)--selftest-duration(default 2.0s)
-
Mic-skip warning at
rec start. When the mic will be skipped (permission not granted), you now see a yellow warning in your terminal — previously it was only logged in the daemon log. -
Smarter silence detection. The
RECORDING IS SILENTwarning now distinguishes the macOS capture-permission signature (tap ran, peak == 0.0) from a quiet source, and names the fix: toggle Screen Recording ON, then fully Quit + reopen the terminal app.
🔧 Internal
- Version bump
0.1.0→0.2.0. - New
STATUS_SILENTsession lifecycle status.
📊 Tests
- 136 tests pass (+17 new),
ruffclean. - Validated against real failing session
2026-08-04_17-19-38(mic header corrected 48000 → 16000, transcript now intelligible).
Update
pipx upgrade call-copilot
Full changelog: v0.1.0...v0.2.0
v0.1.0 — first PyPI release
First installable release. Record meeting audio, transcribe locally.
Install:
pipx install call-copilotHighlights:
- PyPI-ready packaging (wheel + sdist)
- Runtime env gate: clean one-line errors on unsupported macOS (no traceback)
rec --versionworks on any machine- Homebrew formula + tap docs ready (
brew install AnisurRahmann/tap/call-copilotonce the tap repo exists)
Note: the published package version is 0.2.0 (the next tag will match).