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
This release is now available on xenial-updates, yakkety-updates and zesty. What follows are the full release notes (the prettier version can be read at https://github.com/snapcore/snapcraft/releases/tag/2.25) # 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: ```yaml 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 # 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 # 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 -- Sent using Dekko from my Ubuntu device -- Snapcraft mailing list Snapcraft@lists.snapcraft.io Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/snapcraft