Release notes: Snapcraft 4.4

The team behind Snapcraft is pleased to announce the release of Snapcraft 4.4.

Highlights for this release include:

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

New Features

Command Line

Custom CA certificates can now be added to the build environments created by Snapcraft by using --add-ca-certificates with the lifecycle related commands.


This release includes a new mechanism to pre-generate font caches with desktop-related extensions. This enables system font cache generation at install time, isolated from the potentially (ABI) incompatible host-generated cache.

To benefit from this feature, extension snaps will need to be rebuilt. More details about this feature can be found in the specification.

Package repositories

The experimental package repositories has the following changes:

  • the undocumented $SNAPCRAFT_APT variables have been removed.
  • improved error handling and schema validation.

Additionally, the package repository specification has been finalised, hopefully opening a path to remove the experimental flag for this feature.

Updates to the Store

Progressive Releases

Metrics have been added to our progressive releases feature, as defined by the specification. Input on this feature is welcome on the forum.

See Progressive releases for more details.

Snap Revisions

Snapcraft’s revisions command is now internally using a new endpoint to provide much better results:

  • table headers have changed to better represent architectures
  • channels are now fully qualified (i.e.; <track/risk/branch> )
  • comma separated column entries no longer have a space separating each item

Refer to the specification for further details.

Full list of changes

The issues and features worked on for Snapcraft 4.4 are reflected in the following change list:

List of changes for Snapcraft 4.4

New Features


  • cli: update revisions to use releases API @sergiusens (#3329)
  • storeapi: remove bindings for history @sergiusens (#3332)
  • v1 plugins: lock godep’s dependencies @cjp256 (#3285)
  • readme: remove link to Google+ @timsueberkrueb (#3292)
  • storeapi: drop arch requirement for get_channel_mapping() @cjp256 (#3301)
  • build(deps-dev): bump junit from 3.8.1 to 4.13.1 in /tests/spread/plugins/v1/maven/snaps/legacy-maven-hello/my-app @dependabot (#3316)
  • build(deps-dev): bump junit from 3.8.1 to 4.13.1 in /tests/spread/plugins/v1/maven/snaps/maven-hello/my-app @dependabot (#3315)
  • spread tests: introduce electron-builder test @cjp256 (#3312)
  • unit tests: fix not filtering tests when passed a subdirectory @maxiberta (#3305)
  • electron-builder spread test: sync expected snapcraft.yaml @cjp256 (#3323)
  • package repositories: drop $SNAPCRAFT_APT_HOST_ARCH variable @cjp256 (#3322)
  • package repositories: drop $SNAPCRAFT_APT_RELEASE variable @cjp256 (#3328)
  • flutter tests: updated for latest embedder @kenvandine (#3310)
  • lxd unit tests: simplify command checking pattern @cjp256 (#3326)

Bug Fixes

  • package repositories: fix case where formats is empty @cjp256 (#3330)
  • meta: add error check for “command not found” @cjp256 (#3321)
  • snapcraftctl: add checks for empty string for set-version & set-grade @cjp256 (#3325)
  • pluginhandler: properly handle snapcraftctl errors @cjp256 (#3317)
  • schema: add regex to validate description is non-empty @cjp256 (#3303)
  • set ROS_PYTHON_VERSION for rosdep @artivis (#3324)
  • Set ROS_VERSION for rosdep in plugins v1 @artivis (#3313)
  • repo: install requested build-package versions @cjp256 (#3221)
  • project loader: install dirmngr prior to configuring package repositories @cjp256 (#3294)
  • build providers: fix issues running on Windows @sergiusens (#3289)
  • cmake v2 plugin: add help for cmake generators @sergiusens (#3288)
  • assert with helpful error when unable to determine version @cjp256 (#3307)

Specifications and Documentation

Last updated 3 years ago.