github canonical/snapcraft 2.29
Welcome snapcraft 2.29

latest releases: 8.4.4, 7.5.8, 8.4.3...
7 years ago

Hello snapcrafters!

We are pleased to announce the release of snapcraft 2.29:

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:

  • Andy Li
  • Celso Providelo
  • Chris MacNaughton
  • Colin Watson
  • Eduardo Vega
  • Facundo Batista
  • Jumpei Ogawa
  • Para Siva

New in this release

Core

snapcraft snap

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.

containers

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: https://forum.snapcraft.io/t/per-project-containers/388

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 version-script keyword.
  • a keyword of git that can be set to the version which 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: https://forum.snapcraft.io/t/snapcraft-version-scriptlets/106

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. 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 https://forum.snapcraft.io/t/asset-recording-for-a-built-snap/317/1

Plugins

rust

Projects using rust can now enjoy the benefits of classic confinement as the linker flags are now correctly set through rust flags settings.

nodejs

The nodejs plugin now has experimental support for yarn. To use it instead of npm the part just needs to set node-package-manager to yarn, here is an example for a part using the nodejs plugin:

parts:
  shout:
    plugin: nodejs
    node-packages:
      - shout
    node-package-manager: 'yarn'

ant

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

Store integration

snap collaboration

The plumbing work to get snap collaboration in place has landed, for more information about the design for snap collaboration refer to https://forum.snapcraft.io/t/ux-for-snap-collaboration/86/17

UI polish

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.

Final Notes

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.

Happy snapcrafting!
-- Sergio and the team

Don't miss a new snapcraft release

NewReleases is sending notifications on new releases.