snapd 2.67
AppArmor prompting (experimental): allow overlapping rules
Registry view (experimental): Changes to registry data (from both users and snaps) can be validated and saved by custodian snaps
Registry view (experimental): Support ‘snapctl get --pristine’ to read the registry data excluding staged transaction changes
Registry view (experimental): Put registry commands behind experimental feature flag
Components: Make modules shipped/created by kernel-modules components available right after reboot
Components: Add tab completion for local component files
Components: Allow installing snaps and components from local files jointly on the CLI
Components: Allow ‘snapctl model’ command for gadget and kernel snaps
Components: Add ‘snap components’ command
Components: Bug fixes
eMMC gadget updates (WIP): add syntax support in gadget.yaml for eMMC schema
Support for ephemeral recovery mode on hybrid systems
Support for dm-verity options in snap-bootstrap
Support for overlayfs options and allow empty what argument for tmpfs
Enable ubuntu-image to determine the size of the disk image to create
Expose ‘snap debug’ commands ‘validate-seed’ and ‘seeding’
Add debug API option to use dedicated snap socket /run/snapd-snap.socket
Hide experimental features that are no longer required (accepted/rejected)
Mount ubuntu-save partition with no{exec,dev,suid} at install, run and factory-reset
Improve memory controller support with cgroup v2
Support ssh socket activation configurations (used by ubuntu 22.10+)
Fix generation of AppArmor profile with incorrect revision during multi snap refresh
Fix refresh app awareness related deadlock edge case
Fix not caching delta updated snap download
Fix passing non root uid, guid to initial tmpfs mount
Fix ignoring snaps in try mode when amending
Fix reloading of service activation units to avoid systemd errors
Fix snapd snap FIPS build on Launchpad to use Advantage Pro FIPS updates PPA
Make killing of snap apps best effort to avoid possibility of malicious failure loop
Alleviate impact of auto-refresh failure loop with progressive delay
Dropped timedatex in selinux-policy to avoid runtime issue
Fix missing syscalls in seccomp profile
Modify AppArmor template to allow using SNAP_REEXEC on arch systems
Modify AppArmor template to allow using vim.tiny (available in base snaps)
Modify AppArmor template to add read-access to debian_version
Modify AppArmor template to allow owner to read @{PROC}/@{pid}/sessionid
{common,personal,system}-files interface: prohibit trailing @ in filepaths
{desktop,shutdown,system-observe,upower-observe} interface: improve for Ubuntu Core Desktop
custom-device interface: allow @ in custom-device filepaths
desktop interface: improve launch entry and systray integration with session
desktop-legacy interface: allow DBus access to com.canonical.dbusmenu
fwupd interface: allow access to nvmem for thunderbolt plugin
mpris interface: add plasmashell as label
mount-control interface: add support for nfs mounts
network-{control,manager} interface: add missing dbus link rules
network-manager-observe interface: add getDevices methods
opengl interface: add Kernel Fusion Driver access to opengl
screen-inhibit-control interface: improve screen inhibit control for use on core
udisks2 interface: allow ping of the UDisks2 service
u2f-devices interface: add Nitrokey Passkey
beta | 4 December 2024 | |
candidate | ~18 December 2024 | |
stable | ~10 January 2025 |
snapd 2.66.1
AppArmor prompting (experimental): expand kernel support checks
AppArmor prompting (experimental): consolidate error messages and add error kinds
AppArmor prompting (experimental): grant /v2/snaps/{name} via snap-interfaces-requests-control
AppArmor prompting (experimental): add checks for duplicate pattern variants
Registry views (experimental): add handlers that commit (and cleanup) registry transactions
Registry views (experimental): add a snapctl fail command for rejecting registry transactions
Registry views (experimental): allow custodian snaps to implement registry hooks that modify and save registry data
Registry views (experimental): run view-changed hooks only for snaps plugging views affected by modified paths
Registry views (experimental): make registry transactions serialisable
Snap components: handle refreshing components to revisions that have been on the system before
Snap components: enable creating Ubuntu Core images that contain components
Snap components: handle refreshing components independently of snaps
Snap components: handle removing components when refreshing a snap that no longer defines them
Snap components: extend snapd Ubuntu Core installation API to allow for picking optional snaps and components to install
Snap components: extend kernel.yaml with “dynamic-modules”, allowing kernel to define a location for kmods from component hooks
Snap components: renamed component type “test” to “standard”
Desktop IDs: support installing desktop files with custom names based on desktop-file-ids desktop interface plug attr
Auto-install snapd on classic systems as prerequisite for any non-essential snap install
Support loading AppArmor profiles on WSL2 with non-default kernel and securityfs mounted
Debian/Fedora packaging updates
Add snap debug command for investigating execution aspects of the snap toolchain
Improve snap pack error for easier parsing
Add support for user services when refreshing snaps
Add snap remove --terminate flag for terminating running snap processes
Support building FIPS complaint snapd deb and snap
Fix to not use nss when looking up for users/groups from snapd snap
Fix ordering in which layout changes are saved
Patch snapd snap dynamic linker to ignore LD_LIBRARY_PATH and related variables
Fix libexec dir for openSUSE Slowroll
Fix handling of the shared snap directory for parallel installs
Allow writing to /run/systemd/journal/dev-log by default
Avoid state lock during snap removal to avoid delaying other snapd operations
Add nomad-support interface to enable running Hashicorp Nomad
Add intel-qat interface
u2f-devices interface: add u2f trustkey t120 product id and fx series fido u2f devices
desktop interface: improve integration with xdg-desktop-portal
desktop interface: add desktop-file-ids plug attr to desktop interface
unity7 interface: support desktop-file-ids in desktop files rule generation
desktop-legacy interface: support desktop-file-ids in desktop files rule generation
desktop-legacy interface: grant access to gcin socket location
login-session-observe interface: allow introspection
custom-device interface: allow to explicitly identify matching device in udev tagging block
system-packages-doc interface: allow reading /usr/share/javascript
modem-manager interface: add new format of WWAN ports
pcscd interface: allow pcscd to read opensc.conf
cpu-control interface: add IRQ affinity control to cpu_control
opengl interface: add support for cuda workloads on Tegra iGPU in opengl interface
beta | 22 October 2024 | |
candidate | 07 November 2024 | |
stable | 26 November 2024 |
snapd 2.65.3
Fix missing aux info from store on snap setup
Bump squashfuse from version 0.5.0 to 0.5.2 (used in snapd deb only)
beta | 13 September 2024 | |
candidate | 18 September 2024 | |
stable | 8 October 2024 - HIGH IMPACT BUG - REVERTED TO SNAPD 2.63 |
snapd 2.65.1
Support building snapd using base Core22 (Snapcraft 8.x)
FIPS: support building FIPS complaint snapd variant that switches to FIPS mode when the system boots with FIPS enabled
AppArmor: update to latest 4.0.2 release
AppArmor: enable using ABI 4.0 from host parser
AppArmor: fix parser lookup
AppArmor: support AppArmor snippet priorities
AppArmor: allow reading cgroup memory.max file
AppArmor: allow using snap-exec coming from the snapd snap when starting a confined process with jailmode
AppArmor prompting (experimental): add checks for prompting support, include prompting status in system key, and restart snapd if prompting flag changes
AppArmor prompting (experimental): include prompt prefix in AppArmor rules if prompting is supported and enabled
AppArmor prompting (experimental): add common types, constraints, and mappings from AppArmor permissions to abstract permissions
AppArmor prompting (experimental): add path pattern parsing and matching
AppArmor prompting (experimental): add path pattern precedence based on specificity
AppArmor prompting (experimental): add packages to manage outstanding request prompts and rules
AppArmor prompting (experimental): add prompting API and notice types, which require snap-interfaces-requests-control interface
AppArmor prompting (experimental): feature flag can only be enabled if prompting is supported, handler service connected, and the service can be started
Registry views (experimental): rename from aspects to registries
Registry views (experimental): support reading registry views and setting/unsetting registry data using snapctl
Registry views (experimental): fetch and refresh registry assertions as needed
Registry views (experimental): restrict view paths from using a number as first character and view names to storage path style patterns
Snap components: support installing snaps and components from files at the same time (no REST API/CLI)
Snap components: support downloading components related assertions from the store
Snap components: support installing components from the store
Snap components: support removing components individually and during snap removal
Snap components: support kernel modules as components
Snap components: support for component install, pre-refresh and post-refresh hooks
Snap components: initial support for building systems that contain components
Refresh app awareness (experimental): add data field for /v2/changes REST API to allow associating each task with affected snaps
Refresh app awareness (experimental): use the app name from .desktop file in notifications
Refresh app awareness (experimental): give snap-refresh-observe interface access to /v2/snaps/{name} endpoint
Improve snap-confine compatibility with nvidia drivers
Allow re-exec when SNAP_REEXEC is set for unlisted distros to simplify testing
Allow mixing revision and channel on snap install
Generate GNU build ID for Go binaries
Add missing etelpmoc.sh for shell completion
Do not attempt to run snapd on classic when re-exec is disabled
Packaging/build maintenance for Debian sid, Fedora, Arch, openSuse
Add snap debug API command to enable running raw queries
Enable snap-confine snap mount directory detection
Replace global seccomp filter with deny rules in standard seccomp template
Remove support for Ubuntu Core Launcher (superseded by snap-confine)
Support creating pending serial bound users after serial assertion becomes available
Support disabling cloud-init using kernel command-line
In hybrid systems, apps can refresh without waiting for restarts required by essential snaps
Ship snap-debug-info.sh script used for system diagnostics
Improve error messages when attempting to run non-existent snap
Switch to -u UID:GID for strace-static
Support enabling snapd logging with snap set system debug.snapd.{log,log-level}
Add options system.coredump.enable and system.coredump.maxuse to support using systemd-coredump on Ubuntu Core
Provide documentation URL for ‘snap interface ’
Fix snapd riscv64 build
Fix restarting activated services instead of their activator units (i.e. sockets, timers)
Fix potential unexpected auto-refresh of snap on managed schedule
Fix potential segfault by guarding against kernel command-line changes on classic system
Fix proxy entries in /etc/environment with missing newline that caused later manual entries to not be usable
Fix offline remodelling by ignoring prerequisites that will otherwise be downloaded from store
Fix devmode seccomp deny regression that caused spamming the log instead of actual denies
Fix snap lock leak during refresh
Fix not re-pinning validation sets that were already pinned when enforcing new validation sets
Fix handling of unexpected snapd runtime failure
Fix /v2/notices REST API skipping notices with duplicate timestamps
Fix comparing systemd versions that may contain pre-release suffixes
Fix udev potentially starting before snap-device-helper is made available
Fix race in snap seed metadata loading
Fix treating cloud-init exit status 2 as error
Fix to prevent sending refresh complete notification if snap snap-refresh-observe interface is connected
Fix to queue snapctl service commands if run from the default-configure hook to ensure they get up-to-date config values
Fix stop service failure when the service is not actually running anymore
Fix parsing /proc/PID/mounts with spaces
Add registry interface that provides snaps access to a particular registry view
Add snap-interfaces-requests-control interface to enable prompting client snaps
steam-support interface: remove all AppArmor and seccomp restrictions to improve user experience
opengl interface: improve compatibility with nvidia drivers
home interface: autoconnect home on Ubuntu Core Desktop
serial-port interface: support RPMsg tty
display-control interface: allow changing LVDS backlight power and brightness
power-control interface: support for battery charging thesholds, type/status and AC type/status
cpu-control interface: allow CPU C-state control
raw-usb interface: support RPi5 and Thinkpad x13s
custom-device interface: allow device file locking
lxd-support interface: allow LXD to self-manage its own cgroup
network-manager interface: support MPTCP sockets
network-control interface: allow plug/slot access to gnutls config and systemd resolved cache flushing via D-Bus
network-control interface: allow wpa_supplicant dbus api
gpio-control interface: support gpiochip* devices
polkit interface: fix “rw” mount option check
u2f-devices interface: enable additional security keys
desktop interface: enable kde theming support
Schedule
beta | 24 August 2024 - QA FAIL | |
candidate | N/A | |
stable | N/A |
snapd 2.65
Support building snapd using base Core22 (Snapcraft 8.x)
FIPS: support building FIPS complaint snapd variant that switches to FIPS mode when the system boots with FIPS enabled
AppArmor: update to latest 4.0.2 release
AppArmor: enable using ABI 4.0 from host parser
AppArmor: fix parser lookup
AppArmor: support AppArmor snippet priorities
AppArmor: allow reading cgroup memory.max file
AppArmor: allow using snap-exec coming from the snapd snap when starting a confined process with jailmode
AppArmor prompting (experimental): add checks for prompting support, include prompting status in system key, and restart snapd if prompting flag changes
AppArmor prompting (experimental): include prompt prefix in AppArmor rules if prompting is supported and enabled
AppArmor prompting (experimental): add common types, constraints, and mappings from AppArmor permissions to abstract permissions
AppArmor prompting (experimental): add path pattern parsing and matching
AppArmor prompting (experimental): add path pattern precedence based on specificity
AppArmor prompting (experimental): add packages to manage outstanding request prompts and rules
AppArmor prompting (experimental): add prompting API and notice types, which require snap-interfaces-requests-control interface
AppArmor prompting (experimental): feature flag can only be enabled if prompting is supported, handler service connected, and the service can be started
Registry views (experimental): rename from aspects to registries
Registry views (experimental): support reading registry views and setting/unsetting registry data using snapctl
Registry views (experimental): fetch and refresh registry assertions as needed
Registry views (experimental): restrict view paths from using a number as first character and view names to storage path style patterns
Snap components: support installing snaps and components from files at the same time (no REST API/CLI)
Snap components: support downloading components related assertions from the store
Snap components: support installing components from the store
Snap components: support removing components individually and during snap removal
Snap components: support kernel modules as components
Snap components: support for component install, pre-refresh and post-refresh hooks
Snap components: initial support for building systems that contain components
Refresh app awareness (experimental): add data field for /v2/changes REST API to allow associating each task with affected snaps
Refresh app awareness (experimental): use the app name from .desktop file in notifications
Refresh app awareness (experimental): give snap-refresh-observe interface access to /v2/snaps/{name} endpoint
Improve snap-confine compatibility with nvidia drivers
Allow re-exec when SNAP_REEXEC is set for unlisted distros to simplify testing
Allow mixing revision and channel on snap install
Generate GNU build ID for Go binaries
Add missing etelpmoc.sh for shell completion
Do not attempt to run snapd on classic when re-exec is disabled
Packaging/build maintenance for Debian sid, Fedora, Arch, openSuse
Add snap debug API command to enable running raw queries
Enable snap-confine snap mount directory detection
Replace global seccomp filter with deny rules in standard seccomp template
Remove support for Ubuntu Core Launcher (superseded by snap-confine)
Support creating pending serial bound users after serial assertion becomes available
Support disabling cloud-init using kernel command-line
In hybrid systems, apps can refresh without waiting for restarts required by essential snaps
Ship snap-debug-info.sh script used for system diagnostics
Improve error messages when attempting to run non-existent snap
Switch to -u UID:GID for strace-static
Support enabling snapd logging with snap set system debug.snapd.{log,log-level}
Add options system.coredump.enable and system.coredump.maxuse to support using systemd-coredump on Ubuntu Core
Provide documentation URL for ‘snap interface ’
Fix restarting activated services instead of their activator units (i.e. sockets, timers)
Fix potential unexpected auto-refresh of snap on managed schedule
Fix potential segfault by guarding against kernel command-line changes on classic system
Fix proxy entries in /etc/environment with missing newline that caused later manual entries to not be usable
Fix offline remodelling by ignoring prerequisites that will otherwise be downloaded from store
Fix devmode seccomp deny regression that caused spamming the log instead of actual denies
Fix snap lock leak during refresh
Fix not re-pinning validation sets that were already pinned when enforcing new validation sets
Fix handling of unexpected snapd runtime failure
Fix /v2/notices REST API skipping notices with duplicate timestamps
Fix comparing systemd versions that may contain pre-release suffixes
Fix udev potentially starting before snap-device-helper is made available
Fix race in snap seed metadata loading
Fix treating cloud-init exit status 2 as error
Fix to prevent sending refresh complete notification if snap snap-refresh-observe interface is connected
Fix to queue snapctl service commands if run from the default-configure hook to ensure they get up-to-date config values
Fix stop service failure when the service is not actually running anymore
Fix parsing /proc/PID/mounts with spaces
Add registry interface that provides snaps access to a particular registry view
Add snap-interfaces-requests-control interface to enable prompting client snaps
steam-support interface: remove all AppArmor and seccomp restrictions to improve user experience
opengl interface: improve compatibility with nvidia drivers
home interface: autoconnect home on Ubuntu Core Desktop
serial-port interface: support RPMsg tty
display-control interface: allow changing LVDS backlight power and brightness
power-control interface: support for battery charging thesholds, type/status and AC type/status
cpu-control interface: allow CPU C-state control
raw-usb interface: support RPi5 and Thinkpad x13s
custom-device interface: allow device file locking
lxd-support interface: allow LXD to self-manage its own cgroup
network-manager interface: support MPTCP sockets
network-control interface: allow plug/slot access to gnutls config and systemd resolved cache flushing via D-Bus
network-control interface: allow wpa_supplicant dbus api
gpio-control interface: support gpiochip* devices
polkit interface: fix “rw” mount option check
u2f-devices interface: enable additional security keys
desktop interface: enable kde theming support
Schedule
beta | 23 August 2024 - QA FAIL | |
candidate | N/A | |
stable | N/A |
snapd 2.64
Support building snapd using base Core22 (Snapcraft 8.x)
FIPS: support building FIPS complaint snapd variant that switches to FIPS mode when the system boots with FIPS enabled
AppArmor: update to AppArmor 4.0.1
AppArmor: support AppArmor snippet priorities
AppArmor prompting: add checks for prompting support, include prompting status in system key, and restart snapd if prompting flag changes
AppArmor prompting: include prompt prefix in AppArmor rules if prompting is supported and enabled
AppArmor prompting: add common types, constraints, and mappings from AppArmor permissions to abstract permissions
AppArmor prompting: add path pattern parsing and matching
Registry views (experimental): rename from aspects to registries
Registry views (experimental): support reading registry views using snapctl
Registry views (experimental): restrict view paths from using a number as first character and view names to storage path style patterns
Snap components: support installing snaps and components from files at the same time (no REST API/CLI)
Snap components: support downloading components related assertions from the store
Snap components: support installing components from the store (no REST API/CLI)
Snap components: support removing components (REST API, no CLI)
Snap components: started support for component hooks
Snap components: support kernel modules as components
Refresh app awareness (experimental): add data field for /v2/changes REST API to allow associating each task with affected snaps
Refresh app awareness (experimental): use the app name from .desktop file in notifications
Refresh app awareness (experimental): give snap-refresh-observe interface access to /v2/snaps/{name} endpoint
Allow re-exec when SNAP_REEXEC is set for unlisted distros to simplify testing
Generate GNU build ID for Go binaries
Add missing etelpmoc.sh for shell completion
Do not attempt to run snapd on classic when re-exec is disabled
Packaging/build maintenance for Debian sid, Fedora, Arch, openSuse
Add snap debug api command to enable running raw queries
Enable snap-confine snap mount directory detection
Replace global seccomp filter with deny rules in standard seccomp template
Remove support for Ubuntu Core Launcher (superseded by snap-confine)
Support creating pending serial bound users after serial assertion becomes available
Support disabling cloud-init using kernel command-line
In hybrid systems, apps can refresh without waiting for restarts required by essential snaps
Ship snap-debug-info.sh script used for system diagnostics
Improve error messages when attempting to run non-existent snap
Switch to -u UID:GID for strace-static
Support enabling snapd logging with snap set system debug.snapd.{log,log-level}
Fix restarting activated services instead of their activator units (i.e. sockets, timers)
Fix potential unexpected auto-refresh of snap on managed schedule
Fix potential segfault by guarding against kernel command-line changes on classic system
Fix proxy entries in /etc/environment with missing newline that caused later manual entries to not be usable
Fix offline remodelling by ignoring prerequisites that will otherwise be downloaded from store
Fix devmode seccomp deny regression that caused spamming the log instead of actual denies
Fix snap lock leak during refresh
Fix not re-pinning validation sets that were already pinned when enforcing new validation sets
Fix handling of unexpected snapd runtime failure
Fix /v2/notices REST API skipping notices with duplicate timestamps
Fix comparing systemd versions that may contain pre-release suffixes
Fix udev potentially starting before snap-device-helper is made available
Fix race in snap seed metadata loading
Fix treating cloud-init exit status 2 as error
Fix to prevent sending refresh complete notification if snap snap-refresh-observe interface is connected
Fix to queue snapctl service commands if run from the default-configure hook to ensure they get up-to-date config values
Fix stop service failure when the service is not actually running anymore
Add registry interface that provides snaps access to a particular registry view
steam-support interface: relaxed AppArmor and seccomp restrictions to improve user experience
home interface: autoconnect home on Ubuntu Core Desktop
serial-port interface: support RPMsg tty
display-control interface: allow changing LVDS backlight power and brightness
power-control interface: support for battery charging thesholds, type/status and AC type/status
cpu-control interface: allow CPU C-state control
raw-usb interface: support RPi5 and Thinkpad x13s
custom-device interface: allow device file locking
lxd-support interface: allow LXD to self-manage its own cgroup
network-manager interface: support MPTCP sockets
network-control interface: allow plug/slot access to gnutls config and systemd resolved cache flushing via D-Bus
Schedule
beta | 25 July 2024 - QA FAIL | |
candidate | N/A | |
stable | N/A |
snapd 2.63
Support for snap services to show the current status of user services (experimental)
Refresh app awareness: record snap-run-inhibit notice when starting app from snap that is busy with refresh (experimental)
Refresh app awareness: use warnings as fallback for desktop notifications (experimental)
Aspect based configuration: make request fields in the aspect-bundle’s rules optional (experimental)
Aspect based configuration: make map keys conform to the same format as path sub-keys (experimental)
Aspect based configuration: make unset and set behaviour similar to configuration options (experimental)
Aspect based configuration: limit nesting level for setting value (experimental)
Components: use symlinks to point active snap component revisions
Components: add model assertion support for components
Components: fix to ensure local component installation always gets a new revision number
Add basic support for a CIFS remote filesystem-based home directory
Add support for AppArmor profile kill mode to avoid snap-confine error
Allow more than one interface to grant access to the same API endpoint or notice type
Allow all snapd service’s control group processes to send systemd notifications to prevent warnings flooding the log
Enable not preseeded single boot install
Update secboot to handle new sbatlevel
Fix to not use cgroup for non-strict confined snaps (devmode, classic)
Fix two race conditions relating to freedesktop notifications
Fix missing tunables in snap-update-ns AppArmor template
Fix rejection of snapd snap udev command line by older host snap-device-helper
Rework seccomp allow/deny list
Clean up files removed by gadgets
Remove non-viable boot chains to avoid secboot failure
posix_mq interface: add support for missing time64 mqueue syscalls mq_timedreceive_time64 and mq_timedsend_time64
password-manager-service interface: allow kwalletd version 6
kubernetes-support interface: allow SOCK_SEQPACKET sockets
system-observe interface: allow listing systemd units and their properties
opengl interface: enable use of nvidia container toolkit CDI config generation
Schedule
beta | 24 Apr 2024 | |
candidate | 16 May 2024 | |
stable | 23 May 2024 |
snapd 2.62
Aspects based configuration schema support (experimental)
Refresh app awareness support for UI (experimental)
Support for user daemons by introducing new control switches --user/–system/–users for service start/stop/restart (experimental)
Add AppArmor prompting experimental flag (feature currently unsupported)
Installation of local snap components of type test
Packaging of components with snap pack
Expose experimental features supported/enabled in snapd REST API endpoint /v2/system-info
Support creating and removing recovery systems for use by factory reset
Enable API route for creating and removing recovery systems using /v2/systems with action create and /v2/systems/{label} with action remove
Lift requirements for fde-setup hook for single boot install
Enable single reboot gadget update for UC20+
Allow core to be removed on classic systems
Support for remodeling on hybrid systems
Install desktop files on Ubuntu Core and update after snapd upgrade
Upgrade sandbox features to account for cgroup v2 device filtering
Support snaps to manage their own cgroups
Add support for AppArmor 4.0 unconfined profile mode
Add AppArmor based read access to /etc/default/keyboard
Upgrade to squashfuse 0.5.0
Support useradd utility to enable removing Perl dependency for UC24+
Support for recovery-chooser to use console-conf snap
Add support for --uid/–gid using strace-static
Add support for notices (from pebble) and expose via the snapd REST API endpoints /v2/notices and /v2/notice
Add polkit authentication for snapd REST API endpoints /v2/snaps/{snap}/conf and /v2/apps
Add refresh-inhibit field to snapd REST API endpoint /v2/snaps
Add refresh-inhibited select query to REST API endpoint /v2/snaps
Take into account validation sets during remodeling
Improve offline remodeling to use installed revisions of snaps to fulfill the remodel revision requirement
Add rpi configuration option sdtv_mode
When snapd snap is not installed, pin policy ABI to 4.0 or 3.0 if present on host
Fix gadget zero-sized disk mapping caused by not ignoring zero sized storage traits
Fix gadget install case where size of existing partition was not correctly taken into account
Fix trying to unmount early kernel mount if it does not exist
Fix restarting mount units on snapd start
Fix call to udev in preseed mode
Fix to ensure always setting up the device cgroup for base bare and core24+
Fix not copying data from newly set homedirs on revision change
Fix leaving behind empty snap home directories after snap is removed (resulting in broken symlink)
Fix to avoid using libzstd from host by adding to snapd snap
Fix autorefresh to correctly handle forever refresh hold
Fix username regex allowed for system-user assertion to not allow ‘+’
Fix incorrect application icon for notification after autorefresh completion
Fix to restart mount units when changed
Fix to support AppArmor running under incus
Fix case of snap-update-ns dropping synthetic mounts due to failure to match desired mount dependencies
Fix parsing of base snap version to enable pre-seeding of Ubuntu Core Desktop
Fix packaging and tests for various distributions
Add remoteproc interface to allow developers to interact with Remote Processor Framework which enables snaps to load firmware to ARM Cortex microcontrollers
Add kernel-control interface to enable controlling the kernel firmware search path
Add nfs-mount interface to allow mounting of NFS shares
Add ros-opt-data interface to allow snaps to access the host /opt/ros/ paths
Add snap-refresh-observe interface that provides refresh-app-awareness clients access to relevant snapd API endpoints
steam-support interface: generalize Pressure Vessel root paths and allow access to driver information, features and container versions
steam-support interface: make implicit on Ubuntu Core Desktop
desktop interface: improved support for Ubuntu Core Desktop and limit autoconnection to implicit slots
cups-control interface: make autoconnect depend on presence of cupsd on host to ensure it works on classic systems
opengl interface: allow read access to /usr/share/nvidia
personal-files interface: extend to support automatic creation of missing parent directories in write paths
network-control interface: allow creating /run/resolveconf
network-setup-control and network-setup-observe interfaces: allow busctl bind as required for systemd 254+
libvirt interface: allow r/w access to /run/libvirt/libvirt-sock-ro and read access to /var/lib/libvirt/dnsmasq/**
fwupd interface: allow access to IMPI devices (including locking of device nodes), sysfs attributes needed by amdgpu and the COD capsule update directory
uio interface: allow configuring UIO drivers from userspace libraries
serial-port interface: add support for NXP Layerscape SoC
lxd-support interface: add attribute enable-unconfined-mode to require LXD to opt-in to run unconfined
block-devices interface: add support for ZFS volumes
system-packages-doc interface: add support for reading jquery and sphinx documentation
system-packages-doc interface: workaround to prevent autoconnect failure for snaps using base bare
microceph-support interface: allow more types of block devices to be added as an OSD
mount-observe interface: allow read access to /proc/{pid}/task/{tid}/mounts and proc/{pid}/task/{tid}/mountinfo
polkit interface: changed to not be implicit on core because installing policy files is not possible
upower-observe interface: allow stats refresh
gpg-public-keys interface: allow creating lock file for certain gpg operations
shutdown interface: allow access to SetRebootParameter method
media-control interface: allow device file locking
u2f-devices interface: support for Trustkey G310H, JaCarta U2F, Kensington VeriMark Guard, RSA DS100, Google Titan v2
Schedule
beta | 21 Mar 2024 | |
candidate | 8 Apr 2024 | |
stable | 15 Apr 2024 |
snapd 2.61.2
Fix to enable plug/slot sanitization for prepare-image
Fix panic when device-service.access=offline
Support offline remodeling
Allow offline update only remodels without serial
Fail early when remodeling to old model revision
Fix to enable plug/slot sanitization for validate-seed
Allow removal of core snap on classic systems
Fix network-control interface denial for file lock on /run/netns
Add well-known core24 snap-id
Fix remodel snap installation order
Prevent remodeling from UC18+ to UC16
Fix cups auto-connect on classic with cups snap installed
u2f-devices interface support for GoTrust Idem Key with USB-C
Fix to restore services after unlink failure
Add libcudnn.so to Nvidia libraries
Fix skipping base snap download due to false snapd downgrade conflict
Schedule
beta | 18 Feb 2024 | |
candidate | 29 Feb 2024 | |
stable | 4 Mar 2024 |
snapd 2.61.1
Stop requiring default provider snaps on image building and first boot if alternative providers are included and available
Fix auth.json access for login as non-root group ID
Fix incorrect remodelling conflict when changing track to older snapd version
Improved check-rerefresh message
Fix UC16/18 kernel/gadget update failure due volume mismatch with installed disk
Stop auto-import of assertions during install modes
Desktop interface exposes GetIdletime
Polkit interface support for new polkit versions
Fix not applying snapd snap changes in tracked channel when remodelling
Fix control of activated services in ‘snap start’ and ‘snap stop’
Correctly reflect activated services in ‘snap services’
Disabled services are no longer enabled again when snap is refreshed
Interfaces/builtin: added support for Token2 U2F keys
Interfaces/u2f-devices: add Swissbit iShield Key
Interfaces/builtin: update gpio apparmor to match pattern that contains multiple subdirectories under /sys/devices/platform
Interfaces: add a polkit-agent interface
Interfaces: add pcscd interface
Kernel command-line can now be edited in the gadget.yaml
Only track validation-sets in run-mode, fixes validation-set issues on first boot
Added support for using store.access to disable access to snap store
Support for fat16 partition in gadget
Pre-seed authority delegation is now possible
Support new system-user name daemon
Several bug fixes and improvements around remodelling
Offline remodelling support
Schedule
beta | 29 Nov 2023 | |
candidate | 14 Dec 2023 | |
stable | 03 Jan 2024 |
snapd 2.60.3
Bugfixes
Use “aes-cbc-essiv:sha256” in cryptsetup on arm 32bit devices
to increase speed on devices with CAAM support
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.
Support for dynamic snapshot data exclusions
Apparmor userspace is vendored inside the snapd snap
Added a default-configure hook that exposes gadget default configuration options to snaps during first install before services are started
Allow install from initrd to speed up the initial installation for systems that do not have a install-device hook
New snap sign --chain
flag that appends the account and account-key assertions
Support validation-sets in the model assertion
Support new “min-size” field in gadget.yaml
New interface: “userns”
Schedule
beta | Jul 04 | |
candidate | Aug 31 | |
stable | Sep 02 |
snapd 2.59
Support setting extra kernel command line parameters via snap
configuration and under a gadget allow-list
Support for Full-Disk-Encryption using ICE
Support for arbitrary home dir locations via snap configuration
New nvidia-drivers-support interface
Support for udisks2 snap
Pre-download of snaps ready for refresh and automatic refresh of the
snap when all apps are closed
New microovn interface
Support uboot with CONFIG_SYS_REDUNDAND_ENV=n
Make “snap-preseed --reset” re-exec when needed
Update the fwupd interface to support fully confined fwupd
The memory,cpu,thread quota options are no longer experimental
Support debugging snap client requests via the SNAPD_CLIENT_DEBUG_HTTP
environment variable
Support ssh listen-address via snap configuration
Support for quotas on single services
prepare-image now takes into account snapd versions going into the image,
including in the kernel initrd, to fetch supported assertion formats
Schedule
beta | Mar 10 | |
candidate | Mar 20 | |
stable | Mar 27 |
snapd 2.58
snap refresh --hold
support (Refresh control)
new users.lockout
configuration option
support auto import assertions on first boot (https://github.com/snapcore/snapd/pull/11797)
Schedule
beta | Dec 01 | |
candidate | Dec 12 | |
stable | Jan 09 |
snapd 2.56
support “starred” developers
factory reset support for unencrypted devices
Schedule
beta | May 17 | |
candidate | May 31 | |
stable | Jun 06 |
previous
Expand
snapd 2.55.3
Fix refresh layout construction (fixes Firefox crash)
Support for the “piboot” bootloader
Interface operations are faster by using more batched operations
New mount-control interface (topic)
New polkit interface (topic)
Schedule
beta | Mar 21 | |
candidate | Apr 08 | |
stable | Apr 20 |
snapd 2.54.2
New shared-memory
interface (topic)
Allow sideload of multiple snaps via the API
riscv64 support for snap-seccomp
fixes/improvements for various interfaces
Schedule
beta | Jan 07 | |
candidate | Jan 13 | |
stable | Jan 24 |
snapd 2.51
New swap.size
system config setting for Ubuntu Core devices
Full kernel command line customization for UC20 pc/grub gadgets
REST API support for creating recovery systems on UC20
New raw-input
interface
New dsp
interface
New sd-control
interface (2.51.3)
New netlink-driver
interface (2.51.1)
New install-device
gadget hook to be executed during install mode on UC20
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)
New snapctl reboot system-mode
command to be report what mode a UC20
system is in.
New kernel FDE hook V2 for UC20 devices
Experimental quota resource groups support
Schedule
beta | May 27 | |
candidate | June 3 | |
stable | June 7 |
snapd 2.50
Make /etc/ssl available for snaps on Ubuntu classic (PR)
Support for DTBs from the kernel snap
Snap service units are now re-written when snapd is refreshed as necessary
New dsp
interface
Schedule
beta | May 19 | |
candidate | May 21 | |
stable | June 2 |
snapd 2.49
Express encryption preferences for UC20
Devmode snaps in dangerous model UC20 seeds
Support for LK bootloader for UC20
Detection/abort of very slow downloads
Fix snap try
inside lxd containers
Add “Tegra” and RPi “MMAL” support
Add new “install-mode: disable” option
Schedule
beta | Jan 26 | |
candidate | Feb 25 | |
stable | Mar 04 |
snapd 2.48
Support for the “ubuntu-save” partition
More versatile UC20 recovery booting in “degraded” situations
Bulk assertion refresh for snap-declarations
New snap recovery --show-keys
command
Improve notification UI for app-refresh-awareness
New PTP hardware clock interface
New snap import-snapshot
command
Schedule
beta | Sep 17 | |
candidate | Nov 19 | |
stable | Nov 30 |
snapd 2.47
better portal support with GLib (PR) add cups interface and update cups-control for cups as a strict snap (PR) disable console-conf from gadget with core setting (PR) Improve disk-space awareness of snapd (topic) New “snap reboot” command
Schedule
beta | Sep 17 | |
candidate | Sep 29 | |
stable | Oct 21 |
snapd 2.46
uinput interface (PR)
system-source-code interface (PR)
system-packages-doc interface (PR)
snaps can now set default-url-scheme-handler
system-user assertions can be limited to specific serial assertions
experimental user session daemons with daemon-scope
(PR)
experimental gdbserver support with snaps (topic)
Schedule
beta | Aug 12 | |
candidate | Aug 25 | |
stable | Sep 14 |
snapd 2.45
Ubuntu Core 20 beta
Generic serials for third parties
Use xdg desktop portal from snapctl user-open
Custom SSL cert support for store interactions (topic).
Schedule
beta | May 13 | |
candidate | May 12 | |
stable | Jul 15 |
snapd 2.44
Switch within tracks with risk-only channel specification (old topic, new topic)
Support for default tracks (topic)
Plug/slot rules: plug-names/slot-names constraints (topic)
snap remove-user
support
Schedule
beta | Feb 21 | |
candidate | Mar 16 | |
stable | March 31 |
snapd 2.43
snapctl is-connected plug|slot (topic)
Remodel: gadget support
Plug/slot declaration rules: greedy plugs (topic)
system-backup
interface (PR)
Speedup seccomp backend setup (PR)
Schedule
beta | Nov 12th | |
candidate | Feb 13th | |
stable | Feb 19th |
snapd 2.42
Little-Kernel bootloader support Improve performance in lxd when snapfuse is used (topic) Work with cgroup v2 only systems Improved icon-theme support (topic)
Schedule
beta | Sep 18th | |
candidate | Oct 2st | |
stable | Oct 10th |
snapd 2.41
Daemon user support (topic, older topic) Gadget asset updates (topic) Remodel: transition to a new store (topic) Remodel: re-registration (topic) Health checks phase 1 (topic)
Schedule
beta | Aug 22th | |
candidate | Sep 3th | |
stable | Sep 9th |
snapd 2.40
Cohort support (topic) Much improved performance measure (topic) Refresh awareness - Part 1 (topic) Support for “base: none”
Schedule
beta | July 2nd | |
candidate | July 17th | |
stable | Aug 12th |
snapd 2.39
Automatic snapshots on removal (topic) Auto install snpad for non-core base snaps Remodel API/cli with support for switching kernel tracks/required-snaps within the same model Use the “core” snap as a fallback for “core16” Retain only 2 snap revision on classic systems Optimize seccomp bpf compilation
Schedule
beta | Apr 18th | |
candidate | May 03th | |
stable | May 14th |
snapd 2.38
snap connections
command (topic)
Epochs (stepped upgrades) (topic)
Improved prepare-image channel selection support (topic)
Support for apparmor 2.13
Minimal go version switch to 1.9
New intel-mei,multipass-support,network-manager-observe, u2f-devices,block-devices interfaces
Initial performance measures available (topic)
Schedule
beta | Mar 05th | |
candidate | Mar 20th | |
stable | Mar 28th |
snapd 2.37
Snapshots (topic)
Interface hooks (topic)
Parallel snap installs for confined snaps (topic)
Show the date the snap was released to a channel in snap info (topic)
The personal-files and system-files interfaces (topic) and (topic)
Add new snap run --trace-exec <snap>.<app>
support (topic)
Schedule
beta | Jan 10 | |
candidate | Jan 16th | |
stable | Jan 30h |
snapd 2.36
Warnings pipeline infrastructure (topic)
Go into socket activtion mode no snaps are installed
Much improved snap help
output
Support core config proxy on classic
Support rate-limit of background refreshes via core.refresh.rate-limit
core config option
Honor core config proxy.http{,s}
settings on classic as well
Warn when prerequisites to run snapd (like minimal kernel version) are not met
Schedule
beta | Oct 02h | |
candidate | Nov 12th | |
stable | Nov 20th |
snapd 2.35
Support to build/seed core18 based images
Interface improvements: i2c (sysfs-name support)
apt install
hook integration, apt may suggest snaps
Allow building amazon linux rpm packages
Show verified publishers with a green check mark
Schedule
beta | Aug 08h | |
candidate | Aug 21th | |
stable | Aug 29th |
snapd 2.34
Interface connection via gadget (topic)
Hardware watchdog on Ubuntu Core
New dvb interface (topic)
New {contacts,calendar}-service interfaces
Snapd selftest check on startup (topic)
New can-bus interface
Support to disable ipv6 via snap set system network.disable-ipv6
Schedule
beta | Jun 29th | |
candidate | Jul 30th | |
stable | Aug 6th |
snapd 2.33
Reboot experience on core or kernel refresh Service watchdog support (topic) Support for appstream ID Selftest support to ensure squashfs can be mounted New juju-client-observer interface Snap refresh over metered connections Snapd support for xdg-desktop-portal
Schedule
beta | May 24th | |
candidate | Jun 08th | |
stable | Jun 18th |
snapd 2.32
Auto install of content snap dependencies
Versionized profiles
Layouts (custom mount points) (topic)
Support to pass options to strace (topic)
Support for service timers (topic)
Support for CDNs that are cloud aware (topic)
Support for snap run --gdb
Service survival across refreshes (topic)
Timer services (topic)
Refresh hold option (topic)
Autostart desktop applications (topic)
Support for stop-mode
(topc)
Schedule
beta | Feb 23th | |
candidate | Mar 22th | |
stable | Apr 10th |
snapd 2.31
Snap service start ordering (topic)
Refresh snaps with needed credentials (topic)
Use snapcraft export-login data in snap {download,prepare-image}
Additional coherence check on installs (topic)
Monthly refresh scheduling (topic)
Command-not-found support on core (topic)
Support xdg-settings set default-web-browser
from within snaps (topic)
Support snap run --strace
(topic)
Support for snap refresh --amend local-snap
Content interface improvements (topic)
Schedule
beta | Jan 22th | |
candidate | Feb 05th | |
stable | Feb 19th |
snapd 2.30
Service control on snapctl (start/stop/etc) (topic)
Tab-completion for aliases too (topic)
Add support for socket activation (topic)
Pre-refresh hook support (topic)
Allow to configure core before it is installed
Run configuration of core internally
Support for Nvidia Vulkan/32-it NVIDIA drivers
Schedule
beta | Nov 30th | |
candidate | Dec 11th | |
stable | Jan 02th |
snapd 2.29
Improved configuration get output (topic) Automatic download of base snaps (topic) Support $ variables in command: (topic) Fix classic flag on reverts (topic) Cache downloaded snaps (topic) Repair capability phase 1 (topic) Make –ignore-validation sticky and send the flag over (topic) Improved progress information on long operations
Schedule
beta | Oct 23th | |
candidate | Oct 30th | |
stable | Dec 04th |
snapd 2.28
Internal xdg-open implementation (topic) Post-refresh hook support (topic) Lazy registrations on classic (topic) Service control on snap command (start/stop/etc) (topic) Tab-completion for snaps (topic) Polkit-based authorizations (topic) Initial support for base snaps (topic) Snap switch command (topic) Proxy configuration for core devices (topic) Support for /snap as symlink (topic)
Schedule
beta | Sep 4th | |
candidate | Sep 25th | |
stable | Oct 9th |
snapd 2.27
See release notes topic for details.
Dynamic filesystem updates (snap-update-ns) Android boot support General snapctl support New title field Install --unaliased parameter Seccomp argument filtering Configuration defaults on first boot New or updated interfaces, 17 in total
Schedule
stable | Sep 5th |
upcoming
Improvements in snap download
(topic)
Refresh App Awareness (topic)
Health checks (topic)
(other upcoming topics)
backlog
Support for wayland sockets (topic)
Report disk usage for snaps (topic)
Cache snap summary/etc from store (topic)
Repairs Phase 2 (emergency fixes) (topic)
Allow snaps to refresh themselves (topic)
Configuration schemas
Entitlements
Alias in service units (topic)
Replace a snap by another
(other backlog topics)