Planned updates to snapd experimental features

We’re making an effort to clean up snapd’s experimental feature flags. Below is a summary of what is changing, grouped by action.

Release versions are current targets and may shift over time.

Please see

Completed features

These features are either complete or are planned to be completed by the targeted release. Their functionality will remain, but the experimental flags will disappear. We expect very little change in the current functionality of these features upon their release.

It will become impossible to disable these features. Note that some features are currently enabled by default, so there will be little impact in those cases.

Name Description Graduation release Default enabled
layouts Support for snap layouts 2.77 Yes
classic-preserves-xdg-runtime-dir Preserve $XDG_RUNTIME_DIR in classic confinement 2.77 Yes
dbus-activation D-Bus activation for snap daemons 2.77 Yes
refresh-app-awareness Awareness of running snaps during refresh 2.77 Yes
quota-groups Enables application of journal quotas for snaps 2.78 In 2.77

Removed features

These feature flags and the functionality they gate are planned to be removed. If you rely on these, please share your use case in the thread so we can consider it prior to removal.

Name Description Removal release
hotplug Dynamic slot creation based on detected hardware under evaluation
gate-auto-refresh-hook Enables the gate-auto-refresh hook 2.79

Features nearing completion

We plan to graduate these features in the listed releases. However, expect changes to the precise functionality, or documented limitations of the feature prior to graduation.

Name Description Planned release
check-disk-space-install Ensure enough space on disk prior to snap installation 2.78
check-disk-space-refresh Ensure enough space on disk prior to snap refresh 2.78
check-disk-space-remove Ensure enough space on disk for snapshots prior to snap removal 2.78
confdb Allows usage of confdb 2.79
confdb-control (merging with remote-device-management) Remote management of confdb 2.79
user-daemons Support for user-level services 2.79
parallel-instances Parallel installation of snap instances 2.79
snap-delta-format New delta format that enables smaller updates 2.80
3 Likes

This will make pretty much every snap in the global store that relies on serial connections non-functional since we do not offer serial slots for anything in our server or desktop installs.

This means that any IDE for microcontrollers (i.e. the Arduino IDE and all its spin-offs, install tools for ARM devices, anything that talks to modems through USB and anything else that uses USB->serial adapters) will stop working without notice, not sure this is a good idea.

Do we plan to offer these existing snaps and their users any alternative for the future so they can come back to use their preferred tool as snaps ?

(FWIW most of these snaps use a pop-up window on first start to point their users to the hotplug documentation so they should be able to tell their users that they need to switch away from the snap and migrate all their projects)

1 Like

Thank you for flagging this, we will re-evaluate.

1 Like

Would be great to see parallel installs finally graduating.

Will there be any changes to health checks? Related forum post.

I didn’t include snap health in the above list of experimental features, because strictly speaking it doesn’t have a feature toggle - what’s already there is usable, as far as it goes. We are looking at the remaining scope to make it truly useful, which would likely include integrating it into the remote telemetry solution. We may have to look at performance and scalability. It’s tentatively on the roadmap for next year.

1 Like