github canonical/snapd 2.52
New snapd major release 2.52

latest releases: 2.75.2, 2.75.1, 2.75...
4 years ago

New snapd release 2.52

See https://forum.snapcraft.io/t/the-snapd-roadmap/1973 for high-level overview.

  • interface/builtin: add qualcomm-ipc-router interface for AF_QIPCRTR socket protocol
  • o/ifacestate: special-case system-files and force refreshing its static attributes
  • interfaces/network-control: additional ethernet rule
  • packaging: update 2.52 changelog with 2.51.7
  • interfaces/interfaces/ion-memory-control: add: add interface for ion buf
  • packaging: merge 2.51.6 changelog back to 2.52
  • secboot: use half the mem for KDF in AddRecoveryKey
  • secboot: switch main key KDF memory cost to 32KB
  • many: merge release/2.51 change to release/2.52
  • .github/workflows/test.yaml: use snapcraft 4.x to build the snapd snap
  • o/servicestate: use snap app names for ExplicitServices of ServiceAction
  • tests/main/services-install-hook-can-run-svcs: add variant w/o --enable
  • o/servicestate: revert only start enabled services
  • tests: adding Ubuntu 21.10 to spread test suite
  • interface/modem-manager: add support for MBIM/QMI proxy clients
  • cmd/snap/model: support storage-safety and snaps headers too
  • o/assertstate: Implement EnforcedValidationSets helper
  • tests: using retry tool for nested tests
  • gadget: check for system-save with multi volumes if encrypting correctly
  • interfaces: make the service naming entirely internal to systemd BE
  • tests/lib/reset.sh: fix removing disabled snaps
  • store/store_download.go: use system snap provided xdelta3 priority + fallback
  • packaging: merge changelog from 2.51.3 back to master
  • overlord: only start enabled services
  • interfaces/builtin: add sd-control interface
  • tests/nested/cloud-init-{never-used,nocloud}-not-vuln: fix tests, use 2.45
  • tests/lib/reset.sh: add workaround from refresh-vs-services tests for all tests
  • o/assertstate: check for conflicts when refreshing and committing validation set asserts
  • devicestate: add support to save timings from install mode
  • tests: new tests.nested commands copy and wait-for
  • install: add a bunch of nested timings
  • tests: drop any-python wrapper
  • store: set ResponseHeaderTimeout on the default transport
  • tests: fix test-snapd-user-service-sockets test removing snap
  • tests: moving nested_exec to nested.tests exec
  • tests: add tests about services vs snapd refreshes
  • client, cmd/snap, daemon: refactor REST API for quotas to match CLI org
  • c/snap,asserts: create/delete-key external keypair manager interaction
  • tests: revert disable of the delta download tests
  • tests/main/system-usernames-microk8s: disable on centos 7 too
  • boot: support device change
  • o/snapstate: remove unused refreshSchedule argument for isRefreshHeld helper
  • daemon/api_quotas.go: handle conflicts, returning conflict response
  • tests: test for gate-auto-refresh hook error resulting in hold
  • release: 2.51.2
  • snapstate/check_snap: add snap_microk8s to shared system- usernames
  • snapstate: remove temporary snap file for local revisions early
  • interface: allows reading sd cards internal info from block-devices interface
  • tests: Renaming tool nested-state to tests.nested
  • testutil: fix typo in json checker unit tests
  • tests: ack assertions by default, add --noack option
  • overlord/devicestate: try to pick alternative recovery labels during remodel
  • bootloader/assets: update recovery grub to allow system labels generated by snapd
  • tests: print serial log just once for nested tests
  • tests: remove xenial 32 bits
  • sandbox/cgroup: do not be so eager to fail when paths do not exist
  • tests: run spread tests in ubuntu bionic 32bits
  • c/snap,asserts: start supporting ExternalKeypairManager in the snap key-related commands
  • tests: refresh control spread test
  • cmd/libsnap-confine-private: do not fail on ENOENT, better getline error handling
  • tests: disable delta download tests for now until the store is fixed
  • tests/nested/manual/preseed: fix for cloud images that ship without core18
  • boot: properly handle tried system model
  • tests/lib/store.sh: revert #10470
  • boot, seed/seedtest: tweak test helpers
  • o/servicestate: TODO and fix preexisting typo
  • o/servicestate: detect conflicts for quota group operations
  • cmd/snap/quotas: adjust help texts for quota commands
  • many/quotas: little adjustments
  • tests: add spread test for classic snaps content slots
  • o/snapstate: fix check-rerefresh task summary when refresh control is used
  • many: use changes + tasks for quota group operations
  • tests: fix test snap-quota-groups when checking file cgroupProcsFile
  • asserts: introduce ExternalKeypairManager
  • o/ifacestate: do not visit same halt tasks in waitChainSearch to avoid cycles
  • tests/lib/store.sh: fix make_snap_installable_with_id()
  • overlord/devicestate, overlord/assertstate: use a temporary DB when creating recovery systems
  • corecfg: allow using # snapd-edit: no header to disable pi-config# snapd-edit: no
  • tests/main/interfaces-ssh-keys: tweak checks for openSUSE Tumbleweed
  • cmd/snap: prevent cycles in waitChainSearch with snap debug state
  • o/snapstate: fix populating of affectedSnapInfo.AffectingSnaps for marking self as affecting
  • tests: new parameter used by retry tool to set env vars
  • tests: support parameters for match-log on journal-state tool
  • configcore: ignore system.pi-config.* setting on measured kernels
  • sandbox/cgroup: support freezing groups with unified hierarchy
  • tests: fix preseed test to used core20 snap on latest systems
  • testutil: introduce a checker which compares the type after having passed them through a JSON marshaller
  • store: tweak error message when store.Sections() download fails
  • o/servicestate: stop setting DoneStatus prematurely for quota-control
  • cmd/libsnap-confine-private: bump max depth of groups hierarchy to 32
  • many: turn Contact into an accessor
  • store: make the log with download size a debug one
  • cmd/snap-update-ns: Revert "cmd/snap-update-ns: add SRCDIR to include search path"
  • o/devicestate: move SystemMode method before first usage
  • tests: skip tests when the sections cannot be retrieved
  • boot: support resealing with a try model
  • o/hookstate: dedicated handler for gate-auto-refresh hook
  • tests: make sure the /root/snap dir is backed up on test snap-user-dir-perms-fixed
  • cmd/snap-confine: make mount ns use check cgroup v2 compatible
  • snap: fix TestInstallNoPATH unit test failure when SUDO_UID is set
  • cmd/libsnap-confine-private/cgroup-support.c: Fix typo
  • cmd/snap-confine, cmd/snapd-generator: fix issues identified by sparse
  • o/snapstate: make conditional-auto-refresh conflict with other tasks via affected snaps
  • many: pass device/model info to configcore via sysconfig.Device interface
  • o/hookstate: return bool flag from Error function of hook handler to ignore hook errors
  • cmd/snap-update-ns: add SRCDIR to include search path
  • tests: fix for tests/main/lxd-mount-units test and enable ubuntu-21.04
  • overlord, o/devicestate: use a single test helper for resetting to a post boot state
  • HACKING.md: update instructions for go1.16+
  • tests: fix restore for security-dev-input-event-denied test
  • o/servicestate: move SetStatus to doQuotaControl
  • tests: fix classic-prepare-image test
  • o/snapstate: prune gating information and refresh-candidates on snap removal
  • o/svcstate/svcstatetest, daemon/api_quotas: fix some tests, add mock helper
  • cmd: a bunch of tweaks and updates
  • o/servicestate: refactor meter handling, eliminate some common parameters
  • o/hookstate/ctlcmd: allow snapctl refresh --pending --proceed syntax.
  • o/snapstate: prune refresh candidates in check-rerefresh
  • osutil: pass --extrausers option to groupdel
  • o/snapstate: remove refreshed snap from snaps-hold in snapstate.doInstall
  • tests/nested: add spread test for uc20 cloud.conf from gadgets
  • boot: drop model from resealing and boostate
  • o/servicestate, snap/quota: eliminate workaround for buggy systemds, add spread test
  • o/servicestate: introduce internal and servicestatetest
  • o/servicestate/quota_control.go: enforce minimum of 4K for quota groups
  • overlord/servicestate: avoid unnecessary computation of disabled services
  • o/hookstate/ctlcmd: do not call ProceedWithRefresh immediately from snapctl
  • o/snapstate: prune hold state during autoRefreshPhase1
  • wrappers/services.go: do not restart disabled or inactive services
  • sysconfig/cloudinit.go: allow installing both gadget + ubuntu-seed config
  • spread: switch LXD back to latest/candidate channel
  • interfaces/opengl: add support for Imagination PowerVR
  • boot: decouple model from seal/reseal handling via an auxiliary type
  • spread, tests/main/lxd: no longer manual, switch to latest/stable
  • github: try out golangci-lint
  • tests: set lxd test to manual until failures are fixed
  • tests: connect 30% of the interfaces on test interfaces-many-core-provided
  • packaging/debian-sid: update snap-seccomp patches for latest master
  • many: fix imports order (according to gci)
  • o/snapstate: consider held snaps in autoRefreshPhase2
  • o/snapstate: unlock the state before calling backend in undoStartSnapServices
  • tests: replace "not MATCH" by NOMATCH in tests
  • README.md: refer to new IRC server
  • cmd/snap-preseed: provide more error info if snap-preseed fails early on mount
  • daemon: add a Daemon argument to AccessChecker.CheckAccess
  • c/snap-bootstrap: add bind option with tests
  • interfaces/builtin/netlink_driver_test.go: add test snippet
  • overlord/devicestate: set up recovery system tasks when attempting a remodel
  • osutil,strutil,testutil: fix imports order (according to gci)
  • release: merge 2.51.1 changelog
  • cmd: fix imports order (according to gci)
  • tests/lib/snaps/test-snapd-policy-app-consumer: remove dsp-control interface
  • o/servicestate: move handlers tests to quota_handlers_test.go file instead
  • interfaces: add netlink-driver interface
  • interfaces: remove leftover debug print
  • systemd: refactor property parsers for int values in CurrentTasksCount, etc.
  • tests: fix debug section for postrm-purge test
  • tests/many: change all cloud-init passwords for ubuntu to use plain_test_passwd
  • asserts,interfaces,snap: fix imports order (according to gci)
  • o/servicestate/quota_control_test.go: test the handlers directly
  • tests: fix issue when checking the udev tag on test security-device-cgroups
  • many: introduce Store.SnapExists and use it in /v2/accessories/themes
  • o/snapstate: update LastRefreshTime in doLinkSnap handler
  • o/hookstate: handle snapctl refresh --proceed and --hold
  • boot: fix model inconsistency check in modeenv, extend unit tests
  • overlord/servicestate: improve test robustness with locking
  • tests: first part of the cleanup
  • tests: new note in HACKING file to clarify about yamlordereddictloader dependency
  • daemon: make CheckAccess return an apiError
  • overlord: fix imports ordering (according to gci)
  • o/servicestate: add quotastate handlers
  • boot: track model's sign key ID, prepare infra for tracking candidate model
  • daemon: have apiBaseSuite.errorReq return *apiError directly
  • o/servicestate/service_control.go: add comment about ExplicitServices
  • interfaces: builtin: add dm-crypt interface to support external storage encryption
  • daemon: split out error response code from response*.go to errors*.go
  • interfaces/dsp: fix typo in udev rule
  • daemon,o/devicestate: have DeviceManager.SystemMode take an expectation on the system
  • o/snapstate: add helpers for setting and querying holding time for snaps
  • many: fix quota groups for centos 7, amazon linux 2 w/ workaround for buggy systemd
  • overlord/servicestate: mv ensureSnapServicesForGroup to new file
  • overlord/snapstate: lock the mutex before returning from stop snap services undo
  • daemon: drop resp completely in favor of using respJSON consistently
  • overlord/devicestate: support for snap downloads in recovery system handlers
  • daemon: introduce a separate findResponse, simplify SyncRespone and drop Meta
  • overlord/snapstate, overlord/devicestate: exclusive change conflict check
  • wrappers, packaging, snap-mgmt: handle removing slices on purge too
  • services: remember if acting on the entire snap
  • store: extend context and action objects of SnapAction with validation-sets
  • o/snapstate: refresh control - autorefresh phase2
  • cmd/snap/quota: refactor quota CLI as per new design
  • interfaces: opengl: change path for Xilinx zocl driver
  • tests: update spread images for ubuntu-core-20 and ubuntu-21.04
  • o/servicestate/quota_control_test.go: change helper escaping
  • o/configstate/configcore: support snap set system swap.size=...
  • o/devicestate: require serial assertion before remodeling can be started
  • systemd: improve systemctl error reporting
  • tests/core/remodel: use model assertions signed with valid keys
  • daemon: use apiError for more of the code
  • store: fix typo in snapActionResult struct json tag
  • userd: mock systemd --version in privilegedDesktopLauncherSuite
  • packaging/fedora: sync with downstream packaging
  • daemon/api_quotas.go: include current memory usage information in results
  • daemon: introduce StructuredResponse and apiError
  • o/patch: check if we have snapd snap with correct snap type already in snapstate
  • tests/main/snapd-snap: build the snapd snap on all platforms with lxd
  • tests: new commands for snaps-state tool
  • tests/main/snap-quota-groups: add functional spread test for quota groups
  • interfaces/dsp: add /dev/cavalry into dsp interface
  • cmd/snap/cmd_info_test.go: make test robust against TZ changes
  • tests: moving to tests directories snaps built locally - part 2
  • usersession/userd: fix unit tests on systems using /var/lib/snapd
  • sandbox/cgroup: wait for pid to be moved to the desired cgroup
  • tests: fix snap-user-dir-perms-fixed vs format checks
  • interfaces/desktop-launch: support confined snaps launching other snaps
  • features: enable dbus-activation by default
  • usersession/autostart: change ~/snap perms to 0700 on startup
  • cmd/snap-bootstrap/initramfs-mounts: mount ubuntu-data nosuid
  • tests: new test static checker
  • release-tool/changelog.py: misc fixes from real world usage
  • release-tools/changelog.py: add function to generate github release template
  • spread, tests: Fedora 32 is EOL, drop it
  • o/snapstate: bump max postponement from 60 to 95 days
  • interfaces/apparmor: limit the number of jobs when running with a single CPU
  • packaging/fedora/snapd.spec: correct date format in changelog
  • packaging: merge 2.51 changelog back to master
  • packaging/ubuntu-16.04/changelog: add 2.50 and 2.50.1 changelogs, placeholder for 2.51
  • interfaces: allow read access to /proc/tty/drivers to modem-manager and ppp/dev/tty

Don't miss a new snapd release

NewReleases is sending notifications on new releases.