github canonical/snapcraft 2.38
snapcraft 2.38 has been released

latest releases: 8.2.7, 8.2.6, 8.2.5...
6 years ago

Hello snapcrafters! The snapcraft team is pleased to announce that version 2.38 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:

The last three contributors have done so as part of Google's CodeIn initiative.

New in this release

Core

Improved support for classic snaps

snapcraft now has a better architecture overall to handle classic snaps, not
only for those coming from parts that are built, but also for the case where
prebuilt binaries are dumped into the snap. Prior to this version of
snapcraft, true isolation for a dynamically linked executable from the host
was not possible.

The work here makes sure that the correct interpreter is set and also sets
up valid rpaths for the binary. Determining these rpaths is done by crawling
the prime directory and the selected base (currently only what today is known
as the core snap). For the base, absolute rpaths are set, while paths found
inside the primed directory make use of $ORIGIN.

Sunsetting host crawling

A feature which was useful at the time of its introduction in the past, where
libraries from the host are fetched to satisfy a dependency for a binary that
was primed, is going to be removed in a future release of snapcraft given that
it was deemed confusing and counter intuitive. A warning will be shown to users
when this feature comes into action and how to solve it and move forward.

Advanced grammar for strings

Snapcraft has long-supported a more advanced grammar when it came to build- and stage-packages that allowed one to select a different set of packages depending on build architecture. This release sees the addition of the grammar to the source keyword, allowing one to specify a different source depending on build architecture. Here's a quick demo:

asciicast

Information extraction: Appstream support

This release sees the addition of the capability to extract appstream metadata (currently only summary and description) from individual parts, and use that data to help fill in the snapcraft.yaml. Here's a quick demo of that in action:

asciicast

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. Please also feel free to file a bug.

Happy snapcrafting!
-- Sergio and the team

Don't miss a new snapcraft release

NewReleases is sending notifications on new releases.