ANN: snapcraft 2.28 has been released

Sergio Schvezov sergio.schvezov at
Thu Mar 30 19:54:34 UTC 2017

Prettier version of the release notes can be found on


Hello snapcrafters!

We are pleased to announce the release snapcraft `2.28`:

# Contributions

This release has seen some contributions from outside of the snapcraft core team, so we want to give a shout out to these folks, here's a team thank you for:
- Colin Watson
- Jonathan Cave
- Michael Hudson-Doyle
- Olivier Tilloy
- Paolo Pisati
- pachulo

# New in this release

## Core

### snapcraft snap

snapcraft can now properly build as a snap and does the right thing. Starting 2.28 snapcraft should eventually be able to be installed from the store, currently in the `edge` channel.

### repo

The repo module in snapcraft, which deals with `stage-packages` entries and host distro specific packaging has been moved to a more modular python packge inside snapcraft allowing contributors to add support for other mechanisms such as support for rpm.

### cleanbuild

The logic for cleanbuild has been reworked to properly detect when lxd (the lxc client actually) is installed as a snap or manually compiled. This change also comes into play for cross distro snapcraft support.

### classic confinement

With this release it should be now possible to use launchpad builders to build for other architectures than `amd64` as the detection logic for the dynamic linker in core has been fixed.

### sources

Sources, thanks to an external contributor, can now make use of a new entry, `source-checksum` which can be added to sources that can be hashed, the format is the following: `source-checksum: <algorithm>/<digest>`. These are the supported algorithms:

- `md5`
- `sha1`
- `sha224`
- `sha256`
- `sha384`
- `sha3_256`
- `sha3_384` (recommended)
- `sha3_512`

## Plugins

### python

Projects that use `pbr`, mostly openstack, now correctly setup their `console_scripts` defined in `entry_points` when using `setup.cfg`.
When building with python provided as a part, headers are now correctly setup to do the right thing for python packages that need to build code requiring these headers.

### kernel

The `kernel` and `kbuild` plugins have received some needed attention for this release providing for better out of the box kernel builds.

The demos have been setup to now build proper bootable kernels with todays Ubuntu Core module dependency.

The plugin itself:

- The plugin itself has added better support to the logic that adds and traces module dependencies when needing them added to initrd.
- For the case of architectures that use dtbs, if no dtb is specified, all dtbs are installed to make sure the system could boot by default.
- The kernel target, if not provided is now decided by the plugin depending on the build architecture.
- When building, custom `MAKEFLAGS` no longer affect the build.

And to add to that, there is now a test plan for the kernel plugin that tracks the supported kernels.

### catkin

The plugin has been expanded to support underlays, the benefit here is that it is now easy to build ROS projects that make use of the `content` interface. Check out the [demo code](

## Store integration

Delta uploads are now enabled for every `snapcraft push` done, a welcome bandwith saving addition.

Every store request now sends a proper User Agent string so the store can behave accordingly to the version of snapcraft in use and properly determine when deprecated APIs can go out the door.

The `history` command has been deprecated in favor of `list-revisions` with an alias of `revisions`. An explanation of the reasoning can be read on the deprecation notice [DN4](

The `status`, `close` and `list-revisions` commands have been updated to show track information when used.
## Others

For the full list of things available on 2.28 feel free to check

# Final Notes

To get the source for this release check it out at

A great place to collaborate and discuss features, bugs and ideas on snapcraft is snapcraft at mailing list or on the snapcraft channel on Rocket Chat

To file bugs, please go to

Happy snapcrafting!
-- Sergio and the team

Sent using Dekko from my Ubuntu device

More information about the Snapcraft mailing list