Move users from tracking Edge to Beta

Is there a way to migrate all my current edge users up to track the beta release channel, so that I can publish new edge releases without them being automatically upgraded?

I don’t believe this is possible. They chose to track the edge channel so that’s what they’ll get. The only way you can make them track a more-stable channel is to close the edge channel so they get forwarded up the stack. But the moment you introduce a further edge release they’ll move onto that again.

1 Like

Is this same for beta and candidate channels or only edge behaves in this way?

Yes, it’s the same for all the channels. If stable is closed then it will drop to candidate, then beta, then edge to find the first channel that has a release. If candidate is closed but stable is open it’ll use stable, else it will use beta, or edge. If beta is closed, it’ll use candidate if it is open, or stable if it is open and candidate is closed, or it’ll use edge if no other channels are open.

Really the concept is, if I’m getting this right, when a user specifies a channel it will try to install that channel and if there isn’t a revision it will attempt to get a more-stable channel before finally trying the less stable channels.

2 Likes

The override behaviour will never move you to a riskier channel than the one you originally chose. It only works in a more-stable direction. If you’re ok with beta software you should be ok with stable or candidate but should NOT be offered edge-level bleeding-edge stuff :slight_smile:

I thought if there is no stable release and you snap install that-not-stable-snap without specifying that you accept non-stable it’ll still use the most-stable channel below stable because there is no stable yet?

To the original question, you would need to close edge and then could consider making a new track (optionally making it default) and directing users to the edge risk on that track.

2 Likes

Channel fallback will only ever give you something less risky. snap install --candidate foo installs from candidate, but if there’s nothing in candidate it falls back to stable. snap install foo installs from stable, but if there’s nothing in stable it will fail since there’s nowhere safer to fall back to.