---
title: Snapcraft 2.26 has been released
description: '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
  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 Tilleni […]'
url: https://canonical.com/blog/snapcraft-2-26-has-been-released?format=md
---

1. [Blog](https://canonical.com/blog)
2. Article

---

[Sergio Schvezov](https://canonical.com/blog/author/sergio-schvezov "More about Sergio Schvezov")

3 February 2017

# Snapcraft 2.26 has been released

[developers](https://canonical.com/blog/tag/developers)
[Snap](https://canonical.com/blog/tag/snap)
[snapcraft](https://canonical.com/blog/tag/snapcraft)
[snapcraft.io](https://canonical.com/blog/tag/snapcraft-io)
[Ubuntu Core](https://canonical.com/blog/tag/ubuntu-core)

---

Share the article

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>

# 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.;

```
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`
* `github.com/juju/juju/cmd/jujud`
* `github.com/juju/juju/cmd/plugins/juju-metadata`
* `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:

```
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@lists.snapcraft.io](mailto: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

[Get in touch

Interested in running Ubuntu in your organization?](https://ubuntu.com/about/contact-us/form)

## Sign up for our newsletter

Get the latest Canonical news and updates in your inbox.

Work email:

\*I agree to receive information about Canonical's
products and services.

By submitting this form, I confirm that I have read and agree to [Canonical's Privacy Policy](https://canonical.com/legal/dataprivacy).

Sign up

## Share on

---

## Related posts

[### So you need to add microcontrollers to your fleet: now what?](https://canonical.com/blog/microcontrollers-ubuntu-core-golioth)

Your Ubuntu Core fleet is running beautifully. OTA updates roll out in minutes. Every device is strictly confined, cryptographically attested, and carrying a 10 to 15 year long...

[Jonathan Beri](https://canonical.com/blog/author/jmberi)

18 June 2026

[### A look into Ubuntu Core 26: Building a local AI inference appliance in a virtual machine](https://canonical.com/blog/ubuntu-core-26-ai-box)

Welcome to this blog series which explores innovative uses of Ubuntu Core. Throughout this series, Canonical’s Engineers will show what you can build with this Core 26 release,...

[Gabriel Aguiar Noury](https://canonical.com/blog/author/g-aguiar-noury)

16 June 2026

[### A look into Ubuntu Core 26: Deploying AI models on Renesas RZ/V series for production](https://canonical.com/blog/ubuntu-core-26-ai-renesas)

Welcome to this blog series which explores innovative uses of Ubuntu Core. Throughout this series, Canonical’s Engineers will show what you can build with our releases,...

[Gabriel Aguiar Noury](https://canonical.com/blog/author/g-aguiar-noury)

4 June 2026

[### A look into Ubuntu Core 26: Cloud-powered edge computing with AWS IoT Greengrass and Azure IoT Edge](https://canonical.com/blog/ubuntu-core-26-cloud-integration)

Welcome to this blog series which explores innovative uses of Ubuntu Core. Throughout this series, Canonical’s Engineers will show what you can build with this Core 26 release,...

[Gabriel Aguiar Noury](https://canonical.com/blog/author/g-aguiar-noury)

20 May 2026
