Canonical’s Sergio Schvezov was pleased to announce
the release of Snapcraft 2.33, a new major update of the tool that application developers can use to package their apps as Snaps for Ubuntu Linux and supported OSes.
Coming one and a half months after the release of Snapcraft 2.32, version 2.33 is here to make the experience of using persistent build containers more pleasant as Snapcraft is now capable of handling more corner case scenarios using the “clean” command, correctly set id mappings for the namespace depending on the user uid, as well as to no longer leak container specific assets onto the host.
Furthermore, Snapcraft can now take care of containers that haven’t been used anymore, such as those that have been cleaned, and it makes sure the “–debug” option and “cleanbuild” command can properly enter into a shell for inspection, inside a container. Snapcraft 2.33 also adds support for Yaml merge tags in snapcraft.yaml, enabling advanced use of Yaml inside snapcraft.yaml.
Bash completion is finally here, required Snapd 2.27 or later
Another interesting feature that Canonical implemented in the Snapcraft 2.33 release is support for bash completion, which can be enabled if you define a script via the new “completer” parameter under the “apps” section in your snapcraft.yaml file. For bash completion to work, the script must be located under the root of “prime,” and you must have
Snapd 2.27 or later
Other than that, Snapcraft 2.33 implements the “reload-command” entry in snapcraft.yaml under the “apps” section, which can be used to configure reloads for daemons, adds support for newer Node.js and npm releases, enables cross-compilation support for the Autotools and Waf build systems, and makes it possible for default make targets to run on all supported architectures.
Snapcraft 2.33 can be installed as we speak on any of the supportedUbuntu Linux releases, including Ubuntu 16.04 LTS (Xenial Xerus), Ubuntu 17.04 (Zesty Zapus), as well as the upcoming Ubuntu 17.10 (Artful Aardvark) operating system, on Mac OS X using Brew (e.g. brew install snapcraft), and other Linux distros using PyPI (e.g. pip install snapcraft).