Release notes: Snapcraft 5.0

Snapcraft 5.0 is a milestone release that marks the end of a significant development cycle while adding several new and important features, including:

  • New snapcraft metrics command
  • Metadata links added to snapcraft.yaml
  • Removal of legacy code base

For general details, including installation instructions, see Snapcraft overview, or take a look at Snapcraft release notes for other Snapcraft releases.

Snapcraft metrics

The snapcraft metrics command can be used to track installation and usage statistics for snaps published with your developer account.

For further details, see Snapcraft metrics.

Metadata links added to snapcraft.yaml

You can now add user-friendly bespoke links, such as a donation URL, a contact link, or for filing issues, to a snap’s snapcraft.yaml.

These links are translated into a more wire protocol friendly syntax for snap.yaml which can then be consumed by the Snap Store to enhance your snap’s listing.

See Snapcraft.yaml reference for further details.

Removal of legacy code base

For a long time, since the creation of base snaps, Snapcraft has maintained two code bases inside the same product - when no base was detected, Snapcraft would re-execute itself into the old code base.

The absence of a base in snapcraft.yaml triggered this behaviour for backwards compatibility, and this absence essentially meant building for an Ubuntu 16.04 target.

Ubuntu 16.04 is now in its ESM phase, and it’s support has been dropped from Snapcraft 5+. Publishers needing continued support for base: core can now use Snapcraft’s 4.x track which maintains the old Ubuntu 16.04 compatible code base.

See Snapcraft and Extended Security Maintenance for more details.

Full list of changes

Special thanks to the contributors that made this release happen: @3v1n0, @Blacksmoke16, @artivis, @cjp256, @cmatsuoka, @jriddell, @kyrofa and @sergiusens.

1 Like

Are those links also populated from the appstream metadata, if that gets pulled in via parse-info?

I could not find this described properly, but at least it does not look like it is used. Appstream has some links as follows:

<url type="homepage">https://...</url>
<url type="bugtracker">https://...</url>
<url type="faq">https://...</url>
<url type="help">https://...</url>
<url type="donation">https://...</url>
<url type="translate">https://...</url>

I think at least homepage (matching to snapcraft’s website), bugtracker (= issues) and donation would fit well and could be parsed.