snapcraft 2.26 has been released
Sergio Schvezov
sergio.schvezov at canonical.com
Fri Feb 3 11:58:35 UTC 2017
Hello snapcrafters!
We are pleased to announce the release of version `2.26` of snapcraft has
been released:
https://launchpad.net/snapcraft/+milestone/2.26
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/
<https://github.com/snapcore/snapcraft/releases/tag/2.25>snapcraft/releases/
tag/2.26 <https://github.com/snapcore/snapcraft/releases/tag/2.26>)
# 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:
- Björn Tillenius
- Marco Trevisan
- Matthew Aguirre
- Olivier Tilloy
- Shawn Wang
# New in this release
## Snap directory now in place
All the snapcraft specific asset handling has been moved to the `snap`
directory as the preferred location for the following:
- `snapcraft.yaml`
- `setup/gui`
- `parts/plugins`
This adds up to the already existing location for `hooks` introduced in
2.25.
On `snapcraft init`, snapcraft will now create a `snap/snapcraft.yaml`
file. Keep in mind that the existing `snapcraft.yaml` and `.snapcraft.yaml`
are still valid and *not* deprecated.
However, use of `parts/plugins` will print a deprecation message with a
link to https://snapcraft.io/docs/deprecation-notices/dn2 and use of
`setup/gui` will behave in a similar way but linking to
https://snapcraft.io/docs/deprecation-notices/dn3.
## stage packages
The experience for using multi-architecture package entries in
`stage-packages` has been refined. This should provide a better experience
for when someone wants to; to illustrate image that on an `arm64` you would
want to include an `armhf` package, e.g.;
```yaml
parts:
packages:
plugin: nil
stage-packages:
- libfoo:armhf
```
## Desktop file support enhancements
Snapcraft 2.25 introduced support for `desktop` file entries in as part of
an app entry in `apps`. There have been improvements to this functionality
for when the app entry in `apps` matches the snap `name` as well as
polishing in the assembly of the resutling snap.
## godeps plugin
The `godeps` plugin until this release fetched all the dependencies defined
in `dependencies.tsv` or that defined in the part by the `godeps-file`
entry and proceeded to build all `package main` sources found in the tree.
This can now be limited to only build certain packages by use of the
`go-packages` entry.
As an example let's use `juju`. It currently as at the time of this writing:
- `github.com/juju/juju/cmd/juju` <http://github.com/juju/juju/cmd/juju>
- `github.com/juju/juju/cmd/jujud` <http://github.com/juju/juju/cmd/jujud>
- `github.com/juju/juju/cmd/plugins/juju-metadata`
<http://github.com/juju/juju/cmd/plugins/juju-metadata>
- `github.com/juju/juju/cmd/plugins/juju-upgrade-mongo`
<http://github.com/juju/juju/cmd/plugins/juju-upgrade-mongo>
Without the `go-packages` entry you would end up with 4 binaries in your
snap `juju`. `jujud`. `juju-metadata` and `juju-upgrade-mongo`. If for
example you wanted to only build `juju` something like this would do the
trick:
```yaml
parts:
juju: https://github.com/juju/juju
go-importpath: github.com/juju/juju
go-packages:
- github.com/juju/juju/cmd/juju
```
## catkin plugin
The `catkin` plugin has been optimized under the hood to work better with
the compiler meant to be used with the chosen ROS release.
## gradle plugin
The `gradle` plugin has been enhanced to also work with `gradle`
transparently when `gradlew` is not provided with the `sources` of that
part.
## python plugin
The `python` plugin will now do the right thing when setting up a
`requirements` entry and having an `install_requires` entry in `setup.py`.
## General polishing
Some nice polishing that is part of ongoing work is showing up in this
release:
- schema errors related to text length limits now display an error a human
can parse.
- incorrect spacing issues have been fixed in some prompts.
- some projects that are part of the tour had missing `build-packages added
to them.
- colors have been fixed for failed logins to the store.
## Others
For the full list of things available on 2.26 feel free to check
https://launchpad.net/snapcraft/+milestone/2.26
# Final Notes
To get the source for this release check it out at
https://github.com/snapcore/snapcraft/releases/tag/2.26
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/snapcraft-announce/attachments/20170203/1002cd6a/attachment.html>
More information about the Snapcraft-announce
mailing list