Welcome snapcraft 2.41

Hello snapcrafters! The snapcraft team is pleased to announce that version 2.41 of snapcraft.


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:

Where to get

  • snap <install|refresh> snapcraft
  • from the 16.04LTS or 18.04LTS archives.
  • brew update && brew upgrade snapcraft if on OSX
  • docker images, snapcore/snapcraft:stable

New in this release


Information extraction: setup.py

New in this release, snapcraft has added logic for information extraction from setup.py.
Currently only version and description are retrieved from setup.py.

Check the documentation for further use of the feature.

Improved mechanism for overriding lifecycle steps

The feature carrying the name of scriplets has been vastly improved with common understandable logic. To override a step in the lifecycle the semantics are as simple as override-<step>, to call the original logic for the step (useful when wanting to perform operations prior or after the step), one just needs to run within the script snapcraftctl <step>

Furthermore, it is now possible to programatically set the version and grade from within these overriden steps, using whatever logic pertinent or artifact available in that step by eventually calling snapcraftctl set-version <version> and snapcraftctl set-grade <grade>.

Read more about this feature on the documentation site.

passthrough property

Occasionally snapd adds a new experimental feature that may or may not make it to a stable release. In order to support such features as soon as they’re added, this release sees the addition of a passthrough keyword that one can use in the root of the YAML as well as in apps and hooks, which can contain properties that are simply passed through to the final snap.yaml.

Error reporting

This release sees the integration of Snapcraft with Sentry. This is still in the testing phases and nothing is enabled by default, but if you would like to enable it and optionally send us any terrible tracebacks you see, simply set SNAPCRAFT_ENABLE_SENTRY=on (perhaps in your ~/.bashrc) and you will be prompted if such an error occurs. Note that no personally identifiable information is sent: just the traceback (which may include the project name).



Upstream’s release information is now used to determine the correct dotnet artifacts to use depending on the target defined in the project.


It is now possible to pass an npm-flags list of arguments when using the nodejs plugin.


For users experimenting on bionic, snapcraft has caught up with the latest changes to this date occurring there.

Final notes

To get the source for this release, check it out on github. For the full extent of changes, take a glance at https://github.com/snapcore/snapcraft/milestone/18?closed=1

A great place to collaborate and discuss features, bugs and ideas on snapcraft are the forums. Please also feel free to file a bug.

Happy snapcrafting!
– Sergio and the team