Skip to content

snap: transition to v1 #3872

@casperdcl

Description

@casperdcl

Anyone arriving here getting this message:

image

Running:

  • snap refresh --channel=latest/beta dvc (to upgrade now), or
  • snap refresh --channel=v0/stable dvc (to never upgrade)

makes the message go away.

Otherwise (if you ignore the message) you'll be upgraded from v0 to v1 automatically in a few days.

See https://dvc.org/blog/june-20-community-gems for some notes on upgrading to v1 (it's simple!)


Maintainer notes:

Snap packages automatically update to the most recent version in a channel.

The default channel is --latest/stable (with the slash, yes; not my design choice) and normally we push tagged releases to it.

During breaking transitions (v0 to v1), though, we need a transition phase.

  • snap: v0: build fixes & updates #3999 push the last 0.x to a new --v0/stable channel
  • snap: build fixes #3990 push the current 1.x to --v1/beta and --latest/beta
  • push a new 0.x-final to --latest/stable
    • snap: v0: build fixes & updates #3999 this issues a warning in the update available and error messages. This warning will state the 2 options for the user:
      • snap refresh --channel=v0/stable to stick to the old version
      • snap refresh --channel=latest/beta & use new API/syntax
      • snap refresh --channel=v1/beta & use new API/syntax. This would stop them getting warnings about --v2 in future. Probably bizarre ("I wanna upgrade now but never again") and not worth mentioning this option.

After the transition period (say 30 days?) we go back to normalcy:

  • close the --v1/beta channel. Users on it will automatically get shifted to --v1/stable.
  • regularly push 1.x updates to --v1/stable and --latest/stable

Some people will be be hit by errors at this stage, but serves them right for ignoring the transition warning messages we tried our best.

I'm not happy with the channel naming conventions either but such is life: https://snapcraft.io/docs/channels. In fact we have to manually request --v0, --v1 etc.

Metadata

Metadata

Assignees

Labels

discussionrequires active participation to reach a conclusionenhancementEnhances DVCp2-mediumMedium priority, should be done, but less importantuiuser interface / interaction

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions