---
title: Announcing snapcraft 2.35
description: 'The snapcraft team is pleased to announce that version 2.35 has been
  released. Contributions This release saw some excellent contributions from outside
  the snapcraft core team, and we want to give a shout out to those folks. A team
  thank you to: Mark Lee Michael Vogt James Beedy Aleix Pol Jeff Dickey Nathan Haines
  Chris  […]'
url: https://canonical.com/blog/announcing-snapcraft-2-35?format=md
---

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

---

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

22 November 2017

# Announcing snapcraft 2.35

[developers](https://canonical.com/blog/tag/developers)
[snapcraft](https://canonical.com/blog/tag/snapcraft)
[snapcraft.io](https://canonical.com/blog/tag/snapcraft-io)

---

Share the article

The snapcraft team is pleased to announce that version 2.35 has been released.

# Contributions

This release saw some excellent contributions from outside the snapcraft core team, and we want to give a shout out to those folks. A team thank you to:

* [Mark Lee](https://github.com/malept)
* [Michael Vogt](https://github.com/mvo5)
* [James Beedy](https://github.com/jamesbeedy)
* [Aleix Pol](https://github.com/aleixpol)
* [Jeff Dickey](https://github.com/jdxcode)
* [Nathan Haines](https://github.com/nathanhaines)
* [Chris Ratliff](https://github.com/cratliff)
* [Marius Gripsgard](https://github.com/mariogrip)
* [Rakesh Singh](https://github.com/rakeshsinghranchi)
* [Martin Wimpress](https://github.com/flexiondotorg)
* [Colin Watson](https://github.com/cjwatson)
* [Paolo Pisati](https://github.com/piso77)
* [Jonathan Cave](https://github.com/jocave)
* [Carlo Lobrano](https://github.com/clobrano)
* [Alfonso Sanchez Beato](https://github.com/alfonsosanchezbeato)

# New in this release

## Core

### Containers

Each build instance created now correctly works out isolated temporary folder locations for those users running many builds in parallel. There is also better detection of existing or missing lxd installations so first time users can better understand any problems with the host they are currently trying to use.

When running `snapcraft` from the snap, `snapcraft` now injects itself into the actual snap instead of `apt` installing the deb (for the case of today of only supporting one base), providing parity with the local environment at hand.

Work has been added to get rid of all the corner cases and provide useful feedback to users and making the experience feel more native.
Additionally, support has been added for using remote lxd instances.

To enable the persistent build containers feature the `SNAPCRAFT_CONTAINER_BUILDS` environment variable needs to be set.

Here’s an example of using a remote lxd instance:

### Recording

On this new version we added more information to the build manifest, like the contents of lock files, the debs and snaps installed in the machine, information from uname and the fingerprint of the container used for the build. To record the build manifest, set the environment variable `SNAPCRAFT_BUILD_INFO`. The manifest will be saved and distributed inside the snap. After the build, you can inspect it in the prime/snap/manifest.yaml.

## Command Line Interface

### new command: pack

This new `pack` command replaces the now [deprecated](https://docs.snapcraft.io/deprecation-notices/dn6) use of `snap <snap-dir>` with the goal of decoupling the concept of working on an actual snapcraft project and *packing* up a directory layout into a snap.

### new command: refresh

This command is only available when *persistent build containers* are enabled and exists to make the environment feel as native as possible. Prior to the existence of this command, building continuously in a container triggered a refresh of the packaging archive every time, now this `refresh` only takes place on container creation or when called through `snapcraft refresh`.

### new command: edit-collaborators

This command will eventually replace the use of the store invites mechanism to setup other people as collaborators to the project. It is currently hidden as the production snap store has it currently disabled. A future release once things have stabilized will expose the command to users. It is harmless to use today as a proper error will show up.

In the meantime, here is how it works when using the integration store:

## OS Support

### Solus

Initial support for running the snapcraft snap on solus has been added. It should work well enough for things like performing store operations, packing up snaps; or if lxd is installed and setup, most operations should work through use of persistent build containers or cleanbuild.

We look forward to knowing how this initial experience performs.

### Ubuntu 14.04

Snapcraft currently only really runs well on Ubuntu 16.04, but we’re working on adding support for other releases and Linux distributions. This is the first release where you can use the Snapcraft snap on Ubuntu 14.04 (Trusty). This is particularly important for snaps based on ROS (Robot Operating System) Indigo, which targets Trusty. Here’s a demo of just that:

## Plugins

### dotnet

This plugin developed by Rajesh, a .NET developer at Microsoft, allows you to create .NET 2.x based snaps, currently embedding the runtime with plans to enhance it to understand content snaps of .NET runtimes which could be leveraged by projects.

The syntax is pretty straightforward and builds on language understood by upstream so getting started for a current .NET developer should feel like a pleasant journey.

Here is the plugin in action:

### ruby

This release sees the addition of a Ruby plugin, written by James Beedy. It supports a number of different Ruby versions by building them from source, which takes a little while but makes it pretty versatile. It could definitely use some exercise! Here’s an example of building a snap of the Travis gem:

### catkin

The Catkin plugin has long supported rosdep to resolve and fetch system dependencies (i.e. Debian packages). However, rosdep also supports resolving pip dependencies. This release adds support for those, so they don’t need to specified elsewhere in the snapcraft.yaml.

# Final notes

To get the source for this release, check it out on [github](https://github.com/snapcore/snapcraft/releases/tag/2.35).

A great place to collaborate and discuss features, bugs and ideas on snapcraft are the [forums](https://forum.snapcraft.io). Please also feel free to [file a bug](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

[### Snapcraft 8.0 and the respectable end of core18](https://canonical.com/blog/snapcraft-8-0-and-the-respectable-end-of-core18)

‘E’s not pinin’! ‘E’s passed on! This base is no more! He has ceased to be! ‘E’s expired and gone to meet ‘is maker! ‘E’s a stiff! Bereft of life, ‘e rests in peace! If you...

[Igor Ljubuncic](https://canonical.com/blog/author/igorljubuncic)

16 June 2023

[### 6 facts for CentOS users who are holding on](https://canonical.com/blog/migrating-to-ubuntu-lts-six-facts-for-centos-users)

Considering migrating to Ubuntu from other Linux platforms, such as CentOS? Find six useful facts to get started!

[Lech Sandecki](https://canonical.com/blog/author/lsandecki)

23 October 2024

[### Why is Ubuntu Linux the leading choice to replace CentOS for financial services?](https://canonical.com/blog/why-is-ubuntu-linux-the-leading-choice-to-replace-centos-for-finserv-infrastructure)

Financial services are powered by technology. The customer experience is increasingly driven by data, with tailoring of products and services to reflect individual behaviors...

[Kris Sharma](https://canonical.com/blog/author/krissharma)

17 October 2024

[### TurtleBot3 OpenCR firmware update from a snap](https://canonical.com/blog/turtlebot3-opencr-firmware-update-from-a-snap)

The TurtleBot3 robot is a standard platform robot in the ROS community, and it’s a reference that Canonical knows well, since we’ve used it in our tutorials. As a matter of...

[gbeuzeboc](https://canonical.com/blog/author/gbeuzeboc)

25 September 2024
