We are pleased to announce the release of snapcraft
- tasks: Done: snapcraft 2.29
- PRs: https://github.com/snapcore/snapcraft/milestone/2?closed=1
- bug fixes: https://launchpad.net/snapcraft/+milestone/2.29
- these release notes: https://github.com/snapcore/snapcraft/releases/tag/2.29
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:
- Andy Li
- Celso Providelo
- Chris MacNaughton
- Colin Watson
- Eduardo Vega
- Facundo Batista
- Jumpei Ogawa
- Para Siva
This release is now available on Ubuntu Xenial Xerus, Yakkety Yak and Zesty Zapus.
For first time installation run:
sudo apt update sudo apt install snapcraft
If already installed, run
sudo apt update && sudo apt dist-upgrade.
There is also a docker image on docker hub available as
For those wondering, a snap is coming soon! Sooner than you think
New in this release
Improvements were made to the way snapcraft (through python) finds libraries when using
ctypes, this ensures a correct functioning of snapcraft across operating systems. Other improvements were made for snapcraft across operating systems to have correct fall back mechanisms to continue functioning.
There is now preliminary support for snapcraft to have a container assigned per project being worked on. The support today is limited to
local lxd remotes and hidden with the feature flag
SNAPCRAFT_CONTAINER_BUILDS that needs to be set.
Read more and track it on the forum: Per project containers
enhanced version support
The much requested feature of changing the user visible version in a dynamic way has arrived. There are two modes:
- a pure script to run after everything has been
primed by use of a
- a keyword of
gitthat can be set to the
versionwhich tells snapcraft to generate the version from the information provided by the VCS holding the repo. This should be really beneficial for people releasing with annotated git tags.
More of this can be read on the forum: Snapcraft version scripts
Asset recording is a feature with two benefits, easier tracking of what is in a snap and also provides enough information to rebuild a snap with the information provided. Some of the plumbing work has made it into this release.
More about the final results of asset recording can be looked up on the forums Asset recording for a built snap
Projects using rust can now enjoy the benefits of classic confinement as the linker flags are now correctly set through rust flags settings.
The nodejs plugin now has experimental support for
yarn. To use it instead of
npm the part just needs to set
yarn, here is an example for a part using the
parts: shout: plugin: nodejs node-packages: - shout node-package-manager: 'yarn'
Proxy support for the ant plugin has been worked on. Mostly invisible to most users but necessary to correctly work on most CI systems like the launchpad builders which can be setup on https://build.snapcraft.io
The plumbing work to get snap collaboration in place has landed, for more information about the design for snap collaboration refer to UX for snap collaboration
Improvements to make the UI less cluttered have been made, left over artifacts have been cleaned up as well. This should mostly affect the operation of the
snapcraft push --release command.
To get the source for this release check it out at https://github.com/snapcore/snapcraft/releases/tag/2.29
A great place to collaborate and discuss features, bugs and ideas on snapcraft are the forums on https://forum.snapcraft.io and 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