Sparkle automatic updates for macOS disabled in 3.x
We had reports that 3.6 and 3.6.1 were not updating to 3.6.2 on macOS. It turns out that the updater is disabled on the 3.x branch for macOS (BUILD_AUTOUPDATE=OFF
). This probably happened accidentally during the transition from Travis CI to GitHub Actions. Unfortunately there's no way for us to enable automatic updates for those releases retrospectively.
Workaround: Fortunately, there is a fallback mechanism via the update checking facility that was used before we started doing automatic updates via Sparkle. We can't use this to install an update automatically, but we should at least be able to alert users to the fact that an update is available for them to download on their own.
For future reference, here's what the different updater screens look like:
Automatic updates via Sparkle
Feed: https://sparkle.musescore.org/stable/3/macos/appcast.xml
Update Checker
Feed: https://update.musescore.org/update_mac_stable.xml
Comments
Note for fixing this: the Sparkle updater will only build with
-G Xcode
. Attempting to use the default "Unix Makefiles" generator gives this error at build time:Recent versions of CMake also require
-T buildsystem=1
to prevent this error during configuration:The first error might be fundamental, but the second error could probably be fixed by modifying mscore/qrc_musescore.cpp or mscore/CMakeLists.txt.
The feed for the update checker has now been updated. Users of 3.6 and 3.6.1 should see this dialog next time they open the application:
Update Checker (update available)
Feed: https://update.musescore.org/update_mac_stable.xml
The link in the dialog takes you to https://musescore.org/en/download/musescore.dmg
Note: This facilitates the workaround but the bug is still active in the code.
Not a blocker at all, not even critical
Blocker means it blocks a release, not that it blocks the user or is an immediate danger. We consider this important enough that we would not do another release without fixing it, therefore it's a blocker.
I assigned 3.x as the reported version because I was building that branch with release flags enabled and found the bug to be active. I guess it could make sense to assign 3.6 since development builds are not expected to update automatically (release flags are disabled by default). It depends what you want "reported version" to mean and how you want it to be used. I'll leave it on 3.6 for now.
See https://github.com/musescore/MuseScore/pull/7623
The problem is with the 3.6 release and a regression with that. It is not a 3.x problem at all, as that doesn#t do autoupdates. And the definition of Blocker is different, see https://musescore.org/en/node/309537#Severity:
S1 - Blocker - The bug prevents a user from running/opening MuseScore.
Clearly not the case here.
But see https://musescore.org/en/node/309537#Priority:
P0 - Critical - The issue must be fixed asap. Usually, this priority is used for the issues affecting development/deploy/infrastructure issues.
PR got merged into the 3.x branch
Automatically closed -- issue fixed for 2 weeks with no activity.