What would be needed for staged rollouts of updates?

It recently came up that Thunderbird may be holding back a major update from the Flathub app because they cannot stage a rollout of the update; with such a large user base, they are concerned about pushing a major update out all at once. At the same time, users are understandably frustrated that they cannot even opt in to use the major update.

Other app stores like Google Play Store, Apple App Store, Steam, and consoles support the staged rollout of updates, e.g. to X% of users over Y amount of time, which can be crucial with a large change and large user base—and the rollout can be paused if there is an unexpected spike in crash reports, for example.

What work would need to be done—and in which projects (Flathub, Flatpak itself, etc.) for Flathub to support similar staged rollouts of updates?

This will be light on details, but my understanding is it would require changes to Flatpak and the summary file format, and possibly something about OStree too? Currently, we cannot have a ref pointing to two commits at once, so any staged rollouts are impossible; there’s also a question of how to enrol a user automatically, as there’s no dynamic server controlling that.

Was thinking a bit about this this summer and ended up wondering, if this would be possible with an nginx (or similar) which is basically controlled by our backend. As in reads to which version it should redirect you.

Probably very hacky and might cause confusion when users end up in a test group and not on their other system.

I have been wondering about this. I was about to install the RPM package because I was tired of waiting. I expect the big update to Inkscape to go the same way.
I don’t know if it would solve the problem but i wish there was a beta tester program that I could opt into.

I assume you refer to tb? That has been updated for some days now to 115

Yes i am referring to Thunderbird. See original post. The larger the user base, the greater the potential problem.
The staged rollout of updates is a good idea.
Some delay for the latest thing to go through flathub is normal and expected.

Inkscape 1.3 was published LAST WEEK within a day or two of the tarballs appearing. What’s your issue here?

No issues.
I only use Inkscape occasionally, so i was not aware.
I simply agree with the sentiment of the original post, that staged rollout of updates is a good idea.

No issue. The proposition here is just another adding another layer of safety to developers to deploy new releases if they have enormous user bases.

Staged rollouts are available in all major app stores, and it would be good if Flatpak/Flathub supported it to give more control to developers.

Heh I proposed this around the same time for the same reason @cassidyjames