Repository navigation
Bridge release 1.13.1: an update check that reads the minimum macOS - #8
Merged
Merged
Conversation
The update check compared versions only, so once a release needs a newer macOS it would still be offered to an older Mac, whose user would download a DMG and drag in an app that will not open over the one that works. release.sh now ends every release's notes with <!-- minimum-macos: X -->, from the built app's LSMinimumSystemVersion. The checker reads it: when the newest release is newer than this build but needs a newer macOS than this Mac has, it returns needsNewerMacOS instead of available. Check for Updates… then says which macOS the release needs and that the installed version is the newest this Mac can run; the check at launch stays quiet. A release with no marker, or a malformed one, is offered as before. Tests cover reading the marker, its absence, malformed markers, the version comparison and the description. The toolbar badge is cleared for such a release, as for an up-to-date one. The tests go in BarkeepTests.swift, since a new file would need a hand edit to project.pbxproj. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Reads LSMinimumSystemVersion from the built app before notarizing, stopping there if it is missing, and appends to the GitHub release notes, curated or generated, a "Requires macOS X or later." line and a <!-- minimum-macos: X --> marker, which GitHub does not render and the app's update check reads. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A bridge release on the current floor: it ships the update check that reads the minimum macOS, so the release that raises the floor to 15 is not offered to Macs below it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The bridge release, 1.13.1, on the current minimum macOS. It ships an update check that reads the minimum macOS each release declares, so the later "Require macOS 15" release isn't offered to Macs that can't run it. It's also the first real run of
release.sh's new test step.What
Update check: the checker reads a
<!-- minimum-macos: X -->marker from the release notes. When the newest release is newer than this build but needs a newer macOS than this Mac has:A release with no marker, or a malformed one, is offered as before.
The toolbar badge is cleared for such a release. The tests go in `BarkeepTests.swift`, since a new file would need a hand edit to `project.pbxproj`.
release.shreadsLSMinimumSystemVersionfrom the built app before notarizing, and stops there if it's missing. It appends a "Requires macOS X or later." line and the marker to the GitHub release notes, curated or generated.release-notes/v1.13.1.mddrafted.Checked
zsh -n release.shpasses.PlistBuddyreads the right minimum from the installed app.To release
Merge, let CI go green, then
caffeinate -dis ./release.sh 1.13.1.🤖 Generated with Claude Code