Experimental feature: progressive releases

“No plan survives contact with the enemy.” This is a quote famously attributed to the Prussian field marshal Helmuth von Moltke. It is also quite applicable to software development: “No code survives contact with the user.” In mission-critical environments, staggered deployments of software are a crucial part of controlled updates, designed to ensure maximum stability […]

GNOME 3.34 snapcraft extension

We constantly strive to empower developers. Part of that aim extends to making development easier, for example improving build tools and documentation. As an element of this continued effort, we would like to introduce the new gnome-3-34 snapcraft extension! What is the GNOME snapcraft extension? The gnome-3-34 snapcraft extension is a code addition to snapcraft […]

Learn snapcraft by example – multi-app client-server snap

Over the past few months, we published a number of articles showing how to snap desktop applications written in different languages – Rust, Java, C/C++, and others. In each one of these zero-to-hero guides, we went through a representative snapcraft.yaml file and highlighted the specific bits and pieces developers need to successfully build a snap. […]

Snapcraft tricks: Improve release flexibility with pull and build overrides

Sometimes, software projects are simple – one architecture, one version, one release. But often, they can be complex, targeting multiple platforms, and with different versions at that. If you are packaging your apps as snaps, you might wonder about the optimal way to accommodate a multi-dimensional release matrix. One yaml to rule them all We […]

Parallel installs for classic snaps

For a while now, snapd has supported the ability to install and use multiple instances of the same snap in parallel. This allows users to test features in new software releases side by side with the stable, production versions. Similarly, users can distribute their work or perhaps use custom settings across several distinct, isolated profiles […]