As of version 2.44TBC, there are a couple of small but noteworthy changes of behaviour coming to snapd:
- snap publishers can set a default track for their snap that is different from
latest
. This default track can change over time. With this a snap publisher can have versioned tracks, with default pointing to whatever is the most recent stable (meaning somebody doingsnap install
will always get that most recent stable version), but once installed a change to the default track won’t affect the installed snap, meaning that it will continue to track the version that it installed until an admin decides to version-hop. This is already live in the store, if anybody wants to look at what it looks like, what remains is snapd-side work. - when asking for a
refresh
or aswitch
specifying only a risk (i.e. one ofstable
,candidate
,beta
, oredge
), the track that the snap is following will not be changed. Previouslystable
was a shorthand forlatest/stable
, but that turns out to be counter-intuitive with users being surprised by this. So if you install, say,lxd
from track4.0/stable
(either explicitly using--channel=4.0
or by4.0
being the default track as per above), and then dosnap refresh lxd --candidate
, you’ll find thatlxd
will now be tracking4.0/candidate
, as most people would expect. This change is purely on snapd’s side. Note this is a redo of Behavior change: risk-only channel specifications will not switch track!, which was retracted after some corner case issues.
Progress:
☒ sticky tracks on master
☒ default tracks on master
☐ default track explicit in snap info? (TBC)
☐ documentation updates