v0.12.76+12076-macos
BasedHardware/omiv0.12.76+12076-macosJul 17, 2026by mdmohsin7
AI Summary
This release heavily emphasizes code quality and strict concurrency enforcement, adds conversation merging capabilities, and introduces a new API endpoint for action items.
Key Highlights
- Code Quality: Enforced strict concurrency, pinned Xcode toolchains, and SwiftLint safety rules.
- Conversation Management: Added 'Select' button to pick and merge multiple conversations.
- API Updates: Added per-conversation action-items count endpoint.
- UI Polish: Right-aligned settings dropdowns and improved voice model input interactions.
- Voice Reliability: Hardened PTT and realtime voice with strict lifecycle domains.
New Features
- Select and merge multiple conversations.
- Per-conversation action-items count API endpoint.
- Semantic feature sentinels proving Swift compiler flags are active.
Full Release Notes
## OMI Desktop v0.12.76 ### What's New - Add the per-conversation action-items count endpoint to the generated Omi API client. - Fixed the app detail button labeled 'Open' removing an installed non-integration app instead of opening it - Fixed chat hiding a long message that happened to share its opening with an earlier one - Added a Select button on Conversations so you can pick multiple conversations and merge them - Fixed a dashboard recommendation occasionally reporting itself unavailable while it was still loading - Fixed persona creation failures showing no error and leaving the Persona page stuck on an error screen - Fixed Later and Dismiss on suggested tasks being disabled when the task title was cleared - Added semantic feature sentinels proving Swift compiler flags are active, plus an advisory strict-concurrency diagnostic ledger for the executable target - Recorded Periphery pilot verdict: deferred due to binary incompatibility on the pinned toolchain environment - Added a pinned swift-format bootstrap wrapper and platform-aware manifest checks so macOS-only static checks run on macOS CI - Pinned the Xcode toolchain and committed the SwiftPM dependency lockfile so desktop builds are reproducible - Replaced per-bug-class asyncAfter and UserDefaults ratchet scripts with equivalent SwiftLint custom rules backed by the down-only baseline guard - Right-aligned the remaining Settings dropdowns (voice, voice model, AI provider, system audio, focus cooldown), made the daily summary time picker glide with a native stepper, and slimmed the voice speed value label - Made OmiSupport and its direct tests strict — complete strict concurrency and warnings-as-errors with zero diagnostics - Made OmiTheme strict — fixed FontScaleSettings singleton and OmiTextEditor Coordinator with @MainActor isolation - Made OmiWAL and its direct model tests strict — complete strict concurrency and warnings-as-errors with zero diagnostics - Added a pinned swift-format configuration (2-space indent, 120-column) with generated-source exclusion and formatter scope management - Enforced pinned swift-format in pre-commit and macOS CI — staged Swift files auto-format on commit, CI rejects formatting drift - Added a down-only SwiftLint baseline ratchet that rejects new violations and enforces reasoned swiftlint:disable suppressions - Added SwiftLint safety rules (force unwrap, force try, force cast, IUO, weak delegate) via a pinned build-tool plugin with a committed violation baseline - Improved desktop CI build checks. - Fixed chat responses losing their model/token/cost footer stats and dropping discovery cards and refreshed file states once a turn finished - Improved macOS developer feedback loops with faster targeted test reruns and app relaunches - Fixed macOS preferring a machine-wide OpenClaw install over the version managed in your home directory - Improved desktop chat and voice reliability by splitting oversized internals into smaller owned components. - Kept push-to-talk on one voice when starting a background agent - Kept background agents on Omi unless you choose another provider - Hardened push-to-talk and realtime voice reliability by enforcing one compiler-checked voice-turn lifecycle domain. - Improved desktop compatibility with conversation action-item progress updates - Restored desktop builds after a third-party audio dependency removed its release tags ### Downloads - **DMG Installer**: For fresh installs, download the DMG below - **Auto-Update**: Existing users will receive this update automatically via Sparkle <!-- KEY_VALUE_START isLive: false channel: candidate edSignature: 2lMXo27exwqSTJLbLokttwDtzBCb+LDREv2lksuanIed0fhS1u7eIEKbatr44vQ97eTbhCC4w3TQQWfFMQmcBw== changelog: Add the per-conversation action-items count endpoint to the generated Omi API client.|Fixed the app detail button labeled 'Open' removing an installed non-integration app instead of opening it|Fixed chat hiding a long message that happened to share its opening with an earlier one|Added a Select button on Conversations so you can pick multiple conversations and merge them|Fixed a dashboard recommendation occasionally reporting itself unavailable while it was still loading|Fixed persona creation failures showing no error and leaving the Persona page stuck on an error screen|Fixed Later and Dismiss on suggested tasks being disabled when the task title was cleared|Added semantic feature sentinels proving Swift compiler flags are active, plus an advisory strict-concurrency diagnostic ledger for the executable target|Recorded Periphery pilot verdict: deferred due to binary incompatibility on the pinned toolchain environment|Added a pinned swift-format bootstrap wrapper and platform-aware manifest checks so macOS-only static checks run on macOS CI|Pinned the Xcode toolchain and committed the SwiftPM dependency lockfile so desktop builds are reproducible|Replaced per-bug-class asyncAfter and UserDefaults ratchet scripts with equivalent SwiftLint custom rules backed by the down-only baseline guard|Right-aligned the remaining Settings dropdowns (voice, voice model, AI provider, system audio, focus cooldown), made the daily summary time picker glide with a native stepper, and slimmed the voice speed value label|Made OmiSupport and its direct tests strict — complete strict concurrency and warnings-as-errors with zero diagnostics|Made OmiTheme strict — fixed FontScaleSettings singleton and OmiTextEditor Coordinator with @MainActor isolation|Made OmiWAL and its direct model tests strict — complete strict concurrency and warnings-as-errors with zero diagnostics|Added a pinned swift-format configuration (2-space indent, 120-column) with generated-source exclusion and formatter scope management|Enforced pinned swift-format in pre-commit and macOS CI — staged Swift files auto-format on commit, CI rejects formatting drift|Added a down-only SwiftLint baseline ratchet that rejects new violations and enforces reasoned swiftlint:disable suppressions|Added SwiftLint safety rules (force unwrap, force try, force cast, IUO, weak delegate) via a pinned build-tool plugin with a committed violation baseline|Improved desktop CI build checks.|Fixed chat responses losing their model/token/cost footer stats and dropping discovery cards and refreshed file states once a turn finished|Improved macOS developer feedback loops with faster targeted test reruns and app relaunches|Fixed macOS preferring a machine-wide OpenClaw install over the version managed in your home directory|Improved desktop chat and voice reliability by splitting oversized internals into smaller owned components.|Kept push-to-talk on one voice when starting a background agent|Kept background agents on Omi unless you choose another provider|Hardened push-to-talk and realtime voice reliability by enforcing one compiler-checked voice-turn lifecycle domain.|Improved desktop compatibility with conversation action-item progress updates|Restored desktop builds after a third-party audio dependency removed its release tags KEY_VALUE_END -->