Skip to content

Release OpenSurge for Mac v0.1.24 - #19

Merged
YTwsy merged 1 commit into
masterfrom
agent/v0.1.24-release-pr
Aug 1, 2026
Merged

Release OpenSurge for Mac v0.1.24#19
YTwsy merged 1 commit into
masterfrom
agent/v0.1.24-release-pr

Conversation

@YTwsy

@YTwsy YTwsy commented Aug 1, 2026

Copy link
Copy Markdown
Owner

What changed

  • add local-Mac Rule / Fixed egress / Direct routing controls
  • add stable-release discovery in the menu bar
  • add off-by-default macOS system-proxy coordination for SafeDNS, DNS Proxy, and similar TUN-only local-DNS conflicts
  • allow IP-only device registration in same-LAN manual-gateway mode, with explicit MAC migration and paused-policy behavior when switching to DHCP takeover
  • improve per-device independent egress controls and safe same-MAC IPv4 rebinding
  • harden real TUN readiness, conflict evidence, rollback, and DHCP-abandonment behavior
  • fix the pkg preinstall race that could require a second installation attempt
  • add bilingual FAQ pages, README links, and bilingual v0.1.24 release highlights

Why

v0.1.24 focuses on separating Mac-local routing from downstream-device behavior, making device identity migration usable on LANs where ARP does not expose a MAC, and keeping startup/upgrade failures fail-closed and recoverable.

The installer failure was caused by preinstall unloading the Control Service before terminating the menu-bar app. The app could observe the missing service and bootstrap a KeepAlive replacement after the PID snapshot. The new sequence stops the menu-bar wake source first, repeatedly unloads the exact installed user service, and still refuses to replace executables that cannot be stopped.

User impact

  • downstream devices and the Mac can use independent routing controls
  • IP-only same-LAN devices remain usable without inventing a MAC
  • switching to DHCP takeover preserves unresolved device configuration while pausing unsafe policies
  • TUN startup failures provide more useful conflict evidence and roll back owned state
  • upgrading the pkg succeeds on the first attempt in the reproduced race scenario

Validation

  • make gui-test on the exact release tree
    • Go tests passed
    • Web: 82 tests passed
    • menu-bar checks passed
    • GUI packaging checks passed
  • fixed arm64 release dependencies prepared from pinned checksums
  • local unsigned arm64 pkg verified for v0.1.24, macOS 13+
  • local pkg SHA-256: 0a8633795bcaccbd4d2ac5df27e0effc24f194b90b9763ed562b9b2798a3244f
  • real macOS 14 upgrade regression: menu bar and KeepAlive Control Service running, one installer invocation succeeded, configuration was preserved, and the gateway remained stopped
  • PR tree de975dc is byte-for-byte identical to the validated release merge tree ac87b3c

Release packages remain unsigned and unnotarized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant