Sparkle
Sparkle copied to clipboard
Deprecate custom version comparators
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