The release also includes classic confinement improvements

Feb 17, 2017 22:20 GMT  ·  By

Canonical's Sergio Schvezov proudly announced today, February 17, the immediate availability for download of the Snapcraft 2.27 open-source tool that lets application developers package their apps as Snaps.

The Snap format is becoming more and more popular for Ubuntu, but also for various other GNU/Linux operating systems that decided to adopt the universal binary format developed by Canonical, so Snapcraft being the tool to create these Snaps, it is always getting new features and important improvements.

Snapcraft 2.27 is here a little over two weeks after the release of Snapcraft 2.26, and it couldn't be possible without the great work of many contributors, including Colin Watson, Marco Trevisan, John Lenton, Kit Randel, and Loïc Minier. New in this release are a bunch of enhancements that promise to speed up the iteration and development.

"The biggest under the covers improvement is caching of stage-packages works correctly again successive pull steps including a repeated set of stage-packages will be a breeze," said Sergio Schvezov in the release notes. "The other improvement is that delta uploads are now possible."

The developers also note the fact that delta uploads have been disabled by default in Snapcraft 2.27, but you can enable them using the DELTA_UPLOADS_EXPERIMENTAL=1 environment variable. Snapcraft 2.28 should be the first release to make delta uploads ready for production use, but until then, the feature is considered unstable.

Classic confinement and Python plugin improvements

While the recently introduced classic confinement feature is still in experimental stage, it has been made more reliable and robust in today's Snapcraft 2.27 release, allowing developers to create classic confined Snaps that work across multiple operating system releases.

The Python plugin is also more usable with classic confinement, and it can now detect interpreter instances that have been already staged, so you can choose your own interpreter. In other words, you can now use Python 3.6 on your Snaps. A detailed example on how to do that can be found in the release notes.

Among other improvements, we can mention that Snapcraft 2.27 now lets developers build classic confined Snaps with either the "cleanbuild" command or the Launchpad builder, build on other LXD remotes using the "snapcraft cleanbuild --remote my-remote" command, and simplify set up of the environment via new "apps" entry.

Best of all, starting with Snapcraft 2.27, it is now possible to release certain versions of your Snaps to channel tracks. Again, you should take a look at the release announcement for an example. Snapcraft 2.27 is now live in the stable repositories of Ubuntu 16.04 LTS and Ubuntu 16.10, so update at your earliest convenience.