Snapcraft 2.31 is now available for all supported releases

Jun 18, 2017 00:08 GMT  ·  By

Canonical has released a new stable version of its in-house built Snapcraft utility for creating Snap packages, the universal binary format, that can be distributed across multiple GNU/Linux operating system.

The biggest change in the Snapcraft 2.31 release appears to be support for resuming the download of the core Snap when building classic Snaps when an error occurs because the package can't be fetched. This could come in handy during tests and in CI when you package your apps as Snaps.

"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," reads the release notes.

Another interesting change is support for cross-compiling Go parts, which can be used with the "snapcraft --target-arch=< Arch >" command. While this implementation allows you to use cgo, it doesn't look like supports cross-compiling with the "stage-packages--" argument for stage-packages, but it's coming soon too.

The way Snapcraft communicates with the Snappy Store was changed

Snapcraft 2.31 also updates the qmake plugin to no longer requiring users to specify the Qt version being used as it now defaults to Qt5, improves the build-packages asset tracking, fixes a couple of bugs with the git source-type and CLI, and adds support for rosinstall files to the Catkin plugin so you can build an entire ROS project from a single file.

Last but not least, Snapcraft 2.31 changes the away the application communicates with the Snappy Store by modifying the X-Ubuntu-Release header to X-Ubuntu-Series. The new Snapcraft release should be available for installation from the main software repositories of your Ubuntu Linux distribution.