The snapd roadmap

snapd 2.61.2

:white_check_mark: Fix to enable plug/slot sanitization for prepare-image
:white_check_mark: Fix panic when device-service.access=offline
:white_check_mark: Support offline remodeling
:white_check_mark: Allow offline update only remodels without serial
:white_check_mark: Fail early when remodeling to old model revision
:white_check_mark: Fix to enable plug/slot sanitization for validate-seed
:white_check_mark: Allow removal of core snap on classic systems
:white_check_mark: Fix network-control interface denial for file lock on /run/netns
:white_check_mark: Add well-known core24 snap-id
:white_check_mark: Fix remodel snap installation order
:white_check_mark: Prevent remodeling from UC18+ to UC16
:white_check_mark: Fix cups auto-connect on classic with cups snap installed
:white_check_mark: u2f-devices interface support for GoTrust Idem Key with USB-C
:white_check_mark: Fix to restore services after unlink failure
:white_check_mark: Add libcudnn.so to Nvidia libraries
:white_check_mark: Fix skipping base snap download due to false snapd downgrade conflict

Schedule

:white_check_mark: beta 18 Feb 2024
:white_check_mark: candidate 29 Feb 2024
:white_check_mark: stable 4 Mar 2024

snapd 2.61.1

:white_check_mark: Stop requiring default provider snaps on image building and first boot if alternative providers are included and available
:white_check_mark: Fix auth.json access for login as non-root group ID
:white_check_mark: Fix incorrect remodelling conflict when changing track to older snapd version
:white_check_mark: Improved check-rerefresh message
:white_check_mark: Fix UC16/18 kernel/gadget update failure due volume mismatch with installed disk
:white_check_mark: Stop auto-import of assertions during install modes
:white_check_mark: Desktop interface exposes GetIdletime
:white_check_mark: Polkit interface support for new polkit versions
:white_check_mark: Fix not applying snapd snap changes in tracked channel when remodelling
:white_check_mark: Fix control of activated services in ‘snap start’ and ‘snap stop’
:white_check_mark: Correctly reflect activated services in ‘snap services’
:white_check_mark: Disabled services are no longer enabled again when snap is refreshed
:white_check_mark: Interfaces/builtin: added support for Token2 U2F keys
:white_check_mark: Interfaces/u2f-devices: add Swissbit iShield Key
:white_check_mark: Interfaces/builtin: update gpio apparmor to match pattern that contains multiple subdirectories under /sys/devices/platform
:white_check_mark: Interfaces: add a polkit-agent interface
:white_check_mark: Interfaces: add pcscd interface
:white_check_mark: Kernel command-line can now be edited in the gadget.yaml
:white_check_mark: Only track validation-sets in run-mode, fixes validation-set issues on first boot
:white_check_mark: Added support for using store.access to disable access to snap store
:white_check_mark: Support for fat16 partition in gadget
:white_check_mark: Pre-seed authority delegation is now possible
:white_check_mark: Support new system-user name daemon
:white_check_mark: Several bug fixes and improvements around remodelling
:white_check_mark: Offline remodelling support

Schedule

:white_check_mark: beta 29 Nov 2023
:white_check_mark: candidate 14 Dec 2023
:white_check_mark: stable 03 Jan 2024

snapd 2.60.3

:white_check_mark: Bugfixes
:white_check_mark: Use “aes-cbc-essiv:sha256” in cryptsetup on arm 32bit devices to increase speed on devices with CAAM support
:white_check_mark: Stop using -O no-expr-simplify in apparmor_parser to avoid potential exponential memory use. This can lead to slower policy complication in some cases but it is much safer on low memory devices.
:white_check_mark: Support for dynamic snapshot data exclusions
:white_check_mark: Apparmor userspace is vendored inside the snapd snap
:white_check_mark: Added a default-configure hook that exposes gadget default configuration options to snaps during first install before services are started
:white_check_mark: Allow install from initrd to speed up the initial installation for systems that do not have a install-device hook
:white_check_mark: New snap sign --chain flag that appends the account and account-key assertions
:white_check_mark: Support validation-sets in the model assertion :white_check_mark: Support new “min-size” field in gadget.yaml :white_check_mark: New interface: “userns”

Schedule

:white_check_mark: beta Jul 04
:white_check_mark: candidate Aug 31
:white_check_mark: stable Sep 02

snapd 2.59

:white_check_mark: Support setting extra kernel command line parameters via snap configuration and under a gadget allow-list
:white_check_mark: Support for Full-Disk-Encryption using ICE
:white_check_mark: Support for arbitrary home dir locations via snap configuration
:white_check_mark: New nvidia-drivers-support interface
:white_check_mark: Support for udisks2 snap
:white_check_mark: Pre-download of snaps ready for refresh and automatic refresh of the snap when all apps are closed
:white_check_mark: New microovn interface
:white_check_mark: Support uboot with CONFIG_SYS_REDUNDAND_ENV=n
:white_check_mark: Make “snap-preseed --reset” re-exec when needed
:white_check_mark: Update the fwupd interface to support fully confined fwupd
:white_check_mark: The memory,cpu,thread quota options are no longer experimental
:white_check_mark: Support debugging snap client requests via the SNAPD_CLIENT_DEBUG_HTTP environment variable
:white_check_mark: Support ssh listen-address via snap configuration
:white_check_mark: Support for quotas on single services
:white_check_mark: prepare-image now takes into account snapd versions going into the image, including in the kernel initrd, to fetch supported assertion formats

Schedule

:white_check_mark: beta Mar 10
:white_check_mark: candidate Mar 20
:white_check_mark: stable Mar 27

snapd 2.58

:white_check_mark: snap refresh --hold support (Refresh control)
:white_check_mark: new users.lockout configuration option
:white_check_mark: support auto import assertions on first boot (https://github.com/snapcore/snapd/pull/11797)

Schedule

:white_check_mark: beta Dec 01
:white_check_mark: candidate Dec 12
:white_check_mark: stable Jan 09

snapd 2.56

:white_check_mark: support “starred” developers
:white_check_mark: factory reset support for unencrypted devices

Schedule

:white_check_mark: beta May 17
:white_check_mark: candidate May 31
:white_check_mark: stable Jun 06

previous

Expand

snapd 2.55.3

:white_check_mark: Fix refresh layout construction (fixes Firefox crash)
:white_check_mark: Support for the “piboot” bootloader
:white_check_mark: Interface operations are faster by using more batched operations
:white_check_mark: New mount-control interface (topic)
:white_check_mark: New polkit interface (topic)

Schedule

:white_check_mark: beta Mar 21
:white_check_mark: candidate Apr 08
:white_check_mark: stable Apr 20

snapd 2.54.2

:white_check_mark: New shared-memory interface (topic)
:white_check_mark: Allow sideload of multiple snaps via the API
:white_check_mark: riscv64 support for snap-seccomp
:white_check_mark: fixes/improvements for various interfaces

Schedule

:white_check_mark: beta Jan 07
:white_check_mark: candidate Jan 13
:white_check_mark: stable Jan 24

snapd 2.51

:white_check_mark: New swap.size system config setting for Ubuntu Core devices
:white_check_mark: Full kernel command line customization for UC20 pc/grub gadgets
:white_check_mark: REST API support for creating recovery systems on UC20
:white_check_mark: New raw-input interface
:white_check_mark: New dsp interface
:white_check_mark: New sd-control interface (2.51.3)
:white_check_mark: New netlink-driver interface (2.51.1)
:white_check_mark: New install-device gadget hook to be executed during install mode on UC20
:white_check_mark: New snapctl reboot --poweroff|--halt command to be used in install-device hook to shut device off after install mode (but before first boot seeding in run mode)
:white_check_mark: New snapctl reboot system-mode command to be report what mode a UC20 system is in.
:white_check_mark: New kernel FDE hook V2 for UC20 devices
:white_check_mark: Experimental quota resource groups support

Schedule

:white_check_mark: beta May 27
:white_check_mark: candidate June 3
:white_check_mark: stable June 7

snapd 2.50

:white_check_mark: Make /etc/ssl available for snaps on Ubuntu classic (PR)
:white_check_mark: Support for DTBs from the kernel snap
:white_check_mark: Snap service units are now re-written when snapd is refreshed as necessary
:white_check_mark: New dsp interface

Schedule

:white_check_mark: beta May 19
:white_check_mark: candidate May 21
:white_check_mark: stable June 2

snapd 2.49

:white_check_mark: Express encryption preferences for UC20
:white_check_mark: Devmode snaps in dangerous model UC20 seeds
:white_check_mark: Support for LK bootloader for UC20
:white_check_mark: Detection/abort of very slow downloads
:white_check_mark: Fix snap try inside lxd containers
:white_check_mark: Add “Tegra” and RPi “MMAL” support
:white_check_mark: Add new “install-mode: disable” option

Schedule

:white_check_mark: beta Jan 26
:white_check_mark: candidate Feb 25
:white_check_mark: stable Mar 04

snapd 2.48

:white_check_mark: Support for the “ubuntu-save” partition
:white_check_mark: More versatile UC20 recovery booting in “degraded” situations
:white_check_mark: Bulk assertion refresh for snap-declarations
:white_check_mark: New snap recovery --show-keys command
:white_check_mark:Improve notification UI for app-refresh-awareness
:white_check_mark:New PTP hardware clock interface
:white_check_mark:New snap import-snapshot command

Schedule

:white_check_mark: beta Sep 17
:white_check_mark: candidate Nov 19
:white_check_mark: stable Nov 30

snapd 2.47

:white_check_mark: better portal support with GLib (PR) :white_check_mark: add cups interface and update cups-control for cups as a strict snap (PR) :white_check_mark: disable console-conf from gadget with core setting (PR) :white_check_mark: Improve disk-space awareness of snapd (topic) :white_check_mark: New “snap reboot” command

Schedule

:white_check_mark: beta Sep 17
:white_check_mark: candidate Sep 29
:white_check_mark: stable Oct 21

snapd 2.46

:white_check_mark: uinput interface (PR) :white_check_mark: system-source-code interface (PR) :white_check_mark: system-packages-doc interface (PR) :white_check_mark: snaps can now set default-url-scheme-handler :white_check_mark: system-user assertions can be limited to specific serial assertions :white_check_mark: experimental user session daemons with daemon-scope (PR) :white_check_mark: experimental gdbserver support with snaps (topic)

Schedule

:white_check_mark: beta Aug 12
:white_check_mark: candidate Aug 25
:white_check_mark: stable Sep 14

snapd 2.45

:white_check_mark: Ubuntu Core 20 beta :white_check_mark: Generic serials for third parties :white_check_mark: Use xdg desktop portal from snapctl user-open :white_check_mark: Custom SSL cert support for store interactions (topic).

Schedule

:white_check_mark: beta May 13
:white_check_mark: candidate May 12
:white_check_mark: stable Jul 15

snapd 2.44

:white_check_mark: Switch within tracks with risk-only channel specification (old topic, new topic) :white_check_mark: Support for default tracks (topic) :white_check_mark: Plug/slot rules: plug-names/slot-names constraints (topic) :white_check_mark: snap remove-user support

Schedule

:white_check_mark: beta Feb 21
:white_check_mark: candidate Mar 16
:white_check_mark: stable March 31

snapd 2.43

:white_check_mark: snapctl is-connected plug|slot (topic) :white_check_mark: Remodel: gadget support :white_check_mark: Plug/slot declaration rules: greedy plugs (topic) :white_check_mark: system-backup interface (PR) :white_check_mark: Speedup seccomp backend setup (PR)

Schedule

:white_check_mark: beta Nov 12th
:white_check_mark: candidate Feb 13th
:white_check_mark: stable Feb 19th

snapd 2.42

:white_check_mark: Little-Kernel bootloader support :white_check_mark: Improve performance in lxd when snapfuse is used (topic) :white_check_mark: Work with cgroup v2 only systems :white_check_mark: Improved icon-theme support (topic)

Schedule

:white_check_mark: beta Sep 18th
:white_check_mark: candidate Oct 2st
:white_check_mark: stable Oct 10th

snapd 2.41

:white_check_mark: Daemon user support (topic, older topic) :white_check_mark: Gadget asset updates (topic) :white_check_mark: Remodel: transition to a new store (topic) :white_check_mark: Remodel: re-registration (topic) :white_check_mark: Health checks phase 1 (topic)

Schedule

:white_check_mark: beta Aug 22th
:white_check_mark: candidate Sep 3th
:white_check_mark: stable Sep 9th

snapd 2.40

:white_check_mark: Cohort support (topic) :white_check_mark: Much improved performance measure (topic) :white_check_mark: Refresh awareness - Part 1 (topic) :white_check_mark: Support for “base: none”

Schedule

:white_check_mark: beta July 2nd
:white_check_mark: candidate July 17th
:white_check_mark: stable Aug 12th

snapd 2.39

:white_check_mark: Automatic snapshots on removal (topic) :white_check_mark: Auto install snpad for non-core base snaps :white_check_mark: Remodel API/cli with support for switching kernel tracks/required-snaps within the same model :white_check_mark: Use the “core” snap as a fallback for “core16” :white_check_mark: Retain only 2 snap revision on classic systems :white_check_mark: Optimize seccomp bpf compilation

Schedule

:white_check_mark: beta Apr 18th
:white_check_mark: candidate May 03th
:white_check_mark: stable May 14th

snapd 2.38

:white_check_mark: snap connections command (topic) :white_check_mark: Epochs (stepped upgrades) (topic) :white_check_mark: Improved prepare-image channel selection support (topic) :white_check_mark: Support for apparmor 2.13 :white_check_mark: Minimal go version switch to 1.9 :white_check_mark: New intel-mei,multipass-support,network-manager-observe, u2f-devices,block-devices interfaces :white_check_mark: Initial performance measures available (topic)

Schedule

:white_check_mark: beta Mar 05th
:white_check_mark: candidate Mar 20th
:white_check_mark: stable Mar 28th

snapd 2.37

:white_check_mark: Snapshots (topic) :white_check_mark: Interface hooks (topic) :white_check_mark: Parallel snap installs for confined snaps (topic) :white_check_mark: Show the date the snap was released to a channel in snap info (topic) :white_check_mark: The personal-files and system-files interfaces (topic) and (topic) :white_check_mark: Add new snap run --trace-exec <snap>.<app> support (topic)

Schedule

:white_check_mark: beta Jan 10
:white_check_mark: candidate Jan 16th
:white_check_mark: stable Jan 30h

snapd 2.36

:white_check_mark: Warnings pipeline infrastructure (topic) :white_check_mark: Go into socket activtion mode no snaps are installed :white_check_mark: Much improved snap help output :white_check_mark: Support core config proxy on classic :white_check_mark: Support rate-limit of background refreshes via core.refresh.rate-limit core config option :white_check_mark: Honor core config proxy.http{,s} settings on classic as well :white_check_mark: Warn when prerequisites to run snapd (like minimal kernel version) are not met

Schedule

:white_check_mark: beta Oct 02h
:white_check_mark: candidate Nov 12th
:white_check_mark: stable Nov 20th

snapd 2.35

:white_check_mark: Support to build/seed core18 based images :white_check_mark: Interface improvements: i2c (sysfs-name support) :white_check_mark: apt install hook integration, apt may suggest snaps :white_check_mark: Allow building amazon linux rpm packages :white_check_mark: Show verified publishers with a green check mark

Schedule

:white_check_mark: beta Aug 08h
:white_check_mark: candidate Aug 21th
:white_check_mark: stable Aug 29th

snapd 2.34

:white_check_mark: Interface connection via gadget (topic) :white_check_mark: Hardware watchdog on Ubuntu Core :white_check_mark: New dvb interface (topic) :white_check_mark: New {contacts,calendar}-service interfaces :white_check_mark: Snapd selftest check on startup (topic) :white_check_mark: New can-bus interface :white_check_mark: Support to disable ipv6 via snap set system network.disable-ipv6

Schedule

:white_check_mark: beta Jun 29th
:white_check_mark: candidate Jul 30th
:white_check_mark: stable Aug 6th

snapd 2.33

:white_check_mark: Reboot experience on core or kernel refresh :white_check_mark: Service watchdog support (topic) :white_check_mark: Support for appstream ID :white_check_mark: Selftest support to ensure squashfs can be mounted :white_check_mark: New juju-client-observer interface :white_check_mark: Snap refresh over metered connections :white_check_mark: Snapd support for xdg-desktop-portal

Schedule

:white_check_mark: beta May 24th
:white_check_mark: candidate Jun 08th
:white_check_mark: stable Jun 18th

snapd 2.32

:white_check_mark: Auto install of content snap dependencies :white_check_mark: Versionized profiles :white_check_mark: Layouts (custom mount points) (topic) :white_check_mark: Support to pass options to strace (topic) :white_check_mark: Support for service timers (topic) :white_check_mark: Support for CDNs that are cloud aware (topic) :white_check_mark: Support for snap run --gdb :white_check_mark: Service survival across refreshes (topic) :white_check_mark: Timer services (topic) :white_check_mark: Refresh hold option (topic) :white_check_mark: Autostart desktop applications (topic) :white_check_mark: Support for stop-mode (topc)

Schedule

:white_check_mark: beta Feb 23th
:white_check_mark: candidate Mar 22th
:white_check_mark: stable Apr 10th

snapd 2.31

:white_check_mark: Snap service start ordering (topic) :white_check_mark: Refresh snaps with needed credentials (topic) :white_check_mark: Use snapcraft export-login data in snap {download,prepare-image} :white_check_mark: Additional coherence check on installs (topic) :white_check_mark: Monthly refresh scheduling (topic) :white_check_mark: Command-not-found support on core (topic) :white_check_mark: Support xdg-settings set default-web-browser from within snaps (topic) :white_check_mark: Support snap run --strace (topic) :white_check_mark: Support for snap refresh --amend local-snap :white_check_mark: Content interface improvements (topic)

Schedule

:white_check_mark: beta Jan 22th
:white_check_mark: candidate Feb 05th
:white_check_mark: stable Feb 19th

snapd 2.30

:white_check_mark: Service control on snapctl (start/stop/etc) (topic) :white_check_mark: Tab-completion for aliases too (topic) :white_check_mark: Add support for socket activation (topic) :white_check_mark: Pre-refresh hook support (topic) :white_check_mark: Allow to configure core before it is installed :white_check_mark: Run configuration of core internally
:white_check_mark: Support for Nvidia Vulkan/32-it NVIDIA drivers

Schedule

:white_check_mark: beta Nov 30th
:white_check_mark: candidate Dec 11th
:white_check_mark: stable Jan 02th

snapd 2.29

:white_check_mark: Improved configuration get output (topic) :white_check_mark: Automatic download of base snaps (topic) :white_check_mark: Support $ variables in command: (topic) :white_check_mark: Fix classic flag on reverts (topic) :white_check_mark: Cache downloaded snaps (topic) :white_check_mark: Repair capability phase 1 (topic) :white_check_mark: Make –ignore-validation sticky and send the flag over (topic) :white_check_mark: Improved progress information on long operations

Schedule

:white_check_mark: beta Oct 23th
:white_check_mark: candidate Oct 30th
:white_check_mark: stable Dec 04th

snapd 2.28

:white_check_mark: Internal xdg-open implementation (topic) :white_check_mark: Post-refresh hook support (topic) :white_check_mark: Lazy registrations on classic (topic) :white_check_mark: Service control on snap command (start/stop/etc) (topic) :white_check_mark: Tab-completion for snaps (topic) :white_check_mark: Polkit-based authorizations (topic) :white_check_mark: Initial support for base snaps (topic) :white_check_mark: Snap switch command (topic) :white_check_mark: Proxy configuration for core devices (topic) :white_check_mark: Support for /snap as symlink (topic)

Schedule

:white_check_mark: beta Sep 4th
:white_check_mark: candidate Sep 25th
:white_check_mark: stable Oct 9th

snapd 2.27

See release notes topic for details.

:white_check_mark: Dynamic filesystem updates (snap-update-ns) :white_check_mark: Android boot support :white_check_mark: General snapctl support :white_check_mark: New title field :white_check_mark: Install --unaliased parameter :white_check_mark: Seccomp argument filtering :white_check_mark: Configuration defaults on first boot :white_check_mark: New or updated interfaces, 17 in total

Schedule

:white_check_mark: stable Sep 5th

upcoming

:white_medium_square: Improvements in snap download (topic)
:white_medium_square: Refresh App Awareness (topic)
:white_medium_square: Health checks (topic)
(other upcoming topics)

backlog

:white_medium_square: Support for wayland sockets (topic)
:white_medium_square: Report disk usage for snaps (topic)
:white_medium_square: Cache snap summary/etc from store (topic)
:white_medium_square: Repairs Phase 2 (emergency fixes) (topic)
:white_medium_square: Allow snaps to refresh themselves (topic)
:white_medium_square: Configuration schemas
:white_medium_square: Entitlements
:white_medium_square: Alias in service units (topic)
:white_medium_square: Replace a snap by another

(other backlog topics)

8 Likes

@G.S.1 here’s the roadmap Niemeyer promised! Nice to have it all laid out BTW, interesting to look at :slight_smile:

A post was merged into an existing topic: 2.28 release cycle started

2 posts were merged into an existing topic: Introducing base snaps

This has been on the list for about three months now, could a dev maybe make a topic on it? :slight_smile:

1 Like

Yeah, coming soon! This is the next major feature we’ll work on as soon as we finish some of the current large changes we have in progress.

1 Like

I see “Auto install of content snap dependencies”, what that means ? it will work like .debs or maybe snaps will search among other snaps installed in the system?

The content interface supports a default-provider attribute holding a snap name. That is the default provider for that interface, meaning that if snapd does not see any other snaps in the local system providing a content interface with the same content label, it will fetch that snap.

The auto-connection rules are still used to define whether to establish that connection or not. In other words, either it needs to be a snap from the same publisher, or the content provider must be a reviewed request that got auto-connections enabled for it.

That constraint exists to improve the stability of the snap ecosystem as a whole, by making sure that either the publisher is the same or that the person publishing a snap with content for everybody is aware of the stability requirements.

None of that is similar to deb or rpm packages.

1 Like

Thanks for answer. :slightly_smiling_face:

I changed the order of the roadmap so that the most recent release is on top. I hope this increases the readability.

2 Likes

Having a ‘previous stable releases’ folding spoiler might help so that people see edge/pre-edge (2.35), then beta (2.34), then stable (2.33), then a ‘previous stable releases’ dropdown, then upcoming and backlog (so as to help people see upcoming and backlog more easily without stopping the display of previous versions’ new features) but formatting doesn’t work properly in dropdowns. I’ve filed a topic about this on Discourse Meta.

1 Like

Is this not ready?
Clipboard01

1 Like

@Ads20000 @Lvaskz Done, and done. Thanks for the notes.

1 Like

Screenshot_2018-07-27%20The%20snapd%20roadmap

I would like to know about this topic and for that reason I am going to ask the following questions. Since I can understand differently what is discussed in the topics, in addition to not being a programmer or similar, for that reason I pose the following questions: When you talk about snap download, does it mean that I can download some application.snap? If that is the case, how will that app.snap be installed? with the software center? from the terminal? Or none of the above?

did you coinsider clicking on the (topic) link to know more about it ?

There’s a typo in this line, should be “met” and not "meet at the end.

fixed - thanks for letting us know.

Version 2.53.2 of the snapd snap is already in stable, any plans on updating this? Thanks!