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
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
- storeapi: improve candid interaction errors (CRAFT-135) @sergiusens (#3562)
- spread tests: store metrics against staging (CRAFT-391) @sergiusens (#3561)
- cli: introduce metrics command (CRAFT-387) @cjp256 (#3560)
- store: add API support for metrics (CRAFT-386) @cjp256 (#3559)
- storeapi: introduce data model module for metrics (CRAFT-385) @cjp256 (#3558)
- Update Crystal v1 plugin @Blacksmoke16 (#3541)
- store: Add ReviewQueued status @3v1n0 (#3556)
- cli: introduce echo.echo_with_pager_if_needed() (CRAFT-380) @cjp256 (#3557)
- cli: add support for parallel remote builds @kyrofa (#3554)
- project: validate metadata links (CRAFT-369) @sergiusens (#3555)
- cli: make remote-build more user-friendly @kyrofa (#3553)
- dependencies: update click to 8.0.1 @kyrofa (#3551)
- meta: support for metadata links (CRAFT-370) @sergiusens (#3552)
- update kde neon extension to use the newer content snap with qt-5-15-3 @jriddell (#3547)
- storeapi: log responses and registration error code @sergiusens (#3550)
- repo: normalize only if there are packages to unpack @cmatsuoka (#3534)
- collaborators: remove feature @sergiusens (#3548)
- project: convert core warning to error @sergiusens (#3546)
- Core base removal @sergiusens (#3544)
- ROS plugins v2 misc fixes @artivis (#3536)
- snap: remove support for legacy re-exec (CRAFT-205) @sergiusens (#3543)
- spread tests: remove 16.04 and core (CRAFT-210) @sergiusens (#3540)