Snapcraft 2.33 is here
Hello snapcrafters!
We are pleased to announce the release of snapcraft 2.33:
- Available on all supported Ubuntu releases (xenial, zesty) and the development release (zesty).
- brew installabled on OS X by running
brew install snapcraft
(store interaction and cleanbuild are supported). - pip installable from PyPI (with caveats when setting up
apt
bindings) by runningpip install snapcraft
. - View the full list of merged PRs.
- Specific bug fixes can be seen on the Launchpad milestone.
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:
New in this release
Core
Containers
The experience of using persistent build containers has become much more pleasant with this release as snapcraft
now takes care of:
- containers that have no use any more such as when a project is cleaned.
- file handling an exposing to and fro the container does not leak container specific assets onto the host.
- use of
--debug
andcleanbuild
now properly enters into a shell inside the container for inspection. - the
clean
command now properly handles corner case scenarios that weren't handled before. - id mappings for the namespace are now correctly set depending on the uid of the user calling
snapcraft
Yaml Merge tags
Yaml merge tags are now supported in snapcraft.yaml
, allowing for advanced use of yaml in snapcraft.yaml
if needed.
Bash completion
Support for bash completion in snapcraft
has arrived, it is just a matter of defining completer
for your app entry under apps
with a script which would deal with such completions. As an illustrative example:
apps:
my-application:
command: runme
completer: completion.sh
Where completion.sh
would be found under the root of prime
.
For all this to work a recent version of snapd
is required like 2.27.
reload-command
for daemons
App entries under apps
in snapcraft.yaml
now support reload-command
as an entry which defines how to deal with configuration reloads for daemons.
Plugins
kernel
Handling of default make targets depending on the architecture is now supported for all architectures.
nodejs
Support has been added for newer releases for nodejs
/npm
for special cases where in tree builds are done and npm
generates a symlink farm. This should now just work with no hassle.
Cross compilation
Cross compilation support is now enabled for:
autotools
waf
Final notes
To get the source for this release, check it out on github.
A great place to collaborate and discuss features, bugs and ideas on snapcraft are the forums and the snapcraft channel on Rocket Chat. Please also feel free to file a bug.
Happy snapcrafting!
-- Sergio and the team