fix(release): notarize macOS builds + bump to v2.10.1#73
Conversation
Replace ad-hoc codesign with hardened-runtime Developer ID signing, notarize and staple both the .app and the .dmg via notarytool, and import the signing cert into a temp keychain on the runner. Fixes the Gatekeeper rejection on macOS 15+ where right-click - Open no longer bypasses. Update install instructions accordingly.
…ates Bump version 2.10.0 -> 2.10.1 across Cargo.toml, README badge, landing page badge fallback, and the schema.org softwareVersion/releaseNotes (both still pointed at 2.5.0). Incorporates the dependency bumps from PR #69: tar 0.4.44->0.4.45, grid 1.0.0->1.0.1, rustls-webpki 0.103.9->0.103.13 (includes rustls-webpki security advisory fixes).
There was a problem hiding this comment.
Code Review
This pull request bumps the version of UltraLog to 2.10.1 across Cargo.toml, Cargo.lock, README.md, and documentation files. It also updates several dependencies in Cargo.lock, including downgrading windows-sys and upgrading grid, rustls-webpki, and tar. Additionally, the macOS release instructions in the release template have been updated to reflect that the app is now signed and notarized, eliminating the need to bypass Gatekeeper. There are no review comments to address, and I have no additional feedback to provide.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
Why
Users on macOS 15+ get "UltraLog.app can't be opened because Apple cannot check it for malicious software" and the right-click → Open bypass no longer works on Sequoia, generating a steady stream of bug reports. Root cause: the release workflow only ad-hoc signed the bundle (
codesign --sign -) and never notarized it.What changed
macOS code signing + notarization (
release.yml).appwith a real Developer ID Application identity under hardened runtime (--options runtime --timestamp), replacing ad-hoc signing.notarytool --waitand staple both the.app(before DMG build) and the.dmg, so installs open with zero warnings — even offline.RELEASE_TEMPLATE.mdand the beta release body (removed the now-defunct "right-click → Open" advice).Requires these repo secrets (already configured):
MACOS_CERT_P12,MACOS_CERT_PASSWORD,MACOS_SIGN_IDENTITY,MACOS_KEYCHAIN_PASSWORD,AC_API_KEY_ID,AC_API_ISSUER_ID,AC_API_KEY_P8.Version bump to v2.10.1
Cargo.toml,Cargo.lock, README badge, landing page badge fallback.softwareVersion/releaseNotesindocs/index.html, which were stale at 2.5.0.Dependency updates (incorporates #69)
tar0.4.44 → 0.4.45grid1.0.0 → 1.0.1rustls-webpki0.103.9 → 0.103.13 (security advisory fixes)Testing
cargo checkpasses;cargo fmt --checkclean (pre-commit hook). Notarization path should be validated by cutting a-betatag (routes to the prerelease job) before the stablev2.10.1tag — watch forfind-identitylisting the cert andnotarytoolreturningstatus: Accepted.Closes #69