github canonical/snapcraft 2.25
Snapcraft 2.25 has been released

latest releases: 8.2.7, 8.2.6, 8.2.5...
7 years ago

Hello snapcrafters!

We are pleased to announce the release of version 2.25 of snapcraft has been released:
https://launchpad.net/snapcraft/+milestone/2.25

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:

  • Chris Holcombe
  • Jonathon Love
  • Kit Randel
  • Marco Trevisan
  • Matthew Aguirre
  • Olivier Tilloy

New in this release

Support for hooks

Hooks support has arrived. There are currently two ways to use them, either with a by-convention path or by using a part and installing into an expected path in the part's install directory.

Find out more about this feature at https://github.com/snapcore/snapcraft/blob/master/docs/hooks.md

Desktop file support

Aside from the by-convention functionality already in place, you can now declare a desktop file from your app within an apps entry using a path relative to the prime directory pointing to a desktop file, snapcraft will take care of the rest. So if your project already has a desktop file, say in ./prime/usr/share/applications/my-app.desktop all you need to do is something like this:

apps:
    my-app:
        command: my-app
        desktop: usr/share/applications/my-app.desktop

That said, it is worth mentioning that the by-convention mechanism is still supported.

rust plugin

The rust plugin has seen an improvement and a couple of bug fixes.

The added feature allow for one to set rust-features which is a list of strings used to build optional dependencies (run snapcraft help rust for a bit more details).

The bug fixes relate to:

  • Allowing to build with Cargo.toml not in the base source directory.
  • Repecting the other rust plugin properties: rust-channel and rust-revision.

nodejs plugin

The plugin now correctly downloads dependencies in package.json to the correct location.

godeps plugin

This plugin is now no longer affected by GOBIN being set in the environment.

deb sources

deb sources are now being handled with python-debian which does incorrecly handle symlinks.

More modes for daemon's in apps

You can now set the daemon property in an apps entry to notify (and it will follow systemd's expected behavior for this service type).

Deprecations

Some new deprecations have been introduced, for parts the prime keyword is now favored over the snap one. When using the snap keyword a link to http://snapcraft.io/docs/deprecation-notices/dn1 will be presented with more information and the migration path.

Plugins that are part of snapcraft that were displaying DEPRECATED notices have all been updated to use the newer plugin API.

Classic confinement

Some improvements were made to classic confinement with a more comprehensive error when the prerequisites to build a classic confined snap are not met.

parts

Improvements were made to the core parts management of snapcraft:

  • stage entries now don't need to be replicated in prime.
  • cleaning all parts works correctly even if snapcraft.yaml is broken.

Others

For the full list of things available on 2.25 feel free to check https://launchpad.net/snapcraft/+milestone/2.25

Final Notes

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

A great place to collaborate and discuss features, bugs and ideas on
snapcraft is snapcraft@lists.snapcraft.io mailing list or on 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.