The snapd roadmap

snapd 2.67

:white_check_mark: AppArmor prompting (experimental): allow overlapping rules
:white_check_mark: Registry view (experimental): Changes to registry data (from both users and snaps) can be validated and saved by custodian snaps
:white_check_mark: Registry view (experimental): Support ‘snapctl get --pristine’ to read the registry data excluding staged transaction changes
:white_check_mark: Registry view (experimental): Put registry commands behind experimental feature flag
:white_check_mark: Components: Make modules shipped/created by kernel-modules components available right after reboot
:white_check_mark: Components: Add tab completion for local component files
:white_check_mark: Components: Allow installing snaps and components from local files jointly on the CLI
:white_check_mark: Components: Allow ‘snapctl model’ command for gadget and kernel snaps
:white_check_mark: Components: Add ‘snap components’ command
:white_check_mark: Components: Bug fixes
:white_check_mark: eMMC gadget updates (WIP): add syntax support in gadget.yaml for eMMC schema
:white_check_mark: Support for ephemeral recovery mode on hybrid systems
:white_check_mark: Support for dm-verity options in snap-bootstrap
:white_check_mark: Support for overlayfs options and allow empty what argument for tmpfs
:white_check_mark: Enable ubuntu-image to determine the size of the disk image to create
:white_check_mark: Expose ‘snap debug’ commands ‘validate-seed’ and ‘seeding’
:white_check_mark: Add debug API option to use dedicated snap socket /run/snapd-snap.socket
:white_check_mark: Hide experimental features that are no longer required (accepted/rejected)
:white_check_mark: Mount ubuntu-save partition with no{exec,dev,suid} at install, run and factory-reset
:white_check_mark: Improve memory controller support with cgroup v2
:white_check_mark: Support ssh socket activation configurations (used by ubuntu 22.10+)
:white_check_mark: Fix generation of AppArmor profile with incorrect revision during multi snap refresh
:white_check_mark: Fix refresh app awareness related deadlock edge case
:white_check_mark: Fix not caching delta updated snap download
:white_check_mark: Fix passing non root uid, guid to initial tmpfs mount
:white_check_mark: Fix ignoring snaps in try mode when amending
:white_check_mark: Fix reloading of service activation units to avoid systemd errors
:white_check_mark: Fix snapd snap FIPS build on Launchpad to use Advantage Pro FIPS updates PPA
:white_check_mark: Make killing of snap apps best effort to avoid possibility of malicious failure loop
:white_check_mark: Alleviate impact of auto-refresh failure loop with progressive delay
:white_check_mark: Dropped timedatex in selinux-policy to avoid runtime issue
:white_check_mark: Fix missing syscalls in seccomp profile
:white_check_mark: Modify AppArmor template to allow using SNAP_REEXEC on arch systems
:white_check_mark: Modify AppArmor template to allow using vim.tiny (available in base snaps)
:white_check_mark: Modify AppArmor template to add read-access to debian_version
:white_check_mark: Modify AppArmor template to allow owner to read @{PROC}/@{pid}/sessionid
:white_check_mark: {common,personal,system}-files interface: prohibit trailing @ in filepaths
:white_check_mark: {desktop,shutdown,system-observe,upower-observe} interface: improve for Ubuntu Core Desktop
:white_check_mark: custom-device interface: allow @ in custom-device filepaths
:white_check_mark: desktop interface: improve launch entry and systray integration with session
:white_check_mark: desktop-legacy interface: allow DBus access to com.canonical.dbusmenu
:white_check_mark: fwupd interface: allow access to nvmem for thunderbolt plugin
:white_check_mark: mpris interface: add plasmashell as label
:white_check_mark: mount-control interface: add support for nfs mounts
:white_check_mark: network-{control,manager} interface: add missing dbus link rules
:white_check_mark: network-manager-observe interface: add getDevices methods
:white_check_mark: opengl interface: add Kernel Fusion Driver access to opengl
:white_check_mark: screen-inhibit-control interface: improve screen inhibit control for use on core
:white_check_mark: udisks2 interface: allow ping of the UDisks2 service
:white_check_mark: u2f-devices interface: add Nitrokey Passkey

:white_check_mark: beta 4 December 2024
:white_medium_square: candidate ~18 December 2024
:white_medium_square: stable ~10 January 2025

snapd 2.66.1

:white_check_mark: AppArmor prompting (experimental): expand kernel support checks
:white_check_mark: AppArmor prompting (experimental): consolidate error messages and add error kinds
:white_check_mark: AppArmor prompting (experimental): grant /v2/snaps/{name} via snap-interfaces-requests-control
:white_check_mark: AppArmor prompting (experimental): add checks for duplicate pattern variants
:white_check_mark: Registry views (experimental): add handlers that commit (and cleanup) registry transactions
:white_check_mark: Registry views (experimental): add a snapctl fail command for rejecting registry transactions
:white_check_mark: Registry views (experimental): allow custodian snaps to implement registry hooks that modify and save registry data
:white_check_mark: Registry views (experimental): run view-changed hooks only for snaps plugging views affected by modified paths
:white_check_mark: Registry views (experimental): make registry transactions serialisable
:white_check_mark: Snap components: handle refreshing components to revisions that have been on the system before
:white_check_mark: Snap components: enable creating Ubuntu Core images that contain components
:white_check_mark: Snap components: handle refreshing components independently of snaps
:white_check_mark: Snap components: handle removing components when refreshing a snap that no longer defines them
:white_check_mark: Snap components: extend snapd Ubuntu Core installation API to allow for picking optional snaps and components to install
:white_check_mark: Snap components: extend kernel.yaml with “dynamic-modules”, allowing kernel to define a location for kmods from component hooks
:white_check_mark: Snap components: renamed component type “test” to “standard”
:white_check_mark: Desktop IDs: support installing desktop files with custom names based on desktop-file-ids desktop interface plug attr
:white_check_mark: Auto-install snapd on classic systems as prerequisite for any non-essential snap install
:white_check_mark: Support loading AppArmor profiles on WSL2 with non-default kernel and securityfs mounted
:white_check_mark: Debian/Fedora packaging updates
:white_check_mark: Add snap debug command for investigating execution aspects of the snap toolchain
:white_check_mark: Improve snap pack error for easier parsing
:white_check_mark: Add support for user services when refreshing snaps
:white_check_mark: Add snap remove --terminate flag for terminating running snap processes
:white_check_mark: Support building FIPS complaint snapd deb and snap
:white_check_mark: Fix to not use nss when looking up for users/groups from snapd snap
:white_check_mark: Fix ordering in which layout changes are saved
:white_check_mark: Patch snapd snap dynamic linker to ignore LD_LIBRARY_PATH and related variables
:white_check_mark: Fix libexec dir for openSUSE Slowroll
:white_check_mark: Fix handling of the shared snap directory for parallel installs
:white_check_mark: Allow writing to /run/systemd/journal/dev-log by default
:white_check_mark: Avoid state lock during snap removal to avoid delaying other snapd operations
:white_check_mark: Add nomad-support interface to enable running Hashicorp Nomad
:white_check_mark: Add intel-qat interface
:white_check_mark: u2f-devices interface: add u2f trustkey t120 product id and fx series fido u2f devices
:white_check_mark: desktop interface: improve integration with xdg-desktop-portal
:white_check_mark: desktop interface: add desktop-file-ids plug attr to desktop interface
:white_check_mark: unity7 interface: support desktop-file-ids in desktop files rule generation
:white_check_mark: desktop-legacy interface: support desktop-file-ids in desktop files rule generation
:white_check_mark: desktop-legacy interface: grant access to gcin socket location
:white_check_mark: login-session-observe interface: allow introspection
:white_check_mark: custom-device interface: allow to explicitly identify matching device in udev tagging block
:white_check_mark: system-packages-doc interface: allow reading /usr/share/javascript
:white_check_mark: modem-manager interface: add new format of WWAN ports
:white_check_mark: pcscd interface: allow pcscd to read opensc.conf
:white_check_mark: cpu-control interface: add IRQ affinity control to cpu_control
:white_check_mark: opengl interface: add support for cuda workloads on Tegra iGPU in opengl interface

:white_check_mark: beta 22 October 2024
:white_check_mark: candidate 07 November 2024
:white_check_mark: stable 26 November 2024

snapd 2.65.3

:white_check_mark: Fix missing aux info from store on snap setup
:white_check_mark: Bump squashfuse from version 0.5.0 to 0.5.2 (used in snapd deb only)

:white_check_mark: beta 13 September 2024
:white_check_mark: candidate 18 September 2024
:white_medium_square: stable 8 October 2024 - HIGH IMPACT BUG - REVERTED TO SNAPD 2.63

snapd 2.65.1

:white_check_mark: Support building snapd using base Core22 (Snapcraft 8.x)
:white_check_mark: FIPS: support building FIPS complaint snapd variant that switches to FIPS mode when the system boots with FIPS enabled
:white_check_mark: AppArmor: update to latest 4.0.2 release
:white_check_mark: AppArmor: enable using ABI 4.0 from host parser
:white_check_mark: AppArmor: fix parser lookup
:white_check_mark: AppArmor: support AppArmor snippet priorities
:white_check_mark: AppArmor: allow reading cgroup memory.max file
:white_check_mark: AppArmor: allow using snap-exec coming from the snapd snap when starting a confined process with jailmode
:white_check_mark: AppArmor prompting (experimental): add checks for prompting support, include prompting status in system key, and restart snapd if prompting flag changes
:white_check_mark: AppArmor prompting (experimental): include prompt prefix in AppArmor rules if prompting is supported and enabled
:white_check_mark: AppArmor prompting (experimental): add common types, constraints, and mappings from AppArmor permissions to abstract permissions
:white_check_mark: AppArmor prompting (experimental): add path pattern parsing and matching
:white_check_mark: AppArmor prompting (experimental): add path pattern precedence based on specificity
:white_check_mark: AppArmor prompting (experimental): add packages to manage outstanding request prompts and rules
:white_check_mark: AppArmor prompting (experimental): add prompting API and notice types, which require snap-interfaces-requests-control interface
:white_check_mark: AppArmor prompting (experimental): feature flag can only be enabled if prompting is supported, handler service connected, and the service can be started
:white_check_mark: Registry views (experimental): rename from aspects to registries
:white_check_mark: Registry views (experimental): support reading registry views and setting/unsetting registry data using snapctl
:white_check_mark: Registry views (experimental): fetch and refresh registry assertions as needed
:white_check_mark: Registry views (experimental): restrict view paths from using a number as first character and view names to storage path style patterns
:white_check_mark: Snap components: support installing snaps and components from files at the same time (no REST API/CLI)
:white_check_mark: Snap components: support downloading components related assertions from the store
:white_check_mark: Snap components: support installing components from the store
:white_check_mark: Snap components: support removing components individually and during snap removal
:white_check_mark: Snap components: support kernel modules as components
:white_check_mark: Snap components: support for component install, pre-refresh and post-refresh hooks
:white_check_mark: Snap components: initial support for building systems that contain components
:white_check_mark: Refresh app awareness (experimental): add data field for /v2/changes REST API to allow associating each task with affected snaps
:white_check_mark: Refresh app awareness (experimental): use the app name from .desktop file in notifications
:white_check_mark: Refresh app awareness (experimental): give snap-refresh-observe interface access to /v2/snaps/{name} endpoint
:white_check_mark: Improve snap-confine compatibility with nvidia drivers
:white_check_mark: Allow re-exec when SNAP_REEXEC is set for unlisted distros to simplify testing
:white_check_mark: Allow mixing revision and channel on snap install
:white_check_mark: Generate GNU build ID for Go binaries
:white_check_mark: Add missing etelpmoc.sh for shell completion
:white_check_mark: Do not attempt to run snapd on classic when re-exec is disabled
:white_check_mark: Packaging/build maintenance for Debian sid, Fedora, Arch, openSuse
:white_check_mark: Add snap debug API command to enable running raw queries
:white_check_mark: Enable snap-confine snap mount directory detection
:white_check_mark: Replace global seccomp filter with deny rules in standard seccomp template
:white_check_mark: Remove support for Ubuntu Core Launcher (superseded by snap-confine)
:white_check_mark: Support creating pending serial bound users after serial assertion becomes available
:white_check_mark: Support disabling cloud-init using kernel command-line
:white_check_mark: In hybrid systems, apps can refresh without waiting for restarts required by essential snaps
:white_check_mark: Ship snap-debug-info.sh script used for system diagnostics
:white_check_mark: Improve error messages when attempting to run non-existent snap
:white_check_mark: Switch to -u UID:GID for strace-static
:white_check_mark: Support enabling snapd logging with snap set system debug.snapd.{log,log-level}
:white_check_mark: Add options system.coredump.enable and system.coredump.maxuse to support using systemd-coredump on Ubuntu Core
:white_check_mark: Provide documentation URL for ‘snap interface ’
:white_check_mark: Fix snapd riscv64 build
:white_check_mark: Fix restarting activated services instead of their activator units (i.e. sockets, timers)
:white_check_mark: Fix potential unexpected auto-refresh of snap on managed schedule
:white_check_mark: Fix potential segfault by guarding against kernel command-line changes on classic system
:white_check_mark: Fix proxy entries in /etc/environment with missing newline that caused later manual entries to not be usable
:white_check_mark: Fix offline remodelling by ignoring prerequisites that will otherwise be downloaded from store
:white_check_mark: Fix devmode seccomp deny regression that caused spamming the log instead of actual denies
:white_check_mark: Fix snap lock leak during refresh
:white_check_mark: Fix not re-pinning validation sets that were already pinned when enforcing new validation sets
:white_check_mark: Fix handling of unexpected snapd runtime failure
:white_check_mark: Fix /v2/notices REST API skipping notices with duplicate timestamps
:white_check_mark: Fix comparing systemd versions that may contain pre-release suffixes
:white_check_mark: Fix udev potentially starting before snap-device-helper is made available
:white_check_mark: Fix race in snap seed metadata loading
:white_check_mark: Fix treating cloud-init exit status 2 as error
:white_check_mark: Fix to prevent sending refresh complete notification if snap snap-refresh-observe interface is connected
:white_check_mark: Fix to queue snapctl service commands if run from the default-configure hook to ensure they get up-to-date config values
:white_check_mark: Fix stop service failure when the service is not actually running anymore
:white_check_mark: Fix parsing /proc/PID/mounts with spaces
:white_check_mark: Add registry interface that provides snaps access to a particular registry view
:white_check_mark: Add snap-interfaces-requests-control interface to enable prompting client snaps
:white_check_mark: steam-support interface: remove all AppArmor and seccomp restrictions to improve user experience
:white_check_mark: opengl interface: improve compatibility with nvidia drivers
:white_check_mark: home interface: autoconnect home on Ubuntu Core Desktop
:white_check_mark: serial-port interface: support RPMsg tty
:white_check_mark: display-control interface: allow changing LVDS backlight power and brightness
:white_check_mark: power-control interface: support for battery charging thesholds, type/status and AC type/status
:white_check_mark: cpu-control interface: allow CPU C-state control
:white_check_mark: raw-usb interface: support RPi5 and Thinkpad x13s
:white_check_mark: custom-device interface: allow device file locking
:white_check_mark: lxd-support interface: allow LXD to self-manage its own cgroup
:white_check_mark: network-manager interface: support MPTCP sockets
:white_check_mark: network-control interface: allow plug/slot access to gnutls config and systemd resolved cache flushing via D-Bus
:white_check_mark: network-control interface: allow wpa_supplicant dbus api
:white_check_mark: gpio-control interface: support gpiochip* devices
:white_check_mark: polkit interface: fix “rw” mount option check
:white_check_mark: u2f-devices interface: enable additional security keys
:white_check_mark: desktop interface: enable kde theming support

Schedule

:white_check_mark: beta 24 August 2024 - QA FAIL
:white_check_mark: candidate N/A
:white_medium_square: stable N/A

snapd 2.65

:white_check_mark: Support building snapd using base Core22 (Snapcraft 8.x)
:white_check_mark: FIPS: support building FIPS complaint snapd variant that switches to FIPS mode when the system boots with FIPS enabled
:white_check_mark: AppArmor: update to latest 4.0.2 release
:white_check_mark: AppArmor: enable using ABI 4.0 from host parser
:white_check_mark: AppArmor: fix parser lookup
:white_check_mark: AppArmor: support AppArmor snippet priorities
:white_check_mark: AppArmor: allow reading cgroup memory.max file
:white_check_mark: AppArmor: allow using snap-exec coming from the snapd snap when starting a confined process with jailmode
:white_check_mark: AppArmor prompting (experimental): add checks for prompting support, include prompting status in system key, and restart snapd if prompting flag changes
:white_check_mark: AppArmor prompting (experimental): include prompt prefix in AppArmor rules if prompting is supported and enabled
:white_check_mark: AppArmor prompting (experimental): add common types, constraints, and mappings from AppArmor permissions to abstract permissions
:white_check_mark: AppArmor prompting (experimental): add path pattern parsing and matching
:white_check_mark: AppArmor prompting (experimental): add path pattern precedence based on specificity
:white_check_mark: AppArmor prompting (experimental): add packages to manage outstanding request prompts and rules
:white_check_mark: AppArmor prompting (experimental): add prompting API and notice types, which require snap-interfaces-requests-control interface
:white_check_mark: AppArmor prompting (experimental): feature flag can only be enabled if prompting is supported, handler service connected, and the service can be started
:white_check_mark: Registry views (experimental): rename from aspects to registries
:white_check_mark: Registry views (experimental): support reading registry views and setting/unsetting registry data using snapctl
:white_check_mark: Registry views (experimental): fetch and refresh registry assertions as needed
:white_check_mark: Registry views (experimental): restrict view paths from using a number as first character and view names to storage path style patterns
:white_check_mark: Snap components: support installing snaps and components from files at the same time (no REST API/CLI)
:white_check_mark: Snap components: support downloading components related assertions from the store
:white_check_mark: Snap components: support installing components from the store
:white_check_mark: Snap components: support removing components individually and during snap removal
:white_check_mark: Snap components: support kernel modules as components
:white_check_mark: Snap components: support for component install, pre-refresh and post-refresh hooks
:white_check_mark: Snap components: initial support for building systems that contain components
:white_check_mark: Refresh app awareness (experimental): add data field for /v2/changes REST API to allow associating each task with affected snaps
:white_check_mark: Refresh app awareness (experimental): use the app name from .desktop file in notifications
:white_check_mark: Refresh app awareness (experimental): give snap-refresh-observe interface access to /v2/snaps/{name} endpoint
:white_check_mark: Improve snap-confine compatibility with nvidia drivers
:white_check_mark: Allow re-exec when SNAP_REEXEC is set for unlisted distros to simplify testing
:white_check_mark: Allow mixing revision and channel on snap install
:white_check_mark: Generate GNU build ID for Go binaries
:white_check_mark: Add missing etelpmoc.sh for shell completion
:white_check_mark: Do not attempt to run snapd on classic when re-exec is disabled
:white_check_mark: Packaging/build maintenance for Debian sid, Fedora, Arch, openSuse
:white_check_mark: Add snap debug API command to enable running raw queries
:white_check_mark: Enable snap-confine snap mount directory detection
:white_check_mark: Replace global seccomp filter with deny rules in standard seccomp template
:white_check_mark: Remove support for Ubuntu Core Launcher (superseded by snap-confine)
:white_check_mark: Support creating pending serial bound users after serial assertion becomes available
:white_check_mark: Support disabling cloud-init using kernel command-line
:white_check_mark: In hybrid systems, apps can refresh without waiting for restarts required by essential snaps
:white_check_mark: Ship snap-debug-info.sh script used for system diagnostics
:white_check_mark: Improve error messages when attempting to run non-existent snap
:white_check_mark: Switch to -u UID:GID for strace-static
:white_check_mark: Support enabling snapd logging with snap set system debug.snapd.{log,log-level}
:white_check_mark: Add options system.coredump.enable and system.coredump.maxuse to support using systemd-coredump on Ubuntu Core
:white_check_mark: Provide documentation URL for ‘snap interface ’
:white_check_mark: Fix restarting activated services instead of their activator units (i.e. sockets, timers)
:white_check_mark: Fix potential unexpected auto-refresh of snap on managed schedule
:white_check_mark: Fix potential segfault by guarding against kernel command-line changes on classic system
:white_check_mark: Fix proxy entries in /etc/environment with missing newline that caused later manual entries to not be usable
:white_check_mark: Fix offline remodelling by ignoring prerequisites that will otherwise be downloaded from store
:white_check_mark: Fix devmode seccomp deny regression that caused spamming the log instead of actual denies
:white_check_mark: Fix snap lock leak during refresh
:white_check_mark: Fix not re-pinning validation sets that were already pinned when enforcing new validation sets
:white_check_mark: Fix handling of unexpected snapd runtime failure
:white_check_mark: Fix /v2/notices REST API skipping notices with duplicate timestamps
:white_check_mark: Fix comparing systemd versions that may contain pre-release suffixes
:white_check_mark: Fix udev potentially starting before snap-device-helper is made available
:white_check_mark: Fix race in snap seed metadata loading
:white_check_mark: Fix treating cloud-init exit status 2 as error
:white_check_mark: Fix to prevent sending refresh complete notification if snap snap-refresh-observe interface is connected
:white_check_mark: Fix to queue snapctl service commands if run from the default-configure hook to ensure they get up-to-date config values
:white_check_mark: Fix stop service failure when the service is not actually running anymore
:white_check_mark: Fix parsing /proc/PID/mounts with spaces
:white_check_mark: Add registry interface that provides snaps access to a particular registry view
:white_check_mark: Add snap-interfaces-requests-control interface to enable prompting client snaps
:white_check_mark: steam-support interface: remove all AppArmor and seccomp restrictions to improve user experience
:white_check_mark: opengl interface: improve compatibility with nvidia drivers
:white_check_mark: home interface: autoconnect home on Ubuntu Core Desktop
:white_check_mark: serial-port interface: support RPMsg tty
:white_check_mark: display-control interface: allow changing LVDS backlight power and brightness
:white_check_mark: power-control interface: support for battery charging thesholds, type/status and AC type/status
:white_check_mark: cpu-control interface: allow CPU C-state control
:white_check_mark: raw-usb interface: support RPi5 and Thinkpad x13s
:white_check_mark: custom-device interface: allow device file locking
:white_check_mark: lxd-support interface: allow LXD to self-manage its own cgroup
:white_check_mark: network-manager interface: support MPTCP sockets
:white_check_mark: network-control interface: allow plug/slot access to gnutls config and systemd resolved cache flushing via D-Bus
:white_check_mark: network-control interface: allow wpa_supplicant dbus api
:white_check_mark: gpio-control interface: support gpiochip* devices
:white_check_mark: polkit interface: fix “rw” mount option check
:white_check_mark: u2f-devices interface: enable additional security keys
:white_check_mark: desktop interface: enable kde theming support

Schedule

:white_check_mark: beta 23 August 2024 - QA FAIL
:white_medium_square: candidate N/A
:white_medium_square: stable N/A

snapd 2.64

:white_check_mark: Support building snapd using base Core22 (Snapcraft 8.x)
:white_check_mark: FIPS: support building FIPS complaint snapd variant that switches to FIPS mode when the system boots with FIPS enabled
:white_check_mark: AppArmor: update to AppArmor 4.0.1
:white_check_mark: AppArmor: support AppArmor snippet priorities
:white_check_mark: AppArmor prompting: add checks for prompting support, include prompting status in system key, and restart snapd if prompting flag changes
:white_check_mark: AppArmor prompting: include prompt prefix in AppArmor rules if prompting is supported and enabled
:white_check_mark: AppArmor prompting: add common types, constraints, and mappings from AppArmor permissions to abstract permissions
:white_check_mark: AppArmor prompting: add path pattern parsing and matching
:white_check_mark: Registry views (experimental): rename from aspects to registries
:white_check_mark: Registry views (experimental): support reading registry views using snapctl
:white_check_mark: Registry views (experimental): restrict view paths from using a number as first character and view names to storage path style patterns
:white_check_mark: Snap components: support installing snaps and components from files at the same time (no REST API/CLI)
:white_check_mark: Snap components: support downloading components related assertions from the store
:white_check_mark: Snap components: support installing components from the store (no REST API/CLI)
:white_check_mark: Snap components: support removing components (REST API, no CLI)
:white_check_mark: Snap components: started support for component hooks
:white_check_mark: Snap components: support kernel modules as components
:white_check_mark: Refresh app awareness (experimental): add data field for /v2/changes REST API to allow associating each task with affected snaps
:white_check_mark: Refresh app awareness (experimental): use the app name from .desktop file in notifications
:white_check_mark: Refresh app awareness (experimental): give snap-refresh-observe interface access to /v2/snaps/{name} endpoint
:white_check_mark: Allow re-exec when SNAP_REEXEC is set for unlisted distros to simplify testing
:white_check_mark: Generate GNU build ID for Go binaries
:white_check_mark: Add missing etelpmoc.sh for shell completion
:white_check_mark: Do not attempt to run snapd on classic when re-exec is disabled
:white_check_mark: Packaging/build maintenance for Debian sid, Fedora, Arch, openSuse
:white_check_mark: Add snap debug api command to enable running raw queries
:white_check_mark: Enable snap-confine snap mount directory detection
:white_check_mark: Replace global seccomp filter with deny rules in standard seccomp template
:white_check_mark: Remove support for Ubuntu Core Launcher (superseded by snap-confine)
:white_check_mark: Support creating pending serial bound users after serial assertion becomes available
:white_check_mark: Support disabling cloud-init using kernel command-line
:white_check_mark: In hybrid systems, apps can refresh without waiting for restarts required by essential snaps
:white_check_mark: Ship snap-debug-info.sh script used for system diagnostics
:white_check_mark: Improve error messages when attempting to run non-existent snap
:white_check_mark: Switch to -u UID:GID for strace-static
:white_check_mark: Support enabling snapd logging with snap set system debug.snapd.{log,log-level}
:white_check_mark: Fix restarting activated services instead of their activator units (i.e. sockets, timers)
:white_check_mark: Fix potential unexpected auto-refresh of snap on managed schedule
:white_check_mark: Fix potential segfault by guarding against kernel command-line changes on classic system
:white_check_mark: Fix proxy entries in /etc/environment with missing newline that caused later manual entries to not be usable
:white_check_mark: Fix offline remodelling by ignoring prerequisites that will otherwise be downloaded from store
:white_check_mark: Fix devmode seccomp deny regression that caused spamming the log instead of actual denies
:white_check_mark: Fix snap lock leak during refresh
:white_check_mark: Fix not re-pinning validation sets that were already pinned when enforcing new validation sets
:white_check_mark: Fix handling of unexpected snapd runtime failure
:white_check_mark: Fix /v2/notices REST API skipping notices with duplicate timestamps
:white_check_mark: Fix comparing systemd versions that may contain pre-release suffixes
:white_check_mark: Fix udev potentially starting before snap-device-helper is made available
:white_check_mark: Fix race in snap seed metadata loading
:white_check_mark: Fix treating cloud-init exit status 2 as error
:white_check_mark: Fix to prevent sending refresh complete notification if snap snap-refresh-observe interface is connected
:white_check_mark: Fix to queue snapctl service commands if run from the default-configure hook to ensure they get up-to-date config values
:white_check_mark: Fix stop service failure when the service is not actually running anymore
:white_check_mark: Add registry interface that provides snaps access to a particular registry view
:white_check_mark: steam-support interface: relaxed AppArmor and seccomp restrictions to improve user experience
:white_check_mark: home interface: autoconnect home on Ubuntu Core Desktop
:white_check_mark: serial-port interface: support RPMsg tty
:white_check_mark: display-control interface: allow changing LVDS backlight power and brightness
:white_check_mark: power-control interface: support for battery charging thesholds, type/status and AC type/status
:white_check_mark: cpu-control interface: allow CPU C-state control
:white_check_mark: raw-usb interface: support RPi5 and Thinkpad x13s
:white_check_mark: custom-device interface: allow device file locking
:white_check_mark: lxd-support interface: allow LXD to self-manage its own cgroup
:white_check_mark: network-manager interface: support MPTCP sockets
:white_check_mark: network-control interface: allow plug/slot access to gnutls config and systemd resolved cache flushing via D-Bus

Schedule

:white_check_mark: beta 25 July 2024 - QA FAIL
:white_medium_square: candidate N/A
:white_medium_square: stable N/A

snapd 2.63

:white_check_mark: Support for snap services to show the current status of user services (experimental)
:white_check_mark: Refresh app awareness: record snap-run-inhibit notice when starting app from snap that is busy with refresh (experimental)
:white_check_mark: Refresh app awareness: use warnings as fallback for desktop notifications (experimental)
:white_check_mark: Aspect based configuration: make request fields in the aspect-bundle’s rules optional (experimental)
:white_check_mark: Aspect based configuration: make map keys conform to the same format as path sub-keys (experimental)
:white_check_mark: Aspect based configuration: make unset and set behaviour similar to configuration options (experimental)
:white_check_mark: Aspect based configuration: limit nesting level for setting value (experimental)
:white_check_mark: Components: use symlinks to point active snap component revisions
:white_check_mark: Components: add model assertion support for components
:white_check_mark: Components: fix to ensure local component installation always gets a new revision number
:white_check_mark: Add basic support for a CIFS remote filesystem-based home directory
:white_check_mark: Add support for AppArmor profile kill mode to avoid snap-confine error
:white_check_mark: Allow more than one interface to grant access to the same API endpoint or notice type
:white_check_mark: Allow all snapd service’s control group processes to send systemd notifications to prevent warnings flooding the log
:white_check_mark: Enable not preseeded single boot install
:white_check_mark: Update secboot to handle new sbatlevel
:white_check_mark: Fix to not use cgroup for non-strict confined snaps (devmode, classic)
:white_check_mark: Fix two race conditions relating to freedesktop notifications
:white_check_mark: Fix missing tunables in snap-update-ns AppArmor template
:white_check_mark: Fix rejection of snapd snap udev command line by older host snap-device-helper
:white_check_mark: Rework seccomp allow/deny list
:white_check_mark: Clean up files removed by gadgets
:white_check_mark: Remove non-viable boot chains to avoid secboot failure
:white_check_mark: posix_mq interface: add support for missing time64 mqueue syscalls mq_timedreceive_time64 and mq_timedsend_time64
:white_check_mark: password-manager-service interface: allow kwalletd version 6
:white_check_mark: kubernetes-support interface: allow SOCK_SEQPACKET sockets
:white_check_mark: system-observe interface: allow listing systemd units and their properties
:white_check_mark: opengl interface: enable use of nvidia container toolkit CDI config generation

Schedule

:white_check_mark: beta 24 Apr 2024
:white_check_mark: candidate 16 May 2024
:white_check_mark: stable 23 May 2024

snapd 2.62

:white_check_mark: Aspects based configuration schema support (experimental)
:white_check_mark: Refresh app awareness support for UI (experimental)
:white_check_mark: Support for user daemons by introducing new control switches --user/–system/–users for service start/stop/restart (experimental)
:white_check_mark: Add AppArmor prompting experimental flag (feature currently unsupported)
:white_check_mark: Installation of local snap components of type test
:white_check_mark: Packaging of components with snap pack
:white_check_mark: Expose experimental features supported/enabled in snapd REST API endpoint /v2/system-info
:white_check_mark: Support creating and removing recovery systems for use by factory reset
:white_check_mark: Enable API route for creating and removing recovery systems using /v2/systems with action create and /v2/systems/{label} with action remove
:white_check_mark: Lift requirements for fde-setup hook for single boot install
:white_check_mark: Enable single reboot gadget update for UC20+
:white_check_mark: Allow core to be removed on classic systems
:white_check_mark: Support for remodeling on hybrid systems
:white_check_mark: Install desktop files on Ubuntu Core and update after snapd upgrade
:white_check_mark: Upgrade sandbox features to account for cgroup v2 device filtering
:white_check_mark: Support snaps to manage their own cgroups
:white_check_mark: Add support for AppArmor 4.0 unconfined profile mode
:white_check_mark: Add AppArmor based read access to /etc/default/keyboard
:white_check_mark: Upgrade to squashfuse 0.5.0
:white_check_mark: Support useradd utility to enable removing Perl dependency for UC24+
:white_check_mark: Support for recovery-chooser to use console-conf snap
:white_check_mark: Add support for --uid/–gid using strace-static
:white_check_mark: Add support for notices (from pebble) and expose via the snapd REST API endpoints /v2/notices and /v2/notice
:white_check_mark: Add polkit authentication for snapd REST API endpoints /v2/snaps/{snap}/conf and /v2/apps
:white_check_mark: Add refresh-inhibit field to snapd REST API endpoint /v2/snaps
:white_check_mark: Add refresh-inhibited select query to REST API endpoint /v2/snaps
:white_check_mark: Take into account validation sets during remodeling
:white_check_mark: Improve offline remodeling to use installed revisions of snaps to fulfill the remodel revision requirement
:white_check_mark: Add rpi configuration option sdtv_mode
:white_check_mark: When snapd snap is not installed, pin policy ABI to 4.0 or 3.0 if present on host
:white_check_mark: Fix gadget zero-sized disk mapping caused by not ignoring zero sized storage traits
:white_check_mark: Fix gadget install case where size of existing partition was not correctly taken into account
:white_check_mark: Fix trying to unmount early kernel mount if it does not exist
:white_check_mark: Fix restarting mount units on snapd start
:white_check_mark: Fix call to udev in preseed mode
:white_check_mark: Fix to ensure always setting up the device cgroup for base bare and core24+
:white_check_mark: Fix not copying data from newly set homedirs on revision change
:white_check_mark: Fix leaving behind empty snap home directories after snap is removed (resulting in broken symlink)
:white_check_mark: Fix to avoid using libzstd from host by adding to snapd snap
:white_check_mark: Fix autorefresh to correctly handle forever refresh hold
:white_check_mark: Fix username regex allowed for system-user assertion to not allow ‘+’
:white_check_mark: Fix incorrect application icon for notification after autorefresh completion
:white_check_mark: Fix to restart mount units when changed
:white_check_mark: Fix to support AppArmor running under incus
:white_check_mark: Fix case of snap-update-ns dropping synthetic mounts due to failure to match desired mount dependencies
:white_check_mark: Fix parsing of base snap version to enable pre-seeding of Ubuntu Core Desktop
:white_check_mark: Fix packaging and tests for various distributions
:white_check_mark: Add remoteproc interface to allow developers to interact with Remote Processor Framework which enables snaps to load firmware to ARM Cortex microcontrollers
:white_check_mark: Add kernel-control interface to enable controlling the kernel firmware search path
:white_check_mark: Add nfs-mount interface to allow mounting of NFS shares
:white_check_mark: Add ros-opt-data interface to allow snaps to access the host /opt/ros/ paths
:white_check_mark: Add snap-refresh-observe interface that provides refresh-app-awareness clients access to relevant snapd API endpoints
:white_check_mark: steam-support interface: generalize Pressure Vessel root paths and allow access to driver information, features and container versions
:white_check_mark: steam-support interface: make implicit on Ubuntu Core Desktop
:white_check_mark: desktop interface: improved support for Ubuntu Core Desktop and limit autoconnection to implicit slots
:white_check_mark: cups-control interface: make autoconnect depend on presence of cupsd on host to ensure it works on classic systems
:white_check_mark: opengl interface: allow read access to /usr/share/nvidia
:white_check_mark: personal-files interface: extend to support automatic creation of missing parent directories in write paths
:white_check_mark: network-control interface: allow creating /run/resolveconf
:white_check_mark: network-setup-control and network-setup-observe interfaces: allow busctl bind as required for systemd 254+
:white_check_mark: libvirt interface: allow r/w access to /run/libvirt/libvirt-sock-ro and read access to /var/lib/libvirt/dnsmasq/**
:white_check_mark: fwupd interface: allow access to IMPI devices (including locking of device nodes), sysfs attributes needed by amdgpu and the COD capsule update directory
:white_check_mark: uio interface: allow configuring UIO drivers from userspace libraries
:white_check_mark: serial-port interface: add support for NXP Layerscape SoC
:white_check_mark: lxd-support interface: add attribute enable-unconfined-mode to require LXD to opt-in to run unconfined
:white_check_mark: block-devices interface: add support for ZFS volumes
:white_check_mark: system-packages-doc interface: add support for reading jquery and sphinx documentation
:white_check_mark: system-packages-doc interface: workaround to prevent autoconnect failure for snaps using base bare
:white_check_mark: microceph-support interface: allow more types of block devices to be added as an OSD
:white_check_mark: mount-observe interface: allow read access to /proc/{pid}/task/{tid}/mounts and proc/{pid}/task/{tid}/mountinfo
:white_check_mark: polkit interface: changed to not be implicit on core because installing policy files is not possible
:white_check_mark: upower-observe interface: allow stats refresh
:white_check_mark: gpg-public-keys interface: allow creating lock file for certain gpg operations
:white_check_mark: shutdown interface: allow access to SetRebootParameter method
:white_check_mark: media-control interface: allow device file locking
:white_check_mark: u2f-devices interface: support for Trustkey G310H, JaCarta U2F, Kensington VeriMark Guard, RSA DS100, Google Titan v2

Schedule

:white_check_mark: beta 21 Mar 2024
:white_check_mark: candidate 8 Apr 2024
:white_check_mark: stable 15 Apr 2024

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!

Hi @degville, Are you the one who maintains this page? If so, could you please mark snapd’s 2.67 release to beta channel with a green tick since it is already done?