Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deprecate custom version comparators #2585

Closed
zorgiepoo opened this issue Jun 15, 2024 · 1 comment · Fixed by #2639
Closed

Deprecate custom version comparators #2585

zorgiepoo opened this issue Jun 15, 2024 · 1 comment · Fixed by #2639
Milestone

Comments

@zorgiepoo
Copy link
Member

zorgiepoo commented Jun 15, 2024

I'm considering deprecating custom version comparators (i.e, -[SPUUpdaterDelegate versionComparatorForUpdater:]).

Custom version comparators were a bad idea that promotes developers shipping apps with CFBundleVersion version schemes that are incompatible with the system (LaunchServices). In order for the system to properly identify if the version of an app is greater than another version of an app installed on the system (like for opening documents), it needs to look at the x.y.z version of the CFBundleVersion and see which one is greater. There's little room for "customization" here.

Any developer that wants to do custom branching may need to disjoint their CFBundleVersion (internal) and CFBundleShortVersionString (presentable) values.

It also makes updating more difficult for external updaters.

Now I should first dig up and see if any apps are using custom version comparators in novel ways that I am unaware of first. There were likely some cases in #1213 and #1178.

cc @core-code for awareness

@zorgiepoo zorgiepoo added this to the 2.7 milestone Jun 15, 2024
@core-code
Copy link
Contributor

core-code commented Jun 18, 2024

great move and good idea - having a broken bundle version should not be supported!

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 a pull request may close this issue.

2 participants