Skip to content

DarwinRelay 0.6.9

Latest

Choose a tag to compare

@dcierra dcierra released this 22 Aug 11:26
· 2 commits to main since this release
93d61eb

Distribution

DarwinRelay is currently source-first / self-built. This release intentionally does not include a prebuilt .app or .dmg asset. New users should clone the canonical repository and follow the README Quick Start / self-build path; the zero binary-asset count is part of the current product model, not a missing release artifact.

Existing installs on v0.6.9 can use the confirmed Update DarwinRelay… menu action for future release-to-release updates, or run ./scripts/update.sh from an independent local shell. The updater remains manual; DarwinRelay does not silently auto-update.


DarwinRelay 0.6.9 adds a verified manual update flow to the menu-bar app and hardens the underlying release transaction after real-Mac lifecycle testing.

Highlights:

  • adds Update DarwinRelay… to the menu bar with explicit confirmation;
  • launches the canonical scripts/update.sh latest --yes in an independent Terminal window, so update logic is not duplicated in Swift and survives the app restart;
  • allows only one update transaction at a time via lockf; closing the Terminal during a transaction triggers rollback rather than leaving a partial update;
  • validates already-ready Accessibility, Screen Recording, and Input/Post Events through the authenticated live MCP runtime before and after app replacement, and rolls back if they do not recover;
  • makes LaunchAgent shutdown/restart ownership fail-closed, including asynchronous bootout handling and rejection of competing DarwinRelay launchd owners;
  • scopes tunnel ownership to DarwinRelay's recorded cloudflared PID, leaving unrelated tunnels on the Mac untouched;
  • adds a maintainer-only exact-candidate updater harness so release candidates can be exercised on a real Mac before a public tag exists.

Validation for the exact release tree:

  • final candidate tree: 3d2d154b1c9a127379085b79b890f8416ef7c552;
  • merge/release commit: 93d61eb97a56d9c223ef33da0581acb4695874c7;
  • full local core, desktop, and lifecycle suite green;
  • integrity manifest: 117/117 tracked regular files;
  • real-Mac injected rollback gate passed;
  • real-Mac full v0.6.6 → candidate 0.6.9 → validation → v0.6.6 round-trip passed;
  • signed 0.6.9 app build passed codesign --verify --deep --strict with stable designated requirements;
  • PR CI, post-merge CI, JavaScript CodeQL, and Swift CodeQL all green;
  • zero open GitHub code-scanning alerts at release time.

Existing installs older than 0.6.9 do not yet have the menu-bar update action. After the one-time upgrade to 0.6.9, future manual release updates can be started directly from the DarwinRelay menu bar.