## Zackriya-Solutions/meetily — v0.4.0…v0.4.1

_105 commits._

### Features
- **feat(audio): wake device monitor instantly on device change (macOS) [skip ci]** (ea221bc)
- **feat(audio): recover mic on mid-recording disconnect (macOS hot-swap)** (5ce59df)
- **feat(recording): surface STARTING state during recording startup** (6c3859b)
- **feat(recording): lock device selection while recording** (d59704a)

### Fixes
- **Merge pull request #795 from Zackriya-Solutions/fix/test-types-v0.4.1** (24fd4a1)
- **fix(tests): resolve Bun TypeScript errors** (e29aa31)
- **Merge pull request #794 from Zackriya-Solutions/hotfix/0.4.1-logo-fix** (adbccd9)
- **fix(ui): center the transcript summary tab on small window sizes** (085e540)
- **fix(summary): show primary action labels sooner [skip ci]** (3cb3e72)
- **hotfix(logo): fix the shrinked logo on expanded sidebar** (7f1daef)
- **fix(ci): build portable Windows Whisper binaries** (41daaa5)
- **fix(ci): honor locked frontend dependencies** (9a3193d)
- **Merge pull request #784 from Zackriya-Solutions/fix/instrumentation** (c7bdb3b)
- **fix(session): release cleanup lock before event delivery [skip ci]** (acba564)
- **fix(instrumentation): contain transcription error spikes [skip ci]** (b13b1d7)
- **Merge pull request #779 from Zackriya-Solutions/fix/t12-audio-permission-detection** (e4cc94b)
- **Merge pull request #767 from Zackriya-Solutions/fix/avx2-crash** (5ed1ba9)
- **fix(ui): show recording error details in sidebar alerts** (5335f1f)
- **fix(audio): wake Bluetooth output before microphone access check** (c30ae4b)
- **Revert "fix(audio): wake Bluetooth output before microphone access check"** (34f70c2)
- **fix(audio): wake Bluetooth output before microphone access check** (ca8e7ad)
- **merge: sync devtest into AVX2 runtime fix [skip ci]** (a5d81f3)
- **fix(summary): preserve current attempt during transcript refresh** (f28ef18)
- **fix(windows): recover from ONNX runtime failures [skip ci]** (10d6ce9)
- **fix(summary): settle failed recovery reads and clean up polling** (2af783c)
- **fix(transcripts): ignore stale requests after meeting changes** (f62592d)
- **fix(audio): preserve system audio recording without a microphone** (743b7dc)
- **fix(vad): align forced flush payload with timestamps** (bc00314)
- **fix(ui): remove homepage animation causing recording button jump** (3732ede)
- **fix(summary): restore generation progress after navigation** (699eb1f)
- **fix(audio): verify microphone access before recording start** (df5a50e)
- **merge: sync devtest into AVX2 runtime fix [skip ci]** (0de4f7f)
- **fix(vad): bound flushed segment timestamps** (cda2ff0)
- **Merge pull request #679 from Hus-Mek/fix/vad-fragmentation-and-hallucination-filter** (1960435)
- **Merge pull request #748 from Zackriya-Solutions/fix/450-bt-mic-cold-start** (f82a9b2)
- **fix: harden ONNX runtime and recording startup [skip ci]** (e4fddc4)
- **fix(windows): load compatible ONNX Runtime dynamically** (0860e0d)
- **fix(parakeet): close model lifecycle review gaps [skip ci]** (254ea02)
- **fix(summary): preserve truthful generation state [skip ci]** (afcfeb5)
- **fix(summary): reject attributed reasoning tags [skip ci]** (e1a7155)
- **fix(summary): enforce safe generation lifecycle [skip ci]** (03dfb7b)
- **fix(audio): tear down the dead mic outside RECORDING_MANAGER so a hung BT teardown can't freeze Stop** (6940a1a)
- **fix(audio): make stop-tail flag panic-safe, session-gate fallback error branches, dedup start finalize** (ad4c5af)
- **fix(audio): guard mic-disconnect fallback with session identity to stop it muting a later recording** (c1528d7)
- **fix(audio): resolve default system audio on custom start path + silence false mic-fallback toast on stop** (2287029)
- **fix(vad): use 500ms live redemption, keep 2000ms for batch paths** (0ceee52)
- **fix(parakeet): prevent stale model status races [skip ci]** (80a31c9)
- **fix(summary): cancel pending response bodies [skip ci]** (021f961)
- **fix: restore About access and Ollama cancellation [skip ci]** (116a129)
- **fix(parakeet): finish PR #682 cancellation flow [skip ci]** (f63a34d)
- **fix(audio): re-arm mic-disconnect detection after a failed hot-swap** (5980670)
- **fix(audio): resolve default output lock-free during mic hot-swap** (7eb0df4)
- **fix(audio): unify mic resolution across both start paths + notify on no mic** (4eab353)
- **fix(recording): auto-select default when the chosen device is unavailable** (0160eed)
- **fix(recording): propagate the Settings device selection to recording start** (9cc230c)
- **fix(audio): fall back to default mic when the selected device is unavailable** (1f415c3)
- **fix(recording): harden start/stop lifecycle and surface mic device changes** (224c801)
- **fix(parakeet): close PR #682 recovery gaps [skip ci]** (bf76e37)
- **fix(summary): cancel Ollama compatibility IO [skip ci]** (cd9c57b)
- **fix(summary): keep cancelled empty summaries empty [skip ci]** (062bf2e)
- **fix(vad): stop fragmenting live speech and correct the flush timestamp** (4d626bb)
- **fix(recording): send camelCase device args so selected mic is honored** (1764f17)
- **fix(audio): wake Bluetooth audio link before recording start (macOS)** (908cf18)
- **fix(summary): ignore stale polling results after stop [skip ci]** (6db9412)
- **fix(summary): harden Ollama summaries and editor state [skip ci]** (902dfca)
- **Merge pull request #682 from VictorMaxWang/fix/issue-662-preserve-model-downloads** (15ffec2)
- **fix(meeting-details): prevent transcript toolbar clipping [skip ci]** (0a9e490)
- **fix(ui): restore compact expanded sidebar logo [skip ci]** (4330504)
- **Merge pull request #665 from aliCamargo/fix/issue-592-summary-layout-ollama** (1b24b5b)
- **Merge pull request #681 from ironmark72/patch-1** (7c94aa6)
- **Merge pull request #737 from Zackriya-Solutions/fix/followup-608-639** (9f24062)
- **fix(whisper): finalize cancellation safely [skip ci]** (eeb4566)
- **fix(whisper): reject undersized model downloads [skip ci]** (f7e3440)
- **fix(whisper): harden terminal download cleanup [skip ci]** (2a4852d)
- **fix(whisper): sync model download state [skip ci]** (1ba2cbb)
- **Merge pull request #694 from davertor/fix/claude-thinking-block-parsing** (4c450e1)
- **fix(whisper): serialize cancellation before retry [skip ci]** (c756848)
- **fix(transcription): complete PR follow-ups [skip ci]** (1ae3036)
- **Merge pull request #639 from tianrking/agent/fix-provider-aware-recording-readiness** (6f12b9b)
- **Merge pull request #608 from iphixit/fix/heaac-import-half-duration** (61c4cdf)
- **Merge pull request #603 from ShiroKSH/fix/summary-chunk-coverage** (84370b3)
- **fix(summary): handle Claude thinking blocks in response parsing** (b072898)
- **fix(parakeet): preserve resumable model downloads** (3fb4ad0)
- **Fix: stop dropping transcripts below confidence threshold (#675)** (8fb836a)
- **fix(summary): keep Ollama reasoning enabled and strip it for notes** (2f28bb8)
- **fix(ui): meeting-details split layout, toolbars, and container queries** (6e2a8ef)
- **fix(recording): respect selected transcription provider** (9f5d1c1)
- **fix(import): use decoder output sample rate, not container rate (HE-AAC half-duration bug)** (1a55614)
- **fix(summary): preserve transcript coverage across chunks** (274bae4)

### Backend
- **Release v0.4.1** (a2cb62e)
- **Merge devtest and preserve recording error guidance [skip ci]** (0235f5b)
- **Merge pull request #771 from Zackriya-Solutions/adapt/pr-679** (82d9cb3)
- **Merge pull request #749 from Zackriya-Solutions/adapt/pr-682-followup** (d1f7a11)
- **Merge pull request #744 from Zackriya-Solutions/adapt/pr-665-followups** (26323d9)
- **revert(audio): drop the stop_recording engine-lifecycle lock** (b4226ab)
- **Merge release v0.4.0 back into devtest** (0bedd8b)

### Docs
- **docs(build): correct Windows CPU compatibility guidance** (0d96a05)
- **docs(build): clarify portable Windows release builds** (f1ccc33)
- **docs(audio): note session_live non-reentrancy and StoppingGuard panic=abort caveat** (b3408b1)

### Chore
- **chore: delete deprecated bluetooth playback notice** (0050a33)
- **chore: version bump to v0.4.1** (419cc08)
- **chore: update instrumentation project token** (57130a9)
- **refactor(audio): remove dead device-event and BT-override scaffolding** (cc2ebc5)
- **refactor(meeting-details): remove unused panel overrides [skip ci]** (8b6674f)
- **refactor(summary): isolate reasoning from persisted meeting summaries** (dc90358)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/Zackriya-Solutions/meetily?utm_source=github-action)._