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:
LXD support is currently under-construction. Future snapcraft releases by break storage setups, default profiles and LXD-based projects.
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.
The go plugin now works more broadly when using
classic confinement. This helps avoid specifying
no-patchelf for parts that fail to patch correctly.
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
- 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
- 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)
- snap: use snapcraft’s 0.10 patchelf branch (#2528)
- snap: revert to patchelf 0.9 with local patches (#2531)
- schema: add more detail wrt numeric version errors (#2506)
- catkin plugin: check stage-snaps for ROS dependencies (#2525)