Hello everyone,
This beta brings Swift 6 strict concurrency adoption, eliminates several deadlocks and race conditions, improves menu-bar item tracking after sleep and app launches, and polishes the layout bar and slider UI.
Improvements & Fixes
- Swift 6 Concurrency: Adopted strict concurrency mode throughout the codebase, modernized Swift 5 patterns, migrated
NSLocktoOSAllocatedUnfairLock, and fixed a double-continuation resume inFrameCaptor.waitForFrame. - Menu-Bar Tracking: Re-checks the item cache after app launches to sort late-arriving items, confirms the cache across two reads before updating the trailing shape, hoists
displayIDbefore background Tasks to avoid off-mainNSScreenaccess, and suppresses the "Unable to display" flash while the image cache is still loading. - Startup & Auto-Relocation: Gated startup settling on
sourcePIDresolution instead of a timer alone, suppressed auto-relocation during the settling period, prevented a relocation cascade when items transiently lose their section, and stopped placed items from moving back to the new-items section. - Rehide & Semaphore Stability: Fixed a deadlock caused by signal races combined with clone-window storms, and prevented
appHasVisiblePopupfrom spinning when switching apps. - Ice Bar & Input: Synthetic clicks no longer trigger hot corners and restore the cursor more reliably; fixed toggle/close behaviour for the always-hidden section with the Thaw Bar; option/ctrl clicks on empty space and the Ice icon work correctly again; restored double-click to expand the always-hidden section; and the Ice Bar now uses a live
windowIDcheck after sleep. - Layout Bar & Slider UI: Shows more available space in the visible layout bar when a notch is present, increased the notch indicator corner radius, corrected the notch indicator size and position in layout settings, moved scales back to the top of sliders, set the scale length to 6 px, and updated slider label opacity. Also updated CompactSlider to v2.1.0 and added an option to disable icon refresh (0 FPS).
- Restore: Section order is now persisted in-session and cross-pass app relaunches are detected correctly.
- Localization: Updated multilingual translations.
Known Issues
- In multi monitor setups, the MenuBarListener fails sometime fails to detect menubar clicks on external monitors.
New Contributors
- @beantownbytes made their first contribution in #482
Full Changelog: 2.0.0-beta.2...2.0.0-beta.3