Snapcraft 2.30 has been released


#1

Hello snapcrafters!

We are pleased to announce the release of snapcraft 2.30:

  • specifics related to the release process and status of availability can be tracked on this forum post.
  • The full list of merged PRs.
  • Specific bug fixes can be seen on the launchpad milestone.

Contributions

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:

  • Facundo Batista
  • Paolo Pisati
  • Tim Süberkrüb
  • Julian Liu
  • roxd
  • Eduardo Vega
  • Ricardo N Feliciano

New in this release

Core

snapcraft CLI

This has been a highly requested change in snapcraft, the CLI has been refactored to provide a much cleaner interface to the user (without breaking backwards compatibility). The diferences between one version and the other can be seen on this forum post

containers

The preliminary support for snapcraft to have a container assigned per project has been extended to work with all of the snapcraft build commands, still hidden by the feature flag, SNAPCRAFT_CONTAINER_BUILDS needs to be set. Read more and track it on this forum post

cleanbuild now correctly works when using the :arch syntax in build-packages and stage-packages, this is for example, having a stage-packages entry that ends with :i386 when cleanbuilding on amd64.

asset recording

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. The plumbing work is nearly done ironing out minor issues. If SNAPCRAFT_BUILD_INFO is set in the environment, the resulting snap will have a snap/snapcraft.yaml which can be use to rebuild the same snap.

More about the final results of asset recording can be looked up on this forum post

sources

There is now support for 7-zip files, if your source has the extension .7z it should just work. If not, it can be used by setting source-type to 7z.

Plugins

meson

A new plugin has made it to snapcraft, a plugin to work with meson, run snapcraft help meson to get acquainted with the plugin.

rust

The rust plugin now correctly works when source-subdir is set.

kernel

The kernel plugin has received a lot of attention this cycle. It correctly provides warnings when certain features are not enabled that would be required for a system to boot.

The plugin has also gained a new property kconfigflavor that works with the knowledge of Ubuntu kernel configurations to assemble a kernel config.

Store integration

snap collaboration

The user interface for this feature has been completed. Hidden in APIs until the store enables the feature so the story is complete.

Branches

Snapcraft has been enhanced to display branch information for the relevant commands.

Final Notes

To get the source for this release check it out at https://github.com/snapcore/snapcraft/releases/tag/2.30

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.

Happy snapcrafting!
– Sergio and the team


Announcing channel branches
Snapcraft call for testing
#2

Availability

Ubuntu archives

snapcraft can be install straight from the archives on Artful Aardvark or from the -proposed pocket on Xenial Xerus, Yakkety Yak and Zesty Zaurus

Snap

This release is currently available on the beta channels for each architecture on the store, there is currently a call for testing going as described on this forum post.