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