Release notes: Snapcraft 3.4

These are the release notes for Snapcraft 3.4.

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

New core features

New build provider support: LXD

LXD can now be used as a build provider.

To use LXD, the snapcraft lifecycle commands, pull, build, stage and prime, together with clean and snapcraft itself, need use the --use-lxd option.

$ snapcraft --use-lxd

With LXD, you can perform many of the same operations you can when working with Multipass, such as:

  • --shell
  • --shell-after
  • --debug

LXD support is currently under-construction. Future snapcraft releases by break storage setups, default profiles and LXD-based projects.

snapcraft try

When triggering builds in a clean environment, it is sometimes desirable to run snap try prime from a local prime directory.

If it hasn’t been run before, snapcraft try runs through the lifecycle up to the prime stage and offers the prime directory locally.

Plugins

go

The go plugin now works more broadly when using classic confinement. This helps avoid specifying no-patchelf for parts that fail to patch correctly.

catkin

The catkin plugin has been enhanced to support stage-snaps to satisfy dependencies.

A detailed write up can be found on the Snapcraft blog.

Full list of changes

The issues and features worked on for 3.4 can be seen on the 3.4 launchpad milestone which are reflected in the following change list:

List of changes for Snapcraft 3.4

Sergio Schvezov

  • build providers: modify the _run signature (#2511) (LP: #1821401)
  • build providers: support for provider setup (#2515) (LP: #1821586)
  • readme: add snap store badge (#2516)
  • build providers: initial support for LXD (#2509) (LP: #1805221)
  • cli: cleanup environment detection (#2521)
  • build providers: add API for friendly instance type names (#2522)
  • snap: set core as a base (#2520)
  • ci: improve travis integration conditionals (#2523)
  • cli: snapcraft try (#2524) (LP: #1805212)
  • build providers: idempotent destroy for LXD (#2529)
  • tests: add missing pylxd Build-Depends
  • tests: restrict catking stage-snap tests arches

Claudio Matsuoka

  • repo: handle deb package fetch error (#2513)
  • project: ensure yaml load returns a dictionary (#2517)
  • many: better handling of appstream icons (#2512) (LP: #1814898)
  • go plugin, elf: use patchelf 0.10 and relink dynamic go binaries (#2519)
    (LP: #1805205)
  • snap: use snapcraft’s 0.10 patchelf branch (#2528)
  • snap: revert to patchelf 0.9 with local patches (#2531)

adanhawth

  • schema: add more detail wrt numeric version errors (#2506)

Kyle Fazzari

  • catkin plugin: check stage-snaps for ROS dependencies (#2525)

Last updated 5 months ago. Help improve this document in the forum.