Skip to content

Welcome snapcraft 2.31

Compare
Choose a tag to compare
@kyrofa kyrofa released this 13 Jun 18:29
· 3602 commits to main since this release

Hello snapcrafters!

We are pleased to announce the release of snapcraft 2.31:

Contributions

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

Core

CLI

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.

Sources

The 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.

Plugins

qmake

The qmake plugin previously required one to specify the Qt version being used. In this release, it’s started defaulting to Qt5.

Go

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.

Catkin

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.

Store integration

Header change

This release changes away from using X-Ubuntu-Release to X-Ubuntu-Series for communication with the store.

Final notes

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.

Happy snapcrafting!
-- Kyle and the team