We are pleased to announce the release of snapcraft 2.31:
This release saw some excellent contributions from outside the snapcraft core team, and we want to give a shout out to those folks. A team thank you to:
New in this release
The move to the new argument parser caused the CLI to regress slightly by duplicating error messages in some circumstances and changing how it handled arguments to the
snap command. That has been fixed in this release.
Resume snap downloads
Snapcraft supports downloading the core snap when building classic snaps. This release adds the ability to resume the download of that snap if an error is encountered when trying to fetch it. This feature is really used more in CI than anywhere else, particularly in our own tests, where downloading the snap fails all the time with connection resets. This change did not help quite as much as we’d hoped in that situation, but it’s nice to have nonetheless.
git source-type was using
--remote when updating submodules, which updated each submodule rather than using the commit recorded in the super project. That’s fixed in this release.
Better build-packages asset tracking
In this release,
build-packages asset tracking has been extracted into a project-wide state area instead of being tracked individually in each part’s state. This fixes some awkward behavior when attempting to walk the dependency tree.
The qmake plugin previously required one to specify the Qt version being used. In this release, it’s started defaulting to Qt5.
Support has been added for cross-compiling Go parts by using
snapcraft --target-arch=<arch>. This supports use of cgo as well. We’re currently working on support for cross-compiling with
stage-packages– if you’re using
stage-packages, please wait to use this feature. We’re implementing it in phases.
Larger Catkin projects often keep track of their components by utilizing one or more
rosinstall files. This release adds support for those files to the Catkin plugin, allowing an entire ROS project to be built from a single file.
This release changes away from using
X-Ubuntu-Series for communication with the store.
To get the source for this release, check it out on github.
A great place to collaborate and discuss features, bugs and ideas on snapcraft are the forums and the snapcraft channel on Rocket Chat. Please also feel free to file a bug.
– Kyle and the team