github canonical/snapcraft 4.4

latest releases: 8.5.0, 8.4.4, 7.5.8...
pre-release4 years ago

Special thanks to the contributors that made this release happen: @artivis, @cjp256, @galgalesh, @hellsworth, @kenvandine, @kyrofa, @maxiberta, @sergiusens and @timsueberkrueb

Command Line

It is now possible to add custom CA certificates into the build environments created by Snapcraft by using --add-ca-certificates with the lifecycle related commands.

And, Snapcraft's snap command now accepts an --output parameter.

Extensions

Desktop

A new mechanism to pre-generate font caches has been added to the desktop related extensions. This allows for system font caches to be generated at install time and isolated from the potentially ABI incompatible host generated cache.

To benefit from this feature, any extension using Snapcraft project just needs to rebuild their snap. More details about this feature can be found in the specification.

Package Repositories

The experimental package repositories feature is adapting to the latest changes:

  • The undocumented =$SNAPCRAFT_APT= variables have been removed.
  • Introduced improved error handling and schema validation.

The specification has been finalized which opens a path from leaving the experimental flag behind.

Store

Progressive Releases

Progressive releases now support reporting metrics as defined in the specification. Input on the feature is welcome on the forum.

Snap Revisions

Snapcraft's revisions command is now internally using a new endpoint which should provide much better results:

  • the table headers have slightly 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

New Features

Maintenance

  • 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 runtests.sh 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)
  • setup.py: assert with helpful error when unable to determine version @cjp256 (#3307)

Specifications and Documentation

Don't miss a new snapcraft release

NewReleases is sending notifications on new releases.