Snapcraft 2.25 has been released.
Sergio Schvezov
sergiusens at gmail.com
Thu Jan 19 02:47:43 UTC 2017
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 at 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
More information about the Snapcraft
mailing list