Skip to content

Release v2.3

Latest

Choose a tag to compare

@khr898 khr898 released this 03 Sep 19:14

What's Changed in v2.3.040926

1. iCloud Private Relay & VPN Compatibility

  • Opt-in Firewall Bypass: Added --preserve-private-relay flag 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 /32 microVM 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/lock and eliminating PREMOUNT_BRIDGE_UNOBSERVED failures.
  • 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 sudo self-elevation to ntfsmac unmount (matching mount and uninstall), 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