Hey everyone,
This beta introduces a new LayoutReconciler for reliable profile layout application, global and per-profile pre/post apply script hooks, ScreenCaptureKit-based window capture to reduce SkyLight memory leaks, and dozens of stability fixes for profile restoration, notch overflow, third-party widget interactions, and XPC performance.
New & Improved
- LayoutReconciler: Consolidated icon-restore paths into a single phase-based orchestrator. Deferred post-apply cache refresh, divider-duplicate fix for notched full-sort, per-item section-mismatch gate, chevron position persistence,
computeSectionOrderhelper. - Pre/Post Apply Script Hooks: Global and per-profile hooks with configurable timeouts, env vars (
THAW_PROFILE_NAME, etc.), and non-blocking failures. New Automation UI. - ScreenCaptureKit Migration: Cut SkyLight memory leaks via ScreenCaptureKit-based window capture.
- XPC Batching: Single batch request replaces 40-64 concurrent per-window calls - eliminates jetsam kills.
- Third-Party Widget Deferral: AX hit-test defers reveal/click/scroll/right-click to notch overlays and pop-up menus. Cancellable delayed right-click reveal.
- System Menu Bar Auto-Hidden: Clicks ignored when menu bar auto-hidden offscreen in fullscreen.
- MarkerPairResolver: Resolves Control-Center-hosted proxies (Little Snitch) via width-matched marker windows.
- Notch Overflow Budget Fix: Removed
NSStatusItemSpacingdouble-counting that ejected profile items at default spacing. - Cross-Section Apply Fix: Items destined for always-hidden no longer stranded in hidden.
- Display Spacing Prompt: Prompt before applying display spacing. Auto-Switch shows Notch/Disconnected badges.
- Diagnostic Logging: XPC logs unified into main app file. Git SHA stamped in Info.plist and log headers.
- Capture Tolerance: Bounds overshooting
NSScreen.frametolerated instead of dropped. - Localization: Multiple Crowdin updates, non-translatable string exclusion.
- Profiles: Forward-compatible snapshot decoding.
useOptionClick,useLCSSorting,enableOverflowcaptured in snapshot.
Full Changelog: 2.0.0-beta.12...2.0.0-beta.13