Repository navigation
Parley 0.7.1
Parley 0.7.1
Fixed: speaker misattribution at speaker-change boundaries (#120)
The core diarization/transcription fix in this release. Previously, a single ASR transcript
segment spanning a genuine speaker change — most commonly one speaker's short question
immediately followed by the other's longer answer, with no gap between them — was assigned
whole (text and audio-playback range) to whichever speaker had the greater time-overlap.
The other speaker's words were silently absorbed into the wrong person's block.
Fixed by retaining the word-level timing both transcription engines already compute internally
(previously discarded after initial segmentation) and re-splitting any segment whose words cross
a diarized speaker-change boundary at the true word boundary, before speaker labels are assigned.
Segments within one speaker, or lacking word-level timing, are unaffected — no behavior change
for the common case.
Device-validated against a real recorded interview (confirming the exact previously-misattributed
segment now splits correctly) and again live on a real call.
Fixed: rare double-launch on startup (#109)
Replaced an NSRunningApplication-based single-instance check (which could race during launch)
with a kernel-level file lock — eliminates a rare path where two copies of Parley could start
at once.
Fixed: TCC permissions dropped on update
Update installs now use a stable code-signing identity instead of re-signing ad-hoc on every
build, so Microphone and Screen Recording permission grants survive future auto-updates instead
of silently being revoked.
Fixed: raw speaker IDs leaking into transcripts (#113)
The cross-chunk speaker reconciler now always mints a friendly Speaker N label instead of
occasionally leaking the diarizer's internal spk_N identifier into transcript output.
Fixed: system-only recordings archiving as raw WAV (#105)
Recordings using only the system-audio stream now correctly archive to compressed .m4a like
all other recordings, instead of leaking an uncompressed .wav to disk.
Internal / reliability
- Core Audio system-audio tap hardening: no leading-frame drop at capture start, no pitch/rate
artifact on output-device switch mid-recording, and a fixed teardown race around device
rebuilds. CFBundleVersionnow derives from the HEAD commit timestamp, monotonically increasing across
branches — fixes a case where a maintenance release could ship a lower build number than an
earlier one and break update detection.- Added an offline end-to-end Sparkle update dry-run tool (
scripts/sparkle-dryrun.sh) and a
release-time guard that refuses to ship a build signed with the wrong key or without the
stable signing identity.