What's Changed in v2.3.040926
1. iCloud Private Relay & VPN Compatibility
- Opt-in Firewall Bypass: Added
--preserve-private-relayflag to CLI mount and a "Preserve iCloud Private Relay" toggle in GUI Settings. - Uninterrupted Connections: When enabled, bypasses host Packet Filter activation (
pfctl -E) to prevent macOS from pausing iCloud Private Relay or conflicting with third-party VPNs. - Strict Endpoint Route: Preserves the exact
/32microVM host route to ensure NFS traffic cannot be captured by VPN tunnels.
2. First-Run Runtime Initialization & Scan Resilience
- CLI Drive Scanner: Automatically checks the pinned Alpine Linux runtime cache state before probing. On first launch, cache provisioning runs with an elevated 240s timeout and clear progress feedback, resolving scan timeouts on uninitialized environments (#22).
- GUI Setup Lifecycle: Detached the background microVM preparation task from SwiftUI view lifecycles. Closing and reopening the menu bar popover no longer cancels or restarts the download, eliminating popover flickering and race conditions while preserving the single-popover interface.
- Single-Flight Probe Deduplication: Coalesced concurrent scanner refresh requests into a single active scan pass.
3. Backend Mount Concurrency & Lock Handling
- Lock Contention Retry Loop: Added an active wait loop (
pgrep anylinuxfs list) and 3-attempt exponential backoff retry when mounting, preventing collisions on~/.anylinuxfs/lockand eliminatingPREMOUNT_BRIDGE_UNOBSERVEDfailures. - Polling Pause on Mount: GUI scanner polling automatically pauses while a mount transaction is in flight.
4. CLI Unmount & Privilege Teardown Fix
- Privilege Self-Elevation: Added
sudoself-elevation tontfsmac unmount(matchingmountanduninstall), ensuring the root-owned Packet Filter token (pfctl -X), child anchor rules, host routes, and session state files are cleanly released upon unmounting.
5. Licensing
- Project license restored to MIT.
Verification & Compatibility
- Architecture: Apple Silicon (
arm64) only; macOS 13.0+. - Tests: 200/200 BATS CLI tests and 229/229 Swift unit tests passing.
- Dependencies: Zero new external dependencies.
Full Changelog: v2.2...v2.3.040926