Releases: canonical/snapcraft
Welcome snapcraft 2.32
Hello snapcrafters!
We are pleased to announce the release of snapcraft 2.32:
- This is a snap-only release, available in the
candidatechannel:sudo snap install --candidate 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
Who am I?
Several operations in the snap world require one’s account ID out of the store (e.g. creating model assertions). It gets old having to login to the web dashboard to get that ID, so we introduced a snapcraft whoami command that returns information about the account which is currently logged in.
Sources
Snapcraft has always supported local sources (i.e. sources sitting alongside the snapcraft.yaml), but has always used them as a fallback, i.e. if it was determined that it wasn’t another source, then it assumed it was local. This release includes the ability to actually specify that a given source is local, even if it’s e.g. a git repo.
Plugins
catkin
Support was added to the Catkin plugin for the newest ROS distro, Lunar.
rust
Support has been added for cross-compiling Rust parts by using snapcraft --target-arch=<arch>. Note that we’re still working on support for cross-compiling with stage-packages-- stay tuned for multi-arch support.
autotools
The autotools plugin supports a configflags option to supply flags to use when running ./configure. However, it was enforcing uniqueness on these flags, which prevented some projects from building successfully. This release stops enforcing uniqueness on configflags.
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!
-- Kyle and the team
Welcome snapcraft 2.31
Hello snapcrafters!
We are pleased to announce the release of snapcraft 2.31:
- Availability status can be tracked on this forum post.
- 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
CLI
The move to the new argument parser caused the CLI to regress slightly by duplicating error messages in some circumstances and changing how it handled arguments to the snap command. That has been fixed in this release.
Resume snap downloads
Snapcraft supports downloading the core snap when building classic snaps. This release adds the ability to resume the download of that snap if an error is encountered when trying to fetch it. This feature is really used more in CI than anywhere else, particularly in our own tests, where downloading the snap fails all the time with connection resets. This change did not help quite as much as we’d hoped in that situation, but it’s nice to have nonetheless.
Sources
The git source-type was using --remote when updating submodules, which updated each submodule rather than using the commit recorded in the super project. That’s fixed in this release.
Better build-packages asset tracking
In this release, build-packages asset tracking has been extracted into a project-wide state area instead of being tracked individually in each part’s state. This fixes some awkward behavior when attempting to walk the dependency tree.
Plugins
qmake
The qmake plugin previously required one to specify the Qt version being used. In this release, it’s started defaulting to Qt5.
Go
Support has been added for cross-compiling Go parts by using snapcraft --target-arch=<arch>. This supports use of cgo as well. We’re currently working on support for cross-compiling with stage-packages-- if you’re using stage-packages, please wait to use this feature. We’re implementing it in phases.
Catkin
Larger Catkin projects often keep track of their components by utilizing one or more rosinstall files. This release adds support for those files to the Catkin plugin, allowing an entire ROS project to be built from a single file.
Store integration
Header change
This release changes away from using X-Ubuntu-Release to X-Ubuntu-Series for communication with the store.
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!
-- Kyle and the team
Welcome snapcraft 2.30
Hello snapcrafters!
We are pleased to announce the release of snapcraft 2.30:
- specifics related to the release process and status of availability can be tracked on this forum post.
- The full list of merged PRs.
- Specific bug fixes can be seen on the launchpad milestone.
Contributions
This release has seen some contributions from outside of the snapcraft core team, so we want to give a shout out to these folks, here's a team thank you for:
- Facundo Batista
- Paolo Pisati
- Tim Süberkrüb
- Julian Liu
- roxd
- Eduardo Vega
- Ricardo N Feliciano
New in this release
Core
snapcraft CLI
This has been a highly requested change in snapcraft, the CLI has been refactored to provide a much cleaner interface to the user (without breaking backwards compatibility). The diferences between one version and the other can be seen on this forum post
containers
The preliminary support for snapcraft to have a container assigned per project has been extended to work with all of the snapcraft build commands, still hidden by the feature flag, SNAPCRAFT_CONTAINER_BUILDS needs to be set. Read more and track it on this forum post
cleanbuild now correctly works when using the :arch syntax in build-packages and stage-packages, this is for example, having a stage-packages entry that ends with :i386 when cleanbuilding on amd64.
asset recording
Asset recording is a feature with two benefits, easier tracking of what is in a snap and also provides enough information to rebuild a snap with the information provided. The plumbing work is nearly done ironing out minor issues. If SNAPCRAFT_BUILD_INFO is set in the environment, the resulting snap will have a snap/snapcraft.yaml which can be use to rebuild the same snap.
More about the final results of asset recording can be looked up on this forum post
sources
There is now support for 7-zip files, if your source has the extension .7z it should just work. If not, it can be used by setting source-type to 7z.
Plugins
meson
A new plugin has made it to snapcraft, a plugin to work with meson, run snapcraft help meson to get acquainted with the plugin.
rust
The rust plugin now correctly works when source-subdir is set.
kernel
The kernel plugin has received a lot of attention this cycle. It correctly provides warnings when certain features are not enabled that would be required for a system to boot.
The plugin has also gained a new property kconfigflavor that works with the knowledge of Ubuntu kernel configurations to assemble a kernel config.
Store integration
snap collaboration
The user interface for this feature has been completed. Hidden in APIs until the store enables the feature so the story is complete.
Branches
Snapcraft has been enhanced to display branch information for the relevant commands.
Final Notes
To get the source for this release check it out at https://github.com/snapcore/snapcraft/releases/tag/2.30
A great place to collaborate and discuss features, bugs and ideas on snapcraft are the forums on https://forum.snapcraft.io and the snapcraft channel on Rocket Chat https://rocket.ubuntu.com/channel/snapcraft
To file bugs, please go to https://bugs.launchpad.net/snapcraft/+filebug.
Happy snapcrafting!
-- Sergio and the team
Welcome snapcraft 2.29
Hello snapcrafters!
We are pleased to announce the release of snapcraft 2.29:
- https://forum.snapcraft.io/t/in-progress-snapcraft-2-29/346
- https://github.com/snapcore/snapcraft/milestone/2?closed=1
- https://launchpad.net/snapcraft/+milestone/2.29
Contributions
This release has seen some contributions from outside of the snapcraft core team, so we want to give a shout out to these folks, here's a team thank you for:
- Andy Li
- Celso Providelo
- Chris MacNaughton
- Colin Watson
- Eduardo Vega
- Facundo Batista
- Jumpei Ogawa
- Para Siva
New in this release
Core
snapcraft snap
Improvements were made to the way snapcraft (through python) finds libraries when using ctypes, this ensures a correct functioning of snapcraft across operating systems. Other improvements were made for snapcraft across operating systems to have correct fall back mechanisms to continue functioning.
containers
There is now preliminary support for snapcraft to have a container assigned per project being worked on. The support today is limited to local lxd remotes and hidden with the feature flag SNAPCRAFT_CONTAINER_BUILDS that needs to be set.
Read more and track it on the forum: https://forum.snapcraft.io/t/per-project-containers/388
enhanced version support
The much requested feature of changing the user visible version in a dynamic way has arrived. There are two modes:
- a pure script to run after everything has been
primed by use of aversion-scriptkeyword. - a keyword of
gitthat can be set to theversionwhich tells snapcraft to generate the version from the information provided by the VCS holding the repo. This should be really beneficial for people releasing with annotated git tags.
More of this can be read on the forum: https://forum.snapcraft.io/t/snapcraft-version-scriptlets/106
asset recording
Asset recording is a feature with two benefits, easier tracking of what is in a snap and also provides enough information to rebuild a snap with the information provided. Some of the plumbing work has made it into this release.
More about the final results of asset recording can be looked up on the forums https://forum.snapcraft.io/t/asset-recording-for-a-built-snap/317/1
Plugins
rust
Projects using rust can now enjoy the benefits of classic confinement as the linker flags are now correctly set through rust flags settings.
nodejs
The nodejs plugin now has experimental support for yarn. To use it instead of npm the part just needs to set node-package-manager to yarn, here is an example for a part using the nodejs plugin:
parts:
shout:
plugin: nodejs
node-packages:
- shout
node-package-manager: 'yarn'ant
Proxy support for the ant plugin has been worked on. Mostly invisible to most users but necessary to correctly work on most CI systems like the launchpad builders which can be setup on https://build.snapcraft.io
Store integration
snap collaboration
The plumbing work to get snap collaboration in place has landed, for more information about the design for snap collaboration refer to https://forum.snapcraft.io/t/ux-for-snap-collaboration/86/17
UI polish
Improvements to make the UI less cluttered have been made, left over artifacts have been cleaned up as well. This should mostly affect the operation of the snapcraft push --release command.
Final Notes
To get the source for this release check it out at https://github.com/snapcore/snapcraft/releases/tag/2.29
A great place to collaborate and discuss features, bugs and ideas on snapcraft are the forums on https://forum.snapcraft.io and the snapcraft channel on Rocket Chat https://rocket.ubuntu.com/channel/snapcraft
To file bugs, please go to https://bugs.launchpad.net/snapcraft/+filebug.
Happy snapcrafting!
-- Sergio and the team
Welcome snapcraft 2.28
Hello snapcrafters!
We are pleased to announce the release snapcraft 2.28:
https://launchpad.net/snapcraft/+milestone/2.28
Contributions
This release has seen some contributions from outside of the snapcraft core team, so we want to give a shout out to these folks, here's a team thank you for:
- Colin Watson
- Jonathan Cave
- Michael Hudson-Doyle
- Olivier Tilloy
- Paolo Pisati
- pachulo
New in this release
Core
snapcraft snap
snapcraft can now properly build as a snap and does the right thing. Starting 2.28 snapcraft should eventually be able to be installed from the store, currently in the edge channel.
repo
The repo module in snapcraft, which deals with stage-packages entries and host distro specific packaging has been moved to a more modular python packge inside snapcraft allowing contributors to add support for other mechanisms such as support for rpm.
cleanbuild
The logic for cleanbuild has been reworked to properly detect when lxd (the lxc client actually) is installed as a snap or manually compiled. This change also comes into play for cross distro snapcraft support.
classic confinement
With this release it should be now possible to use launchpad builders to build for other architectures than amd64 as the detection logic for the dynamic linker in core has been fixed.
sources
Sources, thanks to an external contributor, can now make use of a new entry, source-checksum which can be added to sources that can be hashed, the format is the following: source-checksum: <algorithm>/<digest>. These are the supported algorithms:
md5sha1sha224sha256sha384sha3_256sha3_384(recommended)sha3_512
Plugins
python
Projects that use pbr, mostly openstack, now correctly setup their console_scripts defined in entry_points when using setup.cfg.
When building with python provided as a part, headers are now correctly setup to do the right thing for python packages that need to build code requiring these headers.
kernel
The kernel and kbuild plugins have received some needed attention for this release providing for better out of the box kernel builds.
The demos have been setup to now build proper bootable kernels with todays Ubuntu Core module dependency.
The plugin itself:
- The plugin itself has added better support to the logic that adds and traces module dependencies when needing them added to initrd.
- For the case of architectures that use dtbs, if no dtb is specified, all dtbs are installed to make sure the system could boot by default.
- The kernel target, if not provided is now decided by the plugin depending on the build architecture.
- When building, custom
MAKEFLAGSno longer affect the build.
And to add to that, there is now a test plan for the kernel plugin that tracks the supported kernels.
catkin
The plugin has been expanded to support underlays, the benefit here is that it is now easy to build ROS projects that make use of the content interface. Check out the demo code.
Store integration
Delta uploads are now enabled for every snapcraft push done, a welcome bandwith saving addition.
Every store request now sends a proper User Agent string so the store can behave accordingly to the version of snapcraft in use and properly determine when deprecated APIs can go out the door.
The history command has been deprecated in favor of list-revisions with an alias of revisions. An explanation of the reasoning can be read on the deprecation notice DN4
The status, close and list-revisions commands have been updated to show track information when used.
Others
For the full list of things available on 2.28 feel free to check https://launchpad.net/snapcraft/+milestone/2.28
Final Notes
To get the source for this release check it out at https://github.com/snapcore/snapcraft/releases/tag/2.28
A great place to collaborate and discuss features, bugs and ideas on snapcraft is snapcraft@lists.snapcraft.io mailing list or on the snapcraft channel on Rocket Chat https://rocket.ubuntu.com/channel/snapcraft
To file bugs, please go to https://bugs.launchpad.net/snapcraft/+filebug.
Happy snapcrafting!
-- Sergio and the team
Snapcraft 2.27 has been released
Hello snapcrafters!
We are pleased to announce the release snapcraft 2.27:
https://launchpad.net/snapcraft/+milestone/2.27
Contributions
This release has seen some contributions from outside of the snapcraft core team, so we want to give a shout out to these folks, here's a team thank you for:
- Colin Watson
- John Lenton
- Kit Randel
- Loïc Minier
- Marco Trevisan
- elespike
New in this release
Faster iteration
This release brings in many features to speed up development and iteration, the biggest under the covers improvement is caching of stage-packages works correctly again succesive pull steps including a repeated set of stage-packages will be a breeze.
The other improvment is that delta uploads are now possible, it is currenly disabled but can be toggled by a feature flag in the environment, just set DELTA_UPLOADS_EXPERIMENTAL=1 and enjoy the benefits. The tentative plan is for this to be the default in snapcraft 2.28
classic confinement
Improvements have been made to the experimental classic confinement build setup to be more robust and reliable. These improvements allow to build classic confined snaps that work across a wider set of OS releases (particularly those with differing glibc versions). An early adopter of this work is conjure-up which now sports Trusty Tahr support. Learn more about conjure-up by visiting http://conjure-up.io/
The previous to 2.27 implementations of classic confinement had the drawback of having the snapcraft wrappers around command entries for an app in apps export many environment variables relevant to the snap project depending on plugins used, and some conventional paths to binaries and libraries. While this feature is useful in a fully confined strict snap, it can cause issues when working with classic confinement as the environment becomes a mix of the classic system and that of the snap; for this reason no variables are exported into the environment when creating classic confined snaps.
python plugin
The python plugin has also received some attention with regards to classic confinement. Most importantly it now does not leak any variables specific to the plugin into the environment.
Another improvement that has been made is that the plugin is now capable of detecting already staged interpreter instances and use that instead of providing one itself. This allows one to choose their own interpreter (which is important for classic confined snaps until the core snap implements use of --library-path for ld).
Making use of your own interpreter is really easy as it uses the common language already implemented in snapcraft (the plugin is just now smarter), here's a snippet:
parts:
my-python-app:
source: ...
plugin: python
after: [python]
python:
source: https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz
plugin: autotools
configflags: [--prefix=/usr]
build-packages: [libssl-dev]
prime:
- -usr/includeAnd with that you get to use python 3.6.0 in your snap!
CI builds
Previous to snapcraft 2.27 it was not possible to build on non snapd enabled environments as the core snap needs to be available on the system where the classic confined snap is to be built. From this version onwards it should be possible to build classic confined snaps either with cleanbuild or Launchpad builders as snapcraft is hinted about the environment and sets up core accordingly.
Building on other lxd remotes
A simple but useful feature is offloading builds to different instances, with that in mind one can now offload cleanbuild executions onto other lxd remotes. It is as simple as
snapcraft cleanbuild --remote my-remote
To create my-remote just follow the setup instructions on https://linuxcontainers.org/lxd/getting-started-cli/#multiple-hosts
Setting up environment
No more wrapper scripts just to setup on environment entry, this is now tied into an app entry in apps. Here's a quick example:
apps:
vim:
command: bin/vim
environment:
VIMRUNTIME: $SNAP/share/vim/vim80Releasing to channel tracks
Releasing to tracks worked out of the box, this is a user experience improvement on the result one sees when trying do to so.
If you are wondering what tracks are, here's a simple explanation, they are like a Long Term Support channel added to your regular stability level channels (i.e.; stable, candidate, beta, edge), this is useful for cases where some users need to stick to a major version number such as the case of etcd where some might want to stick to 2.3 while others are happy with tracking latest (which is an implicit track).
From a snap developer point of view, here's how to push and release to edge on the 0.2 track,
$ snapcraft push hello_0.3_amd64.snap --release 0.2/edge
Pushing 'hello_0.3_amd64.snap' to the store.
Uploading hello_0.3_amd64.snap [==============================================] 100%
Ready to release!
Revision 3 of 'hello' created.
Arch Track Series Channel Version Revision
amd64 0.2 16 stable - -
candidate - -
beta - -
edge 0.3 3
And here's how you would release,
$ snapcraft release hello 3 0.2/beta
Arch Track Series Channel Version Revision
amd64 0.2 16 stable - -
candidate - -
beta 0.3 3
edge 0.3 3
The '0.2/beta' channel is now open.
Others
For the full list of things available on 2.27 feel free to check https://launchpad.net/snapcraft/+milestone/2.27
Final Notes
To get the source for this release check it out at https://github.com/snapcore/snapcraft/releases/tag/2.27
A great place to collaborate and discuss features, bugs and ideas on snapcraft is snapcraft@lists.snapcraft.io mailing list or on the snapcraft channel on Rocket Chat https://rocket.ubuntu.com/channel/snapcraft
To file bugs, please go to https://bugs.launchpad.net/snapcraft/+filebug.
Happy snapcrafting!
-- Sergio and the team
Snapcraft 2.26 has been released
Hello snapcrafters!
We are pleased to announce the release of version 2.26 of snapcraft has been released:
https://launchpad.net/snapcraft/+milestone/2.26
Contributions
This release has seen some contributions from outside of the snapcraft core team, so we want to give a shout out to these folks, here's a team thank you for:
- Björn Tillenius
- Marco Trevisan
- Matthew Aguirre
- Olivier Tilloy
- Shawn Wang
New in this release
Snap directory now in place
All the snapcraft specific asset handling has been moved to the snap directory as the preferred location for the following:
snapcraft.yamlsetup/guiparts/plugins
This adds up to the already existing location for hooks introduced in 2.25.
On snapcraft init, snapcraft will now create a snap/snapcraft.yaml file. Keep in mind that the existing snapcraft.yaml and .snapcraft.yaml are still valid and not deprecated.
However, use of parts/plugins will print a deprecation message with a link to https://snapcraft.io/docs/deprecation-notices/dn2 and use of setup/gui will behave in a similar way but linking to https://snapcraft.io/docs/deprecation-notices/dn3.
stage packages
The experience for using multi-architecture package entries in stage-packages has been refined. This should provide a better experience for when someone wants to; to illustrate image that on an arm64 you would want to include an armhf package, e.g.;
parts:
packages:
plugin: nil
stage-packages:
- libfoo:armhfDesktop file support enhancements
Snapcraft 2.25 introduced support for desktop file entries in as part of an app entry in apps. There have been improvements to this functionality for when the app entry in apps matches the snap name as well as polishing in the assembly of the resutling snap.
godeps plugin
The godeps plugin until this release fetched all the dependencies defined in dependencies.tsv or that defined in the part by the godeps-file entry and proceeded to build all package main sources found in the tree. This can now be limited to only build certain packages by use of the go-packages entry.
As an example let's use juju. It currently as at the time of this writing:
github.com/juju/juju/cmd/jujugithub.com/juju/juju/cmd/jujudgithub.com/juju/juju/cmd/plugins/juju-metadatagithub.com/juju/juju/cmd/plugins/juju-upgrade-mongo
Without the go-packages entry you would end up with 4 binaries in your snap juju. jujud. juju-metadata and juju-upgrade-mongo. If for example you wanted to only build juju something like this would do the trick:
parts:
juju: https://github.com/juju/juju
go-importpath: github.com/juju/juju
go-packages:
- github.com/juju/juju/cmd/jujucatkin plugin
The catkin plugin has been optimized under the hood to work better with the compiler meant to be used with the chosen ROS release.
gradle plugin
The gradle plugin has been enhanced to also work with gradle transparently when gradlew is not provided with the sources of that part.
python plugin
The python plugin will now do the right thing when setting up a requirements entry and having an install_requires entry in setup.py.
General polishing
Some nice polishing that is part of ongoing work is showing up in this release:
- schema errors related to text length limits now display an error a human can parse.
- incorrect spacing issues have been fixed in some prompts.
- some projects that are part of the tour had missing `build-packages added to them.
- colors have been fixed for failed logins to the store.
Others
For the full list of things available on 2.26 feel free to check https://launchpad.net/snapcraft/+milestone/2.26
Final Notes
To get the source for this release check it out at https://github.com/snapcore/snapcraft/releases/tag/2.26
A great place to collaborate and discuss features, bugs and ideas on snapcraft is snapcraft@lists.snapcraft.io mailing list or on the snapcraft channel on Rocket Chat https://rocket.ubuntu.com/channel/snapcraft
To file bugs, please go to https://bugs.launchpad.net/snapcraft/+filebug.
Happy snapcrafting!
-- Sergio and the team
Snapcraft 2.25 has been released
Hello snapcrafters!
We are pleased to announce the release of version 2.25 of snapcraft has been released:
https://launchpad.net/snapcraft/+milestone/2.25
Contributions
This release has seen some contributions from outside of the snapcraft core team, so we want to give a shout out to these folks, here's a team thank you for:
- Chris Holcombe
- Jonathon Love
- Kit Randel
- Marco Trevisan
- Matthew Aguirre
- Olivier Tilloy
New in this release
Support for hooks
Hooks support has arrived. There are currently two ways to use them, either with a by-convention path or by using a part and installing into an expected path in the part's install directory.
Find out more about this feature at https://github.com/snapcore/snapcraft/blob/master/docs/hooks.md
Desktop file support
Aside from the by-convention functionality already in place, you can now declare a desktop file from your app within an apps entry using a path relative to the prime directory pointing to a desktop file, snapcraft will take care of the rest. So if your project already has a desktop file, say in ./prime/usr/share/applications/my-app.desktop all you need to do is something like this:
apps:
my-app:
command: my-app
desktop: usr/share/applications/my-app.desktopThat said, it is worth mentioning that the by-convention mechanism is still supported.
rust plugin
The rust plugin has seen an improvement and a couple of bug fixes.
The added feature allow for one to set rust-features which is a list of strings used to build optional dependencies (run snapcraft help rust for a bit more details).
The bug fixes relate to:
- Allowing to build with
Cargo.tomlnot in the base source directory. - Repecting the other
rustplugin properties:rust-channelandrust-revision.
nodejs plugin
The plugin now correctly downloads dependencies in package.json to the correct location.
godeps plugin
This plugin is now no longer affected by GOBIN being set in the environment.
deb sources
deb sources are now being handled with python-debian which does incorrecly handle symlinks.
More modes for daemon's in apps
You can now set the daemon property in an apps entry to notify (and it will follow systemd's expected behavior for this service type).
Deprecations
Some new deprecations have been introduced, for parts the prime keyword is now favored over the snap one. When using the snap keyword a link to http://snapcraft.io/docs/deprecation-notices/dn1 will be presented with more information and the migration path.
Plugins that are part of snapcraft that were displaying DEPRECATED notices have all been updated to use the newer plugin API.
Classic confinement
Some improvements were made to classic confinement with a more comprehensive error when the prerequisites to build a classic confined snap are not met.
parts
Improvements were made to the core parts management of snapcraft:
stageentries now don't need to be replicated inprime.- cleaning all parts works correctly even if
snapcraft.yamlis broken.
Others
For the full list of things available on 2.25 feel free to check https://launchpad.net/snapcraft/+milestone/2.25
Final Notes
To get the source for this release check it out at
https://github.com/snapcore/snapcraft/releases/tag/2.25
A great place to collaborate and discuss features, bugs and ideas on
snapcraft is snapcraft@lists.snapcraft.io mailing list or on the snapcraft
channel on Rocket Chat https://rocket.ubuntu.com/channel/snapcraft
To file bugs, please go to https://bugs.launchpad.net/snapcraft/+filebug.
Happy snapcrafting!
-- Sergio and the team
Snapcraft 2.24 has been released
Hello snapcrafters!
We are pleased to announce the release of version 2.24 of snapcraft has been released:
https://launchpad.net/snapcraft/+milestone/2.24
Here's the list of features that you can find in this new release:
- Experimental
classicconfinement allowing to create snaps for non pure snappy systems and have them see the full file system. aliassupport for app entries inapps, which allows multiple top level commands per snap.- New core part atrritbures,
prepare,buildandinstall, which support scriptlets to run before, replacing and after thebuildstep of a plugin respectively (snapcraft help pluginsfor more details). - New command,
list-registered, to have a view of your snaps on the store and some relevant attributes.
Many minor fixes are available as well:
lddcrawling for system libraries have been improved with more standard library paths to check within thestagedirectory.- Multiple
coreplugins have been updated to not show deprecation messages. - Multiple parser improvements for shared parts on the wiki.
This release has seen some contributions from outside of the snapcraft core team, so we want to give a shout out to these folks, here's a team thank you for:
- Albert Astals Cil
- Celso Providelo
- Chris MacNaughton
- Larry Price
- Mathew Aguirre
To get the source for this release check it out at
https://github.com/ubuntu-core/snapcraft/releases/tag/2.24
A great place to collaborate and discuss features, bugs and ideas on
snapcraft is snapcraft@lists.snapcraft.io mailing list or on the snapcraft
channel on Rocket Chat https://rocket.ubuntu.com/channel/snapcraft
To file bugs, please go to https://bugs.launchpad.net/snapcraft/+filebug.
Happy snapcrafting!
-- Sergio and the team
Snapcraft 2.23 has been released
Hello snapcrafters!
We are pleased to announce the release of version 2.23 of snapcraft has been released:
https://launchpad.net/snapcraft/+milestone/2.23
Here's the list of features that you can find in this new release:
- General cache mechanism for future features that require it.
- Plumbing layer in place for pushing deltas instead of full sized snaps.
- Source management for parts is now in the core making it much more robust (and core).
- FTP is now a valid source.
- New command
snapcraft enable-cito make it easy for developers to enable continuous delivery when using travis for continuous integration to push to a store development channel.
Many minor fixes are available as well:
- The
nodejsplugin now correctly managesrunstatements. - The
cmakeplugin now includes the capabilities of themakeplugin. - The parts parser now supports remote dependencies correctly.
build-packagesare nowaptmarked as automatically installed.- bash completion improvements when autocompleting commands that take snap files.
- Proper change tracking for all core properties of a part.
- Improved terminal support when
TERM=dumbis set or not on a tty. - Store error improvements for registering and login.
Some testing improvements have been made too:
- Migrated to
testtoolsfor more comprehensive test suites. - Replaced
subTestswithtestscenarios. - Added tooling to build external snaps as part of our release process
This release has seen some contributions from outside of the snapcraft core team, so we want to give a shout out to these folks, here's a team thank you for:
- Celso Providelo
- Kelvin Li
- Kit Randel
- Larry Price
- Marco Trevisan
- Parameswaran Sivatharman
To get the source for this release check it out at
https://github.com/ubuntu-core/snapcraft/releases/tag/2.23
A great place to collaborate and discuss features, bugs and ideas on
snapcraft is snapcraft@lists.snapcraft.io mailing list or on the snapcraft
channel on Rocket Chat https://rocket.ubuntu.com/channel/snapcraft
To file bugs, please go to https://bugs.launchpad.net/snapcraft/+filebug.
Happy snapcrafting!
-- Sergio and the team