Sparkle icon indicating copy to clipboard operation
Sparkle copied to clipboard

Deprecate custom version comparators

Open zorgiepoo opened this issue 2 months ago • 1 comments

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 avatar Jun 15 '24 21:06 zorgiepoo