We are pleased to announce the release snapcraft
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
New in this release
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
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.
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.
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, 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:
Projects that use
pbr, mostly openstack, now correctly setup their
console_scripts defined in
entry_points when using
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.
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
MAKEFLAGSno longer affect the build.
And to add to that, there is now a test plan for the kernel plugin that tracks the supported kernels.
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.
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.
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
list-revisions commands have been updated to show track information when used.
For the full list of things available on 2.28 feel free to check https://launchpad.net/snapcraft/+milestone/2.28
To get the source for this release check it out at https://github.com/snapcore/snapcraft/releases/tag/2.28
A great place to collaborate and discuss features, bugs and ideas on snapcraft is this here forum or on the snapcraft channel on Rocket Chat https://rocket.ubuntu.com/channel/snapcraft
To file bugs, please go to https://bugs.launchpad.net/snapcraft/+filebug.
– Sergio and the team