Released: snapd 2.28

Hello everybody,

we are happy to announce that the release of snapd 2.28.1 is now available in the stable channel for the core snap.

See also our roadmap page at The snapd roadmap

Here are some hightlights of the release:

New “post-refresh” hook (topic)

As requested by various users of snapd we now have a new hook called “post-refrsh” that is run after the snap is refreshed. The hook is run after the snap got refreshed but before services are started so it can be useful to do any refresh related housekeeping that might be required.

Initial base snap support (topic)

The new “base” snap allows snaps to select what base filesystem they require. This means that a snap can choose a different base snap than the current “core” snap. In this release we added support for bases and provide an example base snap called “bare” that is empty. If you want to run minimal snaps that are e.g. statically linked you can use the bare snap as a base. We expect more bases to come soon into the store, and there is already work underway to build fedora and opensuse bases. Note that in this release new bases will not be automatically downloaded. This will come in the next 2.29 release of snapd.

Polkit integration (topic)

This is a feature requested by many GUI users. It makes working with graphic package management interfaces more pleasant by providng integration with the “polkit” mechanism of the GUI environment. This means that you can download and install snaps from those applications without having to login into the store, as previously available when operating as root or via sudo in the terminal.

Full xdg-open support via snap userd (topic)

Another nice feature for GUI users. It allows opening http, https, mailto links directly from confined snaps without the need to install extra software.

Full bash-completion (topic)

We added bash-completion support into snapd 2.27. The feature allows snaps to ship bash completion scripts inside the snap so that snap applications get full completion support on the command line. In 2.27 an extra step to enable it in the shell was required. This step is now elimiated and it’s fully automatic for the user. The only feature missing is support for bash completion of aliases, which are coming soon™.

New snap switch command (topic)

The snap switch command is a convient way to switch the channel of a snap without refreshing it right away. This is useful in scenarios when you are offline or on a high-cost connection, for example.

Proxy configuration on Core devices (topic)

Core devices may now easily have their system-wide proxies configured via snap set core proxy.{http,https,ftp}=<url>.

Snap service management (topic)

Snap service management becomes even easier with a new set of commands. The new snap services <snap> command will show what services a snap has and the status of these services. A short summary of the services is now also included in snap info <snap>. The services can be started/stopped via the new snap start/stop/restart <> command. In addition logs for the given snap are available via snap logs <>. All these are exposed via the API as usual so GUI programs may support them as well.

Classic confinement on distributions that do not use the /snap dir (topic)

Some distributions do not use /snap as the directory to install snap packages. This is usually no problem because snaps can be relocated. However for snaps using “classic” confinement it may be an issue as they may refer to paths under that location. Those are now also available on distributions that use the different directory layout once the user has created a symlink from /snap to the non-standard snap directory (usually /var/lib/snapd/snap). The error message also got improved to be more helpful.

and much more …

Complete details are avaliable in the project’s commit history as usual.

We hope you enjoy this release as much as we enjoyed working on it.

– The snapd team


The links in this post aren’t working.

Thank you! That is confusing, if I open the links in a new tab in my firefox it works fine, however when I click on it directly I get an access denied error. Let me try to figure this out.

Could that be some click-hijack prevention measure?

snapd 2.28.4 has been submitted to updates-testing in Fedora:

It should synchronize out to mirrors in the next 24-48 hours. Please test!


Do you have a set of easily paste-able steps one can do to easily install 2.28.4 in those Fedora machines? I have a bunch of VMs all setup, but want to make sure I go through the process of updating from snapd 2.27 to 2.28.4 properly.

Installing new snapd from testing updates is quite simple:

$ sudo dnf --enablerepo=updates-testing --refresh install snapd

The install subcommand will trigger upgrade as necessary, if you already have snapd installed, too.

Is this expected?:-

Fedora 25:

Fedora 26:

Huh, I guess the behavior changed. Change install to upgrade and it’ll work.

Gave it a quick shakedown on Fedora 25, 26 and 27. Looks good to me. Thanks @Conan_Kudo! @zyga-snapd / @mvo do we have a full set of tests we should run on these? Happy to do that over the weekend.

1 Like

Hmm, so I’m seeing 2.28.4 come in from a .deb on Artful:

⟫ apt policy snapd
  Installed: 2.28.4+17.10
  Candidate: 2.28.4+17.10
  Version table:
 *** 2.28.4+17.10 500
        500 artful/main amd64 Packages
        100 /var/lib/dpkg/status

⟫ snap version
snap    2.28.4+17.10
snapd   2.28.4+17.10
series  16
ubuntu  17.10
kernel  4.13.0-15-generic

… but it didn’t hit the candidate channel?

⟫ snap info core
name:      core
summary:   snapd runtime environment
publisher: canonical
description: |
  The core runtime environment for snapd
type:        core
snap-id:     99T7MUlRhtI3U0QFgl5mXXESAiSwt776
tracking:    candidate
installed:   16-2.28.1 (3017) 87MB core
refreshed:   2017-09-27 22:49:49 -0400 EDT
  stable:    16-2.28.1                (3017) 87MB -
  candidate: 16-2.28.1                (3017) 87MB -
  beta:      16-2.28.4                (3191) 87MB -
  edge:      16-2.28.4+git436.db5720a (3205) 87MB -
1 Like

snapd 2.28.5 has been submitted to updates-testing in Fedora:

It should synchronize out to mirrors in the next 24 hours. Please test!