PSA: Retiring the `latest` tracks for ubuntu-frame*, graphics- and mir-test-tools (action required)

The status quo

The lifecycle of Ubuntu releases spans many years, and we want for Ubuntu Frame to be security-maintained for at least as long as the underlying Ubuntu release. But we also can’t stay on the toolchains and dependencies for that long.

To this end, we have recently introduced tracks of Ubuntu Frame and the other snaps we maintain.

You can see it in on the snap page and in the output of snap info ubuntu-frame:

name:      ubuntu-frame
# ...
channels:
  latest/stable:    99-mir2.13.0        2023-06-16 (5787) 8MB -
  latest/candidate: ↑                                         
  latest/beta:      ↑                                         
  latest/edge:      99-mir2.13.0+dev16  2023-06-15 (5792) 8MB -
  22/stable:        104-mir2.14.1       2023-07-31 (6331) 6MB -
  22/candidate:     ↑                                         
  22/beta:          104-mir2.14.1       2023-07-21 (6331) 6MB -
  22/edge:          104-mir2.14.1+dev14 2023-07-25 (6352) 6MB -
  20/stable:        99-mir2.13.0        2023-06-16 (5787) 8MB -
  20/candidate:     ↑                                         
  20/beta:          ↑                                         
  20/edge:          99-mir2.13.0+dev16  2023-06-15 (5792) 8MB -

The 20 track is based off of Ubuntu 20.04 LTS, and will be maintained as long as it. The 22 track is based on Ubuntu 22.04 LTS… you know. We’ll introduce the 24 track during the Ubuntu 24.04 development cycle.

Affected snaps

This applies to the following snaps:

If your solution employs any of these, you want to read what follows.

Track status

The latest Ubuntu LTS version (22.04, and the 22 track, at the time of writing) will always be the basis of current development.

Previous releases are moved into maintenance mode, and only receive security updates.

latest is legacy, based on Ubuntu 20.04, and is the default track. See below.

Usage

In production, it’s recommended to always explicitly choose the track you want to use, usually corresponding to the version of Ubuntu.

When installing or refreshing a snap, use --channel <track>/<risk> to follow that release channel. If building an image, set "default-channel": "<track>/<risk>" for all the relevant snaps.

You should also monitor the XX/candidate and/or XX/beta channels, to test and be ready for any incoming changes.

Moving forward

We want to simplify and clarify this setup, particularly the latest track does not make sense when the rest are versioned. See below the changes we want to apply, when and what impact that has on your systems.


Changing the default track

We will move the default track to 22. We will continue to move the default track to the current LTS

When:

  • with the next (2.15) Mir release, August 31st, 2023

Impact:

  • none on existing installations
  • new installs will default to the 22/stable channel
  • newly built images without a default-channel defined will default to the 22/channel

Mitigations:

  • make sure to define an appropriate default-channel in your model

Removing the latest track

We will stop publishing updates to the latest track, and subsequently remove the track altogether.

When:

  • October 31st, 2023

Impact:

  • existing installations will stop receiving updates
  • images using the latest track will fail to build

Mitigations:

  • migrate your machines to the 20/stable channels:
    snap refresh <snap> --channel 20/stable
  • refresh your models to use the 20/stable channels
  • if using a Dedicated Snap Store, follow the 20/stable channels for affected snaps, or remodel your devices to a new model
    NB: this is a complex process, please reach out to our support for help

Track maintenance

The previous default track will be moved into maintenance mode, where only security and a selection of bug fixes will be incorporated.

The default track will be the basis of current development as well as receive current security updates.

The newest track, based on the next LTS version of Ubuntu, will be considered unstable until it goes through sufficient testing, at which point the default track will be moved, with appropriate notice in this forum - and the previous default will move into maintenance mode.

When:

  • in effect on the 20 and latest tracks
  • August 31st on the new default, 22, track

Impact:

  • existing installations will stop receiving new features
  • images built from those tracks will not receive new features
  • developers need follow when the new tracks become default

Mitigations:

  • refresh existing installations to the newest track:
    NB: this will require an additional 200MB+ of space, as the new base snap, and graphics support snap need to be installed.
    sudo snap refresh <snap> --channel 22/stable
  • update the default-channel for any affected snaps in your model for new deployments and/or remodel
    NB: see above, the same size considerations apply
  • migrate your image to the new base and remodel
    NB: this is always a significant migration, so make sure to run appropriate quality assurance processes on your devices, reach out to our support for help
  • monitor this forum for updates

Feedback

Please let us know below, or through any other channel, if anything is unclear in this plan, we’ve not covered your case or anything else is concerning. Thank you!

3 Likes

This is now in effect. The following snaps’ default tracks are now 22:

  • ubuntu-frame
  • ubuntu-frame-osk
  • ubuntu-frame-vnc
  • mir-test-tools
  • graphics-test-tools
2 Likes

Just a gentle reminder that we will stop publishing and close all the channels in the latest track end of October, in just over 2 weeks.

Please migrate your deployments to the 20 or 22 tracks, as appropriate.

We’ve now closed all but the stable risk on the latest track for the following snaps:

  • ubuntu-frame
  • ubuntu-frame-osk
  • ubuntu-frame-vnc
  • mir-test-tools

We will not be publishing any more revisions to those channels, and will monitor usage of the latest/stable channel until we’re low enough to confidently close the latest track altogether.

Some time after that we’d like to bring latest back as a default track, but that will then be a rolling release version - moving to new base:s as appropriate.

graphics-test-tools, being a test suite and in light use is already following this practice.

2 Likes

I’m a little confused. Does that mean that ububtu-frame is going to be uninstalled from computers unless it was manually installed with track 22? We’ve always installed it normally, which uses the default track with

snap install Ubuntu-frame

Is this going to be a problem for all our devices with our customers?

@cluemaster snap install ubuntu-frame will install the default track. Installations will remain on the same track unless intentionally changed.

It is unfortunate that we started from a position of latest as the default track, we realised too late that changing the base on a default installation could have unplanned effects on devices (e.g. installing both core20 and core22 base snaps consumes space). The approach explained above delivers a better long term maintenance model.

Currently the default track is 22 and will move to 24 once we move development to core24. The default has changed from being latest, so default install from before the change will remain on latest. Current installs will default to 22, and remain on that track.

As described above, (see “Impact”) “existing installations have stopped receiving updates”. For your installations based on latest we recommend (See “Mitigations”) you switch to 20.