github.com/rigado/snapd@v2.42.5-go-mod+incompatible/packaging/fedora/snapd.spec (about)

     1  # With Fedora, nothing is bundled. For everything else, bundling is used.
     2  # To use bundled stuff, use "--with vendorized" on rpmbuild
     3  %if 0%{?fedora}
     4  %bcond_with vendorized
     5  %else
     6  %bcond_without vendorized
     7  %endif
     8  
     9  # With Amazon Linux 2+, we're going to provide the /snap symlink by default,
    10  # since classic snaps currently require it... :(
    11  %if 0%{?amzn} >= 2
    12  %bcond_without snap_symlink
    13  %else
    14  %bcond_with snap_symlink
    15  %endif
    16  
    17  # A switch to allow building the package with support for testkeys which
    18  # are used for the spread test suite of snapd.
    19  %bcond_with testkeys
    20  
    21  %global with_devel 1
    22  %global with_debug 1
    23  %global with_check 0
    24  %global with_unit_test 0
    25  %global with_test_keys 0
    26  %global with_selinux 1
    27  
    28  # For the moment, we don't support all golang arches...
    29  %global with_goarches 0
    30  
    31  # Set if multilib is enabled for supported arches
    32  %ifarch x86_64 aarch64 %{power64} s390x
    33  %global with_multilib 1
    34  %endif
    35  
    36  %if ! %{with vendorized}
    37  %global with_bundled 0
    38  %else
    39  %global with_bundled 1
    40  %endif
    41  
    42  %if ! %{with testkeys}
    43  %global with_test_keys 0
    44  %else
    45  %global with_test_keys 1
    46  %endif
    47  
    48  %if 0%{?with_debug}
    49  %global _dwz_low_mem_die_limit 0
    50  %else
    51  %global debug_package   %{nil}
    52  %endif
    53  
    54  %global provider        github
    55  %global provider_tld    com
    56  %global project         snapcore
    57  %global repo            snapd
    58  # https://github.com/snapcore/snapd
    59  %global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo}
    60  %global import_path     %{provider_prefix}
    61  
    62  %global snappy_svcs     snapd.service snapd.socket snapd.autoimport.service snapd.seeded.service
    63  %global snappy_user_svcs snapd.session-agent.socket
    64  
    65  # Until we have a way to add more extldflags to gobuild macro...
    66  %if 0%{?fedora} || 0%{?rhel} >= 8
    67  # buildmode PIE triggers external linker consumes -extldflags
    68  %define gobuild_static(o:) go build -buildmode pie -compiler gc -tags=rpm_crashtraceback -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -extldflags '%__global_ldflags -static'" -a -v -x %{?**};
    69  %endif
    70  %if 0%{?rhel} == 7
    71  # trigger external linker manually, otherwise -extldflags have no meaning
    72  %define gobuild_static(o:) go build -compiler gc -tags=rpm_crashtraceback -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -linkmode external -extldflags '%__global_ldflags -static'" -a -v -x %{?**};
    73  %endif
    74  
    75  # These macros are not defined in RHEL 7
    76  %if 0%{?rhel} == 7
    77  %define gobuild(o:) go build -compiler gc -tags=rpm_crashtraceback -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -linkmode external -extldflags '%__global_ldflags'" -a -v -x %{?**};
    78  %define gotest() go test -compiler gc -ldflags "${LDFLAGS:-}" %{?**};
    79  %endif
    80  
    81  # Compat path macros
    82  %{!?_environmentdir: %global _environmentdir %{_prefix}/lib/environment.d}
    83  %{!?_systemdgeneratordir: %global _systemdgeneratordir %{_prefix}/lib/systemd/system-generators}
    84  %{!?_systemd_system_env_generator_dir: %global _systemd_system_env_generator_dir %{_prefix}/lib/systemd/system-environment-generators}
    85  
    86  # Fedora selinux-policy includes 'map' permission on a 'file' class. However,
    87  # Amazon Linux 2 does not have the updated policy containing the fix for
    88  # https://bugzilla.redhat.com/show_bug.cgi?id=1574383.
    89  # For now disable SELinux on Amazon Linux 2 until it's fixed.
    90  %if 0%{?amzn2} == 1
    91  %global with_selinux 0
    92  %endif
    93  
    94  Name:           snapd
    95  Version:        2.42.5
    96  Release:        0%{?dist}
    97  Summary:        A transactional software package manager
    98  License:        GPLv3
    99  URL:            https://%{provider_prefix}
   100  Source0:        https://%{provider_prefix}/releases/download/%{version}/%{name}_%{version}.no-vendor.tar.xz
   101  Source1:        https://%{provider_prefix}/releases/download/%{version}/%{name}_%{version}.only-vendor.tar.xz
   102  
   103  %if 0%{?with_goarches}
   104  # e.g. el6 has ppc64 arch without gcc-go, so EA tag is required
   105  ExclusiveArch:  %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
   106  %else
   107  # Verified arches from snapd upstream
   108  ExclusiveArch:  %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
   109  %endif
   110  
   111  # If go_compiler is not set to 1, there is no virtual provide. Use golang instead.
   112  BuildRequires:  %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang >= 1.9}
   113  BuildRequires:  systemd
   114  %{?systemd_requires}
   115  
   116  Requires:       snap-confine%{?_isa} = %{version}-%{release}
   117  Requires:       squashfs-tools
   118  
   119  %if 0%{?rhel} && 0%{?rhel} < 8
   120  # Rich dependencies not available, always pull in squashfuse
   121  # snapd will use squashfs.ko instead of squashfuse if it's on the system
   122  # NOTE: Amazon Linux 2 does not have squashfuse, squashfs.ko is part of the kernel package
   123  %if ! 0%{?amzn2}
   124  Requires:       squashfuse
   125  Requires:       fuse
   126  %endif
   127  %else
   128  # snapd will use squashfuse in the event that squashfs.ko isn't available (cloud instances, containers, etc.)
   129  Requires:       ((squashfuse and fuse) or kmod(squashfs.ko))
   130  %endif
   131  
   132  # bash-completion owns /usr/share/bash-completion/completions
   133  Requires:       bash-completion
   134  
   135  %if 0%{?with_selinux}
   136  # Force the SELinux module to be installed
   137  Requires:       %{name}-selinux = %{version}-%{release}
   138  %endif
   139  
   140  %if 0%{?fedora} && 0%{?fedora} < 30
   141  # snapd-login-service is no more
   142  # Note: Remove when F29 is EOL
   143  Obsoletes:      %{name}-login-service < 1.33
   144  Provides:       %{name}-login-service = 1.33
   145  Provides:       %{name}-login-service%{?_isa} = 1.33
   146  %endif
   147  
   148  %if ! 0%{?with_bundled}
   149  BuildRequires: golang(github.com/boltdb/bolt)
   150  BuildRequires: golang(github.com/coreos/go-systemd/activation)
   151  BuildRequires: golang(github.com/godbus/dbus)
   152  BuildRequires: golang(github.com/godbus/dbus/introspect)
   153  BuildRequires: golang(github.com/gorilla/mux)
   154  BuildRequires: golang(github.com/jessevdk/go-flags)
   155  BuildRequires: golang(github.com/juju/ratelimit)
   156  BuildRequires: golang(github.com/kr/pretty)
   157  BuildRequires: golang(github.com/kr/text)
   158  BuildRequires: golang(github.com/mvo5/goconfigparser)
   159  BuildRequires: golang(github.com/seccomp/libseccomp-golang)
   160  BuildRequires: golang(github.com/snapcore/go-gettext)
   161  BuildRequires: golang(golang.org/x/crypto/openpgp/armor)
   162  BuildRequires: golang(golang.org/x/crypto/openpgp/packet)
   163  BuildRequires: golang(golang.org/x/crypto/sha3)
   164  BuildRequires: golang(golang.org/x/crypto/ssh/terminal)
   165  BuildRequires: golang(gopkg.in/check.v1)
   166  BuildRequires: golang(gopkg.in/macaroon.v1)
   167  BuildRequires: golang(gopkg.in/mgo.v2/bson)
   168  BuildRequires: golang(gopkg.in/retry.v1)
   169  BuildRequires: golang(gopkg.in/tomb.v2)
   170  BuildRequires: golang(gopkg.in/yaml.v2)
   171  %endif
   172  
   173  %description
   174  Snappy is a modern, cross-distribution, transactional package manager
   175  designed for working with self-contained, immutable packages.
   176  
   177  %package -n snap-confine
   178  Summary:        Confinement system for snap applications
   179  License:        GPLv3
   180  BuildRequires:  autoconf
   181  BuildRequires:  automake
   182  BuildRequires:  libtool
   183  BuildRequires:  gcc
   184  BuildRequires:  gettext
   185  BuildRequires:  gnupg
   186  BuildRequires:  pkgconfig(glib-2.0)
   187  BuildRequires:  pkgconfig(libcap)
   188  BuildRequires:  pkgconfig(libseccomp)
   189  %if 0%{?with_selinux}
   190  BuildRequires:  pkgconfig(libselinux)
   191  %endif
   192  BuildRequires:  pkgconfig(libudev)
   193  BuildRequires:  pkgconfig(systemd)
   194  BuildRequires:  pkgconfig(udev)
   195  BuildRequires:  xfsprogs-devel
   196  BuildRequires:  glibc-static
   197  %if ! 0%{?rhel}
   198  BuildRequires:  libseccomp-static
   199  %endif
   200  BuildRequires:  valgrind
   201  BuildRequires:  %{_bindir}/rst2man
   202  %if 0%{?fedora}
   203  # ShellCheck in EPEL is too old...
   204  BuildRequires:  %{_bindir}/shellcheck
   205  %endif
   206  
   207  # Ensures older version from split packaging is replaced
   208  Obsoletes:      snap-confine < 2.19
   209  
   210  %description -n snap-confine
   211  This package is used internally by snapd to apply confinement to
   212  the started snap applications.
   213  
   214  %if 0%{?with_selinux}
   215  %package selinux
   216  Summary:        SELinux module for snapd
   217  License:        GPLv2+
   218  BuildArch:      noarch
   219  BuildRequires:  selinux-policy, selinux-policy-devel
   220  Requires(post): selinux-policy-base >= %{_selinux_policy_version}
   221  Requires(post): policycoreutils
   222  %if 0%{?rhel} == 7
   223  Requires(post): policycoreutils-python
   224  %else
   225  Requires(post): policycoreutils-python-utils
   226  %endif
   227  Requires(pre):  libselinux-utils
   228  Requires(post): libselinux-utils
   229  
   230  %description selinux
   231  This package provides the SELinux policy module to ensure snapd
   232  runs properly under an environment with SELinux enabled.
   233  %endif
   234  
   235  %if 0%{?with_devel}
   236  %package devel
   237  Summary:       Development files for %{name}
   238  BuildArch:     noarch
   239  
   240  %if 0%{?with_check} && ! 0%{?with_bundled}
   241  %endif
   242  
   243  %if ! 0%{?with_bundled}
   244  Requires:      golang(github.com/boltdb/bolt)
   245  Requires:      golang(github.com/coreos/go-systemd/activation)
   246  Requires:      golang(github.com/godbus/dbus)
   247  Requires:      golang(github.com/godbus/dbus/introspect)
   248  Requires:      golang(github.com/gorilla/mux)
   249  Requires:      golang(github.com/jessevdk/go-flags)
   250  Requires:      golang(github.com/juju/ratelimit)
   251  Requires:      golang(github.com/kr/pretty)
   252  Requires:      golang(github.com/kr/text)
   253  Requires:      golang(github.com/mvo5/goconfigparser)
   254  Requires:      golang(github.com/seccomp/libseccomp-golang)
   255  Requires:      golang(github.com/snapcore/go-gettext)
   256  Requires:      golang(golang.org/x/crypto/openpgp/armor)
   257  Requires:      golang(golang.org/x/crypto/openpgp/packet)
   258  Requires:      golang(golang.org/x/crypto/sha3)
   259  Requires:      golang(golang.org/x/crypto/ssh/terminal)
   260  Requires:      golang(gopkg.in/check.v1)
   261  Requires:      golang(gopkg.in/macaroon.v1)
   262  Requires:      golang(gopkg.in/mgo.v2/bson)
   263  Requires:      golang(gopkg.in/retry.v1)
   264  Requires:      golang(gopkg.in/tomb.v2)
   265  Requires:      golang(gopkg.in/yaml.v2)
   266  %else
   267  # These Provides are unversioned because the sources in
   268  # the bundled tarball are unversioned (they go by git commit)
   269  # *sigh*... I hate golang...
   270  Provides:      bundled(golang(github.com/snapcore/bolt))
   271  Provides:      bundled(golang(github.com/coreos/go-systemd/activation))
   272  Provides:      bundled(golang(github.com/godbus/dbus))
   273  Provides:      bundled(golang(github.com/godbus/dbus/introspect))
   274  Provides:      bundled(golang(github.com/gorilla/mux))
   275  Provides:      bundled(golang(github.com/jessevdk/go-flags))
   276  Provides:      bundled(golang(github.com/juju/ratelimit))
   277  Provides:      bundled(golang(github.com/kr/pretty))
   278  Provides:      bundled(golang(github.com/kr/text))
   279  Provides:      bundled(golang(github.com/mvo5/goconfigparser))
   280  Provides:      bundled(golang(github.com/mvo5/libseccomp-golang))
   281  Provides:      bundled(golang(github.com/snapcore/go-gettext))
   282  Provides:      bundled(golang(golang.org/x/crypto/openpgp/armor))
   283  Provides:      bundled(golang(golang.org/x/crypto/openpgp/packet))
   284  Provides:      bundled(golang(golang.org/x/crypto/sha3))
   285  Provides:      bundled(golang(golang.org/x/crypto/ssh/terminal))
   286  Provides:      bundled(golang(gopkg.in/check.v1))
   287  Provides:      bundled(golang(gopkg.in/macaroon.v1))
   288  Provides:      bundled(golang(gopkg.in/mgo.v2/bson))
   289  Provides:      bundled(golang(gopkg.in/retry.v1))
   290  Provides:      bundled(golang(gopkg.in/tomb.v2))
   291  Provides:      bundled(golang(gopkg.in/yaml.v2))
   292  %endif
   293  
   294  # Generated by gofed
   295  Provides:      golang(%{import_path}/advisor) = %{version}-%{release}
   296  Provides:      golang(%{import_path}/arch) = %{version}-%{release}
   297  Provides:      golang(%{import_path}/asserts) = %{version}-%{release}
   298  Provides:      golang(%{import_path}/asserts/assertstest) = %{version}-%{release}
   299  Provides:      golang(%{import_path}/asserts/signtool) = %{version}-%{release}
   300  Provides:      golang(%{import_path}/asserts/snapasserts) = %{version}-%{release}
   301  Provides:      golang(%{import_path}/asserts/sysdb) = %{version}-%{release}
   302  Provides:      golang(%{import_path}/asserts/systestkeys) = %{version}-%{release}
   303  Provides:      golang(%{import_path}/boot) = %{version}-%{release}
   304  Provides:      golang(%{import_path}/boot/boottest) = %{version}-%{release}
   305  Provides:      golang(%{import_path}/bootloader) = %{version}-%{release}
   306  Provides:      golang(%{import_path}/bootloader/androidbootenv) = %{version}-%{release}
   307  Provides:      golang(%{import_path}/bootloader/grubenv) = %{version}-%{release}
   308  Provides:      golang(%{import_path}/bootloader/ubootenv) = %{version}-%{release}
   309  Provides:      golang(%{import_path}/client) = %{version}-%{release}
   310  Provides:      golang(%{import_path}/cmd) = %{version}-%{release}
   311  Provides:      golang(%{import_path}/cmd/cmdutil) = %{version}-%{release}
   312  Provides:      golang(%{import_path}/cmd/snap-seccomp/syscalls) = %{version}-%{release}
   313  Provides:      golang(%{import_path}/cmd/snaplock) = %{version}-%{release}
   314  Provides:      golang(%{import_path}/daemon) = %{version}-%{release}
   315  Provides:      golang(%{import_path}/dirs) = %{version}-%{release}
   316  Provides:      golang(%{import_path}/errtracker) = %{version}-%{release}
   317  Provides:      golang(%{import_path}/features) = %{version}-%{release}
   318  Provides:      golang(%{import_path}/gadget) = %{version}-%{release}
   319  Provides:      golang(%{import_path}/httputil) = %{version}-%{release}
   320  Provides:      golang(%{import_path}/i18n) = %{version}-%{release}
   321  Provides:      golang(%{import_path}/image) = %{version}-%{release}
   322  Provides:      golang(%{import_path}/interfaces) = %{version}-%{release}
   323  Provides:      golang(%{import_path}/interfaces/apparmor) = %{version}-%{release}
   324  Provides:      golang(%{import_path}/interfaces/backends) = %{version}-%{release}
   325  Provides:      golang(%{import_path}/interfaces/builtin) = %{version}-%{release}
   326  Provides:      golang(%{import_path}/interfaces/dbus) = %{version}-%{release}
   327  Provides:      golang(%{import_path}/interfaces/hotplug) = %{version}-%{release}
   328  Provides:      golang(%{import_path}/interfaces/ifacetest) = %{version}-%{release}
   329  Provides:      golang(%{import_path}/interfaces/kmod) = %{version}-%{release}
   330  Provides:      golang(%{import_path}/interfaces/mount) = %{version}-%{release}
   331  Provides:      golang(%{import_path}/interfaces/policy) = %{version}-%{release}
   332  Provides:      golang(%{import_path}/interfaces/seccomp) = %{version}-%{release}
   333  Provides:      golang(%{import_path}/interfaces/systemd) = %{version}-%{release}
   334  Provides:      golang(%{import_path}/interfaces/udev) = %{version}-%{release}
   335  Provides:      golang(%{import_path}/interfaces/utils) = %{version}-%{release}
   336  Provides:      golang(%{import_path}/jsonutil) = %{version}-%{release}
   337  Provides:      golang(%{import_path}/jsonutil/safejson) = %{version}-%{release}
   338  Provides:      golang(%{import_path}/logger) = %{version}-%{release}
   339  Provides:      golang(%{import_path}/metautil) = %{version}-%{release}
   340  Provides:      golang(%{import_path}/netutil) = %{version}-%{release}
   341  Provides:      golang(%{import_path}/osutil) = %{version}-%{release}
   342  Provides:      golang(%{import_path}/osutil/squashfs) = %{version}-%{release}
   343  Provides:      golang(%{import_path}/osutil/strace) = %{version}-%{release}
   344  Provides:      golang(%{import_path}/osutil/sys) = %{version}-%{release}
   345  Provides:      golang(%{import_path}/osutil/udev/crawler) = %{version}-%{release}
   346  Provides:      golang(%{import_path}/osutil/udev/netlink) = %{version}-%{release}
   347  Provides:      golang(%{import_path}/overlord) = %{version}-%{release}
   348  Provides:      golang(%{import_path}/overlord/assertstate) = %{version}-%{release}
   349  Provides:      golang(%{import_path}/overlord/auth) = %{version}-%{release}
   350  Provides:      golang(%{import_path}/overlord/cmdstate) = %{version}-%{release}
   351  Provides:      golang(%{import_path}/overlord/configstate) = %{version}-%{release}
   352  Provides:      golang(%{import_path}/overlord/configstate/config) = %{version}-%{release}
   353  Provides:      golang(%{import_path}/overlord/configstate/configcore) = %{version}-%{release}
   354  Provides:      golang(%{import_path}/overlord/configstate/proxyconf) = %{version}-%{release}
   355  Provides:      golang(%{import_path}/overlord/configstate/settings) = %{version}-%{release}
   356  Provides:      golang(%{import_path}/overlord/devicestate) = %{version}-%{release}
   357  Provides:      golang(%{import_path}/overlord/devicestate/devicestatetest) = %{version}-%{release}
   358  Provides:      golang(%{import_path}/overlord/hookstate) = %{version}-%{release}
   359  Provides:      golang(%{import_path}/overlord/hookstate/ctlcmd) = %{version}-%{release}
   360  Provides:      golang(%{import_path}/overlord/hookstate/hooktest) = %{version}-%{release}
   361  Provides:      golang(%{import_path}/overlord/ifacestate) = %{version}-%{release}
   362  Provides:      golang(%{import_path}/overlord/ifacestate/ifacerepo) = %{version}-%{release}
   363  Provides:      golang(%{import_path}/overlord/ifacestate/udevmonitor) = %{version}-%{release}
   364  Provides:      golang(%{import_path}/overlord/patch) = %{version}-%{release}
   365  Provides:      golang(%{import_path}/overlord/servicestate) = %{version}-%{release}
   366  Provides:      golang(%{import_path}/overlord/snapshotstate) = %{version}-%{release}
   367  Provides:      golang(%{import_path}/overlord/snapshotstate/backend) = %{version}-%{release}
   368  Provides:      golang(%{import_path}/overlord/snapstate) = %{version}-%{release}
   369  Provides:      golang(%{import_path}/overlord/snapstate/backend) = %{version}-%{release}
   370  Provides:      golang(%{import_path}/overlord/standby) = %{version}-%{release}
   371  Provides:      golang(%{import_path}/overlord/state) = %{version}-%{release}
   372  Provides:      golang(%{import_path}/overlord/storecontext) = %{version}-%{release}
   373  Provides:      golang(%{import_path}/polkit) = %{version}-%{release}
   374  Provides:      golang(%{import_path}/progress) = %{version}-%{release}
   375  Provides:      golang(%{import_path}/progress/progresstest) = %{version}-%{release}
   376  Provides:      golang(%{import_path}/release) = %{version}-%{release}
   377  Provides:      golang(%{import_path}/sandbox/seccomp) = %{version}-%{release}
   378  Provides:      golang(%{import_path}/sanity) = %{version}-%{release}
   379  Provides:      golang(%{import_path}/selinux) = %{version}-%{release}
   380  Provides:      golang(%{import_path}/snap) = %{version}-%{release}
   381  Provides:      golang(%{import_path}/snap/naming) = %{version}-%{release}
   382  Provides:      golang(%{import_path}/snap/pack) = %{version}-%{release}
   383  Provides:      golang(%{import_path}/snap/snapdir) = %{version}-%{release}
   384  Provides:      golang(%{import_path}/snap/snapenv) = %{version}-%{release}
   385  Provides:      golang(%{import_path}/snap/snaptest) = %{version}-%{release}
   386  Provides:      golang(%{import_path}/snap/squashfs) = %{version}-%{release}
   387  Provides:      golang(%{import_path}/spdx) = %{version}-%{release}
   388  Provides:      golang(%{import_path}/store) = %{version}-%{release}
   389  Provides:      golang(%{import_path}/store/storetest) = %{version}-%{release}
   390  Provides:      golang(%{import_path}/strutil) = %{version}-%{release}
   391  Provides:      golang(%{import_path}/strutil/quantity) = %{version}-%{release}
   392  Provides:      golang(%{import_path}/strutil/shlex) = %{version}-%{release}
   393  Provides:      golang(%{import_path}/systemd) = %{version}-%{release}
   394  Provides:      golang(%{import_path}/tests/lib/fakestore/refresh) = %{version}-%{release}
   395  Provides:      golang(%{import_path}/tests/lib/fakestore/store) = %{version}-%{release}
   396  Provides:      golang(%{import_path}/testutil) = %{version}-%{release}
   397  Provides:      golang(%{import_path}/timeout) = %{version}-%{release}
   398  Provides:      golang(%{import_path}/timeutil) = %{version}-%{release}
   399  Provides:      golang(%{import_path}/timings) = %{version}-%{release}
   400  Provides:      golang(%{import_path}/userd) = %{version}-%{release}
   401  Provides:      golang(%{import_path}/userd/ui) = %{version}-%{release}
   402  Provides:      golang(%{import_path}/wrappers) = %{version}-%{release}
   403  Provides:      golang(%{import_path}/x11) = %{version}-%{release}
   404  Provides:      golang(%{import_path}/xdgopenproxy) = %{version}-%{release}
   405  
   406  %description devel
   407  This package contains library source intended for
   408  building other packages which use import path with
   409  %{import_path} prefix.
   410  %endif
   411  
   412  %if 0%{?with_unit_test} && 0%{?with_devel}
   413  %package unit-test-devel
   414  Summary:         Unit tests for %{name} package
   415  
   416  %if 0%{?with_check}
   417  #Here comes all BuildRequires: PACKAGE the unit tests
   418  #in %%check section need for running
   419  %endif
   420  
   421  # test subpackage tests code from devel subpackage
   422  Requires:        %{name}-devel = %{version}-%{release}
   423  
   424  %description unit-test-devel
   425  This package contains unit tests for project
   426  providing packages with %{import_path} prefix.
   427  %endif
   428  
   429  %prep
   430  %if ! 0%{?with_bundled}
   431  %setup -q
   432  # Ensure there's no bundled stuff accidentally leaking in...
   433  rm -rf vendor/*
   434  %else
   435  # Extract each tarball properly
   436  %setup -q -D -b 1
   437  %endif
   438  
   439  %build
   440  # Generate version files
   441  ./mkversion.sh "%{version}-%{release}"
   442  
   443  # We don't want/need squashfuse in the rpm, as it's available in Fedora and EPEL
   444  sed -e 's:_ "github.com/snapcore/squashfuse"::g' -i systemd/systemd.go
   445  
   446  # Build snapd
   447  mkdir -p src/github.com/snapcore
   448  ln -s ../../../ src/github.com/snapcore/snapd
   449  
   450  %if ! 0%{?with_bundled}
   451  export GOPATH=$(pwd):%{gopath}
   452  %else
   453  export GOPATH=$(pwd):$(pwd)/Godeps/_workspace:%{gopath}
   454  %endif
   455  
   456  GOFLAGS=
   457  %if 0%{?with_test_keys}
   458  GOFLAGS="$GOFLAGS -tags withtestkeys"
   459  %endif
   460  
   461  %if ! 0%{?with_bundled}
   462  # We don't need mvo5 fork for seccomp, as we have seccomp 2.3.x
   463  sed -e "s:github.com/mvo5/libseccomp-golang:github.com/seccomp/libseccomp-golang:g" -i cmd/snap-seccomp/*.go
   464  # We don't need the snapcore fork for bolt - it is just a fix on ppc
   465  sed -e "s:github.com/snapcore/bolt:github.com/boltdb/bolt:g" -i advisor/*.go errtracker/*.go
   466  %endif
   467  
   468  # We have to build snapd first to prevent the build from
   469  # building various things from the tree without additional
   470  # set tags.
   471  %gobuild -o bin/snapd $GOFLAGS %{import_path}/cmd/snapd
   472  %gobuild -o bin/snap $GOFLAGS %{import_path}/cmd/snap
   473  %gobuild -o bin/snap-failure $GOFLAGS %{import_path}/cmd/snap-failure
   474  
   475  # To ensure things work correctly with base snaps,
   476  # snap-exec, snap-update-ns, and snapctl need to be built statically
   477  %gobuild_static -o bin/snap-exec $GOFLAGS %{import_path}/cmd/snap-exec
   478  %gobuild_static -o bin/snap-update-ns $GOFLAGS %{import_path}/cmd/snap-update-ns
   479  %gobuild_static -o bin/snapctl $GOFLAGS %{import_path}/cmd/snapctl
   480  
   481  %if 0%{?rhel}
   482  # There's no static link library for libseccomp in RHEL/CentOS...
   483  sed -e "s/-Bstatic -lseccomp/-Bstatic/g" -i cmd/snap-seccomp/*.go
   484  %endif
   485  %gobuild -o bin/snap-seccomp $GOFLAGS %{import_path}/cmd/snap-seccomp
   486  
   487  %if 0%{?with_selinux}
   488  # Build SELinux module
   489  pushd ./data/selinux
   490  make SHARE="%{_datadir}" TARGETS="snappy"
   491  popd
   492  %endif
   493  
   494  # Build snap-confine
   495  pushd ./cmd
   496  # FIXME This is a hack to get rid of a patch we have to ship for the
   497  # Fedora package at the moment as /usr/lib/rpm/redhat/redhat-hardened-ld
   498  # accidentially adds -pie for static executables. See
   499  # https://bugzilla.redhat.com/show_bug.cgi?id=1343892 for a few more
   500  # details. To prevent this from happening we drop the linker
   501  # script and define our LDFLAGS manually for now.
   502  export LDFLAGS="-Wl,-z,relro -z now"
   503  autoreconf --force --install --verbose
   504  # FIXME: add --enable-caps-over-setuid as soon as possible (setuid discouraged!)
   505  %configure \
   506      --disable-apparmor \
   507  %if 0%{?with_selinux}
   508      --enable-selinux \
   509  %endif
   510      --libexecdir=%{_libexecdir}/snapd/ \
   511      --enable-nvidia-biarch \
   512      %{?with_multilib:--with-32bit-libdir=%{_prefix}/lib} \
   513      --with-snap-mount-dir=%{_sharedstatedir}/snapd/snap \
   514      --enable-merged-usr
   515  
   516  %make_build
   517  popd
   518  
   519  # Build systemd units, dbus services, and env files
   520  pushd ./data
   521  make BINDIR="%{_bindir}" LIBEXECDIR="%{_libexecdir}" \
   522       SYSTEMDSYSTEMUNITDIR="%{_unitdir}" \
   523       SNAP_MOUNT_DIR="%{_sharedstatedir}/snapd/snap" \
   524       SNAPD_ENVIRONMENT_FILE="%{_sysconfdir}/sysconfig/snapd"
   525  popd
   526  
   527  %install
   528  install -d -p %{buildroot}%{_bindir}
   529  install -d -p %{buildroot}%{_libexecdir}/snapd
   530  install -d -p %{buildroot}%{_mandir}/man8
   531  install -d -p %{buildroot}%{_environmentdir}
   532  install -d -p %{buildroot}%{_systemdgeneratordir}
   533  install -d -p %{buildroot}%{_systemd_system_env_generator_dir}
   534  install -d -p %{buildroot}%{_unitdir}
   535  install -d -p %{buildroot}%{_sysconfdir}/profile.d
   536  install -d -p %{buildroot}%{_sysconfdir}/sysconfig
   537  install -d -p %{buildroot}%{_sharedstatedir}/snapd/assertions
   538  install -d -p %{buildroot}%{_sharedstatedir}/snapd/cookie
   539  install -d -p %{buildroot}%{_sharedstatedir}/snapd/desktop/applications
   540  install -d -p %{buildroot}%{_sharedstatedir}/snapd/device
   541  install -d -p %{buildroot}%{_sharedstatedir}/snapd/hostfs
   542  install -d -p %{buildroot}%{_sharedstatedir}/snapd/lib/gl
   543  install -d -p %{buildroot}%{_sharedstatedir}/snapd/lib/gl32
   544  install -d -p %{buildroot}%{_sharedstatedir}/snapd/lib/glvnd
   545  install -d -p %{buildroot}%{_sharedstatedir}/snapd/lib/vulkan
   546  install -d -p %{buildroot}%{_sharedstatedir}/snapd/mount
   547  install -d -p %{buildroot}%{_sharedstatedir}/snapd/seccomp/bpf
   548  install -d -p %{buildroot}%{_sharedstatedir}/snapd/snaps
   549  install -d -p %{buildroot}%{_sharedstatedir}/snapd/snap/bin
   550  install -d -p %{buildroot}%{_localstatedir}/snap
   551  install -d -p %{buildroot}%{_localstatedir}/cache/snapd
   552  install -d -p %{buildroot}%{_datadir}/polkit-1/actions
   553  %if 0%{?with_selinux}
   554  install -d -p %{buildroot}%{_datadir}/selinux/devel/include/contrib
   555  install -d -p %{buildroot}%{_datadir}/selinux/packages
   556  %endif
   557  
   558  # Install snap and snapd
   559  install -p -m 0755 bin/snap %{buildroot}%{_bindir}
   560  install -p -m 0755 bin/snap-exec %{buildroot}%{_libexecdir}/snapd
   561  install -p -m 0755 bin/snap-failure %{buildroot}%{_libexecdir}/snapd
   562  install -p -m 0755 bin/snapd %{buildroot}%{_libexecdir}/snapd
   563  install -p -m 0755 bin/snap-update-ns %{buildroot}%{_libexecdir}/snapd
   564  install -p -m 0755 bin/snap-seccomp %{buildroot}%{_libexecdir}/snapd
   565  # Ensure /usr/bin/snapctl is a symlink to /usr/libexec/snapd/snapctl
   566  install -p -m 0755 bin/snapctl %{buildroot}%{_libexecdir}/snapd/snapctl
   567  ln -sf %{_libexecdir}/snapd/snapctl %{buildroot}%{_bindir}/snapctl
   568  
   569  %if 0%{?with_selinux}
   570  # Install SELinux module
   571  install -p -m 0644 data/selinux/snappy.if %{buildroot}%{_datadir}/selinux/devel/include/contrib
   572  install -p -m 0644 data/selinux/snappy.pp.bz2 %{buildroot}%{_datadir}/selinux/packages
   573  %endif
   574  
   575  # Install snap(8) man page
   576  bin/snap help --man > %{buildroot}%{_mandir}/man8/snap.8
   577  
   578  # Install the "info" data file with snapd version
   579  install -m 644 -D data/info %{buildroot}%{_libexecdir}/snapd/info
   580  
   581  # Install bash completion for "snap"
   582  install -m 644 -D data/completion/snap %{buildroot}%{_datadir}/bash-completion/completions/snap
   583  install -m 644 -D data/completion/complete.sh %{buildroot}%{_libexecdir}/snapd
   584  install -m 644 -D data/completion/etelpmoc.sh %{buildroot}%{_libexecdir}/snapd
   585  
   586  # Install snap-confine
   587  pushd ./cmd
   588  %make_install
   589  # Undo the 0111 permissions, they are restored in the files section
   590  chmod 0755 %{buildroot}%{_sharedstatedir}/snapd/void
   591  # We don't use AppArmor
   592  rm -rfv %{buildroot}%{_sysconfdir}/apparmor.d
   593  # ubuntu-core-launcher is dead
   594  rm -fv %{buildroot}%{_bindir}/ubuntu-core-launcher
   595  popd
   596  
   597  # Install all systemd and dbus units, and env files
   598  pushd ./data
   599  %make_install BINDIR="%{_bindir}" LIBEXECDIR="%{_libexecdir}" \
   600                SYSTEMDSYSTEMUNITDIR="%{_unitdir}" \
   601                SNAP_MOUNT_DIR="%{_sharedstatedir}/snapd/snap" \
   602                SNAPD_ENVIRONMENT_FILE="%{_sysconfdir}/sysconfig/snapd"
   603  popd
   604  
   605  
   606  %if 0%{?rhel} == 7
   607  # Install kernel tweaks
   608  # See: https://access.redhat.com/articles/3128691
   609  install -m 644 -D data/sysctl/rhel7-snap.conf %{buildroot}%{_sysctldir}/99-snap.conf
   610  %endif
   611  
   612  # Remove snappy core specific units
   613  rm -fv %{buildroot}%{_unitdir}/snapd.system-shutdown.service
   614  rm -fv %{buildroot}%{_unitdir}/snapd.snap-repair.*
   615  rm -fv %{buildroot}%{_unitdir}/snapd.core-fixup.*
   616  
   617  # Remove snappy core specific scripts
   618  rm %{buildroot}%{_libexecdir}/snapd/snapd.core-fixup.sh
   619  
   620  # Remove snapd apparmor service
   621  rm -f %{buildroot}%{_unitdir}/snapd.apparmor.service
   622  rm -f %{buildroot}%{_libexecdir}/snapd/snapd-apparmor
   623  
   624  # Install Polkit configuration
   625  install -m 644 -D data/polkit/io.snapcraft.snapd.policy %{buildroot}%{_datadir}/polkit-1/actions
   626  
   627  # Disable re-exec by default
   628  echo 'SNAP_REEXEC=0' > %{buildroot}%{_sysconfdir}/sysconfig/snapd
   629  
   630  # Create state.json and the README file to be ghosted
   631  touch %{buildroot}%{_sharedstatedir}/snapd/state.json
   632  touch %{buildroot}%{_sharedstatedir}/snapd/snap/README
   633  
   634  # When enabled, create a symlink for /snap to point to /var/lib/snapd/snap
   635  %if %{with snap_symlink}
   636  ln -sr %{buildroot}%{_sharedstatedir}/snapd/snap %{buildroot}/snap
   637  %endif
   638  
   639  # source codes for building projects
   640  %if 0%{?with_devel}
   641  install -d -p %{buildroot}/%{gopath}/src/%{import_path}/
   642  echo "%%dir %%{gopath}/src/%%{import_path}/." >> devel.file-list
   643  # find all *.go but no *_test.go files and generate devel.file-list
   644  for file in $(find . -iname "*.go" -o -iname "*.s" \! -iname "*_test.go") ; do
   645      echo "%%dir %%{gopath}/src/%%{import_path}/$(dirname $file)" >> devel.file-list
   646      install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$(dirname $file)
   647      cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file
   648      echo "%%{gopath}/src/%%{import_path}/$file" >> devel.file-list
   649  done
   650  %endif
   651  
   652  # testing files for this project
   653  %if 0%{?with_unit_test} && 0%{?with_devel}
   654  install -d -p %{buildroot}/%{gopath}/src/%{import_path}/
   655  # find all *_test.go files and generate unit-test.file-list
   656  for file in $(find . -iname "*_test.go"); do
   657      echo "%%dir %%{gopath}/src/%%{import_path}/$(dirname $file)" >> devel.file-list
   658      install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$(dirname $file)
   659      cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file
   660      echo "%%{gopath}/src/%%{import_path}/$file" >> unit-test-devel.file-list
   661  done
   662  
   663  # Install additional testdata
   664  install -d %{buildroot}/%{gopath}/src/%{import_path}/cmd/snap/test-data/
   665  cp -pav cmd/snap/test-data/* %{buildroot}/%{gopath}/src/%{import_path}/cmd/snap/test-data/
   666  echo "%%{gopath}/src/%%{import_path}/cmd/snap/test-data" >> unit-test-devel.file-list
   667  %endif
   668  
   669  %if 0%{?with_devel}
   670  sort -u -o devel.file-list devel.file-list
   671  %endif
   672  
   673  %check
   674  for binary in snap-exec snap-update-ns snapctl; do
   675      ldd bin/$binary | grep 'not a dynamic executable'
   676  done
   677  
   678  # snapd tests
   679  %if 0%{?with_check} && 0%{?with_unit_test} && 0%{?with_devel}
   680  %if ! 0%{?with_bundled}
   681  export GOPATH=%{buildroot}/%{gopath}:%{gopath}
   682  %else
   683  export GOPATH=%{buildroot}/%{gopath}:$(pwd)/Godeps/_workspace:%{gopath}
   684  %endif
   685  %gotest %{import_path}/...
   686  %endif
   687  
   688  # snap-confine tests (these always run!)
   689  pushd ./cmd
   690  make check
   691  popd
   692  
   693  %files
   694  #define license tag if not already defined
   695  %{!?_licensedir:%global license %doc}
   696  %license COPYING
   697  %doc README.md docs/*
   698  %{_bindir}/snap
   699  %{_bindir}/snapctl
   700  %{_environmentdir}/990-snapd.conf
   701  %if 0%{?rhel} == 7
   702  %{_sysctldir}/99-snap.conf
   703  %endif
   704  %dir %{_libexecdir}/snapd
   705  %{_libexecdir}/snapd/snapctl
   706  %{_libexecdir}/snapd/snapd
   707  %{_libexecdir}/snapd/snap-exec
   708  %{_libexecdir}/snapd/snap-failure
   709  %{_libexecdir}/snapd/info
   710  %{_libexecdir}/snapd/snap-mgmt
   711  %if 0%{?with_selinux}
   712  %{_libexecdir}/snapd/snap-mgmt-selinux
   713  %endif
   714  %{_mandir}/man8/snap.8*
   715  %{_datadir}/applications/snap-handle-link.desktop
   716  %{_datadir}/bash-completion/completions/snap
   717  %{_libexecdir}/snapd/complete.sh
   718  %{_libexecdir}/snapd/etelpmoc.sh
   719  %{_libexecdir}/snapd/snapd.run-from-snap
   720  %{_sysconfdir}/profile.d/snapd.sh
   721  %{_mandir}/man8/snapd-env-generator.8*
   722  %{_systemd_system_env_generator_dir}/snapd-env-generator
   723  %{_unitdir}/snapd.socket
   724  %{_unitdir}/snapd.service
   725  %{_unitdir}/snapd.autoimport.service
   726  %{_unitdir}/snapd.failure.service
   727  %{_unitdir}/snapd.seeded.service
   728  %{_userunitdir}/snapd.session-agent.service
   729  %{_userunitdir}/snapd.session-agent.socket
   730  %{_datadir}/dbus-1/services/io.snapcraft.Launcher.service
   731  %{_datadir}/dbus-1/services/io.snapcraft.Settings.service
   732  %{_datadir}/polkit-1/actions/io.snapcraft.snapd.policy
   733  %{_sysconfdir}/xdg/autostart/snap-userd-autostart.desktop
   734  %config(noreplace) %{_sysconfdir}/sysconfig/snapd
   735  %dir %{_sharedstatedir}/snapd
   736  %dir %{_sharedstatedir}/snapd/assertions
   737  %dir %{_sharedstatedir}/snapd/cookie
   738  %dir %{_sharedstatedir}/snapd/desktop
   739  %dir %{_sharedstatedir}/snapd/desktop/applications
   740  %dir %{_sharedstatedir}/snapd/device
   741  %dir %{_sharedstatedir}/snapd/hostfs
   742  %dir %{_sharedstatedir}/snapd/lib
   743  %dir %{_sharedstatedir}/snapd/lib/gl
   744  %dir %{_sharedstatedir}/snapd/lib/gl32
   745  %dir %{_sharedstatedir}/snapd/lib/glvnd
   746  %dir %{_sharedstatedir}/snapd/lib/vulkan
   747  %dir %{_sharedstatedir}/snapd/mount
   748  %dir %{_sharedstatedir}/snapd/seccomp
   749  %dir %{_sharedstatedir}/snapd/seccomp/bpf
   750  %dir %{_sharedstatedir}/snapd/snaps
   751  %dir %{_sharedstatedir}/snapd/snap
   752  %ghost %dir %{_sharedstatedir}/snapd/snap/bin
   753  %dir %{_localstatedir}/cache/snapd
   754  %dir %{_localstatedir}/snap
   755  %ghost %{_sharedstatedir}/snapd/state.json
   756  %ghost %{_sharedstatedir}/snapd/snap/README
   757  %if %{with snap_symlink}
   758  /snap
   759  %endif
   760  
   761  %files -n snap-confine
   762  %doc cmd/snap-confine/PORTING
   763  %license COPYING
   764  %dir %{_libexecdir}/snapd
   765  # For now, we can't use caps
   766  # FIXME: Switch to "%%attr(0755,root,root) %%caps(cap_sys_admin=pe)" asap!
   767  %attr(6755,root,root) %{_libexecdir}/snapd/snap-confine
   768  %{_libexecdir}/snapd/snap-device-helper
   769  %{_libexecdir}/snapd/snap-discard-ns
   770  %{_libexecdir}/snapd/snap-gdb-shim
   771  %{_libexecdir}/snapd/snap-seccomp
   772  %{_libexecdir}/snapd/snap-update-ns
   773  %{_libexecdir}/snapd/system-shutdown
   774  %{_mandir}/man8/snap-confine.8*
   775  %{_mandir}/man8/snap-discard-ns.8*
   776  %{_systemdgeneratordir}/snapd-generator
   777  %attr(0111,root,root) %{_sharedstatedir}/snapd/void
   778  
   779  %if 0%{?with_selinux}
   780  %files selinux
   781  %license data/selinux/COPYING
   782  %doc data/selinux/README.md
   783  %{_datadir}/selinux/packages/snappy.pp.bz2
   784  %{_datadir}/selinux/devel/include/contrib/snappy.if
   785  %endif
   786  
   787  %if 0%{?with_devel}
   788  %files devel -f devel.file-list
   789  %license COPYING
   790  %doc README.md
   791  %dir %{gopath}/src/%{provider}.%{provider_tld}/%{project}
   792  %endif
   793  
   794  %if 0%{?with_unit_test} && 0%{?with_devel}
   795  %files unit-test-devel -f unit-test-devel.file-list
   796  %license COPYING
   797  %doc README.md
   798  %endif
   799  
   800  %post
   801  %if 0%{?rhel} == 7
   802  %sysctl_apply 99-snap.conf
   803  %endif
   804  %systemd_post %{snappy_svcs}
   805  %systemd_user_post %{snappy_user_svcs}
   806  # If install, test if snapd socket and timer are enabled.
   807  # If enabled, then attempt to start them. This will silently fail
   808  # in chroots or other environments where services aren't expected
   809  # to be started.
   810  if [ $1 -eq 1 ] ; then
   811     if systemctl -q is-enabled snapd.socket > /dev/null 2>&1 ; then
   812        systemctl start snapd.socket > /dev/null 2>&1 || :
   813     fi
   814  fi
   815  
   816  %preun
   817  %systemd_preun %{snappy_svcs}
   818  %systemd_user_preun %{snappy_user_svcs}
   819  
   820  # Remove all Snappy content if snapd is being fully uninstalled
   821  if [ $1 -eq 0 ]; then
   822     %{_libexecdir}/snapd/snap-mgmt --purge || :
   823  fi
   824  
   825  %postun
   826  %systemd_postun_with_restart %{snappy_svcs}
   827  %systemd_user_postun %{snappy_user_svcs}
   828  
   829  %if 0%{?with_selinux}
   830  %triggerun -- snapd < 2.39
   831  # TODO: the trigger relies on a very specific snapd version that introduced SELinux
   832  # mount context, figure out how to update the trigger condition to run when needed
   833  
   834  # Trigger on uninstall, with one version of the package being pre 2.38 see
   835  # https://rpm-packaging-guide.github.io/#triggers-and-scriptlets for details
   836  # when triggers are run
   837  if [ "$1" -eq 2 -a "$2" -eq 1 ]; then
   838     # Upgrade from pre 2.38 version
   839     %{_libexecdir}/snapd/snap-mgmt-selinux --patch-selinux-mount-context=system_u:object_r:snappy_snap_t:s0 || :
   840  
   841     # snapd might have created fontconfig cache directory earlier, but with
   842     # incorrect context due to bugs in the policy, make sure it gets the right one
   843     # on upgrade when the new policy was introduced
   844     if [ -d "%{_localstatedir}/cache/fontconfig" ]; then
   845        restorecon -R %{_localstatedir}/cache/fontconfig || :
   846     fi
   847  elif [ "$1" -eq 1 -a "$2" -eq 2 ]; then
   848     # Downgrade to a pre 2.38 version
   849     %{_libexecdir}/snapd/snap-mgmt-selinux --remove-selinux-mount-context=system_u:object_r:snappy_snap_t:s0 || :
   850  fi
   851  
   852  %pre selinux
   853  %selinux_relabel_pre
   854  
   855  %post selinux
   856  %selinux_modules_install %{_datadir}/selinux/packages/snappy.pp.bz2
   857  %selinux_relabel_post
   858  
   859  %posttrans selinux
   860  %selinux_relabel_post
   861  
   862  %postun selinux
   863  %selinux_modules_uninstall snappy
   864  if [ $1 -eq 0 ]; then
   865      %selinux_relabel_post
   866  fi
   867  %endif
   868  
   869  
   870  %changelog
   871  * Fri Dec 06 2019 Michael Vogt <mvo@ubuntu.com>
   872  - New upstream release 2.42.5
   873   - snap-confine: revert, with comment, explicit unix deny for nested
   874     lxd
   875   - Disable mount-ns test on 16.04. It is too flaky currently.
   876  
   877  * Thu Nov 28 2019 Michael Vogt <mvo@ubuntu.com>
   878  - New upstream release 2.42.4
   879   - overlord/snapstate: make sure configuration defaults are applied
   880     only once
   881  
   882  * Wed Nov 27 2019 Michael Vogt <mvo@ubuntu.com>
   883  - New upstream release 2.42.3
   884   - overlord/snapstate: pick up system defaults when seeding the snapd
   885     snap
   886   - cmd/snap-update-ns: fix overlapping, nested writable mimic
   887     handling
   888   - interfaces: misc updates for u2f-devices, browser-support,
   889     hardware-observe, et al
   890   - tests: reset failing "fwupd-refresh.service" if needed
   891   - tests/main/gadget-update-pc: use a program to modify gadget yaml
   892   - snap-confine: suppress noisy classic snap file_inherit denials
   893  
   894  * Wed Nov 20 2019 Michael Vogt <mvo@ubuntu.com>
   895  - New upstream release 2.42.2
   896   - interfaces/lxd-support: Fix on core18
   897   - tests/main/system-usernames: Amazon Linux 2 comes with libseccomp
   898     2.4.1 now
   899   - snap-seccomp: add missing clock_getres_time64
   900   - cmd/snap-seccomp/syscalls: update the list of known
   901     syscalls
   902   - sandbox/seccomp: accept build ID generated by Go toolchain
   903   - interfaces: allow access to ovs bridge sockets
   904  
   905  * Wed Oct 30 2019 Michael Vogt <mvo@ubuntu.com>
   906  - New upstream release 2.42.1
   907   - interfaces: de-duplicate emitted update-ns profiles
   908   - packaging: tweak handling of usr.lib.snapd.snap-confine
   909   - interfaces: allow introspecting network-manager on core
   910   - tests/main/interfaces-contacts-service: disable on openSUSE
   911     Tumbleweed
   912   - tests/lib/lxd-snapfuse: restore mount changes introduced by LXD
   913   - snap: fix default-provider in seed validation
   914   - tests: update system-usernames test now that opensuse-15.1 works
   915   - overlord: set fake sertial in TestRemodelSwitchToDifferentKernel
   916   - gadget: rename "boot{select,img}" -> system-boot-{select,image}
   917   - tests: listing test, make accepted snapd/core versions consistent
   918  
   919  * Tue Oct 01 2019 Michael Vogt <mvo@ubuntu.com>
   920  - New upstream release 2.42
   921   - tests: disable {contacts,calendar}-service tests on debian-sid
   922   - tests/main/snap-run: disable strace test cases on Arch
   923   - cmd/system-shutdown: include correct prototype for die
   924   - snap/naming: add test for hook name connect-plug-i2c
   925   - cmd/snap-confine: allow digits in hook names
   926   - gadget: do not fail the update when old gadget snap is missing
   927     bare content
   928   - tests: disable {contacts,calendar}-service tests on Arch Linux
   929   - tests: move "centos-7" to unstable systems
   930   - interfaces/docker-support,kubernetes-support: misc updates for
   931     strict k8s
   932   - packaging: remove obsolete usr.lib.snapd.snap-confine in
   933     postinst
   934   - tests: add test that ensures our snapfuse binary actually works
   935   - packaging: use snapfuse_ll to speed up snapfuse performance
   936   - usersession/userd: make sure to export DBus interfaces before
   937     requesting a name
   938   - data/selinux: allow snapd to issue sigkill to journalctl
   939   - store: download propagates options to delta download
   940   - wrappers: allow snaps to install icon theme icons
   941   - debug: state-inspect debugging utility
   942   - sandbox/cgroup: introduce cgroup wrappers package
   943   - snap-confine: fix return value checks for udev functions
   944   - cmd/model: output tweaks, add'l tests
   945   - wrappers/services: add ServicesEnableState + unit tests
   946   - tests: fix newline and wrong test name pointed out in previous PRs
   947   - tests: extend mount-ns test to handle mimics
   948   - run-checks, tests/main/go: allow gofmt checks to be skipped on
   949     19.10
   950   - tests/main/interfaces-{calendar,contacts}-service: disable on
   951     19.10
   952   - tests: part3 making tests work on ubuntu-core-18
   953   - tests: fix interfaces-timeserver-control on 19.10
   954   - overlord/snapstate: config revision code cleanup and extra tests
   955   - devicestate: allow remodel to different kernels
   956   - overlord,daemon: adjust startup timeout via EXTEND_TIMEOUT_USEC
   957     using an estimate
   958   - tests/main/many: increase kill-timeout to 5m
   959   - interfaces/kubernetes-support: allow systemd-run to ptrace read
   960     unconfined
   961   - snapstate: auto transition on experimental.snapd-snap=true
   962   - tests: retry checking until the written file on desktop-portal-
   963     filechooser
   964   - tests: unit test for a refresh failing on configure hook
   965   - tests: remove mount_id and parent_id from mount-ns test data
   966   - tests: move classic-ubuntu-core-transition* to nightly
   967   - tests/mountinfo-tool: proper formatting of opt_fields
   968   - overlord/configstate: special-case "null" in transaction Changes()
   969   - snap-confine: fallback gracefully on a cgroup v2 only system
   970   - tests: debian sid now ships new seccomp, adjust tests
   971   - tests: explicitly restore after using LXD
   972   - snapstate: make progress reporting less granular
   973   - bootloader: little kernel support
   974   - fixme: rename ubuntu*architectures to dpkg*architectures
   975   - tests: run dbus-launch inside a systemd unit
   976   - channel: introduce Resolve and ResolveLocked
   977   - tests: run failing tests on ubuntu eoan due to is now set as
   978     unstable
   979   - systemd: detach rather than unmount .mount units
   980   - cmd/snap-confine: add unit tests for sc_invocation, cleanup memory
   981     leaks in tests
   982   - boot,dirs,image: introduce boot.MakeBootable, use it in image
   983     instead of ad hoc code
   984   - cmd/snap-update-ns: clarify sharing comment
   985   - tests/overlord/snapstate: refactor for cleaner test failures
   986   - cmd/snap-update-ns: don't propagate detaching changes
   987   - interfaces: allow reading mutter Xauthority file
   988   - cmd/snap-confine: fix /snap duplication in legacy mode
   989   - tests: fix mountinfo-tool filtering when used with rewriting
   990   - seed,image,o/devicestate: extract seed loading to seed/seed16.go
   991   - many: pass the rootdir and options to bootloader.Find
   992   - tests: part5 making tests work on ubuntu-core-18
   993   - cmd/snap-confine: keep track of snap instance name and the snap
   994     name
   995   - cmd: unify die() across C programs
   996   - tests: add functions to make an abstraction for the snaps
   997   - packaging/fedora, tests/lib/prepare-restore: helper tool for
   998     packing sources for RPM
   999   - cmd/snap: improve help and error msg for snapshot commands
  1000   - hookstate/ctlcmd: fix snapctl set help message
  1001   - cmd/snap: don't append / to snap name just because a dir exists
  1002   - tests: support fastly-global.cdn.snapcraft.io url on proxy-no-core
  1003     test
  1004   - tests: add --quiet switch to retry-tool
  1005   - tests: add unstable stage for travis execution
  1006   - tests: disable interfaces-timeserver-control on 19.10
  1007   - tests: don't guess in is_classic_confinement_supported
  1008   - boot, etc: simplify BootParticipant (etc) usage
  1009   - tests: verify retry-tool not retrying missing commands
  1010   - tests: rewrite "retry" command as retry-tool
  1011   - tests: move debug section after restore
  1012   - cmd/libsnap-confine-private, cmd/s-c: use constants for
  1013     snap/instance name lengths
  1014   - tests: measure behavior of the device cgroup
  1015   - boot, bootloader, o/devicestate: boot env manip goes in boot
  1016   - tests: enabling ubuntu 19.10-64 on spread.yaml
  1017   - tests: fix ephemeral mount table in left over by prepare
  1018   - tests: add version-tool for comparing versions
  1019   - cmd/libsnap: make feature flag enum 1<<N style
  1020   - many: refactor boot/boottest and move to bootloader/bootloadertest
  1021   - tests/cross/go-build: use go list rather than shell trickery
  1022   - HACKING.md: clarify where "make fmt" is needed
  1023   - osutil: make flock test more robust
  1024   - features, overlord: make parallel-installs exported, export flags
  1025     on startup
  1026   - overlord/devicestate:  support the device service returning a
  1027     stream of assertions
  1028   - many: add snap model command, add /v2/model, /v2/model/serial REST
  1029     APIs
  1030   - debian: set GOCACHE dir during build to fix FTBFS on eoan
  1031   - boot, etc.: refactor boot to have a lookup with different imps
  1032   - many: add the start of Core 20 extensions support to the model
  1033     assertion
  1034   - overlord/snapstate: revert track-risk behavior change and
  1035     validation on install
  1036   - cmd/snap,image,seed:  move image.ValidateSeed to
  1037     seed.ValidateFromYaml
  1038   - image,o/devicestate,seed: oops, make sure to clear seedtest
  1039     helpers
  1040   - tests/main/snap-info: update check.py for test-snapd-tools 2.0
  1041   - tests: moving tests to nightly suite
  1042   - overlord/devicestate,seed:  small step, introduce
  1043     seed.LoadAssertions and use it from firstboot
  1044   - snapstate: add comment to checkVersion vs strutil.VersionCompare
  1045   - tests: add unit tests for cmd_whoami
  1046   - tests: add debug section to interfaces-contacts-service
  1047   - many: introduce package seed and seedtest
  1048   - interfaces/bluez: enable communication between bluetoothd and
  1049     meshd via dbus
  1050   - cmd/snap: fix snap switch message
  1051   - overlord/snapstate: check channel names on install
  1052   - tests: check snap_daemon user and group on system-usernames-
  1053     illegal test are not created
  1054   - cmd/snap-confine: fix group and permission of .info files
  1055   - gadget: do not error on gadget refreshes with multiple volumes
  1056   - snap: use deterministic paths to find the built deb
  1057   - tests: just build snapd commands on go-build test
  1058   - tests: re-enable mount-ns test on classic
  1059   - tests: rename fuse_support to fuse-support
  1060   - tests: move restore-project-each code to existing function
  1061   - tests: simplify interfaces-account-control test
  1062   - i18n, vendor, packaging: drop github.com/ojii/gettext.go, use
  1063     github.com/snapcore/go-gettext
  1064   - tests: always say 'restore: |'
  1065   - tests: new test to check the output after refreshing/reverting
  1066     core
  1067   - snapstate: validate all system-usernames before creating them
  1068   - tests: fix system version check on listing test for external
  1069     backend
  1070   - tests: add check for snap_daemon user/group
  1071   - tests: don't look for lxcfs in mountinfo
  1072   - tests: adding support for arm devices on ubuntu-core-device-reg
  1073     test
  1074   - snap: explicitly forbid trying to parallel install from seed
  1075   - tests: remove trailing spaces from shell scripts
  1076   - tests: remove locally installed revisions of core
  1077   - tests: fix removal of snaps on ubuntu-core
  1078   - interfaces: support Tegra display drivers
  1079   - tests: move interfaces-contacts-service to /tmp
  1080   - interfaces/network-manager: allow using
  1081     org.freedesktop.DBus.ObjectManager
  1082   - tests: restore dpkg selections after upgrade-from-2.15 test
  1083   - tests: pass --remove to userdel on core
  1084   - snap/naming: simplify SnapSet somewhat
  1085   - devicestate/firstboot: check for missing bases early
  1086   - httputil: rework protocol error detection
  1087   - tests: unmount fuse connections only if not initially mounted
  1088   - snap: prevent duplicated snap name and snap files when parsing
  1089     seed.yaml
  1090   - tests: re-implement user tool in python
  1091   - image: improve/tweak some warning/error messages
  1092   - cmd/libsnap-confine-private: add checks for parallel instances
  1093     feature flag
  1094   - tests: wait_for_service shows status after actual first minute
  1095   - sanity: report proper errror when fuse is needed but not available
  1096   - snap/naming: introduce SnapRef, Snap, and SnapSet
  1097   - image: support prepare-image --classic for snapd snap only
  1098     imagesConsequently:
  1099   - tests/main/mount-ns: account for clone_children in cpuset cgroup
  1100     on 18.04
  1101   - many:  merging asserts.Batch Precheck with CommitTo and other
  1102     clarifications
  1103   - devicestate: add missing test for remodeling possibly removing
  1104     required flag
  1105   - tests: use user-tool to remove test user in the non-home test
  1106   - overlord/configstate: sort patch keys to have deterministic order
  1107     with snap set
  1108   - many: generalize assertstate.Batch to asserts.Batch, have
  1109     assertstate.AddBatch
  1110   - gadget, overlord/devicestate: rename Position/Layout
  1111   - store, image, cmd: make 'snap download' leave partials
  1112   - httputil: improve http2 PROTOCOL_ERROR detection
  1113   - tests: add new "user-tool" helper and use in system-user tests
  1114   - tests: clean up after NFS tests
  1115   - ifacestate: optimize auto-connect by setting profiles once after
  1116     all connects
  1117   - hookstate/ctlcmd: snapctl unset command
  1118   - tests: allow test user XDG_RUNTIME_DIR to phase out
  1119   - tests: cleanup "snap_daemon" user in system-usernames-install-
  1120     twice
  1121   - cmd/snap-mgmt: set +x on startup
  1122   - interfaces/wayland,x11: allow reading an Xwayland Xauth file
  1123   - many: move channel parsing to snap/channel
  1124   - check-pr-title.py: allow {} in pr prefix
  1125   - tests: spam test logs less while waiting for systemd unit to stop
  1126   - tests: remove redundant activation check for snapd.socket
  1127     snapd.service
  1128   - tests: trivial snapctl test cleanup
  1129   - tests: ubuntu 18.10 removed from the google-sru backend on the
  1130     spread.yaml
  1131   - tests: add new cases into arch_test
  1132   - tests: clean user and group for test system-usernames-install-
  1133     twice
  1134   - interfaces: k8s worker node updates
  1135   - asserts: move Model to its own model.go
  1136   - tests: unmount binfmt_misc on cleanup
  1137   - tests: restore nsdelegate clobbered by LXD
  1138   - cmd/snap: fix snap unset help string
  1139   - tests: unmount fusectl after testing
  1140   - cmd/snap: fix remote snap info for parallel installed snaps
  1141  
  1142  * Fri Aug 30 2019 Michael Vogt <mvo@ubuntu.com>
  1143  - New upstream release 2.41
  1144   - overlord/snapstate: revert track-risk behavior
  1145   - tests: fix snap info test
  1146   - httputil: rework protocol error detection
  1147   - gadget: do not error on gadget refreshes with multiple volumes
  1148   - i18n, vendor, packaging: drop github.com/ojii/gettext.go, use
  1149     github.com/snapcore/go-gettext
  1150   - snapstate: validate all system-usernames before creating them
  1151   - mkversion.sh: fix version from git checkouts
  1152   - interfaces/network-{control,manager}: allow 'k' on
  1153     /run/resolvconf/**
  1154   - interfaces/wayland,x11: allow reading an Xwayland Xauth file
  1155   - interfaces: k8s worker node updates
  1156   - debian: re-enable systemd environment generator
  1157   - many: create system-usernames user/group if both don't exist
  1158   - packaging: fix symlink for snapd.session-agent.socket
  1159   - tests: change cgroups so that LXD doesn't have to
  1160   - interfaces/network-setup-control: allow dbus netplan apply
  1161     messages
  1162   - tests: add /var/cache/snapd to the snapd state to prevent error on
  1163     the store
  1164   - tests: add test for services disabled during refresh hook
  1165   - many: simpler access to snap-seccomp version-info
  1166   - snap: cleanup some tests, clarify some errorsThis is a follow up
  1167     from work on system usernames:
  1168   - osutil: add osutil.Find{Uid,Gid}
  1169   - tests: use a different archive based on the spread backend on go-
  1170     build test
  1171   - cmd/snap-update-ns: fix pair of bugs affecting refresh of snap
  1172     with layouts
  1173   - overlord/devicestate: detect clashing concurrent (ongoing, just
  1174     finished) remodels or changes
  1175   - interfaces/docker-support: declare controls-device-cgroup
  1176   - packaging: fix removal of old apparmor profile
  1177   - store: use track/risk for "channel" name when parsing store
  1178     details
  1179   - many: allow 'system-usernames' with libseccomp > 2.4 and golang-
  1180     seccomp > 0.9.0
  1181   - overlord/devicestate, tests: use gadget.Update() proper, spread
  1182     test
  1183   - overlord/configstate/configcore: allow setting start_x=1 to enable
  1184     CSI camera on RPi
  1185   - interfaces: remove BeforePrepareSlot from commonInterface
  1186   - many: support system-usernames for 'snap_daemon' user
  1187   - overlord/devicestate,o/snapstate: queue service commands before
  1188     mark-seeded and other final tasks
  1189   - interfaces/mount: discard mount ns on backend Remove
  1190   - packaging/fedora: build on RHEL8
  1191   - overlord/devicestate: support seeding a classic system with the
  1192     snapd snap and no core
  1193   - interfaces: fix test failure in gpio_control_test
  1194   - interfaces, policy: remove sanitize helpers and use minimal policy
  1195     check
  1196   - packaging: use %systemd_user_* macros to enable session agent
  1197     socket according to presets
  1198   - snapstate, store: handle 429s on catalog refresh a little bit
  1199     better
  1200   - tests: part4 making tests work on ubuntu-core-18
  1201   - many: drop snap.ReadGadgetInfo wrapper
  1202   - xdgopenproxy: update test API to match upstream
  1203   - tests: show why sbuild failed
  1204   - data/selinux: allow mandb_t to search /var/lib/snapd
  1205   - tests: be less verbose when checking service status
  1206   - tests: set sbuild test as manual
  1207   - overlord: DeviceCtx must find the remodel context for a remodel
  1208     change
  1209   - tests: use snap info --verbose to check for base
  1210   - sanity: unmount squashfs with --lazy
  1211   - overlord/snapstate: keep current track if only risk is specified
  1212   - interfaces/firewall-control: support nft routing expressions and
  1213     device groups
  1214   - gadget: support for writing symlinks
  1215   - tests: mountinfo-tool fail if there are no matches
  1216   - tests: sync journal log before start the test
  1217   - cmd/snap, data/completion: improve completion for 'snap debug'
  1218   - httputil: retry for http2 PROTOCOL_ERROR
  1219   - Errata commit: pulseaudio still auto-connects on classic
  1220   - interfaces/misc: updates for k8s 1.15 (and greengrass test)
  1221   - tests: set GOTRACEBACK=1 when running tests
  1222   - cmd/libsnap: don't leak memory in sc_die_on_error
  1223   - tests: improve how the system is restored when the upgrade-
  1224     from-2.15 test fails
  1225   - interfaces/bluetooth-control: add udev rules for BT_chrdev devices
  1226   - interfaces: add audio-playback/audio-record and make pulseaudio
  1227     manually connect
  1228   - tests: split the sbuild test in 2 depending on the type of build
  1229   - interfaces: add an interface granting access to AppStream metadata
  1230   - gadget: ensure filesystem labels are unique
  1231   - usersession/agent: use background context when stopping the agent
  1232   - HACKING.md: update spread section, other updates
  1233   - data/selinux: allow snap-confine to read entries on nsfs
  1234   - tests: respect SPREAD_DEBUG_EACH on the main suite
  1235   - packaging/debian-sid: set GOCACHE to a known writable location
  1236   - interfaces: add gpio-control interface
  1237   - cmd/snap: use showDone helper with 'snap switch'
  1238   - gadget: effective structure role fallback, extra tests
  1239   - many: fix unit tests getting stuck
  1240   - tests: remove installed snap on restore
  1241   - daemon: do not modify test data in user suite
  1242   - data/selinux: allow read on sysfs
  1243   - packaging/debian: don't md5sum absent files
  1244   - tests: remove test-snapd-curl
  1245   - tests: remove test-snapd-snapctl-core18 in restore
  1246   - tests: remove installed snap in the restore section
  1247   - tests: remove installed test snap
  1248   - tests: correctly escape mount unit path
  1249   - cmd/Makefile.am: support building with the go snap
  1250   - tests: work around classic snap affecting the host
  1251   - tests: fix typo "current"
  1252   - overlord/assertstate: add Batch.Precheck to check for the full
  1253     validity of the batch before Commit
  1254   - tests: restore cpuset clone_children clobbered by lxd
  1255   - usersession: move userd package to usersession/userd
  1256   - tests: reformat and fix markdown in snapd-state.md
  1257   - gadget: select the right updater for given structure
  1258   - tests: show stderr only if it exists
  1259   - sessionagent: add a REST interface with socket activation
  1260   - tests: remove locally installed core in more tests
  1261   - tests: remove local revision of core
  1262   - packaging/debian-sid: use correct apparmor Depends for Debian
  1263   - packaging/debian-sid: merge debian upload changes back into master
  1264   - cmd/snap-repair: make sure the goroutine doesn't stick around on
  1265     timeout
  1266   - packaging/fedora: github.com/cheggaaa/pb is no longer used
  1267   - configstate/config: fix crash in purgeNulls
  1268   - boot, o/snapst, o/devicest: limit knowledge of boot vars to boot
  1269   - client,cmd/snap: stop depending on status/status-code in the JSON
  1270     responses in client
  1271   - tests: unmount leftover /run/netns
  1272   - tests: switch mount-ns test to manual
  1273   - overlord,daemon,cmd/snapd:  move expensive startup to dedicated
  1274     StartUp methods
  1275   - osutil: add EnsureTreeState helper
  1276   - tests: measure properties of various  mount namespaces
  1277   - tests: part2 making tests work on ubuntu-core-18
  1278   - interfaces/policy: minimal policy check for replacing
  1279     sanitizeReservedFor helpers (1/2)
  1280   - interfaces: add an interface that grants access to the PackageKit
  1281     service
  1282   - overlord/devicestate: update gadget update handlers and mocks
  1283   - tests: add mountinfo-tool --ref-x1000
  1284   - tests: remove lxd / lxcfs if pre-installed
  1285   - tests: removing support for ubuntu cosmic on spread test suite
  1286   - tests: don't leak /run/netns mount
  1287   - image: clean up the validateSuite
  1288   - bootloader: remove "Dir()" from Bootloader interface
  1289   - many: retry to reboot if snapd gets restarted before expected
  1290     reboot
  1291   - overlord: implement re-registration remodeling
  1292   - cmd: revert PR#6933 (tweak of GOMAXPROCS)
  1293   - cmd/snap: add snap unset command
  1294   - many: add Client-User-Agent to "SnapAction" install API call
  1295   - tests: first part making tests run on ubuntu-core-18
  1296   - hookstate/ctlcmd: support hidden commands in snapctl
  1297   - many: replace snapd snap name checks with type checks (3/4)
  1298   - overlord: mostly stop needing Kernel/CoreInfo, make GadgetInfo
  1299     consider a DeviceContext
  1300   - snapctl: handle unsetting of config options with "!"
  1301   - tests: move core migration snaps to tests/lib/snaps dir
  1302   - cmd/snap: handle unsetting of config options with "!"
  1303   - cmd/snap, etc: add health to 'snap list' and 'snap info'
  1304   - gadget: use struct field names when intializing data in mounted
  1305     updater unit tests
  1306   - cmd/snap-confine: bring /lib/firmware from the host
  1307   - snap: set snapd snap type (1/4)
  1308   - snap: add checks in validate-seed for missing base/default-
  1309     provider
  1310   - daemon: replace shutdownServer with net/http's native shutdown
  1311     support
  1312   - interfaces/builtin: add exec "/bin/runc" to docker-support
  1313   - gadget: mounted filesystem updater
  1314   - overlord/patch: simplify conditions for re-applying sublevel
  1315     patches for level 6
  1316   - seccomp/compiler: adjust test case names and comment for later
  1317     changes
  1318   - tests: fix error doing snap pack running failover test
  1319   - tests: don't preserve size= when rewriting mount tables
  1320   - tests: allow reordering of rewrite operations
  1321   - gadget: main update routine
  1322   - overlord/config: normalize nulls to support config unsetting
  1323     semantics
  1324   - snap-userd-autostart: don't list as a startup application on the
  1325     GUI
  1326   - tests: renumber snap revisions as seen via writable
  1327   - tests: change allocation for mount options
  1328   - tests: re-enable ns-re-associate test
  1329   - tests: mountinfo-tool allow many --refs
  1330   - overlord/devicestate: implement reregRemodelContext with the
  1331     essential re-registration logic
  1332   - tests: replace various numeric mount options
  1333   - gadget: filesystem image writer
  1334   - tests: add more unit tests for mountinfo-tool
  1335   - tests: introduce mountinfo-tool --ref feature
  1336   - tests: refactor mountinfo-tool rewrite state
  1337   - tests: allow renumbering mount namespace identifiers
  1338   - snap: refactor and explain layout blacklisting
  1339   - tests: renumber snap revisions as seen via hostfs
  1340   - daemon, interfaces, travis: workaround build ID with Go 1.9, use
  1341     1.9 for travis tests
  1342   - cmd/libsnap: add sc_error_init_{simple,api_misuse}
  1343   - gadget: make raw updater handle shifted structures
  1344   - tests/lib/nested: create WORK_DIR before accessing it
  1345   - cmd/libsnap: rename SC_LIBSNAP_ERROR to SC_LIBSNAP_DOMAIN
  1346   - cmd,tests: forcibly discard mount namespace when bases change
  1347   - many: introduce healthstate, run check-health
  1348     post-(install/refresh/try/revert)
  1349   - interfaces/optical-drive: add scsi-generic type 4 and 5 support
  1350   - cmd/snap-confine: exit from helper when parent dies
  1351  
  1352  * Fri Jul 12 2019 Michael Vogt <mvo@ubuntu.com>
  1353  - New upstream release 2.40
  1354   - overlord/patch: simplify conditions for re-applying sublevel
  1355     patches for level 6
  1356   - cmd,tests: forcibly discard mount namespace when bases change
  1357   - cmd/snap-confine: handle device cgroup before pivot
  1358   - cmd/snap-apparmor-service: quit if there are no profiles
  1359   - cmd/snap, image: add --target-directory and --basename to 'snap
  1360     download'
  1361   - interfaces: add jack1 implicit classic interface
  1362   - interfaces: miscellaneous policy updates
  1363   - daemon: classic confinement is not supported on core
  1364   - interfaces: bluetooth-control: add mtk BT device node
  1365   - cmd/snap-seccomp: initial support for negative arguments with
  1366     uid/gid caching
  1367   - snap-confine: move seccomp load after permanent privilege drop
  1368   - tests: new profiler snap used to track cpu and memory for snapd
  1369     and snap commands
  1370   - debian: make maintainer scripts do nothing on powerpc
  1371   - gadget: mounted filesystem writer
  1372   - cmd/snap: use padded checkers for snapshot output
  1373   - bootloader: switch to bootloader_test style testing
  1374   - gadget: add a wrapper for generating partitioned images with
  1375     sfdisk
  1376   - tests/main/snap-seccomp-syscalls: add description
  1377   - tests: continue executing on errors either updating the repo db or
  1378     installing dependencies
  1379   - cmd/snap-seccomp/syscalls: add io_uring syscalls
  1380   - systemd: add InstanceMode enumeration to control which systemd
  1381     instance to control
  1382   - netutil: extract socket activation helpers from daemon package.
  1383   - interfaces: spi: update regex rules to accept spi nodes like
  1384     spidev12345.0
  1385   - gadget: fallback device lookup
  1386   - many: add strutil.ElliptLeft, use it for shortening cohorts
  1387   - wrappers: allow sockets under $XDG_RUNTIME_DIR
  1388   - gadget: add wrapper for creating and populating filesystems
  1389   - gadget: add writer for offset-write
  1390   - gadget: support relative symlinks in device lookup
  1391   - snap, snapstate: additional validation of base field
  1392   - many: fix some races and missing locking, make sure UDevMonitor is
  1393     stopped
  1394   - boot: move ExtractKernelAssets
  1395   - daemon, snap: screenshots _only_ shows the deprecation notice,
  1396     from 2.39
  1397   - osutil: add a workaround for overlayfs apparmor as it is used on
  1398     Manjaro
  1399   - snap: introduce GetType() function for snap.Info
  1400   - tests: update systems to be used for during sru validation
  1401   - daemon: increase `shutdownTimeout` to 25s to deal with slow
  1402     HW
  1403   - interfaces/network-manager: move deny ptrace to the connected slot
  1404   - interfaces: allow locking of pppd files
  1405   - cmd/snap-exec: fix snap completion for classic snaps with non
  1406     /usr/lib/snapd libexecdir
  1407   - daemon: expose pprof endpoints
  1408   - travis: disable snap pack on OSX
  1409   - client, cmd/snap: expose the new cohort options for snap ops
  1410   - overlord/snapstate: tweak switch summaries
  1411   - tests: reuse the image created initially for nested tests
  1412     execution
  1413   - tests/lib/nested: tweak assert disk prepare step
  1414   - daemon, overlord/snapstate: support leave-cohort
  1415   - tests/main/appstream-id: collect debug info
  1416   - store,daemon: add client-user-agent support to store.SnapInfo
  1417   - tests: add check for invalid PR titles in the static checks
  1418   - tests: add snap-tool for easier access to internal tools
  1419   - daemon: unexport file{Response,Stream}
  1420   - devicestate: make TestUpdateGadgetOnClassicErrorsOut less racy
  1421   - tests: fix test desktop-portal-filechooser
  1422   - tests: sort commands from DumpCommands in the dumpDbHook
  1423   - cmd/snap: add unit test for "advise-snap --dump-db".
  1424   - bootloader: remove extra mock bootloader implementation
  1425   - daemon: tweak for "add api endpoint for download" PR
  1426   - packaging: fix reproducible build error
  1427   - tests: synchronize journal logs before check logs
  1428   - tests: fix snap service watchdog test
  1429   - tests: use more readable test directory names
  1430   - tests/regression/lp-1805485: update test description
  1431   - overlord: make changes conflict with remodel
  1432   - tests: make sure the snapshot unit test uses a snapshot time
  1433     relative to Now()
  1434   - tests: revert "tests: stop catalog-update/apt-hooks test for now"
  1435   - tests: mountinfo-tool --one prints matches on failure
  1436   - data/selinux: fix policy for snaps with bases and classic snaps
  1437   - debian: fix building on eoan by tweaking golang build-deps
  1438   - packaging/debian-sid: update required golang version to 1.10
  1439   - httputil: handle "no such host" error explicitly and do not retry
  1440     it
  1441   - overlord/snapstate, & fallout: give Install a *RevisionOptions
  1442   - cmd/snap: don't run install on 'snap --help install'
  1443   - gadget: raw/bare structure writer and updater
  1444   - daemon, client, cmd/snap: show cohort key in snap info --verbose
  1445   - overlord/snapstate: add update-gadget task when needed, block
  1446     other changes
  1447   - image: turn a missing default content provider into an error
  1448   - overlord/devicestate: update-gadget-assets task handler with
  1449     stubbed gadget callbacks
  1450   - interface: builtin: avahi-observe/control: update label for
  1451     implicit slot
  1452   - tests/lib/nested: fix multi argument copy_remote
  1453   - tests/lib/nested: have mkfs.ext4 use a rootdir instead of mounting
  1454     an image
  1455   - packaging: fix permissions powerpc docs dir
  1456   - overlord: mock store to avoid net requests
  1457   - debian: rework how we run autopkgtests
  1458   - interface: builtin: avahi-observe/control: allow slots
  1459     implementation also by app snap on classic system
  1460   - interfaces: builtin: utils: add helper function to identify system
  1461     slots
  1462   - interfaces: add missing adjtimex to time-control
  1463   - overlord/snapstate, snap: support base = "none"
  1464   - daemon, overlord/snapstate: give RevisionOptions a CohortKey
  1465   - data/selinux: permit init_t to remount snappy_snap_t
  1466   - cmd/snap: test for a friendly error on 'okay' without 'warnings'
  1467   - cmd/snap: support snap debug timings --startup=.. and measure
  1468     loadState time
  1469   - advise-snap: add --dump-db which dumps the command database
  1470   - interfaces/docker-support: support overlayfs on ubuntu core
  1471   - cmd/okay: Remove err message when warning file not exist
  1472   - devicestate: disallow removal of snaps used in booting early
  1473   - packaging: fix build-depends on powerpc
  1474   - tests: run spread tests on opensuse leap 15.1
  1475   - strutil/shlex: fix ineffassign
  1476   - cmd/snapd: ensure GOMAXPROCS is at least 2
  1477   - cmd/snap-update-ns: detach unused mount points
  1478   - gadget: record gadget root directory used during positioning
  1479   - tests: force removal to prevent restore fails when directory
  1480     doesn't exist on lp-1801955 test
  1481   - overlord: implement store switch remodeling
  1482   - tests: stop using ! for naive negation in shell scripts
  1483   - snap,store,daemon,client: send new "Snap-Client-User-Agent" header
  1484     in Search()
  1485   - osutil: now that we require golang-1.10, use user.LookupGroup()
  1486   - spread.yaml,tests: change MATCH and REBOOT to cmds
  1487   - packaging/fedora: force external linker to ensure static linking
  1488     and -extldflags use
  1489   - timings: tweak the conditional for ensure timings
  1490   - timings: always store ensure timings as long as they have an
  1491     associated change
  1492   - cmd/snap: tweak the output of snap debug timings --ensure=...
  1493   - overlord/devicestate: introduce remodel kinds and
  1494     contextsregistrationContext:
  1495   - snaptest: add helper for mocking snap with contents
  1496   - snapstate: allow removal of non-model kernels
  1497   - tests: change strace parameters on snap-run test to avoid the test
  1498     gets stuck
  1499   - gadget: keep track of the index where structure content was
  1500     defined
  1501   - cmd/snap-update-ns: rename leftover ctx to upCtx
  1502   - tests: add "not" command
  1503   - spread.yaml: use "snap connections" in debug
  1504   - tests: fix how strings are matched on auto-refresh-retry test
  1505   - spread-shellcheck: add support for variants and environment
  1506   - gadget: helper for shifting structure start position
  1507   - cmd/snap-update-ns: add several TODO comments
  1508   - cmd/snap-update-ns: rename ctx to upCtx
  1509   - spread.yaml: make HOST: usage shellcheck-clean
  1510   - overlord/snapstate, daemon: snapstate.Switch now takes a
  1511     RevisionOption
  1512   - tests: add mountinfo-tool
  1513   - many: make snapstate.Update take *RevisionOptions instead of chan,
  1514     rev
  1515   - tests/unit/spread-shellcheck: temporary workaround for SC2251
  1516   - daemon: refactor user ops to api_users
  1517   - cmd/snap, tests: refactor info to unify handling of 'direct' snaps
  1518   - cmd/snap-confine: combine sc_make_slave_mount_ns into caller
  1519   - cmd/snap-update-ns: use "none" for propagation changes
  1520   - cmd/snap-confine: don't pass MS_SLAVE along with MS_BIND
  1521   - cmd/snap, api, snapstate: implement "snap remove --purge"
  1522   - tests: new hotplug test executed on ubuntu core
  1523   - tests: running tests on fedora 30
  1524   - gadget: offset-write: fix validation, calculate absolute position
  1525   - data/selinux: allow snap-confine to do search on snappy_var_t
  1526     directories
  1527   - daemon, o/snapstate, store: support for installing from cohorts
  1528   - cmd/snap-confine: do not mount over non files/directories
  1529   - tests: validates snapd from ppa
  1530   - overlord/configstate: don't panic on invalid configuration
  1531   - gadget: improve device lookup, add helper for mount point lookup
  1532   - cmd/snap-update-ns: add tests for executeMountProfileUpdate
  1533   - overlord/hookstate: don't run handler unless hooksup.Always
  1534   - cmd/snap-update-ns: allow changing mount propagation
  1535   - systemd: workaround systemctl show quirks on older systemd
  1536     versions
  1537   - cmd/snap: allow option descriptions to start with the command
  1538   - many: introduce a gadget helper for locating device matching given
  1539     structure
  1540   - cmd/snap-update-ns: fix golint complaints about variable names
  1541   - cmd/snap: unit tests for debug timings
  1542   - testutil: support sharing-related mount flags
  1543   - packaging/fedora: Merge changes from Fedora Dist-Git and drop EOL
  1544     Fedora releases
  1545   - cmd/snap: support for --ensure argument for snap debug timings
  1546   - cmd,sandbox: tweak seccomp version info handling
  1547   - gadget: record sector size in positioned volume
  1548   - tests: make create-user test support managed devices
  1549   - packaging: build empty package on powerpc
  1550   - overlord/snapstate: perform hard refresh check
  1551   - gadget: add volume level update checks
  1552   - cmd/snap: mangle descriptions that have indent > terminal width
  1553   - cmd/snap-update-ns: rename applyFstab to executeMountProfileUpdate
  1554   - cmd/snap-confine: unshare per-user mount ns once
  1555   - tests: retry govendor sync
  1556   - tests: avoid removing snaps which are cached to speed up the
  1557     prepare on boards
  1558   - tests: fix how the base snap are deleted when there are multiple
  1559     to deleted on reset
  1560   - cmd/snap-update-ns: merge apply functions
  1561   - many: introduce assertstest.SigningAccounts and AddMany test
  1562     helpers
  1563   - interfaces: special-case "snapd" in sanitizeSlotReservedForOS*
  1564     helpers
  1565   - cmd/snap-update-ns: make apply{User,System}Fstab identical
  1566   - gadget: introduce checkers for sanitizing structure updates
  1567   - cmd/snap-update-ns: move apply{Profile,{User,System}Fstab} to same
  1568     file
  1569   - overlord/devicestate: introduce registrationContext
  1570   - cmd/snap-update-ns: add no-op load/save current user profile logic
  1571   - devicestate: set "new-model" on the remodel change
  1572   - devicestate: use deviceCtx in checkGadgetOrKernel
  1573   - many: use a fake assertion model in the device contexts for tests
  1574   - gadget: fix handling of positioning constrains for structures of
  1575     MBR role
  1576   - snap-confine: improve error when running on a not /home homedir
  1577   - devicestate: make Remodel() return a state.Change
  1578   - many: make which store to use contextualThis reworks
  1579     snapstate.Store instead of relying solely on DeviceContext,
  1580     because:
  1581   - tests: enable tests on centos 7 again
  1582   - interfaces: add login-session-control interface
  1583   - tests: extra debug for snapshot-basic test
  1584   - overlord,overlord/devicestate: do without GadgetInfo/KernelInfo in
  1585     devicestate
  1586   - gadget: more validation checks for legacy MBR structure type &
  1587     role
  1588   - osutil: fix TestReadBuildGo test in sbuild
  1589   - data: update XDG_DATA_DIRS via the systemd environment.d mechanism
  1590     too
  1591   - many: do without device state/assertions accessors based on state
  1592     only outside of devicestate/tests
  1593   - interfaces/dbus: fix unit tests when default snap mount dir is not
  1594     /snap
  1595   - tests: add security-seccomp to verify seccomp with arg filtering
  1596   - snapshotstate: disable automatic snapshots on core for now
  1597   - snapstate: auto-install snapd when needed
  1598   - overlord/ifacestate: update static attributes of "content"
  1599     interface
  1600   - interfaces: add support for the snapd snap in the dbus backend*
  1601   - overlord/snapstate: tweak autorefresh logic if network is not
  1602     available
  1603   - snapcraft: also include ld.so.conf from libc in the snapcraft.yml
  1604   - snapcraft.yaml: fix links ld-linux-x86-64.so.2/ld64.so.2
  1605   - overlord: pass a DeviceContext to the checkSnap implementations
  1606   - daemon: add RootOnly flag to commands
  1607   - many:  make access to the device model assertion etc contextual
  1608     via a DeviceCtx hook/DeviceContext interface
  1609   - snapcraft.yaml: include libc6 in snapd
  1610   - tests: reduce snapcraft leftovers from PROJECT_PATH,  temp disable
  1611     centos
  1612   - overlord: make the store context composably backed by separate
  1613     backends for device asserts/info etc.
  1614   - snapstate: revert "overlord/snapstate: remove PlugsOnly"
  1615   - osutil,cmdutil: move CommandFromCore and make it use the snapd
  1616     snap (if available)
  1617   - travis: bump Go version to 1.10.x
  1618   - cmd/snap-update-ns: remove instanceName argument from applyProfile
  1619   - gadget: embed volume in positioned volume, rename fields
  1620   - osutil: use go build-id when no gnu build-id is available
  1621   - snap-seccomp: add 4th field to version-info for golang-seccomp
  1622     features
  1623   - cmd/snap-update-ns: merge computeAndSaveSystemChanges into
  1624     applySystemFstab
  1625   - cmd/snap, client, daemon, store: create-cohort
  1626   - tests: give more time until nc returns on appstream test
  1627   - tests: run spread tests on ubuntu 19.04
  1628   - gadget: layout, smaller fixes
  1629   - overlord: update static attrs when reloading connections
  1630   - daemon: verify snap instructions for multi-snap requests
  1631   - overlord/corecfg: make expiration of automatic snapshots
  1632     configurable (4/4)
  1633   - cmd/snap-update-ns: pass MountProfileUpdate to
  1634     apply{System,User}Fstab
  1635   - snap: fix interface bindings on implicit hooks
  1636   - tests: improve how snaps are cached
  1637   - cmd/snap-update-ns: formatting tweaks
  1638   - data/selinux: policy tweaks
  1639   - cmd/snap-update-ns: move locking to the common layer
  1640   - overlord: use private YAML inside several tests
  1641   - cmd/snap, store, image: support for cohorts in "snap download"
  1642   - overlord/snapstate: add timings to critical task handlers and the
  1643     backend
  1644   - cmd: add `snap debug validate-seed <path>` cmd
  1645   - state: add possible error return to TaskSet.Edge()
  1646   - snap-seccomp: use username regex as defined in osutil/user.go
  1647   - osutil: make IsValidUsername public and fix regex
  1648   - store: serialize the acquisition of device sessions
  1649   - interfaces/builtin/desktop: fonconfig v6/v7 cache handling on
  1650     Fedora
  1651   - many: move Device/SetDevice to devicestate, start of making them
  1652     pluggable in storecontext
  1653   - overlord/snapstate: remove PlugsOnly
  1654   - interfaces/apparmor: allow running /usr/bin/od
  1655   - spread: add qemu:fedora-29-64
  1656   - tests: make test parallel-install-interfaces work for boards with
  1657     pre-installed snaps
  1658   - interfaces/builtin/intel_mei: fix /dev/mei* AppArmor pattern
  1659   - spread.yaml: add qemu:centos-7-64
  1660   - overlord/devicestate: extra measurements related to
  1661     populateStateFromSeed
  1662   - cmd/snap-update-ns: move Assumption to {System,User}ProfileUpdate
  1663   - cmd/libsnap: remove fringe error function
  1664   - gadget: add validation of cross structure overlap and offset
  1665     writes
  1666   - cmd/snap-update-ns: refactor of profile application (3/N)
  1667   - data/selinux: tweak the policy for runuser and s-c, interpret
  1668     audit entries
  1669   - tests: fix spaces issue in the base snaps names to remove during
  1670     reset phase
  1671   - tests: wait for man db cache is updated before after install snapd
  1672     on Fedora
  1673   - tests: extend timeout of sbuild test
  1674  
  1675  * Fri Jun 21 2019 Michael Vogt <mvo@ubuntu.com>
  1676  - New upstream release 2.39.3
  1677    - daemon: increase `shutdownTimeout` to 25s to deal with slow HW
  1678    - spread: run tests against openSUSE 15.1
  1679    - data/selinux: fix policy for snaps with bases and classic snaps
  1680  
  1681  * Wed Jun 05 2019 Michael Vogt <mvo@ubuntu.com>
  1682  - New upstream release 2.39.2
  1683   - debian: rework how we run autopkgtests
  1684   - interfaces/docker-support: add overlayfs accesses for ubuntu core
  1685   - data/selinux: permit init_t to remount snappy_snap_t
  1686   - strutil/shlex: fix ineffassign
  1687   - packaging: fix build-depends on powerpc
  1688  
  1689  * Wed May 29 2019 Michael Vogt <mvo@ubuntu.com>
  1690  - New upstream release 2.39.1
  1691   - spread: enable Fedora 30
  1692   - cmd/snap-confine, data/selinux: cherry pick Fedora 30 fixes
  1693   - tests/unit/spread-shellcheck: temporary workaround for SC2251
  1694   - packaging: build empty package on powerpc
  1695   - interfaces: special-case "snapd" in sanitizeSlotReservedForOS*
  1696     helper
  1697   - cmd/snap: mangle descriptions that have indent > terminal width
  1698   - cmd/snap-confine: unshare per-user mount ns once
  1699   - tests: avoid adding spaces to the base snaps names
  1700   - systemd: workaround systemctl show quirks on older systemd
  1701     versions
  1702  
  1703  * Mon May 06 2019 Neal Gompa <ngompa13@gmail.com> - 2.39-1
  1704  - Release 2.39 to Fedora (RH#1699087)
  1705  - Enable basic SELinux integration
  1706  - Fix changelog entry to fix build for EPEL 7
  1707  - Exclude bash and POSIX sh shebangs from mangling (LP:1824158)
  1708  - Drop some old pre Fedora 28 logic
  1709  
  1710  * Fri May 03 2019 Michael Vogt <mvo@ubuntu.com>
  1711  - New upstream release 2.39
  1712   - overlord/ifacestate: update static attributes of "content"
  1713     interface
  1714   - data/selinux: tweak the policy for runuser and s-c, interpret
  1715     audit entries
  1716   - snapshotstate: disable automatic snapshots on core for now
  1717   - overlord/corecfg: make expiration of automatic snapshots
  1718     configurable
  1719   - snapstate: auto-install snapd when needed
  1720   - interfaces: add support for the snapd snap in the dbus backend
  1721   - overlord/snapstate: tweak autorefresh logic if network is not
  1722     available
  1723   - interfaces/apparmor: allow running /usr/bin/od
  1724   - osutil,cmdutil: move CommandFromCore and make it use the snapd
  1725     snap (if available)
  1726   - daemon: also verify snap instructions for multi-snap requests
  1727   - data/selinux: allow snap-confine to mount on top of bin
  1728   - data/selinux: auto transition /var/snap to snappy_var_t
  1729   - cmd: add `snap debug validate-seed <path>` cmd
  1730   - interfaces/builtin/desktop: fonconfig v6/v7 cache handling on
  1731     Fedora
  1732   - interfaces/builtin/intel_mei: fix /dev/mei* AppArmor pattern
  1733   - tests: make snap-connections test work on boards with snaps pre-
  1734     installed
  1735   - tests: check for /snap/core16/current in core16-provided-by-core
  1736   - tests: run livepatch test on 18.04 as well
  1737   - devicestate: deal correctly with the "required" flag on Remodel
  1738   - snapstate,state: add TaskSet.AddAllWithEdges() and use in doUpdate
  1739   - snapstate: add new NoReRefresh flag and use in Remodel()
  1740   - many: allow core as a fallback for core16
  1741   - snapcraft: build static fontconfig in the snapd snap
  1742   - cmd/snap-confine: remove unused sc_open_snap_{update,discard}_ns
  1743   - data/selinux: allow snapd to execute runuser under snappy_t
  1744   - spread, tests: do not leave mislabeled files in restorecon test,
  1745     attempt to catch similar files
  1746   - interfaces: cleanup internal tool lookup in system-key
  1747   - many: move auth.AuthContext to store.DeviceAndAuthContext, the
  1748     implemention to a separate storecontext packageThis:
  1749   - overlord/devicestate: measurements around ensure and related tasks
  1750   - cmd: tweak internal tool lookup to accept more possible locations
  1751   - overlord/snapstate,snapshotstate: create snapshot on snap removal
  1752   - tests: run smoke tests on (almost) pristine systems
  1753   - tests: system disable ssh for config defaults in gadget
  1754   - cmd/debug: integrate new task timings with "snap debug timings"
  1755   - tests/upgrade/basic, packaging/fedoar: restore SELinux context of
  1756     /var/cache/fontconfig, patch pre-2.39 mount units
  1757   - image: simplify prefer local logic  and fixes
  1758   - tests/main/selinux-lxd: make sure LXD from snaps works cleanly
  1759     with enforcing SELinux
  1760   - tests: deny ioctl - TIOCSTI with garbage in high bits
  1761   - overlord: factor out mocking of device service and gadget w.
  1762     prepare-device for registration tests
  1763   - data/selinux, tests/main/selinux-clean: fine tune the policy, make
  1764     sure that no denials are raised
  1765   - cmd/libsnap,osutil: fix parsing of mountinfo
  1766   - ubuntu: disable -buildmode=pie on armhf to fix memory issue
  1767   - overlord/snapstate: inhibit refresh for up to a week
  1768   - cmd/snap-confine: prevent cwd restore permission bypass
  1769   - overlord/ifacestate: introduce HotplugKey type use short key in
  1770     change summaries
  1771   - many: make Remodel() download everything first before installing
  1772   - tests: fixes discovered debugging refresh-app-awareness
  1773   - overlord/snapstate: track time of postponed refreshes
  1774   - snap-confine: set rootfs_dir in sc_invocation struct
  1775   - tests: run create-user on core devices
  1776   - boot: add flag file "meta/force-kernel-extraction"
  1777   - tests: add regression test for systemctl race fix
  1778   - overlord/snapshotstate: helpers for snapshot expirations
  1779   - overlord,tests: perform soft refresh check in doInstall
  1780   - tests: enable tests that write /etc/{hostname,timezone} on core18
  1781   - overlord/ifacestate: implement String() method of
  1782     HotplugDeviceInfo for better logs/messages
  1783   - cmd/snap-confine: move ubuntu-core fallback checks
  1784   - testutil: fix MockCmd for shellcheck 0.5
  1785   - snap, gadget: move gadget read/validation into separate package,
  1786     tweak naming
  1787   - tests: split travis spread execution in 2 jobs for ubuntu and non
  1788     ubuntu systems
  1789   - testutil: make mocked command work with shellcheck from snaps
  1790   - packaging/fedora, tests/upgrade/basic: patch existing mount units
  1791     with SELinux context on upgrade
  1792   - metautil, snap: extract yaml value normalization to a helper
  1793     package
  1794   - tests: use apt via eatmydata
  1795   - dirs,overlord/snapstate: add Soft and Hard refresh checks
  1796   - cmd/snap-confine: allow using tools from snapd snap
  1797   - cmd,interfaces: replace local helpers with cmd.InternalToolPath
  1798   - tweak: fix "make hack" on Fedora
  1799   - snap: add validation of gadget.yaml
  1800   - cmd/snap-update-ns: refactor of profile application
  1801   - cmd/snap,client,daemon,store: layout and sanity tweaks for
  1802     find/search options
  1803   - tests: add workaround for missing cache reset on older snapd
  1804   - interfaces: deal with the snapd snap correctly for apparmor 2.13
  1805   - release-tools: add debian-package-builder
  1806   - tests: enable opensuse 15 and add force-resolution installing
  1807     packages
  1808   - timings: AddTag helper
  1809   - testutil: run mocked commands through shellcheck
  1810   - overlord/snapshotstate: support auto flag
  1811   - client, daemon, store: search by common-id
  1812   - tests: all the systems for google backend with 6 workers
  1813   - interfaces: hotplug nested vm test, updated serial-port interface
  1814     for hotplug.
  1815   - sanity: use proper SELinux context when mounting squashfs
  1816   - cmd/libsnap: neuter variables in cleanup functions
  1817   - interfaces/adb-support: account for hubs on sysfs path
  1818   - interfaces/seccomp: regenerate changed profiles only
  1819   - snap: reject layouts to /lib/{firmware,modules}
  1820   - cmd/snap-confine, packaging: support SELinux
  1821   - selinux, systemd: support mount contexts for snap images
  1822   - interfaces/builtin/opengl: allow access to Tegra X1
  1823   - cmd/snap: make 'snap warnings' output yamlish
  1824   - tests: add check to detect a broken snap on reset
  1825   - interfaces: add one-plus devices to adb-support
  1826   - cmd: prevent umask from breaking snap-run chain
  1827   - tests/lib/pkgdb: allow downgrade when installing packages in
  1828     openSUSE
  1829   - cmd/snap-confine: use fixed private tmp directory
  1830   - snap: tweak parsing errors of gadget updates
  1831   - overlord/ifacemgr: basic measurements
  1832   - spread: refresh metadata on openSUSE
  1833   - cmd/snap-confine: pass sc_invocation instead of numerous args
  1834     around
  1835   - snap/gadget: introduce volume update info
  1836   - partition,bootloader: rename 'partition' package to 'bootloader'
  1837   - interfaces/builtin: add dev/pts/ptmx access to docker_support
  1838   - tests: restore sbuild test
  1839   - strutil: make SplitUnit public, allow negative numbers
  1840   - overlord/snapstate,: retry less for auto-stuff
  1841   - interfaces/builtin: add add exec "/" to docker-support
  1842   - cmd/snap: fix regression of snap saved command
  1843   - cmd/libsnap: rename C enum for feature flag
  1844   - cmd: typedef mountinfo structures
  1845   - tests/main/remodel: clean up before reverting the state
  1846   - cmd/snap-confine: umount scratch dir using UMOUNT_NOFOLLOW
  1847   - timings: add new helpers, Measurer interface and DurationThreshold
  1848   - cmd/snap-seccomp: version-info subcommand
  1849   - errortracker: fix panic in Report if db cannot be opened
  1850   - sandbox/seccomp: a helper package wrapping calls to snap-seccomp
  1851   - many: add /v2/model API, `snap remodel` CLI and spread test
  1852   - tests: enable opensuse tumbleweed back
  1853   - overlord/snapstate, store: set a header when auto-refreshing
  1854   - data/selinux, tests: refactor SELinux policy, add minimal tests
  1855   - spread: restore SELinux context when we mess with system files
  1856   - daemon/api: filter connections with hotplug-gone=true
  1857   - daemon: support returning assertion information as JSON with the
  1858     "json" query parameter
  1859   - cmd/snap: hide 'interfaces' command, show deprecation notice
  1860   - timings: base API for recording timings in state
  1861   - cmd/snap-confine: drop unused dependency on libseccomp
  1862   - interfaces/apparmor: factor out test boilerplate
  1863   - daemon: extract assertions api endpoint implementation into
  1864     api_asserts.go
  1865   - spread.yaml: bump delta reference
  1866   - cmd/snap-confine: track per-app and per-hook processes
  1867   - cmd/snap-confine: make sc_args helpers const-correct
  1868   - daemon: move a function that was between an other struct and its
  1869     methods
  1870   - overlord/snapstate: fix restoring of "old-current" revision config
  1871     in undoLinkSnap
  1872   - cmd/snap, client, daemon, ifacestate: show a leading attribute of
  1873     a connection
  1874   - cmd/snap-confine: call sc_should_use_normal_mode once
  1875   - cmd/snap-confine: populate enter_non_classic_execution_environment
  1876   - daemon: allow downloading snaps blobs via .../file
  1877   - cmd/snap-confine: introduce sc_invocation
  1878   - devicestate: add initial Remodel support
  1879   - snap: remove obsolete license-* fields in the yaml
  1880   - cmd/libsnap: add cgroup-pids-support module
  1881   - overlord/snapstate/backend: make LinkSnap clean up more
  1882   - snapstate: only keep 2 snaps on classic
  1883   - ctlcmd/tests: tests tweaks (followup to #6322)
  1884  
  1885  * Tue Apr 23 2019 Robert-André Mauchin <zebob.m@gmail.com> - 2.38-3
  1886  - Rebuilt for fix in golang-github-seccomp-libseccomp-golang
  1887  
  1888  * Fri Apr 05 2019 Neal Gompa <ngompa13@gmail.com> - 2.38-2
  1889  - Readd snapd-login-service Provides for gnome-software for F29 and older
  1890  
  1891  * Thu Mar 21 2019 Neal Gompa <ngompa13@gmail.com> - 2.38-1
  1892  - Release 2.38 to Fedora (RH#1691296)
  1893  - Switch to officially released main source tarball
  1894  - Drop obsolete snapd-login-service Provides
  1895  
  1896  * Thu Mar 21 2019 Michael Vogt <mvo@ubuntu.com>
  1897  - New upstream release 2.38
  1898   - overlord/snapstate,: retry less for auto-stuff
  1899   - cmd/snap: fix regression of snap saved command
  1900   - interfaces/builtin: add dev/pts/ptmx access to docker_support
  1901   - overlord/snapstate, store: set a header when auto-refreshing
  1902   - interfaces/builtin: add add exec "/" to docker-support
  1903   - cmd/snap, client, daemon, ifacestate: show a leading attribute of
  1904     a connection
  1905   - interface: avahi-observe: Fixing socket permissions on 4.15
  1906     kernels
  1907   - tests: check that apt works before using it
  1908   - apparmor: support AppArmor 2.13
  1909   - snapstate: restart into the snapd snap on classic
  1910   - overlord/snapstate: during refresh, re-refresh on epoch bump
  1911   - cmd, daemon: split out the common bits of mapLocal and mapRemote
  1912   - cmd/snap-confine: chown private /tmp to root.root
  1913   - cmd/snap-confine: drop uid from random /tmp name
  1914   - overlord/hookstate: apply pending transaction changes onto
  1915     temporary configuration for snapctl get
  1916   - cmd/snap: `snap connections` command
  1917   - interfaces/greengrass_support: update accesses for GGC 1.8
  1918   - cmd/snap, daemon: make the connectivity check use GET
  1919   - interfaces/builtin,/udev: add spec support to disable udev +
  1920     device cgroup and use it for greengrass
  1921   - interfaces/intel-mei: small follow up tweaks
  1922   - ifacestate/tests: fix/improve udev mon test
  1923   - interfaces: add multipass-support interface
  1924   - tests/main/high-user-handling: fix the test for Go 1.12
  1925   - interfaces: add new intel-mei interface
  1926   - systemd: decrease the checker counter before unlocking otherwise
  1927     we can get spurious panics
  1928   - daemon/tests: fix race in the disconnect conflict test
  1929   - cmd/snap-confine: allow moving tasks to pids cgroup
  1930   - tests: enable opensuse tumbleweed on spread
  1931   - cmd/snap: fix `snap services` completion
  1932   - ifacestate/hotplug: integration with udev monitor
  1933   - packaging: build snapctl as a static binary
  1934   - packaging/opensuse: move most logic to snapd.mk
  1935   - overlord: fix ensure before slowness on Retry
  1936   - overlord/ifacestate: fix migration of connections on upgrade from
  1937     ubuntu-core
  1938   - daemon, client, cmd/snap: debug GETs ask aspects, not actions
  1939   - tests/main/desktop-portal-*: fix handling of python dependencies
  1940   - interfaces/wayland: allow wayland server snaps function on classic
  1941     too
  1942   - daemon, client, cmd/snap: snap debug base-declaration
  1943   - tests: run tests on opensuse leap 15.0 instead of 42.3
  1944   - cmd/snap: fix error messages for snapshots commands if ID is not
  1945     uint
  1946   - interfaces/seccomp: increase filter precision
  1947   - interfaces/network-manager: no peer label check for hostname1
  1948   - tests: add a tests for xdg-desktop-portal integration
  1949   - tests: not checking 'tracking channel' after refresh core on
  1950     nested execution
  1951   - tests: remove snapweb from tests
  1952   - snap, wrappers: support StartTimeout
  1953   - wrappers: Add an X-SnapInstanceName field to desktop files
  1954   - cmd/snap: produce better output for help on subcommands
  1955   - tests/main/nfs-support: use archive mode for creating fstab backup
  1956   - many: collect time each task runs and display it with `snap debug
  1957     timings <id>`
  1958   - tests: add attribution to helper script
  1959   - daemon: make ucrednetGet not loop
  1960   - squashfs: unset SOURCE_DATE_EPOCH in the TestBuildDate test
  1961   - features,cmd/libsnap: add new feature "refresh-app-awareness"
  1962   - overlord: fix random typos
  1963   - interfaces/seccomp: generate global seccomp profile
  1964   - daemon/api: fix error case for disconnect conflict
  1965   - overlord/snapstate: add some randomness to the catalog refresh
  1966   - tests: disable trusty-proposed for now
  1967   - tests: fix upgrade-from-2.15 with kernel 4.15
  1968   - interfaces/apparmor: allow sending and receiving signals from
  1969     ourselves
  1970   - tests: split the test interfaces-many in 2 and remove snaps on
  1971     restore
  1972   - tests: use snap which takes 15 seconds to install on retryable-
  1973     error test
  1974   - packaging: avoid race in snapd.postinst
  1975   - overlord/snapstate: discard mount namespace when undoing 1st link
  1976     snap
  1977   - cmd/snap-confine: allow writes to /var/lib/**
  1978   - tests: stop catalog-update test for now
  1979   - tests/main/auto-refresh-private: make sure to actually download
  1980     with the expired macaroon
  1981   - many: save media info when installing, show it when listing
  1982   - userd: handle help urls which requires prepending XDG_DATA_DIRS
  1983   - tests: fix NFS home mocking
  1984   - tests: improve snaps-system-env test
  1985   - tests: pre-cache core on core18 systems
  1986   - interfaces/hotplug: renamed RequestedSlotSpec to ProposedSlot,
  1987     removed Specification
  1988   - debian: ensure leftover usr.lib.snapd.snap-confine is gone
  1989   - image,cmd/snap,tests: introduce support for modern prepare-image
  1990     --snap <snap>[=<channel>]
  1991   - overlord/ifacestate: tweak logic for generating unique slot names
  1992   - packaging: import debian salsa packaging work, add sbuild test and
  1993     use in spead
  1994   - overlord/ifacestate: hotplug-add-slot handler
  1995   - image,cmd/snap:  simplify --classic-arch to --arch, expose
  1996     prepare-image
  1997   - tests: run test snap as user in the smoke test
  1998   - cmd/snap: tweak man output to have no doubled up .TP lines
  1999   - cmd/snap, overlord/snapstate: silently ignore classic flag when a
  2000     snap is strictly confined
  2001   - snap-confine: remove special handling of /var/lib/jenkins
  2002   - cmd/snap-confine: handle death of helper process
  2003   - packaging: disable systemd environment generator on 18.04
  2004   - snap-confine: fix classic snaps for users with /var/lib/* homedirs
  2005   - tests/prepare: prevent console-conf from running
  2006   - image: bootstrapToRootDir => setupSeed
  2007   - image,cmd/snap,tests:  introduce prepare-image --classic
  2008   - tests: update smoke/sandbox test for armhf
  2009   - client, daemon: introduce helper for querying snapd API for the
  2010     list of slot/plug connections
  2011   - cmd/snap-confine: refactor and cleanup of seccomp loading
  2012   - snapstate, snap: allow update/switch requests with risk only
  2013     channel to DTRT
  2014   - interfaces: add network-manager-observe interface
  2015   - snap-confine: increase locking timeout to 30s
  2016   - snap-confine: fix incorrect "sanity timeout 3s" message
  2017   - snap-confine: provide proper error message on sc_sanity_timeout
  2018   - snapd,state: improve error message on state reading failure
  2019   - interfaces/apparmor: deny inet/inet6 in snap-update-ns profile
  2020   - snap: fix reexec from the snapd snap for classic snaps
  2021   - snap: fix hook autodiscovery for parallel installed snaps
  2022   - overlord/snapstate: format the refresh time for the log
  2023   - cmd/snap-confine: add special case for Jenkins
  2024   - snapcraft.yaml: fix XBuildDeb PATH for go-1.10
  2025   - overlord/snapstate: validate instance names early
  2026   - overlord/ifacestate: handler for hotplug-update-slot tasks
  2027   - polkit: cast pid to uint32 to keep polkit happy for now
  2028   - snap/naming: move various name validation helpers to separate
  2029     package
  2030   - tests: iterate getting journal logs to support delay on boards on
  2031     daemon-notify test
  2032   - cmd/snap: fix typo in cmd_wait.go
  2033   - snap/channel: improve channel parsing
  2034   - daemon, polkit: pid_t is signed
  2035   - daemon: introduce /v2/connections snapd API endpoint
  2036   - cmd/snap: small refactor of cmd_info's channel handling
  2037   - overlord/snapstate: use an ad-hoc error when no results
  2038   - cmd/snap: wrap "summary" better
  2039   - tests: workaround missing go dependencies in debian-9
  2040   - daemon: try to tidy up the icon stuff a little
  2041   - interfaces: add display-control interface
  2042   - snapcraft.yaml: fix snap building in launchpad
  2043   - tests: update fedora 29 workers to speed up the whole testing time
  2044   - interfaces: add u2f-devices interface and allow reading udev
  2045     +power_supply:* in hardware-observe
  2046   - cmd/snap-update-ns: save errno from strtoul
  2047   - tests: interfaces tests normalization
  2048   - many: cleanup golang.org/x/net/context
  2049   - tests: add spread test for system dbus interface
  2050   - tests: remove -o pipefail
  2051   - interfaces: add block-devices interface
  2052   - spread: enable upgrade suite on fedora
  2053   - tests/main/searching: video section got renamed to photo-and-video
  2054   - interfaces/home: use dac_read_search instead of dac_override with
  2055     'read: all'
  2056   - snap: really run the RunSuite
  2057   - interfaces/camera: allow reading vendor/etc info from
  2058     /run/udev/data/+usb:*
  2059   - interfaces/dbus: be less strict about alternations for well-known
  2060     names
  2061   - interfaces/home: allow dac_override with 'read:
  2062     all'
  2063   - interfaces/pulseaudio: allow reading subdirectories of
  2064     /etc/pulse
  2065   - interfaces/system-observe: allow read on
  2066     /proc/locks
  2067   - run-checks: ensure we use go-1.10 if available
  2068   - tests: get test-snapd-dbus-{provider,consumer} from the beta
  2069     channel
  2070   - interfaces/apparmor: mock presence of overlayfs root
  2071   - spread: increase default kill-timeout to 30min
  2072   - tests: simplify interfaces-contacts-service test
  2073   - packaging/ubuntu: build with golang 1.10
  2074   - ifacestate/tests: extra test for hotplug-connect handler
  2075   - packaging: make sure that /var/lib/snapd/lib/glvnd is accounted
  2076     for
  2077   - overlord/snapstate/backend: call fontconfig helpers from the new
  2078     'current'
  2079   - kvm: load required kernel modules if necessary
  2080   - cmd/snap: use a fake user for 'run' tests
  2081   - tests: update systems for google sru backend
  2082   - tests: fix install-snaps test by changing the snap info regex
  2083   - interfaces: helpers for sorting plug/slot/connection refs
  2084   - tests: moving core-snap-refresh-on-core test from main to nested
  2085     suite
  2086   - tests: fix daemon-notify test checking denials considering all the
  2087     log lines
  2088   - tests: skip lp-1802591 on "official" images
  2089   - tests: fix listing tests to match "snap list --unicode=never"
  2090   - debian: fix silly typo in the spread test invocation
  2091   - interface: raw-usb: Adding ttyACM ttyACA permissions
  2092   - tests: fix enable-disable-unit-gpio test on external boards
  2093   - overlord/ifacestate: helper API to obtain the state of connections
  2094   - tests: define new "tests/smoke" suite and use that for
  2095     autopkgtests
  2096   - cmd/snap-update-ns: explicitly check for return value from
  2097     parse_arg_u
  2098   - interfaces/builtin/opengl: allow access to NVIDIA VDPAU library
  2099   - tests: auto-clean the test directory
  2100   - cmd/snap: further tweak messaging; add a test
  2101   - overlord/ifacestate: handler for hotplug-connect task
  2102   - cmd/snap-confine: join freezer only after setting up user mount
  2103   - cmd/snap-confine: don't preemptively create .mnt files
  2104   - cmd/snap-update-ns: manually implement isspace
  2105   - cmd/snap-update-ns: let the go parser know we are parsing -u
  2106   - cmd/snap-discard-ns: fix name of user fstab files
  2107   - snapshotstate: don't task.Log without the lock
  2108   - tests: exclude some more slow tests from runs in autopkgtest
  2109   - many: remove .user-fstab files from /run/snapd/ns
  2110   - cmd/libsnap: pass --from-snap-confine when calling snap-update-ns
  2111     as user
  2112   - cmd/snap-update-ns: make freezer mockable
  2113   - cmd/snap-update-ns: move XDG code to dedicated file
  2114   - osutil: add helper for loading fstab from string
  2115   - cmd/snap-update-ns: move existing code around, renaming some
  2116     functions
  2117   - overlord/configstate/configcore: support - and _ in cloud init
  2118     field names
  2119   - * cmd/snap-confine: use makedev instead of MKDEV
  2120   - tests: review/fix the autopkgtest failures in disco
  2121   - overlord: drop old v1 store api support from managers test
  2122   - tests: new test for snapshots with more than 1 user
  2123  
  2124  * Thu Feb 28 2019 Neal Gompa <ngompa13@gmail.com> - 2.37.4-2
  2125  - Fix accidentally corrupted changelog merge
  2126  
  2127  * Thu Feb 28 2019 Zygmunt Bazyli Krynicki <me@zygoon.pl> - 2.37.4-1
  2128  - Release 2.37.4 to Fedora (RH#1683795)
  2129  - Fix RPM macro in changelog (rpmlint)
  2130  - Fix non-break space in changelog (rpmlint)
  2131  
  2132  * Wed Feb 27 2019 Michael Vogt <mvo@ubuntu.com>
  2133  - New upstream release 2.37.4
  2134   - squashfs: unset SOURCE_DATE_EPOCH in the TestBuildDate test
  2135   - overlord/ifacestate: fix migration of connections on upgrade from
  2136     ubuntu-core
  2137   - tests: fix upgrade-from-2.15 with kernel 4.15
  2138   - interfaces/seccomp: increase filter precision
  2139   - tests: remove snapweb from tests
  2140  
  2141  * Tue Feb 19 2019 Zygmunt Bazyli Krynicki <me@zygoon.pl> - 2.37.3-1
  2142  - Release 2.37.3 to Fedora (RH#1678603)
  2143  
  2144  * Mon Feb 18 2019 Michael Vogt <mvo@ubuntu.com>
  2145  - New upstream release 2.37.3
  2146   - interfaces/seccomp: generate global seccomp profile
  2147   - overlord/snapstate: add some randomness to the catalog refresh
  2148   - tests: add upgrade test from 2.15.2ubuntu1 -> current snapd
  2149   - snap-confine: fix fallback to ubuntu-core
  2150   - packaging: avoid race in snapd.postinst
  2151   - overlord/snapstate: discard mount namespace when undoing 1st link
  2152     snap
  2153   - cmd/snap-confine: allow writes to /var/lib/** again
  2154   - tests: stop catalog-update/apt-hooks test until the catlog refresh
  2155     is randomized
  2156   - debian: ensure leftover usr.lib.snapd.snap-confine is gone
  2157  
  2158  * Wed Feb 06 2019 Neal Gompa <ngompa13@gmail.com> - 2.37.2-1
  2159  - Release 2.37.2 to Fedora (RH#1667460)
  2160  
  2161  * Wed Feb 06 2019 Michael Vogt <mvo@ubuntu.com>
  2162  - New upstream release 2.37.2
  2163   - cmd/snap, overlord/snapstate: silently ignore classic flag when a
  2164     snap is strictly confined
  2165   - snap-confine: remove special handling of /var/lib/jenkins
  2166   - cmd/snap-confine: handle death of helper process gracefully
  2167   - snap-confine: fix classic snaps for users with /var/lib/* homedirs
  2168     like jenkins/postgres
  2169   - packaging: disable systemd environment generator on 18.04
  2170   - tests: update smoke/sandbox test for armhf
  2171   - cmd/snap-confine: refactor and cleanup of seccomp loading
  2172   - snap-confine: increase locking timeout to 30s
  2173   - snap-confine: fix incorrect "sanity timeout 3s" message
  2174   - snap: fix hook autodiscovery for parallel installed snaps
  2175   - tests: iterate getting journal logs to support delay on boards on
  2176     daemon-notify test
  2177   - interfaces/apparmor: deny inet/inet6 in snap-update-ns profile
  2178   - interfaces: add u2f-devices interface
  2179  
  2180  * Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.36.3-2
  2181  - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
  2182  
  2183  * Tue Jan 29 2019 Michael Vogt <mvo@ubuntu.com>
  2184  - New upstream release 2.37.1
  2185   - cmd/snap-confine: add special case for Jenkins
  2186   - tests: workaround missing go dependencies in debian-9
  2187   - daemon, polkit: pid_t is signed
  2188   - interfaces: add display-control interface
  2189   - interfaces: add block-devices interface
  2190   - tests/main/searching: video section got renamed to photo-and-video
  2191   - interfaces/camera: allow reading vendor/etc info from
  2192     /run/udev/data/+usb
  2193   - interfaces/dbus: be less strict about alternations for well-known
  2194     names
  2195   - interfaces/home: allow dac_read_search with 'read: all'
  2196   - interfaces/pulseaudio: allow reading subdirectories of
  2197     /etc/pulse
  2198   - interfaces/system-observe: allow read on
  2199     /proc/locks
  2200   - tests: get test-snapd-dbus-{provider,consumer} from the beta
  2201     channel
  2202   - interfaces/apparmor: mock presence of overlayfs root
  2203   - packaging/{fedora,opensuse,ubuntu}: add /var/lib/snapd/lib/glvnd
  2204  
  2205  * Wed Jan 16 2019 Michael Vogt <mvo@ubuntu.com>
  2206  - New upstream release 2.37
  2207   - snapd: fix race in TestSanityFailGoesIntoDegradedMode test
  2208   - cmd: fix snap-device-helper to deal correctly with hooks
  2209   - tests: various fixes for external backend
  2210   - interface: raw-usb: Adding ttyACM[0-9]* as many serial devices
  2211     have device node /dev/ttyACM[0-9]
  2212   - tests: fix enable-disable-unit-gpio test on external boards
  2213   - tests: define new "tests/smoke" suite and use that for
  2214     autopkgtests
  2215   - interfaces/builtin/opengl: allow access to NVIDIA VDPAU
  2216     library
  2217   - snapshotstate: don't task.Log without the lock
  2218   - overlord/configstate/configcore: support - and _ in cloud init
  2219     field names
  2220   - cmd/snap-confine: use makedev instead of MKDEV
  2221   - tests: review/fix the autopkgtest failures in disco
  2222   - systemd: allow only a single daemon-reload at the same time
  2223   - cmd/snap: only auto-enable unicode to a tty
  2224   - cmd/snap: right-align revision and size in info's channel map
  2225   - dirs, interfaces/builtin/desktop: system fontconfig cache path is
  2226     different on Fedora
  2227   - tests: fix "No space left on device" issue on amazon-linux
  2228   - store: undo workaround for timezone-less released-at
  2229   - store, snap, cmd/snap: channels have released-at
  2230   - snap-confine: fix incorrect use "src" var in mount-support.c
  2231   - release: support probing SELinux state
  2232   - release-tools: display self-help
  2233   - interface: add new `{personal,system}-files` interface
  2234   - snap: give Epoch an Equal method
  2235   - many: remove unused interface code
  2236   - interfaces/many: use 'unsafe' with docker-support change_profile
  2237     rules
  2238   - run-checks: stop running HEAD of staticcheck
  2239   - release: use sync.Once around lazy intialized state
  2240   - overlord/ifacestate: include interface name in the hotplug-
  2241     disconnect task summary
  2242   - spread: show free space in debug output
  2243   - cmd/snap: attempt to restore SELinux context of snap user
  2244     directories
  2245   - image: do not write empty etc/cloud
  2246   - tests: skip snapd snap on reset for core systems
  2247   - cmd/snap-discard-ns: fix umount(2) typo
  2248   - overlord/ifacestate: hotplug-remove-slot task handler
  2249   - overlord/ifacestate: handler for hotplug-disconnect task
  2250   - ifacestate/hotplug: updateDevice helper
  2251   - tests: reset snapd state on tests restore
  2252   - interfaces: return security setup errors
  2253   - overlord: make InstallMany work like UpdateMany, issuing a single
  2254     request to get candidates
  2255   - systemd/systemd.go: add missing tests for systemd.IsActive
  2256   - overlord/ifacestate: addHotplugSeqWaitTask helper
  2257   - cmd/snap-confine: refactor call to snap-update-ns --user-mounts
  2258   - tests: new backend used to run upgrade test suite
  2259   - travis: short circuit failures in static and unit tests travis job
  2260   - cmd: automatically fix localized <option>s to <option>
  2261   - overlord/configstate,features: expose features to snapd tools
  2262   - selinux: package to query SELinux status and verify/restore file
  2263     contexts
  2264   - wrappers: use new systemd.IsActive in core18 early boot
  2265   - cmd: add tests for lintArg and lintDesc
  2266   - httputil: retry on temporary net errors
  2267   - cmd/snap-confine: remove unused sc_discard_preserved_mount_ns
  2268   - wrappers: only restart service in core18 when they are active
  2269   - overlord/ifacestate: helpers for serializing hotplug changes
  2270   - packaging/{fedora,opensuse}: own /var/lib/snapd/cookie
  2271   - systemd: start snapd.autoimport.service in --no-block mode
  2272   - data/selinux: fix syntax error in definition of snappy_admin
  2273     interface
  2274   - snap/info: bind global plugs/slots to implicit hooks
  2275   - cmd/snap-confine: remove SC_NS_MNT_FILE
  2276   - spread: record each tests/upgrade job
  2277   - osutil: do not import dirs
  2278   - cmd/snap-confine: fix typo "a pipe"
  2279   - tests: make security-device-cgroups-{devmode,jailmode} work on arm
  2280     devices
  2281   - tests: force test-snapd-daemon-notify exit 0 when the interface is
  2282     not connected
  2283   - overlord/snapstate: run 'remove' hook before 'auto-disconnect'
  2284   - centos: enable SELinux support on CentOS 7
  2285   - apparmor: allow hard link to snap-specific semaphore files
  2286   - tests/lib/pkgdb: disable weak deps on Fedora
  2287   - release: detect too old apparmor_parser
  2288   - tests: improve how the log is checked to see if the system is
  2289     waiting for a reboot
  2290   - cmd, dirs, interfaces/apparmor: update distro identification to
  2291     support ID="archlinux"
  2292   - spread, tests: add Fedora 29
  2293   - cmd/snap-confine: refactor calling snapd tools into helper module
  2294   - apparmor: allow snap-update-ns access to common devices
  2295   - cmd/snap-confine: capture initialized per-user mount ns
  2296   - tests: reduce verbosity around package installation
  2297   - data: set KillMode=process for snapd
  2298   - cmd/snap: handle DNS error gracefully
  2299   - spread, tests: use checkpoints when dumping audit log
  2300   - tests/lib/prepare: make sure that SELinux context of repacked core
  2301     snap is controlled
  2302   - testutils: split checkers, tweak tests
  2303   - tests: fix for tests test-*-cgroup
  2304   - spread: show AVC audits when debugging, start auditd on Fedora
  2305   - spread: drop Fedora 27, add Fedora 29
  2306   - tests/lib/reset: restore context of removed snapd directories
  2307   - testutil: add File{Present,Absent} checkers
  2308   - snap: add new `snap run --trace-exec`
  2309   - tests: fix for failover test on how logs are checked
  2310   - snapctl: add "services"
  2311   - overlord/snapstate: use file timestamp to initialize timer
  2312   - cmd/libsnap: introduce and use sc_strdup
  2313   - interfaces: let NM access ifindex/ifupdown files
  2314   - overlord/snapstate: on refresh, check new rev can read current
  2315   - client, store: don't use store from client (use client from store)
  2316   - tests/main/parallel-install-store: verify installation of more
  2317     than one instance at a time
  2318   - overlord: don't write system key if security setup fails
  2319   - packaging/fedora/snapd.spec: fix bogus date in changelog
  2320   - snapstate: update fontconfig caches on install
  2321   - interfaces/apparmor/backend.go:411:38: regular expression does not
  2322     contain any meta characters (SA6004)
  2323   - asserts/header_checks.go:199:35: regular expression does not
  2324     contain any meta characters (SA6004)
  2325   - run staticcheck every time :-)
  2326   - tests/lib/systemd-escape/main.go:46:14: printf-style function with
  2327     dynamic first argument and no further arguments should use print-
  2328     style function instead (SA1006)
  2329   - tests/lib/fakestore/cmd/fakestore/cmd_run.go:66:15: the channel
  2330     used with signal.Notify should be buffered (SA1017)
  2331   - tests/lib/fakedevicesvc/main.go:55:15: the channel used with
  2332     signal.Notify should be buffered (SA1017)
  2333   - spdx/parser.go:30:1: only the first constant has an explicit type
  2334     (SA9004)
  2335   - overlord/snapstate/snapmgr.go:553:21: printf-style function with
  2336     dynamic first argument and no further arguments should use print-
  2337     style function instead (SA1006)
  2338   - overlord/patch/patch3.go:44:70: printf-style function with dynamic
  2339     first argument and no further arguments should use print-style
  2340     function instead (SA1006)
  2341   - cmd/snap/cmd_advise.go:200:2: empty branch (SA9003)
  2342   - osutil/udev/netlink/conn.go:120:5: ineffective break statement.
  2343     Did you mean to break out of the outer loop? (SA4011)
  2344   - daemon/api.go:992:22: printf-style function with dynamic first
  2345     argument and no further arguments should use print-style function
  2346     instead (SA1006)
  2347   - cmd/snapd/main.go:94:5: ineffective break statement. Did you mean
  2348     to break out of the outer loop? (SA4011)
  2349   - cmd/snap/cmd_userd.go:73:15: the channel used with signal.Notify
  2350     should be buffered (SA1017)
  2351   - cmd/snap/cmd_help.go:102:7: io.Writer.Write must not modify the
  2352     provided buffer, not even temporarily (SA1023)
  2353   - release: probe apparmor features lazily
  2354   - overlord,daemon: mock security backends for testing
  2355   - cmd/libsnap: move apparmor-support to libsnap
  2356   - cmd: drop cruft from snap-discard-ns build rules
  2357   - cmd/snap-confine: use snap-discard-ns ns to discard stale
  2358     namespaces
  2359   - cmd/snap-confine: handle mounted shared /run/snapd/ns
  2360   - many: fix composite literals with unkeyed fields
  2361   - dirs, wrappers, overlord/snapstate: make completion + bases work
  2362   - tests: revert "tests: restore in restore, not prepare"
  2363   - many: validate title
  2364   - snap: make description maximum in runes, not bytes
  2365   - tests: discard mount namespaces in reset.sh
  2366   - tests/lib: sync cla check back from snapcraft
  2367   - Revert "cmd/snap, tests/main/snap-info: highlight the current
  2368     channel"
  2369   - daemon: remove enableInternalInterfaceActions
  2370   - mkversion: use "test -n" rather than "! test -z"
  2371   - run-checks: assorted fixes
  2372   - tests: restore in restore, not in prepare
  2373   - cmd/snap: fix missing newline in "snap keys" error message
  2374   - snap: epoch lists must contain no duplicate entries
  2375   - interfaces/avahi_observe: Fix typo in comment
  2376   - tests: add SPREAD_JOB to the description of
  2377     systemd_create_and_start_unit
  2378   - daemon, vendor: bump github.com/coreos/go-systemd/activation,
  2379     handle API changes
  2380   - Revert "cmd/snap-confine: don't allow mapping lib{uuid,blkid}"
  2381   - packaging/fedora: use %%_sysctldir macro
  2382   - cmd/snap-confine: remove unneeded unshare
  2383   - sanity: extend the kernel version check to cover CentOS/RHEL
  2384     kernels
  2385   - wrappers: remove all desktop files from a snap on removal
  2386   - snap: add an explicit check for `epoch: null` loading
  2387   - snap: check max description length in validate
  2388   - spread, tests: add CentOS support
  2389   - cmd/snap-confine: allow mapping more libc shards
  2390   - cmd/snap-discard-ns: add support for --from-snap-confine
  2391   - tests: make tinyproxy support systemd notify
  2392   - tests: fix shellcheck
  2393   - snap, store: rename `snap.Epoch`'s `Unset` to `IsZero`
  2394   - store: add a test for a non-zero epoch refresh (with epoch bump)
  2395   - store: v1 search doesn't send epoch, stop pretending it does
  2396   - snap: make any "0" epoch be Unset, and marshalled to {[0],[0]}
  2397   - overlord/snapstate: amend test should send local revision
  2398   - tests: use mock-gpio.py in enable-disable-units-gpio test
  2399   - snap: enforce minimal snap name len of 2
  2400   - cmd/libsnap: add sc_verify_snap_lock
  2401   - cmd/snap-update-ns: extra debugging of trespassing events
  2402   - userd: force zenity width if the text displayed is long
  2403   - overlord/snapstate, store: always send epochs
  2404   - cmd/snap-confine,snap-update-ns: discard quirks
  2405   - cmd/snap: add nanosleep to blacklisted syscalls when running with
  2406     --strace
  2407   - cmd/snap-update-ns, tests: clean trespassing paths
  2408   - nvidia, interfaces/builtin: OpenCL fixes
  2409   - ifacestate/hotplug: removeDevice helper
  2410   - cmd: install snap-discard-ns in "make hack"
  2411   - overlord/ifacestate: setup security backends phased by backends
  2412     first
  2413   - ifacestate/helpers: added SystemSnapName mapper helper method
  2414   - overlord/ifacestate: set hotplug-key of the connection when
  2415     connecting hotplug slots
  2416   - snapd: allow snap-update-ns to read /proc/version
  2417   - cmd: handle tumbleweed and leap in autogen.sh
  2418   - interfaces/tests: MockHotplugSlot test helper
  2419   - store,daemon: make UserInfo,LoginUser part of the store interface
  2420   - overlord/ifacestate: use remapper when checking if system snap is
  2421     installed
  2422   - tests: fix how pinentry is prepared for new gpg v 2.1 and 2.2
  2423   - packaging/arch: fix bash completions path
  2424   - interfaces/builtin: add device-buttons interface for accessing
  2425     events
  2426   - tests, fakestore: extend refresh tests with parallel installed
  2427     snaps
  2428   - snap, store, overlord/snapshotstate: drop epoch pointers
  2429   - snap: make Epoch default to {[0],[0]} on load from yaml
  2430   - data/completion: pass documented arguments to completion functions
  2431   - tests: skip opensuse from interfaces-openvswitch-support test
  2432   - tests: simple reproducer for snap try and hooks bug
  2433   - snapstate: do not allow classic mode for strict snaps
  2434   - snap: make Epoch's MarshalJSON not simplify
  2435   - store: remove unused currentSnap and currentSnapJSON
  2436   - many: some small doc comment fixes in recent hotplug code
  2437   - ifacestate/udevmonitor: added callback to signal end of
  2438     enumeration
  2439   - cmd/libsnap: add simplified feature flag checker
  2440   - interfaces/opengl: add additional accesses for cuda
  2441   - tests: add core18 only hooks test and fix running core18 only on
  2442     classic
  2443   - sanity, release, cmd/snap: refuse to try to do things on WSL.
  2444   - cmd: make coreSupportsReExec faster
  2445   - overlord/ifacestate: don't remove the dash when generating unique
  2446     slot name
  2447   - cmd/snap-seccomp: add full complement of ptrace constants
  2448   - cmd: update autogen.sh for opensuse
  2449   - interfaces/apparmor: allow access to /run/snap.$SNAP_INSTANCE_NAME
  2450   - spread.yaml: add more systems to the autopkgtest and qemu backends
  2451   - daemon: spool sideloaded snap into blob dir
  2452     overlord/snapstate: address review feedback
  2453   - packaging/opensuse: stop using golang-packaging
  2454   - overlord/snapshots: survive an unknown user
  2455   - wrappers: fix generating of service units with multiple `before`
  2456     dependencies
  2457   - data: run snapd.autoimport.service only after seeding
  2458   - cmd/snap: unhide --name parameter to snap install, tweak help
  2459     message
  2460   - packaging/fedora: Merge changes from Fedora Dist-Git
  2461   - tests/main/snap-service-after-before-install: verify after/before
  2462     in snap install
  2463   - overlord/ifacestate: mark connections disconnected by hotplug with
  2464     hotplug-gone
  2465   - ifacestate/ifacemgr: don't reload hotplug-gone connections on
  2466     startup
  2467   - tests: install dependencies during prepare
  2468   - tests,store,daemon: ensure proxy settings are honored in
  2469     auth/userinfo too
  2470   - tests: core 18 does not support classic confinement
  2471   - tests: add debug output for degraded test
  2472   - strutil: make VersionCompare faster
  2473   - overlord/snapshotstate/backend: survive missing directories
  2474   - overlord/ifacestate: use map[string]*connState when passing conns
  2475     around
  2476   - tests: move fedora 28 to manual
  2477   - overlord/snapshotstate/backend: be more verbose when
  2478     SNAPPY_TESTING=1
  2479   - tests: removing fedora 26 system from spread.yaml
  2480   - tests: linode execution is not needed anymore
  2481   - tests/lib: adjust to changed systemctl behaviour on debian-9
  2482   - tests: fixes and new backend for tests on nested suite
  2483   - strutil: let MatchCounter work with a nil regexp
  2484   - ifacestate/helpers: findConnsForHotplugKey helper
  2485   - many: move regexp.(Must)Compile out of non-init functions into
  2486     variables
  2487   - store: also make snaps downloaded via deltas 0600
  2488   - snap: use Lstat to determine snap size, remove
  2489     ReadSnapInfoExceptSize
  2490   - interfaces/builtin: add adb-support interface
  2491   - tests: fail if install_snap_local fails
  2492   - strutil: add extra test to CommaSeparatedList as suggested by
  2493     mborzecki
  2494   - cmd/snap, daemon, strutil: use CommaSeparatedList to split a CSL
  2495   - ifacestate: optimize disconnect hooks
  2496   - cmd/snap-update-ns: parse the -u <uid> command line option
  2497   - cmd/snap, tests: snapshots for all
  2498   - client, cmd/daemon: allow disabling keepalive, improve degraded
  2499     mode unit tests
  2500   - snap: only show "next" refresh time if its after the hold time
  2501   - overlord/snapstate: run tests for classic snaps even on systems
  2502     that don't support classic
  2503   - overlord/standby: fix a race between standby goroutine and stop
  2504   - cmd/snap-exec: don't fail on some try mode snaps
  2505   - cmd/snap, userd, testutil: tweak DBus tests to use private session
  2506     bus connection
  2507   - cmd: remove remnants of sc_should_populate_mount_ns
  2508   - client, daemon, cmd/snap: indicate that services are socket/timer
  2509     activated
  2510   - cmd/snap-seccomp: only look for PTRACE_GETFPX?REGS where available
  2511   - cmd/snap-confine: remove SC_NS_FAIL_GRACEFULLY
  2512   - snap/pack, cmd/snap: allow specifying the filename of 'snap pack'
  2513   - cmd/snap-discard-ns: add support for per-user mount namespaces
  2514   - cmd/snap-confine: remove stale mount profile along stale namespace
  2515   - data/apt: close stderr when calling snap in the apt install hook.
  2516   - tests/main: fixes for the new shellcheck
  2517   - testutil, cmd/snap: introduce and use testutil.EqualsWrapped and
  2518     fly
  2519   - tests: initial setup for testing current branch on nested vm and
  2520     hotplug management
  2521   - cmd: refactor IPC and lifecycle of the helper process
  2522   - tests/main/parallel-install-store: the store has caught up, do not
  2523     expect failures
  2524   - overlord/snapstate, snap, wrappers: start services in the right
  2525     order during install
  2526   - interfaces/browser-support, cmd/snap-seccomp: Allow read-only
  2527     ptrace, for the Breakpad crash reporter
  2528   - snap,client: use a different exit code for retryable errors
  2529   - overlord/ifacestate: don't conflict on own discard-snap tasks when
  2530     refreshing & doing garbage collection
  2531   - cmd/snap: tweak `snap services` output when there is no services
  2532   - interfaces/many: updates to support k8s worker nodes
  2533   - cmd/snap: gnome-software install via snap:// handler
  2534   - overlord/many: cleanup use of snapName vs. instanceName
  2535   - snapstate: add command-chain to supported featureset
  2536   - daemon, snap: mark screenshots as deprecated
  2537   - interfaces: fix decoding of json numbers for static/dynamic
  2538     attributes* ifstate: fix decoding of json numbers
  2539   - cmd/snap: try not to panic on error from "snap try"
  2540   - tests: new cosmic image for spread tests on gce
  2541   - interfaces/system-key: add parser mtime and only discover features
  2542     on write
  2543   - overlord/snapshotstate/backend: detect path to tar in unit tests
  2544   - tests/unit/gccgo: drop gccgo unit tests
  2545   - cmd: use relative file names in locking APIs
  2546   - interfaces: fix NormalizeInterfaceAttributes, add tests
  2547   - overlord/snapshotstate/backend: fall back on sudo when no runuser
  2548   - cmd/snap-confine: reduce verbosity of debug and error messages
  2549   - systemd: extend Status() to work for socket and timer units
  2550   - interfaces: typo 'allows' for consistency with other ifaces
  2551   - systemd,wrappers: don't start disabled services
  2552   - ifacestate: simplify task chaining in ifacestate.Connect
  2553   - tests: ensure that goa-daemon is off
  2554   - snap/pack, snap/squashfs: remove extra copy before mksquashfs
  2555   - cmd/snap: block 'snap help <cmd> --all'
  2556   - asserts, image: ensure kernel, gadget, base and required-snaps use
  2557     valid snap names
  2558   - apparmor: add unit test for probeAppArmorParser and simplify code
  2559   - interfaces/apparmor: conditionally add explicit deny rules for
  2560     ptrace
  2561   - po: sync translations from launchpad
  2562   - osutil: tweak handling of error adduser errors
  2563   - cmd: rename ns_group to mount_ns
  2564   - tests/main/interfaces-accounts-service: more debugging
  2565   - snap/pack, snap/squashfs: use type to determine mksquashfs args
  2566   - data/systemd, wrappers: tweak system-shutdown helper for core18
  2567   - tests: show list of processes when ifaces-accounts-service fails
  2568   - tests: do not run degraded test in autopkgtest env
  2569   - snap: overhaul validation error messages
  2570   - ifacestate/hooks: only create interface hook tasks if hooks exist
  2571   - osutil: workaround overlayfs on ubuntu 18.10
  2572   - interfaces/home: don't allow snaps to write to $HOME/bin
  2573   - interfaces: improve Attr error further
  2574   - snapstate: tweak GetFeatureFlagBool() to have a default argument
  2575   - many: cleanup remaining parallel installs TODOs
  2576   - image: improve validation of extra snaps
  2577  
  2578  * Tue Dec 18 2018 Neal Gompa <ngompa13@gmail.com> - 2.36.3-1
  2579  - Release 2.36.3 to Fedora
  2580  - Remove merged patch
  2581  
  2582  * Fri Dec 14 2018 Michael Vogt <mvo@ubuntu.com>
  2583  - New upstream release 2.36.3
  2584   - wrappers: use new systemd.IsActive in core18 early boot
  2585   - httputil: retry on temporary net errors
  2586   - wrappers: only restart service in core18 when they are active
  2587   - systemd: start snapd.autoimport.service in --no-block mode
  2588   - data/selinux: fix syntax error in definition of snappy_admin
  2589     interfacewhen installing selinux-policy-devel package.
  2590   - centos: enable SELinux support on CentOS 7
  2591   - cmd, dirs, interfaces/apparmor: update distro identification to
  2592     support ID="archlinux"
  2593   - apparmor: allow hard link to snap-specific semaphore files
  2594   - overlord,apparmor: new syskey behaviour + non-ignored snap-confine
  2595     profile errors
  2596   - snap: add new `snap run --trace-exec` call
  2597   - interfaces/backends: detect too old apparmor_parser
  2598  
  2599  * Thu Nov 29 2018 Michael Vogt <mvo@ubuntu.com>
  2600  - New upstream release 2.36.2
  2601   - daemon, vendor: bump github.com/coreos/go-systemd/activation,
  2602     handle API changes
  2603   - snapstate: update fontconfig caches on install
  2604   - overlord,daemon: mock security backends for testing
  2605   - sanity, spread, tests: add CentOS
  2606   - Revert "cmd/snap, tests/main/snap-info: highlight the current
  2607     channel"
  2608   - cmd/snap: add nanosleep to blacklisted syscalls when running with
  2609     --strace
  2610   - tests: add regression test for LP: #1803535
  2611   - snap-update-ns: fix trailing slash bug on trespassing error
  2612   - interfaces/builtin/opengl: allow reading /etc/OpenCL/vendors
  2613   - cmd/snap-confine: nvidia: pick up libnvidia-opencl.so
  2614   - interfaces/opengl: add additional accesses for cuda
  2615  
  2616  * Wed Nov 21 2018 Neal Gompa <ngompa13@gmail.com> - 2.36-4
  2617  - Fix backport patch
  2618  
  2619  * Wed Nov 21 2018 Neal Gompa <ngompa13@gmail.com> - 2.36-3
  2620  - Backport fixes for EL7 support
  2621  
  2622  * Wed Nov 14 2018 Neal Gompa <ngompa13@gmail.com> - 2.36-2
  2623  - Fix runtime dependency for selinux subpackage for EL7
  2624  
  2625  * Fri Nov 09 2018 Michael Vogt <mvo@ubuntu.com>
  2626  - New upstream release 2.36.1
  2627   - tests,snap-confine: add core18 only hooks test and fix running
  2628     core18 only hooks on classic
  2629   - interfaces/apparmor: allow access to
  2630     /run/snap.$SNAP_INSTANCE_NAME
  2631   - spread.yaml: add more systems to the autopkgtest and qemu backends
  2632   - daemon: spool sideloaded snap into blob dir
  2633   - wrappers: fix generating of service units with multiple `before`
  2634     dependencies
  2635   - data: run snapd.autoimport.service only after seeding
  2636   - tests,store,daemon: ensure proxy settings are honored in
  2637     auth/userinfo too
  2638   - packaging/fedora: Merge changes from Fedora Dist-Git
  2639   - tests/lib: adjust to changed systemctl behaviour on debian-9
  2640   - tests/main/interfces-accounts-service: switch to busctl, more
  2641     debugging
  2642   - store: also make snaps downloaded via deltas 0600
  2643   - cmd/snap-exec: don't fail on some try mode snaps
  2644   - cmd/snap, userd, testutil: tweak DBus tests to use private session
  2645     bus connection
  2646   - tests/main: fixes for the new shellcheck
  2647   - cmd/snap-confine: remove stale mount profile along stale namespace
  2648   - data/apt: close stderr when calling snap in the apt install hook
  2649  
  2650  * Sun Nov 04 2018 Neal Gompa <ngompa13@gmail.com> - 2.36-1
  2651  - Release 2.36 to Fedora
  2652  
  2653  * Wed Oct 24 2018 Michael Vogt <mvo@ubuntu.com>
  2654  - New upstream release 2.36
  2655   - overlord/snapstate, snap, wrappers: start services in the right
  2656     order during install
  2657   - tests: the store has caught up, drop gccgo test, update cosmic
  2658     image
  2659   - cmd/snap: try not to panic on error from "snap try"`--devmode`
  2660   - overlord/ifacestate: don't conflict on own discard-snap tasks when
  2661     refreshing & doing garbage collection
  2662   - snapstate: add command-chain to supported featureset
  2663   - daemon, snap: mark screenshots as deprecated
  2664   - interfaces: fix decoding of json numbers for static/dynamic
  2665     attributes
  2666   - data/systemd, wrappers: tweak system-shutdown helper for core18
  2667   - interfaces/system-key: add parser mtime and only discover features
  2668     on write
  2669   - interfaces: fix NormalizeInterfaceAttributes, add tests
  2670   - systemd,wrappers: don't start disabled services
  2671   - ifacestate/hooks: only create interface hook tasks if hooks exist
  2672   - tests: do not run degraded test in autopkgtest env
  2673   - osutil: workaround overlayfs on ubuntu 18.10
  2674   - interfaces: include invalid type in Attr error
  2675   - many: enable layouts by default
  2676   - interfaces/default: don't scrub with change_profile with classic
  2677   - cmd/snap: speed up unit tests
  2678   - vendor, cmd/snap: refactor to accommodate the new less buggy go-
  2679     flags
  2680   - daemon: expose snapshots to the API
  2681   - interfaces: updates for default, screen-inhibit-control, tpm,
  2682     {hardware,system,network}-observe
  2683   - interfaces/hotplug: rename HotplugDeviceKey method to HotplugKey,
  2684     update test interface
  2685   - interfaces/tests: use TestInterface instead of a custom local
  2686     helper
  2687   - overlord/snapstate: export getFeatureFlagBool.
  2688   - osutil,asserts,daemon: support force password change in system-
  2689     user assertion
  2690   - snap, wrappers: support restart-delay, generate RestartSec=<value>
  2691     in service units
  2692   - tests/ifacestate: moved asserts-related mocking into helper
  2693   - image: fetch device store assertion if available
  2694   - many: enable AppArmor on Arch
  2695   - interfaces/repo: two helper methods for hotplug
  2696   - overlord/ifacestate: add hotplug slots with implicit slots
  2697   - interfaces/hotplug: helpers and struct updates
  2698   - tests: run the snapd tests on Ubuntu 18.10
  2699   - snapstate: only report errors if there is an actual error
  2700   - store: speedup unit tests
  2701   - spread-shellcheck: fix interleaved error messages, tweaks
  2702   - apparmor: create SnapAppArmorDir in setupSnapConfineReexec
  2703   - ifacestate: implementation of defaultDeviceKey function for
  2704     hotplug
  2705   - cmd/snap-update-ns: remove empty placeholders used for mounting
  2706   - snapshotstate: restore to current revision
  2707   - tests/lib: rework the CLA checker
  2708   - many: support and consider store friendly-stores when checking
  2709     device scope constraints
  2710   - overlord/snapstate: block parallel installs of snapd, core, base,
  2711     kernel, gadget snaps
  2712   - overlord/patch: patch for static plug/slot attributes
  2713   - interfaces: honor static attributes when reloading conns
  2714   - osutils: unit tests speedup; introduce «run-checks --short-
  2715     unit».
  2716   - systemd, wrappers: speed up wrappers unit tests
  2717   - client: speedup unit tests
  2718   - spread-shellcheck: use threads to parallelise
  2719   - snap: validate plug and slot names
  2720   - osutil, interfaces/apparmor: add and use of osutil.UnlinkMany
  2721   - wrappers: do not depend on network.taget in socket units, tweak
  2722     generated units
  2723   - interfaces/apparmor: (un)load profiles in one apparmor_parser call
  2724   - store: gracefully handle unexpected errors in 'action'
  2725     response
  2726   - cmd: put our manpages in section 8
  2727   - overlord: don't make become-operational interfere with user
  2728     requests
  2729   - store: tweak unmatched refresh result error log
  2730   - snap, client, daemon, store: use and expose "media" more
  2731   - tests,cmd/snap-update-ns: add test showing mount update bug
  2732     cmd/snap-update-ns: better detection of snapd-made tmpfs
  2733   - tests: spread tests for aliases with parallel installed snaps
  2734   - interfaces/seccomp: allow using statx by default
  2735   - store: gracefully handle unexpected errors in 'action' response
  2736   - overlord/snapshotstate: chown the tempdir
  2737   - cmd/snap: attempt to start the document portal if running with a
  2738     session bus
  2739   - snap: detect layouts vs layout in snap.yaml
  2740   - interfaces/apparmor: handle overlayfs snippet for snap-update-ns
  2741   - snapcraft.yaml: set grade to stable
  2742   - tests: shellchecks, final round
  2743   - interfaces/apparmor: handle overlayfs snippet for snap-update-ns
  2744   - snap: detect layouts vs layout in snap.yaml
  2745   - overlord/snapshotstate: store epoch in snapshot, check on restore
  2746   - cmd/snap: tweak UX of snap refresh --list
  2747   - overlord/snapstate: improve consistency, use validateInfoAndFlags
  2748     also in InstallPath
  2749   - snap: give Epoch a CanRead helper
  2750   - overlord/snapshotstate: small refactor of internal helpers
  2751   - interfaces/builtin: adding missing permission to create
  2752     /run/wpa_supplicant directory
  2753   - interfaces/builtin: avahi interface update
  2754   - client, daemon: support passing of 'unaliased' option when
  2755     installing from local files
  2756   - selftest: rename selftest.Run() to sanity.Check()
  2757   - interfaces/apparmor: report apparmor support level and policy
  2758   - ifacestate: helpers for generating slot names for hotplug
  2759   - overlord/ifacestate: make sure to pass in the Model assertion when
  2760     enforcing policies
  2761   - overlord/snapshotstate: store the SnapID in snapshot, block
  2762     restore if changed
  2763   - interfaces: generalize writable mimic profile
  2764   - asserts,interfaces/policy: add support for on-store/on-brand/on-
  2765     model plug/slot rule constraints
  2766   - many: fetch the device store assertion together and in the context
  2767     of interpreting snap-declarations
  2768   - tests: disable gccgo tests on 18.04 for now, until dh-golang vs
  2769     gccgo is fixed
  2770   - tests/main/parallel-install-services: add spread test for snaps
  2771     with services
  2772   - tests/main/snap-env: extend to cover parallel installations of
  2773     snaps
  2774   - tests/main/parallel-install-local: rename from *-sideload, extend
  2775     to run snaps
  2776   - cmd/snapd,daemon,overlord: without snaps, stop and wait for socket
  2777   - cmd/snap: tame the help zoo
  2778   - tests/main/parallel-install-store: run installed snap
  2779   - cmd/snap: add a bunch of TRANSLATORS notes (and a little more
  2780     i18n)
  2781   - cmd: fix C formatting
  2782   - tests: remove unneeded cleanup from layout tests
  2783   - image: warn on missing default-providers
  2784   - selftest: add test to ensure selftest.checks is up-to-date
  2785   - interfaces/apparmor, interfaces/builtin: tweaks for parallel snap
  2786     installs
  2787   - userd: extend the list of supported XDG Desktop properties when
  2788     autostarting user applications
  2789   - cmd/snap-update-ns: enforce trespassing checks
  2790   - selftest: actually run the kernel version selftest
  2791   - snapd: go into degraded mode when the selftest fails
  2792   - tests: add test that runs snapctl with a core18 snap
  2793   - tests: add snap install hook with base: core18
  2794   - overlord/{snapstate,assertstate}: parallel instances and
  2795     refresh validation
  2796   - interfaces/docker-support: add rules to read apparmor macros
  2797   - tests: make nfs test available for more systems
  2798   - tests: cleanup copy/paste dup in interfaces-network-setup-control
  2799   - tests: using single sh snap in interface tests
  2800   - overlord/snapstate: improve cleaup in mount-snap handler
  2801   - tests: don't fail interfaces-bluez test if bluez is already
  2802     installed
  2803   - tests: find snaps just for edge and beta channels
  2804   - daemon, snapstate: consistent snap list [--all] output with broken
  2805     snaps
  2806   - tests: fix listing to allow extra things in the notes column
  2807   - cmd/snap: improve UX when removing specific snap revision
  2808   - cmd/snap, tests/main/snap-info: highlight the current channel
  2809   - interfaces/testiface: added TestHotplugInterface
  2810   - snap: tweak commands
  2811   - interfaces/hotplug: hotplug spec takes one slot definition
  2812   - overlord/snapstate, snap: handle shared snap directories when
  2813     installing/remove snaps with instance key
  2814   - interfaces/opengl: misc accesses for VA-API
  2815   - client, cmd/snap: expose warnings to the world
  2816   - cmd/snap-update-ns: introduce trespassing state tracking
  2817   - cmd/snap: commands no longer build their own client
  2818   - tests: try to build cmd/snap for darwin
  2819   - daemon: make error responders not printf when called with 1
  2820     argument
  2821   - many: return real snap name in API response
  2822   - overlord/state: return latest LastAdded time in WarningsSummary
  2823   - many: mount namespace mapping for parallel installs of snaps
  2824   - ifacestate/autoconnect: do not self-conflict on setup-profiles if
  2825     core-phase-2
  2826   - client, cmd/snap: on !linux, exit when the client tries to Do
  2827     something
  2828   - tests: refactor for nested suite and tests fixed
  2829   - tests: use lxd's waitready instead of polling lxd socket
  2830   - ifacestate: don't initialize udev monitor until we have a system
  2831     snap
  2832   - interfaces: extra argument for static attrs in
  2833     NewConnectedPlug/NewConnectedSlot
  2834   - packaging/arch: sync packaging with AUR
  2835   - snapstate/tests: serialize all appends in fake backend
  2836   - snap-confine: make /lib/modules optional
  2837   - cmd/snap: handle "snap interfaces core" better
  2838   - store: move download tests into downloadSuite
  2839   - tests,interfaces: run interfaces-account-control on UC18
  2840   - tests: fix install snaps test by adding link to /snap
  2841   - tests: fix for nested test suite
  2842   - daemon: fix snap list --all with parallel snap instances
  2843   - snapstate: refactor tests to use SetModel*
  2844   - wrappers: fix snap services order in tests
  2845   - many: provide salt for generating instance-key in store requests
  2846   - ifacestate: fix hang when retrying content providers
  2847   - snapd-env-generator: fix when PATH is empty or unset
  2848   - overlord/assertstate: propagate TaskSnapSetup error
  2849   - client: catch and expose logs errors
  2850   - overlord: integrate device enumeration with udev monitor
  2851   - daemon, overlord/state: warnings pipeline
  2852   - tests: add publisher regex to fix the snap-info test pass on sru
  2853   - cmd: use systemdsystemgeneratorsdir, cleanup automake complaints,
  2854     tweaks
  2855   - cmd/snap-update-ns: remove the unused Secure type
  2856   - osutil, o/snapshotstate, o/sss/backend: quick fixes
  2857   - tests: update the listing expression to support core from
  2858     different channels
  2859   - store: use stable instance key in store refresh requests
  2860   - cmd/snap-update-ns: detach Mk{Prefix,{File,Dir,Symlink{,All}}}
  2861   - overlord/patch: support for sublevel patches
  2862   - tests: update prepare/restore for nightly suite
  2863   - cmd/snap-update-ns: detach BindMount from the Secure type
  2864   - cmd/snap-update-ns: re-factor pair of helpers to call fstatfs once
  2865   - ifacestate: retry on "discard-snap" in autoconnect conflict check
  2866   - cmd/snap-update-ns: separate OpenPath from the Secure struct
  2867   - wrappers: remove Wants=network-online.target
  2868   - tests: add new core16-base test
  2869   - store: refactor tests so that they work as store_test package
  2870   - many: add refresh.rate-limit core option
  2871   - tests: run account-control test with different bases
  2872   - tests: port proxy test to use python tinyproxy
  2873   - overlord: introduce snapshotstate.
  2874   - testutil: allow Fstatfs results to vary over time
  2875   - snap-update-ns: add comments about the "deadcode" in bootstrap.go
  2876   - overlord: add chg.Err() in testUpdateWithAutoconnectRetry
  2877   - many: remove deadcode
  2878   - tests: also run unit/gccgo in 18.04
  2879   - tests: introduce a helper for installing local snaps with --name
  2880   - tests: avoid removing core snap on reset
  2881   - snap: use snap.SideInfo in test to fix build with gccgo
  2882   - partition: remove unused runCommand
  2883   - image: fix incorrect error when using local bases
  2884   - overlord/snapstate: fix format
  2885   - cmd: fix format
  2886   - tests: setting "storage: preserve-size" just for amazon-linux
  2887     system
  2888   - tests: test for the hostname interface
  2889   - interfaces/modem-manager: allow access to more USB strings
  2890   - overlord: instantiate UDevMonitor
  2891   - interfaces/apparmor: tweak naming, rename to AddLayout()
  2892   - interfaces: take instance name in ifacetest.InstallSnap
  2893   - snapcraft: do not use --dirty in mkversion
  2894   - cmd: add systemd environment generator
  2895   - devicestate: support getting (http) proxy from core config
  2896   - many: rename ClientOpts to ClientOptions
  2897   - prepare-image-grub-core18: remove image root in restore
  2898   - overlord/ifacestate: remove "old-conn" from connect/undo connect
  2899     handlers
  2900   - packaging/fedora: Merge changes from Fedora Dist-Git
  2901   - image: handle errors when downloadedSnapsInfoForBootConfig has no
  2902     data
  2903   - tests: use official core18 model assertion in tests
  2904   - snap-confine: map /var/lib/extrausers into snaps mount-namespace
  2905   - overlord,store: support proxy settings internally too
  2906   - cmd/snap: bring back 'snap version'
  2907   - interfaces/mount: tweak naming of things
  2908   - strutil: fix MatchCounter to also work with buffer reuse
  2909   - cmd,interfaces,tests: add /mnt to removable-media interface
  2910   - systemd: do not run "snapd.snap-repair.service.in on firstboot
  2911     bootstrap
  2912   - snap/snapenv: drop some instance specific variables, use instance-
  2913     specific ones for user locations
  2914   - firstboot: sort by type when installing the firstboot snaps
  2915   - cmd, cmd/snap: better support for non-linux
  2916   - strutil: add new ParseByteSize
  2917   - image: detect and error if bases are missing
  2918   - interfaces/apparmor: do not downgrade confinement on arch with
  2919     linux-hardened 4.17.4+
  2920   - daemon: add pokeStateLock helper to the daemon tests
  2921   - snap/squashfs: improve error message from Build on mksquashfs
  2922     failure
  2923   - tests: remove /etc/alternatives from dirs-not-shared-with-host
  2924   - cmd: support re-exec into the "snapd" snap
  2925   - spdx: remove "Other Open Source" from the support licenses
  2926   - snap: add new type "TypeSnapd" and attach to the snapd snap
  2927   - interfaces: retain order of inserted security backends
  2928   - tests: spread test for parallel-installs desktop file handling
  2929   - overlord/devicestate: use OpenSSL's PEM format when generating
  2930     keys
  2931   - cmd: remove --skip-command-chain from snap run and snap-exec
  2932   - selftest: detect if apparmor is unusable and error
  2933   - snap,snap-exec: support command-chain for hooks
  2934   - tests: significantly reduce execution time for managers test
  2935   - snapstate: use new "snap.ByType" sorting
  2936   - overlord/snapstate: fix UpdateMany() to work with parallel
  2937     instances
  2938   - testutil: have File* checker produce more useful error output
  2939   - overlord/ifacestate: introduce connectOpts
  2940   - interfaces: parallel instances support, extend unit tests
  2941   - tests: normalize tests
  2942   - snapstate: make InstallPath() return *snap.Info too
  2943   - snap: add ByType sorting
  2944   - interfaces: add cifs-mount interface
  2945   - tests: use file based markers in snap-service-stop-mode
  2946   - osutil: reorg and stub out things to get it building on darwin
  2947   - tests/main/layout: cleanup after the test
  2948   - osutil/sys: small tweaks to let it build on darwin
  2949   - daemon, overlord/snapstate: set instance name when installing from
  2950     snap file
  2951   - many: move Uname to osutil, for more DRY and easier porting.
  2952   - cmd/snap: create snap user directory when running parallel
  2953     installed snaps
  2954   - cmd/snap-confine: switch to validation of SNAP_INSTANCE_NAME
  2955   - tests: basic test for parallel installs from the store
  2956   - image: download the gadget from the model.GadgetTrack()
  2957   - snapstate: add support for gadget tracks in model assertion
  2958   - image: add support for "gadget=track"
  2959   - overlord: handle sigterm during shutdown better
  2960   - tests: add the original function to fix the errors on new kernels
  2961   - tests/main/lxd: pull lxd from candidate; reënable i386
  2962   - wayland: add extra sockets that are used by older toolkits (e.g.
  2963     gtk3)
  2964   - asserts: add support for gadget tracks in the model assertion
  2965   - overlord/snapstate: improve feature flag validation
  2966   - tests/main/lxd: run ubuntu-16.04 only on 64 bit variant
  2967   - interfaces: workaround for activated services and newer DBus
  2968   - tests: get the linux-image-extra available for the current kernel
  2969   - interfaces: add new "sysfs-name" to i2c interfaces code
  2970   - interfaces: disconnect hooks
  2971   - cmd/libsnap: unify detection of core/classic with go
  2972   - tests: fix autopkgtest failures in cosmic
  2973   - snap: fix advice json
  2974   - overlord/snapstate: parallel snap install
  2975   - store: backward compatible instance-key handling for non-instance
  2976     snaps
  2977   - interfaces: add screencast-legacy for video and audio recording
  2978   - tests: skip unsupported architectures for fedora-base-smoke test
  2979   - tests: avoid using the journalctl cursor when it has not been
  2980     created yet
  2981   - snapstate: ensure normal snaps wait for the "snapd" snap on
  2982     refresh
  2983   - tests: enable lxd again everywhere
  2984   - tests: new test for udisks2 interface
  2985   - interfaces: add cpu-control for setting CPU tunables
  2986   - overlord/devicestate: fix tests, set seeded in registration
  2987     through proxy tests
  2988   - debian: add missing breaks on cosmic
  2989   - devicestate: only run device-hook when fully seeded
  2990   - seccomp: conditionally add socketcall() based on system and base
  2991   - tests: new test for juju client observe interface
  2992   - overlord/devicestate: DTRT w/a snap proxy to reach a serial vault
  2993   - snapcraft: set version information for the snapd snap
  2994   - cmd/snap, daemon: error out if trying to install a snap using
  2995     empty name
  2996   - hookstate: simplify some hook tests
  2997   - cmd/snap-confine: extend security tag validation to cover instance
  2998     names
  2999   - snap: fix mocking of systemkey in snap-run tests
  3000   - packaging/opensuse: fix static build of snap-update-ns and snap-
  3001     exec
  3002   - interfaces/builtin: addtl network-manager resolved DBus fix
  3003   - udev: skip TestParseUdevEvent on ppc
  3004   - interfaces: miscellaneous policy updates
  3005   - debian: add tzdata to build-dep to ensure snapd builds correctly
  3006   - cmd/libsnap-confine-private: intoduce helpers for validating snap
  3007     instance name and instance key
  3008   - snap,snap-exec: support command-chain for app
  3009   - interfaces/builtin: network-manager resolved DBus changes
  3010   - snap: tweak `snap wait` command
  3011   - cmd/snap-update-ns: introduce validation of snap instance names
  3012   - cmd/snap: fix some corner-case test setup weirdness
  3013   - cmd,dirs: fix various issues discovered by a Fedora base snap
  3014   - tests/lib/prepare: fix extra snaps test
  3015  
  3016  * Mon Oct 15 2018 Michael Vogt <mvo@ubuntu.com>
  3017  - New upstream release 2.35.5
  3018   - interfaces/home: don't allow snaps to write to $HOME/bin
  3019   - osutil: workaround overlayfs on ubuntu 18.10
  3020  
  3021  * Fri Oct 05 2018 Michael Vogt <mvo@ubuntu.com>
  3022  - New upstream release 2.35.4
  3023    - wrappers: do not depend on network.taget in socket units, tweak
  3024      generated units
  3025  
  3026  * Fri Oct 05 2018 Michael Vogt <mvo@ubuntu.com>
  3027  - New upstream release 2.35.3
  3028   - overlord: don't make become-operational interfere with user
  3029     requests
  3030   - docker_support.go: add rules to read apparmor macros
  3031   - interfaces/apparmor: handle overlayfs snippet for snap-update-
  3032     nsFixes:
  3033   - snapcraft.yaml: add workaround to fix snapcraft build
  3034   - interfaces/opengl: misc accesses for VA-API
  3035  
  3036  * Wed Sep 12 2018 Michael Vogt <mvo@ubuntu.com>
  3037  - New upstream release 2.35.2
  3038   - cmd,overlord/snapstate: go 1.11 format fixes
  3039   - ifacestate: fix hang when retrying content providers
  3040   - snap-env-generator: do nothing when PATH is unset
  3041   - interfaces/modem-manager: allow access to more USB strings
  3042  
  3043  * Mon Sep 03 2018 Michael Vogt <mvo@ubuntu.com>
  3044  - New upstream release 2.35.1
  3045   - packaging/fedora: Merge changes from Fedora Dist-Git
  3046   - snapcraft: do not use --diry in mkversion.sh
  3047   - cmd: add systemd environment generator
  3048   - snap-confine: map /var/lib/extrausers into snaps mount-namespace
  3049   - tests: cherry-pick test fixes from master for 2.35
  3050   - systemd: do not run "snapd.snap-repair.service.in on firstboot
  3051     bootstrap
  3052   - interfaces: retain order of inserted security backends
  3053   - selftest: detect if apparmor is unusable and error
  3054  
  3055  * Sat Aug 25 2018 Neal Gompa <ngompa13@gmail.com> - 2.35-1
  3056  - Release 2.35 to Fedora (RH#1598946)
  3057  
  3058  * Mon Aug 20 2018 Michael Vogt <mvo@ubuntu.com>
  3059  - New upstream release 2.35
  3060   - snapstate: add support for gadget tracks in model assertion
  3061   - image: add support for "gadget=track"
  3062   - asserts: add support for gadget tracks in the model assertion
  3063   - interfaces: add new "sysfs-name" to i2c interfaces code
  3064   - overlord: handle sigterm during shutdown better
  3065   - wayland: add extra sockets that are used by older toolkits
  3066   - snap: fix advice json
  3067   - tests: fix autopkgtest failures in cosmic
  3068   - store: backward compatible instance-key handling for non-instance
  3069     snaps
  3070   - snapstate: ensure normal snaps wait for the "snapd" snap on
  3071     refresh
  3072   - interfaces: add cpu-control for setting CPU tunables
  3073   - debian: add missing breaks on comisc
  3074   - overlord/devicestate: DTRT w/a snap proxy to reach a serial vault
  3075   - devicestate: only run device-hook when fully seeded
  3076   - seccomp: conditionally add socketcall() based on system and base
  3077   - interfaces/builtin: addtl network-manager resolved DBus fix
  3078   - hookstate: simplify some hook tests
  3079   - udev: skip TestParseUdevEvent on ppc
  3080   - interfaces: miscellaneous policy updates
  3081   - debian: add tzdata to build-dep to ensure snapd builds correctly
  3082   - interfaces/builtin: network-manager resolved DBus changes
  3083   - tests: add spread test for fedora29 base snap
  3084   - cmd/libsnap: treat distributions with VARIANT_ID=snappy as "core"
  3085   - dirs: fix SnapMountDir inside a Fedora base snap
  3086   - tests: fix snapd-failover for core18 with external backend
  3087   - overlord/snapstate: always clean SnapState when doing Get()
  3088   - overlod/ifacestate: always use a new SnapState when fetching the
  3089     snap state
  3090   - overlord/devicestate: have the serial request talk to the proxy if
  3091     set
  3092   - interfaces/hotplug: udevadm output parser
  3093   - tests: New test for daemon-notify interface
  3094   - image: ensure "core" is ordered early if base: and core is used
  3095   - cmd/snap-confine: snap-device-helper parallel installs support
  3096   - tests: enable interfaces-framebuffer everywhere
  3097   - tests: reduce nc wait time from 2 to 1 second
  3098   - snap/snapenv: add snap instance specific variables
  3099   - cmd/snap-confine: add minimal test for snap-device-helper
  3100   - tests: enable snapctl test on core18
  3101   - overlord: added UDevMonitor for future hotplug support
  3102   - wrappers: do not glob when removing desktop files
  3103   - tests: add dbus monitor log to interfaces-accounts-service
  3104   - tests: add core-18 systems to external backend
  3105   - wrappers: account for changed app wrapper in parallel installed
  3106     snaps
  3107   - wrappers: make sure that the tests pass on non-Ubuntu too
  3108   - many: add snapd snap failure handling
  3109   - tests: new test for dvb interface
  3110   - configstate: accept refresh.timer=managed
  3111   - tests: new test for snap logs command
  3112   - wrapper: generate all the snapd unit files when generating
  3113     wrappers
  3114   - store: keep all files with link-count > 1 in the cache
  3115   - store: be less verbose in the common refresh case of "no updates"
  3116   - snap-confine: update snappy-app-dev path
  3117   - debian: ensure dependency on fixed apt on 18.04
  3118   - snapd: add initial software watchdog for snapd
  3119   - daemon, systemd: change journalctl -n=all to --no-tail
  3120   - systemd: fix snapd.apparmor.service.in dependencies
  3121   - snapstate: refuse to remove bases or core if snaps need them
  3122   - snap: introduce package-level helpers for building snap related
  3123     directory/file paths
  3124   - overlord/devicestate: deny parallel install of kernel or gadget
  3125     snaps
  3126   - store: clean up parallel-install TODOs in store tests
  3127   - timeutil: fix first weekday of the month schedule
  3128   - interfaces: match all possible tty but console
  3129   - tests: shellchecks part 5
  3130   - cmd/snap-confine: allow ptrace read for 4.18 kernels
  3131   - advise: make the bolt database do the atomic rename dance
  3132   - tests/main/apt-hooks: debug dump of commands.db
  3133   - tests/lib/prepare-restore: update Arch Linux kernel LOCALVERSION
  3134     handling
  3135   - snap: validate instance name as part of Validate()
  3136   - daemon: if a snap is inactive, don't ask systemd about its
  3137     services.
  3138   - udev: skip TestParseUdevEvent on s390x
  3139   - tests: switch core-amd64-18 to use `kernel: pc-kernel=18`
  3140   - asserts,image: add support for new kernel=track syntax
  3141   - tests: new gce image for fedora 27
  3142   - interfaces/apparmor: use the cache in mtime-resilient way
  3143   - store, overlord/snapstate: introduce instance name in store APIs
  3144   - tests: drive-by cleanup of redudant pkgname matching
  3145   - tests: ensure apt-hook is only run after catalog update ran
  3146   - tests: use pkill instead of kilall
  3147   - tests/main: another bunch of updates for Amazon Linux 2
  3148   - tests/lib/snaps: avoid using relative command paths that go up in
  3149     the  directory tree
  3150   - tests: disable/fix more tests for Amazon Linux 2
  3151   - overlord: introduce InstanceKey to SnapState and SnapSetup,
  3152     renames
  3153   - daemon: make sure most change generating handlers can produce
  3154     errors with kinds
  3155   - tests/main/interfaces-calendar-service: skip the test on AMZN2
  3156   - tests/lib/snaps: avoid using relative command paths that go up in
  3157     the directory tree
  3158   - cmd/snap: add a green check mark to verified publishers
  3159   - cmd/snap: fix two issues in the cmd/snap unit tests
  3160   - packaging/fedora: fix target path of /snap symlink
  3161   - cmd/snap: support `--last=<type>?` to mean "no error on empty"
  3162   - cmd/snap-confine: (nvidia) pick up libnvidia-glvkspirv.so
  3163   - strutil: detect and bail out of Unmarshal on duplicate key
  3164   - packaging/fedora(amzn2): disable SELinux, drop dependency on
  3165     squashfuse for AMZN2
  3166   - spread, tests: add support for Amazon Linux 2
  3167   - packaging/fedora: Add Amazon Linux 2 support
  3168   - many: make Wait/Stop optional on StateManagers
  3169   - snap/squashfs: stop printing unsquashfs info to stderr
  3170   - snap: add support for `snap advise-snap --from-apt`
  3171   - overlord/ifacestate: ignore connect if already connected
  3172   - tests: change the service snap used instead of network-bind-
  3173     consumer
  3174   - interfaces/network-control: update for wpa-supplicant and ifupdown
  3175   - tests: fix raciness in stop mode tests
  3176   - logger: try to not have double dates
  3177   - debian: use deb-systemd-invoke instead of systemctl directly
  3178   - tests: run all main tests on core18
  3179   - many: finish sharing a single TaskRunner with all the the managers
  3180   - interfaces/repo: added AllHotplugInterfaces helper
  3181   - snapstate: ensure kernel-track is honored on switch/refresh
  3182   - overlord/ifacestate: support implicit slots on snapd
  3183   - image: add support for "kernel-track" in `snap prepare-image`
  3184   - tests: add test that ensures we do not boot any system in degraded
  3185     state
  3186   - tests: update tests to work on core18
  3187   - cmd/snap: check for typographic dashes in command
  3188   - tests: fix tests expecting old email address
  3189   - client: add some existing error kinds that were not listed in
  3190     client.go
  3191   - tests: add missing slots in classic and core provider test snaps
  3192   - overlord,daemon,cmd: re-map snap names around the edges of snapd
  3193   - tests: use install_local in snap-run-hooks
  3194   - coreconfig: add support for `snap set system network.disable-
  3195     ipv6`
  3196   - overlord/snapstate: dedupe default content providers
  3197   - osutil/udev: sync with upstream
  3198   - debian: do not ship snapd.apparmor.service on ubuntu
  3199   - overlord: have SnapManager use a passed in TaskRunner created by
  3200     Overlord
  3201   - many: streamline the generic conflict check mechanisms
  3202   - tests: remove unneeded setup code in snap-run-symlink
  3203   - cmd/snap: print unset license as "unset", instead of "unknown"
  3204   - asserts: add (optional) kernel-track to model assertion
  3205   - snap/squashfs, tests: pass -n[o-progress] to {mk,un}squashfs
  3206   - interfaces/pulseaudio: be clear that the interface allows playback
  3207     and record
  3208   - snap: support hook environment
  3209   - interfaces: fix typo "daemonNotify" (add missing "n")
  3210   - interfaces: tweak tests of daemon-notify, use common naming
  3211   - interfaces: allow invoking systemd-notify when daemon-notify is
  3212     connected
  3213   - store: make snap blobs be 0600
  3214   - interfaces,daemon: move JSON types to the daemon
  3215   - tests: prepare needs to handle bin/snapctl being a symlink
  3216   - tests: do not mask errors in interfaces-timezone-control (#5405)
  3217   - packaging: put snapctl into /usr/lib/snapd and symlink in usr/bin
  3218   - tests: add basic integration test for spread hold
  3219   - overlord/snapstate: improve PlugsOnly comment
  3220   - many: assorted shellcheck fixes
  3221   - store, daemon, client, cmd/snap: expose "scope", default to wide
  3222   - snapstate: allow setting "refresh.timer=managed"
  3223   - cmd/snap: display a link to data privacy notice for interactive
  3224     snap login
  3225   - client, cmd/snap: pass snap instance name when installing from
  3226     file
  3227   - cmd/snap: add 'debug paths' command
  3228   - snapstate: make sure all *link-*snap tasks carry a snap type and
  3229     further hints
  3230   - devicestate: fix race when refreshing a snap with snapd-control
  3231   - tests: fix tests on arch
  3232   - tests: start active system units on reset
  3233   - tests: new test for joystick interface
  3234   - tests: moving install of dependencies to pkgdb helper
  3235   - tests: enable new fedora image with test dependencies installed
  3236   - tests: start using the new opensuse image with test dependencies
  3237   - tests: check catalog refresh before and after restart snapd
  3238   - tests: stop restarting journald service on prepare
  3239   - interfaces: make core-support a no-op interface
  3240   - interfaces: prefer "snapd" when resolving implicit connections
  3241   - interfaces/hotplug: add hotplug Specification and
  3242     HotplugDeviceInfo
  3243   - many: lessen the use of core-support
  3244   - tests: fixes for the autopkgtest failures in cosmic
  3245   - tests: remove extra ' which breaks interfaces-bluetooth-control
  3246     test
  3247   - dirs: fix antergos typo
  3248   - tests: use grep to avoid non-matching messages from MATCH
  3249   - dirs: improve distro detection for Antegros
  3250   - vendor: switch to latest bson
  3251   - interfaces/builtin: create can-bus interface
  3252   - tests: "snap connect" is idempotent so just connect
  3253   - many: use extra "releases" information on store "revision-not-
  3254     found" errors to produce better errors
  3255   - interfaces: treat "snapd" snap as type:os
  3256   - interfaces: tweak tests to have less repetition of "core" and
  3257     "ubuntu…
  3258   - tests: simplify econnreset test
  3259   - snap: add helper for renaming slots
  3260   - devicestate: fix panic in firstboot code when no snaps are seeded
  3261   - tests: add artful for sru validation on google backend
  3262   - snap,interfaces: move interface name validation to snap
  3263   - overlord/snapstate: introduce path to fake backend ops
  3264   - cmd/snap-confine: fix snaps running on core18
  3265   - many: expose publisher's validation throughout the API
  3266  
  3267  * Fri Jul 27 2018 Michael Vogt <mvo@ubuntu.com>
  3268  - New upstream release 2.34.3
  3269   - interfaces/apparmor: use the cache in mtime-resilient way
  3270   - cmd/snap-confine: (nvidia) pick up libnvidia-glvkspirv.so
  3271   - snapstate: allow setting "refresh.timer=managed"
  3272   - spread: switch Fedora and openSUSE images
  3273  
  3274  * Thu Jul 19 2018 Michael Vogt <mvo@ubuntu.com>
  3275  - New upstream release 2.34.2
  3276   - packaging: fix bogus date in fedora snapd.spec
  3277   - tests: fix tests expecting old email address
  3278  
  3279  * Tue Jul 17 2018 Michael Vogt <mvo@ubuntu.com>
  3280  - New upstream release 2.34.1
  3281   - tests: cherry-pick test fixes from master for 2.34
  3282   - coreconfig: add support for `snap set system network.disable-
  3283     ipv6`
  3284   - debian: do not ship snapd.apparmor.service on ubuntu
  3285   - overlord/snapstate: dedupe default content providers
  3286   - interfaces/builtin: create can-bus interface
  3287  
  3288  * Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.33.1-2
  3289  - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
  3290  
  3291  * Fri Jul 06 2018 Michael Vogt <mvo@ubuntu.com>
  3292  - New upstream release 2.34
  3293   - store, daemon, client, cmd/snap: expose "scope", default to wide*
  3294   - tests: fix arch tests
  3295   - snapstate: make sure all *link-*snap tasks carry a snap type and
  3296     further hints
  3297   - snapstate: allow setting "refresh.timer=managed"
  3298   - cmd/snap: display a link to data privacy notice for interactive
  3299     snap login
  3300   - devicestate: fix race when refreshing a snap with snapd-control
  3301   - tests: skip interfaces-framebuffer when no /dev/fb0 is found
  3302   - tests: run interfaces-contacts-service only where test-snapd-eds
  3303     is available
  3304   - many: expose publisher's validation throughout the API
  3305   - many: use extra "releases" information on store "revision-not-
  3306     found" errors to produce better errors
  3307   - dirs: improve distro detection for Antegros
  3308   - Revert "dirs: improve identification of Arch Linux like systems"
  3309   - devicestate: fix panic in firstboot code when no snaps are seeded
  3310   - i18n: use xgettext-go --files-from to avoid running into cmdline
  3311     size limits
  3312   - interfaces: move ValidateName helper to utils
  3313   - snapstate,ifstate: wait for pending restarts before auto-
  3314     connecting
  3315   - snap: account for parallel installs in wrappers, place info and
  3316     tests
  3317   - configcore: fix incorrect handling of keys with numbers (like
  3318     gpu_mem_512)
  3319   - tests: fix tests when no keyboard input detected
  3320   - overlord/configstate: add watchdog options
  3321   - snap-mgmt: fix for non-existent dbus system policy dir,
  3322     shellchecks
  3323   - tests/main/snapd-notify: use systemd's service properties rater
  3324     than the journal
  3325   - snapstate: allow removal of snap.TypeOS when using a model with a
  3326     base
  3327   - interfaces: make findSnapdPath smarter
  3328   - tests: run "arp" tests only if arp is available
  3329   - spread: increase the number of auto retries for package downloads
  3330     in opensuse
  3331   - cmd/snap-confine: fix nvidia support under lxd
  3332   - corecfg: added experimental.hotplug feature flag
  3333   - image: block installation of parallel snap instances
  3334   - interfaces: moved normalize method to interfaces/utils and made it
  3335     public
  3336   - api/snapctl: allow -h and --help for regular users.
  3337   - interfaces/udisks2: also implement implicit classic slot
  3338   - cmd/snap-confine: include CUDA runtime libraries
  3339   - tests: disable auto-refresh test on core18
  3340   - many: switch to account validation: unproven|verified
  3341   - overlord/ifacestate: get/set connection state only via helpers
  3342   - tests: adding extra check to validate journalctl is showing
  3343     current test data
  3344   - data: add systemd environment configuration
  3345   - i18n: handle write errors in xgettext-go
  3346   - snap: helper for validating snap instance names
  3347   - snap{/snaptest}: set instance key based on snap name
  3348   - userd: fix running unit tests on KDE
  3349   - tests/main/econnreset: limit ingress traffic to 512kB/s
  3350   - snap: introduce a struct Channel to represent store channels, and
  3351     helpers to work with it
  3352   - tests: add fedora to distro_clean_package_cache function
  3353   - many: rename snap.Info.StoreName() to snap.Info.SnapName()
  3354   - tests: add spread test to ensure snapd/core18 are not removable
  3355   - tests: tweaks for running the main tests on core18
  3356   - overlord/{config,snap}state: introduce experimental.parallel-
  3357     instances feature flag
  3358   - strutil: support iteration over almost clean paths
  3359   - strutil: add PathIterator.Rewind
  3360   - tests: update interfaces-timeserver-control to core18
  3361   - tests: add halt-timeout to google backend
  3362   - tests: skip security-udev-input-subsystem without /dev/input/by-
  3363     path
  3364   - snap: introduce the instance key field
  3365   - packaging/opensuse: remaining packaging updates for 2.33.1
  3366   - overlord/snapstate: disallow installing snapd on baseless models
  3367   - tests: disable core tests on all core systems (16 and 18)
  3368   - dirs: improve identification of Arch Linux like systems
  3369   - many: expose full publisher info over the snapd API
  3370   - tests: disable core tests on all core systems (16 and 18)
  3371   - tests/main/xdg-open: restore or clean up xdg-open
  3372   - tests/main/interfaces-firewall-control: shellcheck fix
  3373   - snapstate: sort "snapd" first
  3374   - systemd: require snapd.socket in snapd.seeded.service; make sure
  3375     snapd.seeded
  3376   - spread-shellcheck: use the latest shellcheck available from snaps
  3377   - tests: use "ss" instead of "netstat" (netstat is not available in
  3378     core18)
  3379   - data/complete: fix three out of four shellcheck warnings in
  3380     data/complete
  3381   - packaging/opensuse: fix typo, missing assignment
  3382   - tests: initial core18 spread image building
  3383   - overlord: introduce a gadget-connect task and use it at first boot
  3384   - data/completion: fix inconsistency in +x and shebang
  3385   - firstboot: mark essential snaps as "Required" in the state
  3386   - spread-shellcheck: use a whitelist of files that are allowed to
  3387     fail validation
  3388   - packaging/opensuse: build position-independent binaries
  3389   - ifacestate: prevent running interface hooks twice when self-
  3390     connecting on autoconnect
  3391   - data: remove /bin/sh from snapd.sh
  3392   - tests: fix shellcheck 0.5.0 warnings
  3393   - packaging/opensuse: snap-confine should be 06755
  3394   - packaging/opensuse: ship apparmor integration if enabled
  3395   - interfaces/udev,misc: only trigger udev events on input subsystem
  3396     as needed
  3397   - packaging/opensuse: add missing bits for snapd.seeded.service
  3398   - packaging/opensuse: don't use %-macros in comments
  3399   - tests: shellchecks part 4
  3400   - many: rename snap.Info.Name() to snap.Info.InstanceName(), leave
  3401     parallel-install TODOs
  3402   - store: drop unused: channel map types, and details fixture.
  3403   - store: have a basic test about the unmarshalling of /search
  3404     results
  3405   - tests: show executed tests on current system when a test fails
  3406   - tests: fix for the download of the big snap
  3407   - interfaces/apparmor: add chopTree
  3408   - tests: remove double debug: | entry in tests and add more checks
  3409   - cmd/snap-update-ns: introduce mimicRequired helper
  3410   - interfaces: move assertions around for better failure line number
  3411   - store: log a nice clear "download succeeded" message
  3412   - snap: run snap-confine from the re-exec location
  3413   - snapstate: support restarting snapd from the snapd snap on core18
  3414   - tests: show status of the partial test-snapd-huge snap in
  3415     econnreset test
  3416   - tests: fix interfaces-calendar-service test when gvfsd-metadata
  3417     loks the xdg dirctory
  3418   - store: switch store.SnapInfo to use the new v2/info endpoint
  3419   - interfaces: add Repository.AllInterfaces
  3420   - snapstate: stop using evolving SnapSpec internally, use an
  3421     internal-only snapSpec instead
  3422   - cmd/libsnap-confine-private: introduce a helper for splitting snap
  3423     name
  3424   - tests: econnreset/retry tweaks
  3425   - store, et al: kill dead code that uses the bulk endpoint
  3426   - tests/lib/prepare-restore: fix upgrade/reboot handling on arch
  3427   - cmd/snap-update-ns,strutil: move PathIterator to strutil, add
  3428     Depth helper
  3429   - data/systemd/snapd.run-from-snap: ensure snapd tooling is
  3430     available
  3431   - store: switch connectivity check to use v2/info
  3432   - devicestate: support seeding from a base snap instead of core
  3433   - snapstate,ifacestate: remove core-phase-2 handling
  3434   - interfaces/docker-support: update for docker 18.05
  3435   - tests: enable fedora 28 again
  3436   - overlord/ifacestate:  simplify checkConnectConflicts and also
  3437     connect signature
  3438   - snap: parse connect instructions in gadget.yaml
  3439   - tests: fix snapd-repair.timer on ubuntu-core-snapd-run- from-snap
  3440     test
  3441   - interfaces/apparmor: allow killing snap-update-ns
  3442   - tests: skip "try" test on s390x
  3443   - store, image: have 'snap download' use v2/refresh action=download
  3444   - interfaces/policy: test that base policy can be parsed
  3445   - tests: publish test-snapd-appstreamid for any architecture
  3446   - snap: don't include newline in hook environment
  3447   - cmd/snap-update-ns: use RCall with SyscallsEqual
  3448   - cmd/snap-update-ns: add IsSnapdCreatedPrivateTmpfs and tests
  3449   - tests: skip security-dev-input-event-denied on s390x/arm64
  3450   - interfaces: add the dvb interface
  3451   - daemon: paging is not a thing.
  3452   - cmd/snap-mgmt: remove system key on purge
  3453   - testutil: syscall sequence checker
  3454   - cmd/snap-update-ns: fix a leaking file descriptor in MkSymlink
  3455   - packaging: use official bolt in the errtracker on fedora
  3456   - many: add `snap debug connectivity` command* many: add `snap debug
  3457     connectivity` command
  3458   - configstate: deny configuration of base snaps and for the "snapd"
  3459     snap
  3460   - interfaces/raw-usb: also allow usb serial devices
  3461   - snap: reject more layout locations
  3462   - errtracker: do not send duplicated reports
  3463   - httputil: extra debug if an error is not retried
  3464   - cmd/snap-update-ns: improve wording in many errors
  3465   - cmd/snap: use snaptest.MockSnapCurrent in `snap run` tests
  3466   - cmd/snap-update-ns: add helper for checking for read-only
  3467     filesystems
  3468   - interfaces/builtin/docker: use commonInterface over specific
  3469     struct
  3470   - testutil: add test support for Fstatfs
  3471   - cmd/snap-update-ns: discard the concept of segments
  3472   - cmd/libsnap-confine-private: helper for extracting store snap name
  3473     from local-name
  3474   - tests: fix flaky test for hooks undo
  3475   - interfaces: add {contacts,calendar}-service interfaces
  3476   - tests: retry 'restarting into..' match in the snap-confine-from-
  3477     core test
  3478   - systemd: adjust TestWriteMountUnitForDirs() to use
  3479     squashfs.MockUseFuse(false)
  3480   - data: add helper that can generate/start/stop the snapd service
  3481   - sefltest: advise reboot into 4.4 on trusty running 3.13
  3482   - selftest: add new selftest package that tests squashfs mounting
  3483   - store, jsonutil: move store.getStructFields to
  3484     jsonutil.StructFields
  3485   - ifacestate: improved conflict and error handling when creating
  3486     autoconnect tasks
  3487   - cmd/snap-confine: applied make fmt
  3488   - interfaces/udev: call 'udevadm settle --timeout=10' after
  3489     triggering events
  3490   - tests: wait more time until snap start to be downloaded on
  3491     econnreset test
  3492   - snapstate: ensure fakestore returns TypeOS for the core snap
  3493   - tests: fix lxd test which hangs on restore
  3494   - cmd/snap-update-ns: add PathIterator
  3495   - asserts,image: add support for models with bases
  3496   - tests: shellchecks part 3
  3497   - overlord/hookstate: support undo for hooks
  3498   - interfaces/tpm: Allow access to the kernel resource manager
  3499   - tests: skip appstream-id test for core systems 32 bits
  3500   - interfaces/home: remove redundant common interface assignment
  3501   - tests: reprioritise a few tests that are known to be slow
  3502   - cmd/snap: small help tweaks and fixes
  3503   - tests: add test to ensure /dev/input/event* for non-joysticks is
  3504     denied
  3505   - spread-shellcheck: silly fix & pep8
  3506   - spread: switch fedora 28 to manual
  3507   - client,cmd/snap,daemon,tests: expose base of a snap over API, show
  3508     it in snap info --verbose
  3509   - tests: fix lxd test - --auto now sets up networking
  3510   - tests: adding fedora-28 to spread.yaml
  3511   - interfaces: add juju-client-observe interface
  3512   - client, daemon: add a "mounted-from" entry to local snaps' JSON
  3513   - image: set model.DisplayName() in bootenv as "snap_menuentry"
  3514   - packaging/opensuse: Refactor packaging to support all openSUSE
  3515     targets
  3516   - interfaces/joystick: force use of the device cgroup with joystick
  3517     interface
  3518   - interfaces/hardware-observe: allow access to /etc/sensors* for
  3519     libsensors
  3520   - interfaces: remove Plug/Slot types
  3521   - interface hooks: update old AutoConnect methods
  3522   - snapcraft: run with DEB_BUILD_OPTIONS=nocheck
  3523   - overlord/{config,snap}state: the number of inactive revisions is
  3524     config
  3525   - cmd/snap: check with snapd for unknown sections
  3526   - tests: moving test helpers from sh to bash
  3527   - data/systemd: add snapd.apparmor.service
  3528   - many: expose AppStream IDs (AKA common ID)
  3529   - many: hold refresh when on metered connections
  3530   - interfaces/joystick: also support modern evdev joysticks and
  3531     gamepads
  3532   - xdgopenproxy: skip TestOpenUnreadableFile when run as root
  3533   - snapcraft: use dpkg-buildpackage options that work in xenial
  3534   - spread: openSUSE LEAP 42.2 was EOLd in January, remove it
  3535   - get-deps: work with an unset GOPATH too
  3536   - interfaces/apparmor: use strict template on openSUSE tumbleweed
  3537   - packaging: filter out verbose flags from "dh-golang"
  3538   - packaging: fix description
  3539   - snapcraft.yaml: add minimal snapcraft.yaml with custom build
  3540  
  3541  * Fri Jun 22 2018 Neal Gompa <ngompa13@gmail.com> - 2.33.1-1
  3542  - Release 2.33.1 to Fedora (RH#1567916)
  3543  
  3544  * Thu Jun 21 2018 Michael Vogt <mvo@ubuntu.com>
  3545  - New upstream release 2.33.1
  3546   - many: improve udev trigger on refresh experience
  3547   - systemd: require snapd.socket in snapd.seeded.service
  3548   - snap: don't include newline in hook environment
  3549   - interfaces/apparmor: allow killing snap-update-ns
  3550   - tests: skip "try" test on s390x
  3551   - tests: skip security-dev-input-event-denied when /dev/input/by-
  3552     path/ is missing
  3553   - tests: skip security-dev-input-event-denied on s390x/arm64
  3554  
  3555  * Fri Jun 08 2018 Michael Vogt <mvo@ubuntu.com>
  3556  - New upstream release 2.33
  3557   - packaging: use official bolt in the errtracker on fedora
  3558   - many: add `snap debug connectivity` command
  3559   - interfaces/raw-usb: also allow usb serial devices
  3560   - errtracker: do not send duplicated reports
  3561   - selftest: add new selftest package that tests squashfs mounting
  3562   - tests: backport lxd force stop and econnreset fixes
  3563   - tests: add test to ensure /dev/input/event* for non-joysticks is
  3564     denied
  3565   - interfaces/joystick: support modern evdev joysticks
  3566   - interfaces: add juju-client-observe
  3567   - interfaces/hardware-observe: allow access to /etc/sensors* for
  3568     libsensors
  3569   - many: holding refresh on metered connections
  3570   - many: expose AppStream IDs (AKA common ID)
  3571   - tests: speed up save/restore snapd state for all-snap systems
  3572     during tests execution
  3573   - interfaces/apparmor: use helper to load stray profile
  3574   - tests: ubuntu core abstraction
  3575   - overlord/snapstate: don't panic in a corner case interaction of
  3576     cleanup tasks and pruning
  3577   - interfaces/apparmor: add 'mediate_deleted' profile flag for all
  3578     snaps
  3579   - tests: new parameter for the journalctl rate limit
  3580   - spread-shellcheck: port to python
  3581   - interfaces/home: add 'read' attribute to allow non-owner read to
  3582     @{HOME}
  3583   - testutil: import check.v1 differently to workaround gccgo error
  3584   - interfaces/many: miscellaneous updates for default, desktop,
  3585     desktop-legacy, system-observe, hardware-observe, opengl and gpg-
  3586     keys
  3587   - snapstate/hooks: reorder autoconnect and reconnect hooks
  3588   - daemon: update unit tests to match current master
  3589   - overlord/snapshotstate/backend: introducing the snapshot backend
  3590   - many: support 'system' nickname in interfaces
  3591   - userd: add the "snap" scheme to the whitelist
  3592   - many: make rebooting of core on refresh immediate, refactor logic
  3593     around it
  3594   - tests/main/snap-service-timer: account for service timer being in
  3595     the 'running' state
  3596   - interfaces/builtin: allow access to libGLESv* too for opengl
  3597     interface
  3598   - daemon: fix unit tests on arch
  3599   - interfaces/default,process-control: miscellaneous signal policy
  3600     fixes
  3601   - interfaces/bulitin: add write permission to optical-drive
  3602   - configstate: validate known core.* options
  3603   - snap, wrappers: systemd WatchdogSec support
  3604   - ifacestate: do not auto-connect manually disconnected interfaces
  3605   - systemd: mock useFuse() so testsuite passes in container via lxd
  3606     snap
  3607   - snap/env: fix env duplication logic
  3608   - snap: some doc comments fixes and additions
  3609   - cmd/snap-confine, interfaces/opengl: allow access to glvnd EGL
  3610     vendor files
  3611   - ifacestate: unify reconnect and autoconnect methods
  3612   - tests: fix user mounts test for external systems
  3613   - overlord/snapstate,overlord/auth,store: coalesce no auth user
  3614     refresh requests
  3615   - boot,partition: improve tests/docs around SetNextBoot()
  3616   - many: improve `snap wait` command
  3617   - snap: fix `snap interface --attrs` output when numbers are used
  3618   - cmd/snap-update-ns: poke holes when creating source paths for
  3619     layouts
  3620   - snapstate: support getting new bases/default-providers on refresh
  3621   - ifacemgr: remove stale connections on startup
  3622   - asserts: use Attrer in policy checks
  3623   - testutil: record system call errors / return values
  3624   - tests: increase timeouts to make tests reliable on slow boards
  3625   - repo: pass and return ConnRef via pointers
  3626   - interfaces: add xdg-document-portal support to desktop interface
  3627   - debian: add a zenity|kdialog suggests
  3628   - snapstate: make TestDoPrereqRetryWhenBaseInFlight less brittle
  3629   - tests: go must be installed as a classic snap
  3630   - tests: use journalctl cursors instead rotating logs
  3631   - daemon: add confinement-options to /v2/system-info
  3632     daemon: refactor classic support flag to be more structured
  3633   - tests: build spread in the autopkgtests with a more recent go
  3634   - cmd/snap: fix the message when snap.channel != snap.tracking
  3635   - overlord/snapstate: allow core defaults configuration via 'system'
  3636     key
  3637   - many: add "snap debug sandbox-features" and needed bits
  3638   - interfaces: interface hooks for refresh
  3639   - snapd.core-fixup.sh: add workaround for corrupted uboot.env
  3640   - boot: clear "snap_mode" when needed
  3641   - many: add wait command and `snapd.seeded` service
  3642   - interfaces: move host font update-ns AppArmor rules to desktop
  3643     interface
  3644   - jsonutil/safejson: introducing safejson.String &
  3645     safejson.Paragraph
  3646   - cmd/snap-update-ns: use Secure.BindMount to bind mount files
  3647   - cmd/snap-update-ns,tests: mimic the mode and ownership of
  3648     directories
  3649   - cmd/snap-update-ns: add support for ignoring mounts with missing
  3650     source/target
  3651   - interfaces: interface hooks implementation
  3652   - cmd/libsnap: fix compile error on more restrictive gcc
  3653     cmd/libsnap: fix compilation errors on gcc 8
  3654   - interfaces/apparmor: allow bash and dash to be in /usr/bin/
  3655   - cmd/snap-confine: allow any base snap to provide /etc/alternatives
  3656   - tests: fix interfaces-network test for systems with partial
  3657     confinement
  3658   - spread.yaml: add cosmic (18.10) to autopkgtest/qemu
  3659   - tests: ubuntu 18.04 or higher does not need linux-image-extra-
  3660   - configcore: validate experimental.layouts option
  3661   - interfaces:minor autoconnect cleanup
  3662   - HACKING: fix typos
  3663   - spread: add adt for ubuntu 18.10
  3664   - tests: skip test lp-1721518 for arch, snapd is failing to start
  3665     after reboot
  3666   - interfaces/x11: allow X11 slot implementations
  3667   - tests: checking interfaces declaring the specific interface
  3668   - snap: improve error for snaps not available in the given context
  3669   - cmdstate: add missing test for default timeout handling
  3670   - tests: shellcheck spread tasks
  3671   - cmd/snap: update install/refresh help vs --revision
  3672   - cmd/snap-confine: add support for per-user mounts
  3673   - snap: do not use overly short timeout in `snap
  3674     {start,stop,restart}`
  3675   - tests: adding google-sru backend replacing linode-sur
  3676   - interfaces/apparmor: fix incorrect apparmor profile glob
  3677   - systemd: replace ancient paths with 16.04+ standards
  3678   - overlord,systemd: store snap revision in mount units
  3679   - testutil: add test helper for SysLstat
  3680   - testutil,cmd: rename test helper of Lstat to OsLstat
  3681   - testutil: document all fake syscall/os functions
  3682   - osutil,interfaces,cmd: use less hardcoded strings
  3683   - testutil: rename UNMOUNT_NOFOLLOW to umountNoFollow
  3684   - testutil: don't dot-import check.v1
  3685   - store: getStructFields takes pointers now
  3686   - tests: drop `linux-image-extra-$(uname -r)` install in 18.04
  3687   - many: fix false negatives reported by vet
  3688   - osutil,interfaces: use uint32 for uid, gid
  3689   - many: fix various issues reported by shellcheck
  3690   - tests: add pending shutdown detection
  3691   - image: support refreshing soft-expired user macaroons in tooling
  3692   - interfaces/builtin, daemon: cleanup mocked builtin interfaces in
  3693     daemon tests
  3694   - interfaces/builtin: add support for software-watchdog interface
  3695   - spread: auto accept key changes when calling dnf
  3696   - snap,overlord/snapstate: introduce and use BrokenSnapError
  3697   - tests: detect kernel oops during tests and abort tests in this
  3698     case
  3699   - tests: bring back one missing test in snap-service-stop-mode
  3700   - debian: update LP bug for the 2.32.5 SRU
  3701   - userd: set up journal logging streams for autostarted apps
  3702   - snap,tests : don't fail if we cannot stat MountFile
  3703   - tests: smaller fixes for Arch tests
  3704   - tests: run interfaces-broadcom-asic-control early
  3705   - client: support for snapshot sets, snapshots, and snapshot actions
  3706   - tests: skip interfaces-content test on core devices
  3707   - cmd: generalize locking to global, snap and per-user locks
  3708   - release-tools: handle the snapd-x.y.z version
  3709   - packaging: fix incorrectly auto-generated changelog entry for
  3710     2.32.5
  3711   - tests: add arch to CI
  3712   - systemd: add helper for opening stream file descriptors to the
  3713     journal
  3714   - cmd/snap: handle distros with no version ID
  3715   - many: add "stop-mode: sig{term,hup,usr[12]}{,-all}" instead of
  3716     conflating that with refresh-mode
  3717   - tests: removing linode-sru backend
  3718   - tests: updating bionic version for spread tests on google
  3719   - overlord/snapstate: poll for up to 10s if a snap is unexpectedly
  3720     not mounted in doMountSnap
  3721   - overlord/snapstate: allow to get an error from readInfo instead of
  3722     a broken stub, use it in doMountSnap
  3723   - snap: snap.AppInfo is now a fmt.Stringer
  3724   - tests: move fedora 27 to google backend
  3725   - many: add `core.problem-reports.disabled` option
  3726   - cmd/snap-update-ns: remove the need for stash directory in secure
  3727     bind mount implementation
  3728   - errtracker: check for whoopsie.service instead of reading
  3729     /etc/whoopsie
  3730   - cmd/snap: user session application autostart v3
  3731   - tests: add test to ensure `snap refresh --amend` works with
  3732     different channels
  3733   - tests: add check for OOM error after each test
  3734   - cmd/snap-seccomp: graceful handling of non-multilib host
  3735   - interfaces/shutdown: allow calling SetWallMessage
  3736   - cmd/snap-update-ns: add secure bind mount implementation for use
  3737     with user mounts
  3738   - snap: fix `snap advise-snap --command` output to match spec
  3739   - overlord/snapstate: on multi-snap refresh make sure bases and core
  3740     are finished before dependent snaps
  3741   - overlord/snapstate: introduce envvars to control the channels for
  3742     based and prereqs
  3743   - cmd/snap-confine: ignore missing cgroups in snap-device-helper
  3744   - debian: add gbp.conf script to build snapd via `gbp buildpackage`
  3745   - daemon,overlord/hookstate: stop/wait for running hooks before
  3746     closing the snapctl socket
  3747   - advisor: use json for package database
  3748   - interfaces/hostname-control: allow setting the hostname via
  3749     syscall and systemd
  3750   - tests/main/interfaces-opengl-nvidia: verify access to 32bit
  3751     libraries
  3752   - interfaces: misc updates for default, firewall-control, fuse-
  3753     support and process-control
  3754   - data/selinux: Give snapd access to more aspects of the system
  3755   - many: use the new install/refresh API by switching snapstate to
  3756     use store.SnapAction
  3757   - errtracker: make TestJournalErrorSilentError work on gccgo
  3758   - ifacestate: add to the repo also snaps that are pending being
  3759     activated but have a done setup-profiles
  3760   - snapstate, ifacestate: inject auto-connect tasks try 2
  3761   - cmd/snap-confine: allow creating missing gl32, gl, vulkan dirs
  3762   - errtracker: add more fields to aid debugging
  3763   - interfaces: make system-key more robust against invalid fstab
  3764     entries
  3765   - overlord,interfaces: be more vocal about broken snaps and read
  3766     errors
  3767   - ifacestate: injectTasks helper
  3768   - osutil: fix fstab parser to allow for # in field values
  3769   - cmd/snap-mgmt: remove timers, udev rules, dbus policy files
  3770   - release-tools: add repack-debian-tarball.sh
  3771   - daemon,client: add build-id to /v2/system-info
  3772   - cmd: make fmt (indent 2.2.11)
  3773   - interfaces/content: add rule so slot can access writable files at
  3774     plug's mountpoint
  3775   - interfaces: add /var/lib/snapd/snap to @{INSTALL_DIR}
  3776   - ifacestate: don't surface errors from stale connections
  3777   - cmd/snap-update-ns: convert Secure* family of functions into
  3778     methods
  3779   - tests: adjust canonical-livepatch test on GCE
  3780   - tests: fix quoting issues in econnreset test
  3781   - cmd/snap-confine: make /run/media an alias of /media
  3782   - cmd/snap-update-ns: rename i to segNum
  3783   - interfaces/serial: change pattern not to exclude /dev/ttymxc*
  3784   - spread: disable StartLimitInterval option on opensuse-42.3
  3785   - configstate: give a chance to immediately recompute the next
  3786     refresh time when schedules are set
  3787   - cmd/snap-confine: attempt to detect if multiarch host uses
  3788     arch triplets
  3789   - store: add Store.SnapAction to support the new install/refresh API
  3790     endpoint
  3791   - tests: adding test for removable-media interface
  3792   - tests: update interface tests to remove extra checks and normalize
  3793     tests
  3794   - timeutil: in Human, count days with fingers
  3795   - vendor: update gopkg.in/yaml.v2 to the latest version
  3796   - cmd/snap-confine: fix Archlinux compatibility
  3797   - cmd/snapd: make sure signal handlers are established during early
  3798     daemon startup
  3799   - cmd/snap-confine: apparmor: allow creating prefix path for
  3800     gl/vulkan
  3801   - osutil: use tilde suffix for temporary files used for atomic
  3802     replacement
  3803   - tests: copy or sanity check core users using usernames
  3804   - tests: disentangle etc vs extrausers in core tests
  3805   - tests: fix snap-run tests when snapd is not running
  3806   - overlord/configstate: change how ssh is stopped/started
  3807   - snap: make `snap run` look at the system-key for security profiles
  3808   - strutil, cmd/snap: drop strutil.WordWrap, first pass at
  3809     replacement
  3810   - tests: adding opensuse-42.3 to google
  3811   - cmd/snap: fix one issue with noWait error handling logic, add
  3812     tests plus other cleanups
  3813   - cmd/snap-confine: nvidia: preserve globbed file prefix
  3814   - advisor: add comment why osutil.FileExists(dirs.SnapCommandsDB) is
  3815     needed
  3816   - interfaces,release: probe seccomp features lazily
  3817   - tests: change debug for layout test
  3818   - advisor: deal with missing commands.db file
  3819   - interfaces/apparmor: simplify UpdateNS internals
  3820   - polkit: Pass caller uid to PolicyKit authority
  3821   - tests: moving debian 9 from linode to google backend
  3822   - cmd/snap-confine: nvidia: add tls/libnvidia-tls.so* glob
  3823   - po: specify charset in po/snappy.pot
  3824   - interfaces: harden snap-update-ns profile
  3825   - snap: Call SanitizePlugsSlots from InfoFromSnapYaml
  3826   - tests: update tests to deal with s390x quirks
  3827   - debian: run snap.mount upgrade fixup *before* debhelper
  3828   - tests: move xenial i386 to google backend
  3829   - snapstate: add compat mode for default-provider
  3830   - tests: a bunch of test fixes for s390x from looking at the
  3831     autopkgtest logs
  3832   - packaging: recommend "gnupg" instead of "gnupg1 | gnupg"
  3833   - interfaces/builtin: let MM change qmi device attributes
  3834   - tests: add workaround for s390x failure
  3835   - snap/pack, cmd/snap: add `snap pack --check-skeleton`
  3836   - daemon: support 'system' as nickname of the core snap
  3837   - cmd/snap-update-ns: use x-snapd.{synthetic,needed-by} in practice
  3838   - devicestate: add DeviceManager.Registered returning a channel
  3839     closed when the device is known to be registered
  3840   - store: Sections and WriteCatalogs need to strictly send device
  3841     auth only if the device has a custom store
  3842   - tests: add bionic system to google backend
  3843   - many: fix shellcheck warnings in bionic
  3844   - cmd/snap-update-ns: don't fail on existing symlinks
  3845   - tests: make autopkgtest tests more targeted
  3846   - cmd/snap-update-ns: fix creation of layout symlinks
  3847   - spread,tests: move suite-level prepare/restore to central script
  3848   - many: propagate contexts enough to be able to mark store
  3849     operations done from the Ensure loop
  3850   - snap: don't create empty Change with "Hold" state on disconnect
  3851   - snap: unify snap name validation w/python; enforce length limit.
  3852   - cmd/snap: use shlex when parsing `snap run --strace` arguments
  3853   - osutil,testutil: add symlinkat(2) and readlinkat(2)
  3854   - tests: autopkgtest may have non edge core too
  3855   - tests: adding checks before stopping snapd service to avoid job
  3856     canceled on ubuntu 14.04
  3857   - errtracker: respect the /etc/whoopsie configuration
  3858   - overlord/snapstate:  hold refreshes for 2h after seeding on
  3859     classic
  3860   - cmd/snap: tweak and polish help strings
  3861   - snapstate: put layout feature behind feature flag
  3862   - tests: force profile re-generation via system-key
  3863   - snap/squashfs: when installing from seed, try symlink before cp
  3864   - wrappers: services which are socket or timer activated should not
  3865     be started during boot
  3866   - many: go vet cleanups
  3867   - tests: define MATCH from spread
  3868   - packaging/fedora: Merge changes from Fedora Dist-Git plus trivial
  3869     fix
  3870   - cmd/snap: use timeutil.Human to show times in `snap refresh
  3871     --time`
  3872   - cmd/snap: in changes and tasks, default to human-friendly times
  3873   - many: support holding refreshes by setting refresh.hold
  3874   - Revert "cmd/snap: use timeutil.Human to show times in `snap
  3875     refresh -…-time`"
  3876   - cmd/snap: use timeutil.Human to show times in `snap refresh
  3877     --time`
  3878   - tests/main/snap-service-refresh-mode: refactor the test to rely on
  3879     comparing PIDs
  3880   - tests/main/media-sharing: improve the test to cover /media and
  3881     /run/media
  3882   - store: enable deltas for core devices too
  3883   - cmd/snap: unhide --no-wait; make wait use go via waitMixin
  3884   - strutil/shlex: import github.com/google/shlex into the tree
  3885   - vendor: update github.com/mvo5/libseccomp-golang
  3886   - overlord/snapstate: block install of "system"
  3887   - cmd/snap: "current"→"installed"; "refreshed"→"refresh-date"
  3888   - many: add the snapd-generator
  3889   - cmd/snap-seccomp: Cancel the atomic file on error, not just Close
  3890   - polkit: ensure error is properly set if dialog is dismissed
  3891   - snap-confine, snap-seccomp: utilize new seccomp logging features
  3892   - progress: tweak ansimeter cvvis use to no longer confuse minicom
  3893   - xdgopenproxy: integrate xdg-open implementation into snapctl
  3894   - tests: avoid removing preinstalled snaps on core
  3895   - tests: chroot into core to run xdg-open there
  3896   - userd: add an OpenFile method for launching local files with xdg-
  3897     open
  3898   - tests: moving ubuntu core from linode to google backend
  3899   - run-checks: remove accidental bashism
  3900   - i18n: simplify NG usage by doing the modulo math in-package.
  3901   - snap/squashfs: set timezone when calling unsquashfs to get the
  3902     build date
  3903   - timeutil: timeutil.Human(t) gives a human-friendly string for t
  3904   - snap: add autostart app property
  3905   - tests: add support for external backend executions on listing test
  3906   - tests: make interface-broadcom-asic-control test work on rpi
  3907   - configstate: when disable "ssh" we must disable the "sshd" service
  3908   - interfaces/apparmor,system-key: add upperdir snippets for strict
  3909     snaps on livecd
  3910   - snap/squashfs: add BuildDate
  3911   - store: parse the JSON format used by the coming new store API to
  3912     convey snap information
  3913   - many: remove snapd.refresh.{timer,service}
  3914   - tests: adding ubuntu-14.04-64 to the google backend
  3915   - interfaces: add xdg-desktop-portal support to desktop interface
  3916   - packaging/arch: sync with snapd/snapd-git from AUR
  3917   - wrappers, tests/main/snap-service-timer: restore missing commit,
  3918     add spread test for timer services
  3919   - store: don't ask for snap_yaml_raw except on the details endpoint
  3920   - many: generate and use per-snap snap-update-ns profile
  3921   - tests: add debug for layout test
  3922   - wrappers: detect whether systemd-analyze can be used in unit tests
  3923   - osutil: allow creating strings out of MountInfoEntry
  3924   - servicestate: use systemctl enable+start and disable+stop instead
  3925     of --now flag
  3926   - osutil: handle file being matched by multiple patterns
  3927   - daemon, snap: fix InstallDate, make a method of *snap.Info
  3928   - wrappers: timer services
  3929   - wrappers: generator for systemd OnCalendar schedules
  3930   - asserts: fix flaky storeSuite.TestCheckAuthority
  3931   - tests: fix dependency for ubuntu artful
  3932   - spread: start moving towards google backend
  3933   - tests: add a spread test for layouts
  3934   - ifacestate: be consistent passing Retry.After as named field
  3935   - cmd/snap-update-ns: use recursive bind mounts for writable mimic
  3936   - testutil: allow mocking syscall.Fstat
  3937   - overlord/snapstate: verify that default schedule is randomized and
  3938     is  not a single time
  3939   - many: simplify mocking of home-on-NFS
  3940   - cmd/snap-update-ns: use syscall.Symlink instead of os.Symlink
  3941   - store: move infoFromRemote into details.go close to snapDetails
  3942   - userd/tests: Test kdialog calls and mock kdialog too to make tests
  3943     work in KDE
  3944   - cmd/snap: tweaks to 'snap info' (feat. installed->current rename)
  3945   - cmd/snap: add self-strace to `snap run`
  3946   - interfaces/screen-inhibit-control,network-status: fix dbus path
  3947     and interface typos
  3948   - update-pot: Force xgettext() to return true
  3949   - store: cleanup test naming, dropping remoteRepo  and
  3950     UbuntuStore(Repository)? references
  3951   - store: reorg auth refresh
  3952  
  3953  * Wed May 16 2018 Michael Vogt <mvo@ubuntu.com>
  3954  - New upstream release 2.32.9
  3955   - tests: run all spread tests inside GCE
  3956   - tests: build spread in the autopkgtests with a more recent go
  3957  
  3958  * Fri May 11 2018 Michael Vogt <mvo@ubuntu.com>
  3959  - New upstream release 2.32.8
  3960   - snapd.core-fixup.sh: add workaround for corrupted uboot.env
  3961  
  3962  * Fri May 11 2018 Michael Vogt <mvo@ubuntu.com>
  3963  - New upstream release 2.32.7
  3964   - many: add wait command and seeded target (2
  3965   - snapd.core-fixup.sh: add workaround for corrupted uboot.env
  3966   - boot: clear "snap_mode" when needed
  3967   - cmd/libsnap: fix compile error on more restrictive gcc
  3968   - tests: cherry-pick commits to move spread to google backend
  3969   - spread.yaml: add cosmic (18.10) to autopkgtest/qemu
  3970   - userd: set up journal logging streams for autostarted apps
  3971  
  3972  * Sun Apr 29 2018 Michael Vogt <mvo@ubuntu.com>
  3973  - New upstream release 2.32.6
  3974   - snap: do not use overly short timeout in `snap
  3975     {start,stop,restart}`
  3976   - interfaces/apparmor: fix incorrect apparmor profile glob
  3977   - tests: detect kernel oops during tests and abort tests in this
  3978     case
  3979   - tests: run interfaces-boradcom-asic-control early
  3980   - tests: skip interfaces-content test on core devices
  3981  
  3982  * Mon Apr 16 2018 Michael Vogt <mvo@ubuntu.com>
  3983  - New upstream release 2.32.5
  3984   - many: add "stop-mode: sig{term,hup,usr[12]}{,-all}" instead of
  3985     conflating that with refresh-mode
  3986   - overlord/snapstate:  poll for up to 10s if a snap is unexpectedly
  3987     not mounted in doMountSnap
  3988   - daemon: support 'system' as nickname of the core snap
  3989  
  3990  * Thu Apr 12 2018 Neal Gompa <ngompa13@gmail.com> - 2.32.4-1
  3991  - Release 2.32.4 to Fedora (RH#1553734)
  3992  
  3993  * Wed Apr 11 2018 Michael Vogt <mvo@ubuntu.com>
  3994  - New upstream release 2.32.4
  3995   - cmd/snap: user session application autostart
  3996   - overlord/snapstate: introduce envvars to control the channels for
  3997     bases and prereqs
  3998   - overlord/snapstate: on multi-snap refresh make sure bases and core
  3999     are finished before dependent snaps
  4000   - many: use the new install/refresh /v2/snaps/refresh store API
  4001  
  4002  * Wed Apr 11 2018 Michael Vogt <mvo@ubuntu.com>
  4003  - New upstream release 2.32.3.2
  4004   - errtracker: make TestJournalErrorSilentError work on
  4005     gccgo
  4006   - errtracker: check for whoopsie.service instead of reading
  4007     /etc/whoopsie
  4008  
  4009  * Wed Apr 11 2018 Michael Vogt <mvo@ubuntu.com>
  4010  - New upstream release 2.32.3.1
  4011   - debian: add gbp.conf script to build snapd via `gbp
  4012     buildpackage`
  4013   - tests: add check for OOM error after each test
  4014   - cmd/snap-seccomp: graceful handling of non-multilib host
  4015   - interfaces/shutdown: allow calling SetWallMessage
  4016   - data/selinux: Give snapd access to more aspects of the system
  4017   - daemon,overlord/hookstate: stop/wait for running hooks before
  4018     closing the snapctl socket
  4019   - cmd/snap-confine: ignore missing cgroups in snap-device-helper
  4020   - interfaces: misc updates for default, firewall-control, fuse-
  4021     support and process-control
  4022   - overlord: test fix, address corner case
  4023  
  4024  * Thu Apr 05 2018 Michael Vogt <mvo@ubuntu.com>
  4025  - New upstream release 2.32.3
  4026   - ifacestate: add to the repo also snaps that are pending being
  4027     activated but have a done setup-profiles
  4028   - snapstate: inject autoconnect tasks in doLinkSnap for regular
  4029     snaps
  4030   - cmd/snap-confine: allow creating missing gl32, gl, vulkan dirs
  4031   - errtracker: add more fields to aid debugging
  4032   - interfaces: make system-key more robust against invalid fstab
  4033     entries
  4034   - cmd/snap-mgmt: remove timers, udev rules, dbus policy files
  4035   - overlord,interfaces: be more vocal about broken snaps and read
  4036     errors
  4037   - osutil: fix fstab parser to allow for # in field values
  4038  
  4039  * Sat Mar 31 2018 Michael Vogt <mvo@ubuntu.com>
  4040  - New upstream release 2.32.2
  4041   - interfaces/content: add rule so slot can access writable files at
  4042     plug's mountpoint
  4043   - tests: adjust canonical-livepatch test on GCE
  4044   - interfaces/serial: change pattern not to exclude /dev/ttymxc
  4045   - spread.yaml: switch Fedora 27 tests to manual
  4046   - store: Sections and WriteCatalogs need to strictly send device
  4047     auth only if the device has a custom store
  4048   - configstate: give a chance to immediately recompute the next
  4049     refresh time when schedules are set
  4050   - cmd/snap-confine: attempt to detect if multiarch host uses arch
  4051     triplets
  4052   - vendor: update gopkg.in/yaml.v2 to the latest version (#4945)
  4053  
  4054  * Mon Mar 26 2018 Michael Vogt <mvo@ubuntu.com>
  4055  - New upstream release 2.32.1
  4056   - cmd/snapd: make sure signal handlers are established during early
  4057     daemon startup
  4058   - osutil: use tilde suffix for temporary files used for atomic
  4059     replacement
  4060   - cmd/snap-confine: apparmor: allow creating prefix path for
  4061     gl/vulkan
  4062   - tests: disentangle etc vs extrausers in core tests
  4063   - packaging: fix changelogs' typo
  4064  
  4065  * Sat Mar 24 2018 Michael Vogt <mvo@ubuntu.com>
  4066  - New upstream release 2.32
  4067   - snap: make `snap run` look at the system-key for security profiles
  4068   - overlord/configstate: change how ssh is stopped/started
  4069   - cmd/snap-confine: nvidia: preserve globbed file prefix
  4070   - advisor: deal with missing commands.db file
  4071   - interfaces,release: probe seccomp features lazily
  4072   - interfaces: harden snap-update-ns profile
  4073   - polkit: Pass caller uid to PolicyKit authority
  4074   - tests: change debug for layout test
  4075   - cmd/snap-confine: don't use per-snap s-u-n profile
  4076   - many: backported fixes for layouts and symlinks
  4077   - cmd/snap-confine: nvidia: add tls/libnvidia-tls.so* glob
  4078   - cmd/snap-update-ns: use x-snapd.{synthetic,needed-by} in practice
  4079   - snap: Call SanitizePlugsSlots from InfoFromSnapYaml
  4080   - cmd/snap-confine: fix ptrace rule with snap-confine peer
  4081   - tests: update tests to deal with s390x quirks
  4082   - snapstate: add compat mode for default-provider"snapname:ifname"
  4083   - snap-confine: fallback to /lib/udev/snappy-app-dev if the core is
  4084     older
  4085   - tests: a bunch of test fixes for s390x from looking at the
  4086     autopkgtest logs
  4087   - packaging: recommend "gnupg" instead of "gnupg1 | gnupg"
  4088   - interfaces/builtin: let MM change qmi device attributes
  4089   - debian: undo snap.mount system unit removal
  4090   - snap: don't create empty Change with "Hold" state on disconnect
  4091   - tests: add workaround for s390x failure
  4092   - tests: make autopkgtest tests more targeted
  4093   - many: propagate contexts enough to be able to mark store
  4094     operations done from the Ensure loop
  4095   - store: cleanup test naming, dropping remoteRepo and
  4096     UbuntuStore(Repository)? references
  4097   - store: reorg auth refresh
  4098   - tests: autopkgtest may have non edge core too
  4099   - data: translate polkit strings
  4100   - snapstate: put layout feature behind feature flag
  4101   - errtracker: respect the /etc/whoopsie configuration
  4102   - overlord/snapstate: hold refreshes for 2h after seeding on classic
  4103   - many: cherry-pick relevant `go vet` 1.10 fixes to 2.32
  4104   - snap/squashfs: when installing from seed, try symlink before cp
  4105   - wrappers: services which are socket or timer activated should not
  4106     be started during boot
  4107   - many: generate and use per-snap snap-update-ns profile
  4108   - many: support holding refreshes by setting refresh.hold
  4109   - snap-confine, snap-seccomp: utilize new seccomp logging features
  4110   - many: remove snapd.refresh.{timer,service}
  4111   - many: add the snapd-generator
  4112   - polkit: do not shadow dbus errors, avoid panic in case of errors
  4113   - polkit: ensure error is properly set if dialog is dismissed
  4114   - xdgopenproxy: integrate xdg-open implementation into snapctl
  4115   - userd: add an OpenFile method for launching local files with xdg-
  4116     open
  4117   - asserts:  use a timestamp for the assertion after the signing key
  4118     has been created
  4119   - ifacestate: be consistent passing Retry.After as named field
  4120   - interfaces/apparmor,system-key: add upperdir snippets for strict
  4121     snaps on livecd
  4122     interfaces/apparmor,system-key: add upperdir snippets for strict
  4123     snaps
  4124   - configstate: when disable "ssh" we must disable the "sshd"
  4125     service
  4126   - store: don't ask for snap_yaml_raw except on the details endpoint
  4127   - osutil: handle file being matched by multiple patterns
  4128   - cmd/snap-update-ns: use recursive bind mounts for writable mimic
  4129   - cmd/snap-update-ns: use syscall.Symlink instead of os.Symlink
  4130   - interfaces/screen-inhibit-control,network-status: fix dbus path
  4131     and interface typos
  4132   - interfaces/network-status: fix use of '/' in interface in DBus
  4133     rule
  4134   - interfaces/screen-inhibit-control: fix use of '.' in path in DBus
  4135     rule
  4136   - overlord/snapstate: fix task iteration order in
  4137     TestDoPrereqRetryWhenBaseInFlight
  4138   - interfaces: add an interface for gnome-online-accounts D-Bus
  4139     service
  4140   - snap: pass full timer spec in `snap run --timer`
  4141   - cmd/snap: introduce `snap run --timer`
  4142   - snapstate: auto install default-providers for content snaps
  4143   - hooks/strutil: limit the number of data read from the hooks to
  4144     avoid oom
  4145   - osutil: aggregate mockable symbols
  4146   - tests: make sure snapd is running before attempting to remove
  4147     leftover snaps
  4148   - timeutil: account for 24h wrap when flattening clock spans
  4149   - many: send  new Snap-CDN header with none or with cloud instance
  4150     placement info as needed
  4151   - cmd/snap-update-ns,testutil: move syscall testing helpers
  4152   - tests: disable interfaces-location-control on s390x
  4153   - tests: new spread test for gpio-memory-control interface
  4154   - tests: spread test for broadcom-asic-control interface
  4155   - tests: make restore of interfaces-password-manager-service more
  4156     robust
  4157   - tests/lib/prepare-restore: sync journal before rotating and
  4158     vacuuming
  4159   - overlord/snapstate: use spread in the default refresh schedule
  4160   - tests: fixes for autopkgtest in bionic
  4161   - timeutil: introduce helpers for checking it time falls inside the
  4162     schedule
  4163   - cmd/snap-repair,httputil: set snap-repair User-Agent on requests
  4164   - vendor: resync formatting of vendor.json
  4165   - snapstate/ifacestate: auto-connect tasks
  4166   - cmd/snap: also include tracking channel in list output.
  4167   - interfaces/apparmor: use snap revision with surrounding '.' when
  4168     replacing in glob
  4169   - debian,vendor: import github.com/snapcore/squashfs and use
  4170   - many: implement "refresh-mode: {restart,endure,...}" for services
  4171   - daemon: make the ast-inspecting test smarter; drop 'exceptions'
  4172   - tests: new spread test for kvm interface
  4173   - cmd/snap: tweaks to 'snap info' output
  4174   - snap: remove underscore from version validator regexp
  4175   - testutil: add File{Matches,Equals,Contains} checkers.
  4176   - snap: improve the version validator's error messages.
  4177   - osutil: refactor EnsureFileState to separate out the comparator
  4178   - timeutil: fix scheduling on nth weekday of the month
  4179   - cmd/snap-update-ns: small refactor for upcoming per-user mounts
  4180   - many: rename snappy-app-dev to snap-device-helper
  4181   - systemd: add default target for timers
  4182   - interfaces: miscellaneous policy updates for home, opengl, time-
  4183     control, network, et al
  4184   - cmd/snap: linter cleanups
  4185   - interfaces/mount: generate per-user mount profiles
  4186   - cmd/snap: use proper help strings for `snap userd --help`
  4187   - packaging: provide a compat symlink for snappy-app-dev
  4188   - interfaces/time-control,netlink-audit: adjust for util-linux
  4189     compiled with libaudit
  4190   - tests: adding new test to validate the raw-usb interface
  4191   - snap: add support for `snap run --gdb`
  4192   - interfaces/builtin: allow MM to access login1
  4193   - packaging: fix build on sbuild
  4194   - store: revert PR#4532 and do not display displayname
  4195   - interfaces/mount: add support for per-user mount entries
  4196   - cmd/system-shutdown: move sync to be even more pessimistic
  4197   - osutil: reimplement IsMounted with LoadMountInfo
  4198   - tests/main/ubuntu-core-services: enable snapd.refresh.timer for
  4199     the test
  4200   - many: don't allow layout construction to silently fail
  4201   - interfaces/apparmor: ensure snap-confine profile for reexec is
  4202     current
  4203   - interfaces/apparmor: generalize apparmor load and unload helpers
  4204   - tests: removing packages which are not needed anymore to generate
  4205     random data
  4206   - snap: improve `snap run` comments/naming
  4207   - snap: allow options for --strace, e.g. `snap run --strace="-tt"`
  4208   - tests: fix spread test failures on 18.04
  4209   - systemd: update comment on SocketsTarget
  4210   - osutil: add and update docstrings
  4211   - osutil: parse mount entries without options field
  4212   - interfaces: mock away real mountinfo/fstab
  4213   - many: move /lib/udev/snappy-app-dev to /usr/lib/snapd/snappy-app-
  4214     dev
  4215   - overlord/snapstate/backend: perform cleanup if snap setup fails
  4216   - tests/lib/prepare: disable snapd.refresh.timer
  4217   - daemon: remove redundant UserOK markings from api commands
  4218   - snap: introduce  timer service data types and validation
  4219   - cmd/snap: fix UX of snap services
  4220   - daemon: allow `snapctl get` from any uid
  4221   - debian, snap: only static link libseccomp in snap-seccomp on
  4222     ubuntu
  4223   - all: snap versions are now validated
  4224   - many: add nfs-home flag to system-key
  4225   - snap: disallow layouts in various special directories
  4226   - cmd/snap: add help for service commands.
  4227   - devicestate: fix autopkgtest failure in
  4228     TestDoRequestSerialErrorsOnNoHost
  4229   - snap,interfaces: allow using bind-file layouts
  4230   - many: move mount code to osutil
  4231   - snap: understand directories in layout blacklist
  4232   - snap: use custom unsquashfsStderrWriter for unsquashfs error
  4233     detection
  4234   - tests/main/user-data-handling: get rid of ordering bug
  4235   - snap: exclude `gettimeofday` from `snap run --strace`
  4236   - tests: check if snapd.socket is active before stoping it
  4237   - snap: sort layout elements before validating
  4238   - strutil: introducing MatchCounter
  4239   - snap: detect unsquashfs write failures
  4240   - spread: add missing ubuntu-18.04-arm64 to available autopkgtest
  4241     machines
  4242   - cmd/snap-confine: allow mounting anywhere, effectively
  4243   - daemon: improve ucrednet code for the snap.socket
  4244   - release, interfaces: add new release.AppArmorFeatures helper
  4245   - snap: apply some golint suggestions
  4246   - many: add interfaces.SystemKey() helper
  4247   - tests: new snaps to test installs nightly
  4248   - tests: skip alsa interface test when the system does not have any
  4249     audio devices
  4250   - debian/rules: workaround for
  4251     https://github.com/golang/go/issues/23721
  4252   - interfaces/apparmor: early support for snap-update-ns snippets
  4253   - wrappers: cleanup enabled service sockets
  4254   - cmd/snap-update-ns: large refactor / update of unit tests
  4255   - interfaces/apparmor: remove leaked future layout code
  4256   - many: allow constructing layouts (phase 1)
  4257   - data/systemd: for debugging/testing use /etc/environment also for
  4258     snap-repair runs
  4259   - cmd/snap-confine: create lib/{gl,gl32,vulkan} under /var/lib/snapd
  4260     and chown as root:root
  4261   - overlord/configstate/config: make [GS]etSnapConfig use *RawMessage
  4262   - daemon: refactor snapFooMany helpers a little
  4263   - cmd/snap-confine: allow snap-update-ns to chown things
  4264   - interfaces/apparmor: use a helper to set the scope
  4265   - overlord/configstate/config: make SetSnapConfig delete on empty
  4266   - osutil: make MkdirAllChown clean the path passed in
  4267   - many: at seeding try to capture cloud information into core config
  4268     under "cloud"
  4269   - cmd/snap: add completion conversion helper to increase DRY
  4270   - many: remove "content" argument from snaptest.MockSnap()
  4271   - osutil: allow using many globs in EnsureDirState
  4272   - cmd/snap-confine: fix read-only filesystem when mounting nvidia
  4273     files in biarch
  4274   - tests: use root path to /home/test/tmp to avoid lack of space
  4275     issue
  4276   - packaging: create /var/lib/snapd/lib/{gl,gl32,vulkan} as part of
  4277     packaging
  4278   - tests: update kill-timeout focused on making tests pass on boards
  4279   - advisor: ensure commands.db has mode 0644 and add test
  4280   - snap: improve validation of snap layouts
  4281   - tests: ensure disabled services are masked
  4282   - interfaces/desktop-legacy,unity7: support gtk2/gvfs gtk_show_uri()
  4283   - systemd, wrappers: start all snap services in one systemctl call
  4284   - mir: software clients need access to shared memory /dev/shm/#*
  4285   - snap: add support for `snap advise-snap pkgName`
  4286   - snap: fix command-not-found on core devices
  4287   - tests: new spead test for openvswitch-support interface
  4288   - tests: add integration for local snap licenses
  4289   - config: add (Get|Set)SnapConfig to do bulk config e.g. from
  4290     snapshots
  4291   - cmd/snap: display snap license information
  4292   - tests: enable content sharing test for $SNAP
  4293   - osutil: add ContextWriter and RunWithContext helpers.
  4294   - osutil: add DirExists and IsDirNotExist
  4295  
  4296  * Fri Mar 09 2018 Michael Vogt <mvo@ubuntu.com>
  4297  - New upstream release 2.31.2
  4298   - many: add the snapd-generator
  4299   - polkit: ensure error is properly set if dialog is dismissed
  4300   - xdgopenproxy: integrate xdg-open implementation into snapctl
  4301   - userd: add an OpenFile method for launching local files with xdg-
  4302     open
  4303   - configstate: when disable "ssh" we must disable the "sshd"
  4304     service
  4305   - many: remove snapd.refresh.{timer,service}
  4306   - interfaces/builtin: allow MM to access login1
  4307   - timeutil: account for 24h wrap when flattening clock spans
  4308   - interfaces/screen-inhibit-control,network-status: fix dbus path
  4309     and interface typos
  4310   - systemd, wrappers: start all snap services in one systemctl
  4311     call
  4312   - tests: disable interfaces-location-control on s390x
  4313  
  4314  * Mon Mar 05 2018 Neal Gompa <ngompa13@gmail.com> - 2.31.1-2
  4315  - Fix dependencies for devel subpackage
  4316  
  4317  * Sun Mar 04 2018 Neal Gompa <ngompa13@gmail.com> - 2.31.1-1
  4318  - Release 2.31.1 to Fedora (RH#1542483)
  4319  - Drop all backported patches as they're part of this release
  4320  
  4321  * Tue Feb 20 2018 Michael Vogt <mvo@ubuntu.com>
  4322  - New upstream release 2.31.1
  4323   - tests: multiple autopkgtest related fixes for 18.04
  4324   - overlord/snapstate: use spread in the default refresh schedule
  4325   - timeutil: fix scheduling on nth weekday of the month
  4326   - interfaces: miscellaneous policy updates for home, opengl, time-
  4327     control, network, et al
  4328   - cmd/snap: use proper help strings for `snap userd --help`
  4329   - interfaces/time-control,netlink-audit: adjust for util-linux
  4330     compiled with libaudit
  4331   - rules: do not static link on powerpc
  4332   - packaging: revert LDFLAGS rewrite again after building snap-
  4333     seccomp
  4334   - store: revert PR#4532 and do not display displayname
  4335   - daemon: allow `snapctl get` from any uid
  4336   - debian, snap: only static link libseccomp in snap-seccomp on
  4337     ubuntu
  4338   - daemon: improve ucrednet code for the snap.socket
  4339  
  4340  * Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.30-2
  4341  - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
  4342  
  4343  * Tue Feb 06 2018 Michael Vogt <mvo@ubuntu.com>
  4344  - New upstream release 2.31
  4345   - cmd/snap-confine: allow snap-update-ns to chown things
  4346   - cmd/snap-confine: fix read-only filesystem when mounting nvidia
  4347     files in biarch
  4348   - packaging: create /var/lib/snapd/lib/{gl,gl32,vulkan} as part of
  4349     packaging
  4350   - advisor: ensure commands.db has mode 0644 and add test
  4351   - interfaces/desktop-legacy,unity7: support gtk2/gvfs gtk_show_uri()
  4352   - snap: improve validation of snap layoutsRules for validating
  4353     layouts:
  4354   - snap: fix command-not-found on core devices
  4355   - cmd/snap: display snap license information
  4356   - tests: enable content sharing test for $SNAP
  4357   - userd: add support for a simple UI that can be used from userd
  4358   - snap-confine/nvidia: Support legacy biarch trees for GLVND systems
  4359   - tests: generic detection of gadget and kernel snaps
  4360   - cmd/snap-update-ns: refactor and improve Change.Perform to handle
  4361     EROFS
  4362   - cmd/snap: improve output when snaps were found in a section or the
  4363     section is invalid
  4364   - cmd/snap-confine,tests: hide message about stale base snap
  4365   - cmd/snap-mgmt: fix out of source tree build
  4366   - strutil/quantity: new package that exports formatFoo (from
  4367     progress)
  4368   - cmd/snap: snap refresh --time with new and legacy schedules
  4369   - state: unknown tasks handler
  4370   - cmd/snap-confine,data/systemd: fix removal of snaps inside LXD
  4371   - snap: add io.snapcraft.Settings to `snap userd`
  4372   - spread: remove more EOLed releases
  4373   - snap: tidy up top-level help output
  4374   - snap: fix race in `snap run --strace`
  4375   - tests: update "searching" test to match store changes
  4376   - store: use the "publisher" when populating the "publisher" field
  4377   - snap: make `snap find --section` show all sections
  4378   - tests: new test to validate location control interface
  4379   - many: add new `snap refresh --amend <snap>` command
  4380   - tests/main/kernel-snap-refresh-on-core: skip the whole test if
  4381     edge and stable are the same version
  4382   - tests: set test kernel-snap-refresh-on-core to manual
  4383   - tests: new spread test for interface gpg-keys
  4384   - packaging/fedora: Merge changes from Fedora Dist-Git plus trivial
  4385     fix
  4386   - interfaces: miscellaneous policy updates
  4387   - interfaces/builtin: Replace Solus support with GLVND support
  4388   - tests/main/kernel-snap-refresh-on-core: do not fail if edge and
  4389     stable kernels are the same version
  4390   - snap: add `snap run --strace` to be able to strace snap apps
  4391   - tests: new spread test for ssh-keys interface
  4392   - errtracker: include detected virtualisation
  4393   - tests: add new kernel refresh/revert test for spread-cron
  4394   - interfaces/builtin: blacklist zigbee dongle
  4395   - cmd/snap-confine: discard stale mount namespaces
  4396   - cmd: remove unused execArg0/execEnv
  4397   - snap,interfaces/mount: disallow nobody/nogroup
  4398   - cmd/snap: improve `snap aliases` output when no aliases are
  4399     defined
  4400   - tests/lib/snaps/test-snapd-service: refactor service reload
  4401   - tests: new spread test for gpg-public-keys interface
  4402   - tests: new spread test for ssh-public-keys interface
  4403   - spread: setup machine creation on Linode
  4404   - interfaces/builtin: allow introspecting UDisks2
  4405   - interfaces/builtin: add support for content "source" section
  4406   - tests: new spread test for netlink-audit interface
  4407   - daemon: avoid panic'ing building an error response w/no snaps
  4408     given
  4409   - interfaces/mount,snap: early support for snap layouts
  4410   - daemon: unlock state even if RefreshSchedule() fails
  4411   - arch: add "armv8l" to ubuntuArchFromKernelArch table
  4412   - tests: fix for test interface-netlink-connector
  4413   - data/dbus: add AssumedAppArmorLabel=unconfined
  4414   - advisor: use forked bolt to make it work on ppc
  4415   - overlord/snapstate: record the 'kind' of conflicting change
  4416   - dirs: fix snap mount dir on Manjaro
  4417   - overlord/{snapstate,configstate}, daemon: introduce refresh.timer,
  4418     fallback to refresh.schedule
  4419   - config: add support for `snap set core proxy.no_proxy=...`
  4420   - snap-mgmt: extend spread tests, stop, disable and cleanup snap
  4421     services
  4422   - spread.yaml: add fedora 27
  4423   - cmd/snap-confine: allow snap-update-ns to poke writable holes in
  4424     $SNAP
  4425   - packaging/14.04: move linux-generic-lts-xenial to recommends
  4426   - osutil/sys: ppc has 32-bit getuid already
  4427   - snapstate: make no autorefresh message clearer
  4428   - spread: try to enable Fedora once more
  4429   - overlord/snapstate: do a minimal sanity check on containers
  4430   - configcore: ensure config.txt has a final newline
  4431   - cmd/libsnap-confine-private: print failed mount/umount regardless
  4432     of SNAP_CONFINE_DEBUG
  4433   - debian/tests: add missing autopkgtest test dependencies for debian
  4434   - image: port ini handling to goconfigparser
  4435   - tests/main/snap-service-after-before: add test for after/before
  4436     service ordering
  4437   - tests: enabling opensuse for tests
  4438   - tests: update auto-refresh-private to match messages from current
  4439     master
  4440   - dirs: check if distro 'is like' fedora when picking path to
  4441     libexecdir
  4442   - tests: fix "job canceled" issue and improve cleanup for snaps
  4443   - cmd/libsnap-confine-private: add debug build of libsnap-confine-
  4444     private.a, link it into snap-confine-debug
  4445   - vendor: remove x/sys/unix to fix builds on arm64 and powerpc
  4446   - image: let consume snapcraft export-login files from tooling
  4447   - interfaces/mir: allow Wayland socket and non-root sockets
  4448   - interfaces/builtin: use snap.{Plug,Slot}Info over
  4449     interfaces.{Plug,Slot}
  4450   - tests: add simple snap-mgmt test
  4451   - wrappers: autogenerate After/Before in systemd's service files for
  4452     apps
  4453   - snap: add usage hints in `snap download`
  4454   - snap: provide more meaningful errors for installMany and friends
  4455   - cmd/snap: show header/footer when `snap find` is used without
  4456     arguments
  4457   - overlord/snapstate: for Enable's tasks refer to the first task
  4458     with snap-setup, do not duplicate
  4459   - tests: add hard-coded fully expired macaroons to run related tests
  4460   - cmd/snap-update-ns: new test features
  4461   - cmd/snap-update-ns: we don't want to bind mount symlinks
  4462   - interfaces/mount: test OptsToCommonFlags, filter out x-snapd.
  4463     options
  4464   - cmd/snap-update-ns: untangle upcoming cyclic initialization
  4465   - client, daemon: update user's email when logging in with new
  4466     account
  4467   - tests: ensure snap-confine apparmor profile is parsable
  4468   - snap: do not leak internal errors on install/refresh etc
  4469   - snap: fix missing error check when multiple snaps are refreshed
  4470   - spread: trying to re-enable tests on Fedora
  4471   - snap: fix gadget.yaml parsing for multi volume gadgets
  4472   - snap: give the snap.Container interface a Walk method
  4473   - snap: rename `snap advise-command` to `snap advise-snap --command`
  4474   - overlord/snapstate: no refresh just for hints if there was a
  4475     recent regular full refresh
  4476   - progress: switch ansimeter's Spin() to use a spinner
  4477   - snap: support `command-not-found` symlink for `snap advise-
  4478     command`
  4479   - daemon: store email, ID and macaroon when creating a new user
  4480   - snap: app startup after/before validation
  4481   - timeutil: refresh timer take 2
  4482   - store, daemon/api: Rename MyAppsServer, point to
  4483     dashboard.snapcraft.io instead
  4484   - tests: use "quiet" helper instead of "dnf -q" to get errors on
  4485     failures
  4486   - cmd/snap-update-ns: improve mocking for tests
  4487   - many: implement the advisor backend, populate it from the store
  4488   - tests: make less calls to the package manager
  4489   - tests/main/confinement-classic: enable the test on Fedora
  4490   - snap: do not leak internal network errors to the user
  4491   - snap: use stdout instead of stderr for "fetching" message
  4492   - tests: fix test whoami, share successful_login.exp
  4493   - many: refresh with appropriate creds
  4494   - snap: add new `snap advice-command` skeleton
  4495   - tests: add test that ensures we never parse versions as numbers
  4496   - overlord/snapstate: override Snapstate.UserID in refresh if the
  4497     installing user is gone
  4498   - interfaces: allow socket "shutdown" syscall in default profile
  4499   - snap: print friendly message if `snap keys` is empty
  4500   - cmd/snap-update-ns: add execWritableMimic
  4501   - snap: make `snap info invalid-snap` output more user friendly
  4502   - cmd/snap,  tests/main/classic-confinement: fix snap-exec path when
  4503     running under classic confinement
  4504   - overlord/ifacestate: fix disable/enable cycle to setup security
  4505   - snap: fix snap find " " output
  4506   - daemon: add new polkit action to manage interfaces
  4507   - packaging/arch: disable services when removing
  4508   - asserts/signtool: support for building tools on top that fill-
  4509     in/compute some headers
  4510   - cmd: clarify "This leaves %s tracking %s." message
  4511   - daemon: return "bad-query" error kind for store.ErrBadQuery
  4512   - taskrunner/many: KnownTaskKinds helper
  4513   - tests/main/interfaces-fuse_support: fix confinement, allow
  4514     unmount, fix spread tests
  4515   - snap: use the -no-fragments mksquashfs option
  4516   - data/selinux: allow messages from policykit
  4517   - tests: fix catalog-update wait loop
  4518   - tests/lib/prepare-restore: disable rate limiting in journald
  4519   - tests: change interfaces-fuse_support to be debug friendly
  4520   - tests/main/postrm-purge: stop snapd before purge
  4521   - This is an example of test log:https://paste.ubuntu.com/26215170/
  4522   - tests/main/interfaces-fuse_support: dump more debugging
  4523     information
  4524   - interfaces/dbus: adjust slot policy for listen, accept and accept4
  4525     syscalls
  4526   - tests: save the snapd-state without compression
  4527   - tests/main/searching: handle changes in featured snaps list
  4528   - overlord/snapstate: fix auto-refresh summary for 2 snaps
  4529   - overlord/auth,daemon: introduce an explicit auth.ErrInvalidUser
  4530   - interfaces: add /proc/partitions to system-observe (This addresses
  4531     LP#1708527.)
  4532   - tests/lib: introduce helpers for setting up /dev/random using
  4533     /dev/urandom in project prepare
  4534   - tests: new test for interface network status
  4535   - interfaces: interfaces: also add an app/hook-specific udev RUN
  4536     rule for hotplugging
  4537   - tests: fix external backend for tests that need DEBUG output
  4538   - tests: do not disable refresh timer on external backend
  4539   - client: send all snap related bool json fields
  4540   - interfaces/desktop,unity7: allow status/activate/lock of
  4541     screensavers
  4542   - tests/main: source mkpinentry.sh
  4543   - tests: fix security-device-cgroups-serial-port test for rpi and db
  4544   - cmd/snap-mgmt: add more directories for cleanup and refactor
  4545     purge() code
  4546   - snap: YAML and data structures for app before/after ordering
  4547   - tests: set TRUST_TEST_KEYS=false for all the external backends
  4548   - packaging/arch: install snap-mgmt tool
  4549   - tests: add support on tests for cm3 gadget
  4550   - interfaces/removable-media: also allow 'k' (lock)
  4551   - interfaces: use ConnectedPlug/ConnectedSlot types (step 2)
  4552   - interfaces: rename sanitize methods
  4553   - devicestate: fix misbehaving test when using systemd-resolved
  4554   - interfaces: added Ref() helpers, restored more detailed error
  4555     message on spi iface
  4556   - debian: make "gnupg" a recommends
  4557   - interfaces/many: misc updates for default, browser-support,
  4558     opengl, desktop, unity7, x11
  4559   - interfaces: PlugInfo/SlotInfo/ConnectedPlug/ConnectedSlot
  4560     attribute helpers
  4561   - interfaces: update fixme comments
  4562   - tests: make interfaces-snapd-control-with-manage more robust
  4563   - userd: generalize dbusInterface
  4564   - interfaces: use ConnectedPlug/ConnectedSlot types (step 1)
  4565   - hookstate: add compat "configure-snapd" task.
  4566   - config, overlord/snapstate, timeutil: rename ParseSchedule to
  4567     ParseLegacySchedule
  4568   - tests: adding tests for time*-control interfaces
  4569   - tests: new test to check interfaces after reboot the system
  4570   - cmd/snap-mgmt: fixes
  4571   - packaging/opensuse-42.2: package and use snap-mgmt
  4572   - corecfg: also "mask" services when disabling them
  4573   - cmd/snap-mgmt: introduce snap-mgmt tool
  4574   - configstate: simplify ConfigManager
  4575   - interfaces: add gpio-memory-control interface
  4576   - cmd: disable check-syntax-c
  4577   - packaging/arch: add bash-completion as optional dependency
  4578   - corecfg: rename package to overlord/configstate/configcore
  4579   - wrappers: fix unit tests to use dirs.SnapMountDir
  4580   - osutil/sys: reimplement getuid and chown with the right int type
  4581   - interfaces-netlink-connector: fix sourcing snaps.sh
  4582  
  4583  * Thu Jan 25 2018 Neal Gompa <ngompa13@gmail.com> - 2.30-1
  4584  - Release 2.30 to Fedora (RH#1527519)
  4585  - Backport fix to correctly locate snapd libexecdir on Fedora derivatives (RH#1536895)
  4586  - Refresh SELinux policy fix patches with upstream backport version
  4587  
  4588  * Mon Dec 18 2017 Michael Vogt <mvo@ubuntu.com>
  4589  - New upstream release 2.30
  4590   - tests: set TRUST_TEST_KEYS=false for all the external backends
  4591   - tests: fix external backend for tests that need DEBUG output
  4592   - tests: do not disable refresh timer on external backend
  4593   - client: send all snap related bool json fields
  4594   - interfaces: interfaces: also add an app/hook-specific udev RUN
  4595     rule for hotplugging
  4596   - interfaces/desktop,unity7: allow status/activate/lock of
  4597     screensavers
  4598   - tests/main: source mkpinentry.sh
  4599   - devicestate: use a different nowhere domain
  4600   - interfaces: add ssh-keys, ssh-public-keys, gpg-keys and gpg-public
  4601     keys interfaces
  4602   - interfaces/many: misc updates for default, browser-support, opengl,
  4603     desktop, unity7, x11
  4604   - devicestate: fix misbehaving test when using systemd-resolved
  4605   - interfaces/removable-media: also allow 'k' (lock)
  4606   - interfaces/many: misc updates for default, browser-support,
  4607     opengl, desktop, unity7, x11
  4608   - corecfg: also "mask" services when disabling them
  4609   - tests: add support for autopkgtests on s390x
  4610   - snapstate: support for pre-refresh hook
  4611   - many: allow to configure core before it is installed
  4612   - devicestate: fix unkeyed fields error
  4613   - snap-confine: create mount target for lib32,vulkan on demand
  4614   - snapstate: add support for refresh.schedule=managed
  4615   - cmd/snap-update-ns: teach update logic to handle synthetic changes
  4616   - many: remove configure-snapd task again and handle internally
  4617   - snap: fix TestDirAndFileMethods() test to work with gccgo
  4618   - debian: ensure /var/lib/snapd/lib/vulkan is available
  4619   - cmd/snap-confine: use #include instead of bare include
  4620   - snapstate: store userID in snapstate
  4621   - snapd.dirs: add var/lib/snapd/lib/gl32
  4622   - timeutil, overlod/snapstate: cleanup remaining pieces of timeutil
  4623     weekday support
  4624   - packaging/arch: install missing directories, manpages and version
  4625     info
  4626   - snapstate,store: store if a snap is a paid snap in the sideinfo
  4627   - packaging/arch: pre-create snapd directories when packaging
  4628   - tests/main/manpages: set LC_ALL=C as man may complain if the
  4629     locale is unset or unsupported
  4630   - repo: ConnectedPlug and ConnectedSlot types
  4631   - snapd: fix handling of undo in the taskrunner
  4632   - store: fix download caching and add integration test
  4633   - snapstate: move autorefresh code into autoRefresh helper
  4634   - snapctl: don't error out on start/stop/restart from configure hook
  4635     during install or refresh
  4636   - cmd/snap-update-ns: add planWritableMimic
  4637   - deamon: don't omit responses, even if null
  4638   - tests: add test for frame buffer interface
  4639   - tests/lib: fix shellcheck errors
  4640   - apparmor: generate the snap-confine re-exec profile for
  4641     AppArmor{Partial,Full}
  4642   - tests: remove obsolete workaround
  4643   - snap: use existing files in `snap download` if digest/size matches
  4644   - tests: merge pepare-project.sh into prepare-restore.sh
  4645   - tests: cache snaps to $TESTSLIB/cache
  4646   - tests: set -e, -o pipefail in prepare-restore.sh
  4647   - apparmor: generate the snap-confine re-exec profile for
  4648     AppArmor{Partial,Full}
  4649   - cmd/snap-seccomp: fix uid/gid restrictions tests on Arch
  4650   - tests: document and slightly refactor prepare/restore code
  4651   - snapstate: ensure RefreshSchedule() gives accurate results
  4652   - snapstate: add new refresh-hints helper and use it
  4653   - spread.yaml,tests: move most of project-wide prepare/restore to
  4654     separate file
  4655   - timeutil: introduce helpers for weekdays and TimeOfDay
  4656   - tests: adding new test for uhid interface
  4657   - cmd/libsnap: fix parsing of empty mountinfo fields
  4658   - overlord/devicestate:  best effort to go to early full retries for
  4659     registration on the like of DNS no host
  4660   - spread.yaml: bump delta ref to 2.29
  4661   - tests: adding test to test physical memory observe interface
  4662   - cmd, errtracker: get rid of SNAP_DID_REEXEC environment
  4663   - timeutil: remove support to parse weekday schedules
  4664   - snap-confine: add workaround for snap-confine on 4.13/upstream
  4665   - store: do not log the http body for catalog updates
  4666   - snapstate: move catalogRefresh into its own helper
  4667   - spread.yaml: fix shellcheck issues and trivial refactor
  4668   - spread.yaml: move prepare-each closer to restore-each
  4669   - spread.yaml: increase workers for opensuse to 3
  4670   - tests: force delete when tests are restore to avoid suite failure
  4671   - test: ignore /snap/README
  4672   - interfaces/opengl: also allow read on 'revision' in
  4673     /sys/devices/pci...
  4674   - interfaces/screen-inhibit-control: fix case in screen inhibit
  4675     control
  4676   - asserts/sysdb: panic early if pointed to staging but staging keys
  4677     are not compiled-in
  4678   - interfaces: allow /bin/chown and fchownat to root:root
  4679   - timeutil: include test input in error message in
  4680     TestParseSchedule()
  4681   - interfaces/browser-support: adjust base declaration for auto-
  4682     connection
  4683   - snap-confine: fix snap-confine under lxd
  4684   - store: bit less aggressive retry strategy
  4685   - tests: add new `fakestore new-snap-{declaration,revision}` helpers
  4686   - cmd/snap-update-ns: add secureMkfileAll
  4687   - snap: use field names when initializing composite literals
  4688   - HACKING: fix path in snap install
  4689   - store: add support for flags in ListRefresh()
  4690   - interfaces: remove invalid plugs/slots from SnapInfo on
  4691     sanitization.
  4692   - debian: add missing udev dependency
  4693   - snap/validate: extend socket validation tests
  4694   - interfaces: add "refresh-schedule" attribute to snapd-control
  4695   - interfaces/builtin/account_control: use gid owning /etc/shadow to
  4696     setup seccomp rules
  4697   - cmd/snap-update-ns: tweak changePerform
  4698   - interfaces,tests: skip unknown plug/slot interfaces
  4699   - tests: disable interfaces-network-control-tuntap
  4700   - cmd: use a preinit_array function rather than parsing
  4701     /proc/self/cmdline
  4702   - interfaces/time*_control: explicitly deny noisy read on
  4703     /proc/1/environ
  4704   - cmd/snap-update-ns: misc cleanups
  4705   - snapd: allow hooks to have slots
  4706   - fakestore: add go-flags to prepare for `new-snap-declaration` cmd
  4707   - interfaces/browser-support: add shm path for nwjs
  4708   - many: add magic /snap/README file
  4709   - overlord/snapstate: support completion for command aliases
  4710   - tests: re-enable tun/tap test on Debian
  4711   - snap,wrappers: add support for socket activation
  4712   - repo: use PlugInfo and SlotInfo for permanent plugs/slots
  4713   - tests/interfaces-network-control-tuntap: disable on debian-
  4714     unstable for now
  4715   - cmd/snap-confine: Loosen the NVIDIA Vulkan ICD glob
  4716   - cmd/snap-update-ns: detect and report read-only filesystems
  4717   - cmd/snap-update-ns: re-factor secureMkdirAll into
  4718     secureMk{Prefix,Dir}
  4719   - run-checks, tests/lib/snaps/: shellcheck fixes
  4720   - corecfg: validate refresh.schedule when it is applied
  4721   - tests: adjust test to match stderr
  4722   - snapd: fix snap cookie bugs
  4723   - packaging/arch: do not quote MAKEFLAGS
  4724   - state: add change.LaneTasks helper
  4725   - cmd/snap-update-ns: do not assume 'nogroup' exists
  4726   - tests/lib: handle distro specific grub-editenv naming
  4727   - cmd/snap-confine: Add missing bi-arch NVIDIA filesthe
  4728     `/var/lib/snapd/lib/gl:/var/lib/snapd/lib/gl/vdpau` paths within
  4729   - cmd: Support exposing NVIDIA Vulkan ICD files to the snaps
  4730   - cmd/snap-confine: Implement full 32-bit NVIDIA driver support
  4731   - packaging/arch: packaging update
  4732   - cmd/snap-confine: Support bash as base runtime entry
  4733   - wrappers: do not error on incorrect Exec= lines
  4734   - interfaces: fix udev tagging for hooks
  4735   - tests/set-proxy-store: exclude ubuntu-core-16 via systems: key
  4736   - tests: new tests for network setup control and observe interfaces
  4737   - osutil: add helper for obtaining group ID of given file path
  4738   - daemon,overlord/snapstate: return snap-not-installed error in more
  4739     cases
  4740   - interfaces/builtin/lxd_support: allow discovering of host's os-
  4741     release
  4742   - configstate: add support for configure-snapd for
  4743     snapstate.IgnoreHookError
  4744   - tests:  add a spread test for proxy.store setting together with
  4745     store assertion
  4746   - cmd/snap-seccomp: do not use group 'shadow' in tests
  4747   - asserts/assertstest:  fix use of hardcoded value when the passed
  4748     or default keys should be used
  4749   - interfaces/many: misc policy updates for browser-support, cups-
  4750     control and network-status
  4751   - tests: fix xdg-open-compat
  4752   - daemon: for /v2/logs, 404 when no services are found
  4753   - packaging/fedora: Merge changes from Fedora Dist-Git
  4754   - cmd/snap-update-ns: add new helpers for mount entries
  4755   - cmd/snap-confine: Respect biarch nature of libdirs
  4756   - cmd/snap-confine: Ensure snap-confine is allowed to access os-
  4757     release
  4758   - cmd: fix re-exec bug with classic confinement for host snapd <
  4759     2.28
  4760   - interfaces/kmod: simplify loadModules now that errors are ignored
  4761   - tests: disable xdg-open-compat test
  4762   - tests: add test that checks core reverts on core devices
  4763   - dirs: use alt root when checking classic confinement support
  4764     without …
  4765   - interfaces/kmod: treat failure to load module as non-fatal
  4766   - cmd/snap-update-ns: fix golint and some stale comments
  4767   - corecfg:  support setting proxy.store if there's a matching store
  4768     assertion
  4769   - overlord/snapstate: toggle ignore-validation as needed as we do
  4770     for channel
  4771   - tests: fix security-device-cgroup* tests on devices with
  4772     framebuffer
  4773   - interfaces/raw-usb: match on SUBSYSTEM, not SUBSYSTEMS
  4774   - interfaces: add USB interface number attribute in udev rule for
  4775     serial-port interface
  4776   - overlord/devicestate: switch to the new endpoints for registration
  4777   - snap-update-ns: add missing unit test for desired/current profile
  4778     handling
  4779   - cmd/{snap-confine,libsnap-confine-private,snap-shutdown}: cleanup
  4780     low-level C bits
  4781   - ifacestate: make interfaces.Repository available via state cache
  4782   - overlord/snapstate: cleanups around switch-snap*
  4783   - cmd/snapd,client,daemon: display ignore-validation flag through
  4784     the notes mechanism
  4785   - cmd/snap-update-ns: add logging to snap-update-ns
  4786   - many: have a timestamp on store assertions
  4787   - many: lookup and use the URL from a store assertion if one is set
  4788     for use
  4789   - tests/test-snapd-service: fix shellcheck issues
  4790   - tests: new test for hardware-random-control interface
  4791   - tests: use `snap change --last=install` in snapd-reexec test
  4792   - repo, daemon: use PlugInfo, SlotInfo
  4793   - many: handle core configuration internally instead of using the
  4794     core configure hook
  4795   - tests: refactor and expand content interface test
  4796   - snap-seccomp: skip in-kernel bpf tests for socket() in trusty/i386
  4797   - cmd/snap-update-ns: allow Change.Perform to return changes
  4798   - snap-confine: Support biarch Linux distribution confinement
  4799   - partition/ubootenv: don't panic when uboot.env is missing the eof
  4800     marker
  4801   - cmd/snap-update-ns: allow fault injection to provide dynamic
  4802     result
  4803   - interfaces/mount: exspose mount.{Escape,Unescape}
  4804   - snapctl: added long help to stop/start/restart command
  4805   - cmd/snap-update-ns: create missing mount points automatically.
  4806   - cmd: downgrade log message in InternalToolPath to Debugf()
  4807   - tests: wait for service status change & file update in the test to
  4808     avoid races
  4809   - daemon, store: forward SSO invalid credentials errors as 401
  4810     Unauthorized responses
  4811   - spdx: fix for WITH syntax, require a license name before the
  4812     operator
  4813   - many: reorg things in preparation to make handling of the base url
  4814     in store dynamic
  4815   - hooks/configure: queue service restarts
  4816   - cmd/snap: warn when a snap is not from the tracking channel
  4817   - interfaces/mount: add support for parsing x-snapd.{mode,uid,gid}=
  4818   - cmd/snap-confine: add detection of stale mount namespace
  4819   - interfaces: add plugRef/slotRef helpers for PlugInfo/SlotInfo
  4820   - tests: check for invalid udev files during all tests
  4821   - daemon: use newChange() in changeAliases for consistency
  4822   - servicestate: use taskset
  4823   - many: add support for /home on NFS
  4824   - packaging,spread: fix and re-enable opensuse builds
  4825  
  4826  * Sun Dec 17 2017 Neal Gompa <ngompa13@gmail.com> - 2.29.4-3
  4827  - Add patch to SELinux policy to allow snapd to receive replies from polkit
  4828  
  4829  * Sun Nov 19 2017 Neal Gompa <ngompa13@gmail.com> - 2.29.4-2
  4830  - Add missing bash completion files and cache directory
  4831  
  4832  * Sun Nov 19 2017 Neal Gompa <ngompa13@gmail.com> - 2.29.4-1
  4833  - Release 2.29.4 to Fedora (RH#1508433)
  4834  - Install Polkit configuration (RH#1509586)
  4835  - Drop changes to revert cheggaaa/pb import path used
  4836  
  4837  * Fri Nov 17 2017 Michael Vogt <mvo@ubuntu.com>
  4838  - New upstream release 2.29.4
  4839   - snap-confine: fix snap-confine under lxd
  4840   - tests: disable classic-ubuntu-core-transition on i386 temporarily
  4841   - many: reject bad plugs/slots
  4842   - interfaces,tests: skip unknown plug/slot interfaces
  4843   - store: enable "base" field from the store
  4844   - packaging/fedora: Merge changes from Fedora Dist-Git
  4845  
  4846  * Thu Nov 09 2017 Michael Vogt <mvo@ubuntu.com>
  4847  - New upstream release 2.29.3
  4848   - daemon: cherry-picked /v2/logs fixes
  4849   - cmd/snap-confine: Respect biarch nature of libdirs
  4850   - cmd/snap-confine: Ensure snap-confine is allowed to access os-
  4851     release
  4852   - interfaces: fix udev tagging for hooks
  4853   - cmd: fix re-exec bug with classic confinement for host snapd
  4854   - tests: disable xdg-open-compat test
  4855   - cmd/snap-confine: add slave PTYs and let devpts newinstance
  4856     perform mediation
  4857   - interfaces/many: misc policy updates for browser-support, cups-
  4858     control and network-status
  4859   - interfaces/raw-usb: match on SUBSYSTEM, not SUBSYSTEMS
  4860   - tests: fix security-device-cgroup* tests on devices with
  4861     framebuffer
  4862  
  4863  * Fri Nov 03 2017 Michael Vogt <mvo@ubuntu.com>
  4864  - New upstream release 2.29.2
  4865    - snapctl: disable stop/start/restart (2.29)
  4866    - cmd/snap-update-ns: fix collection of changes made
  4867  
  4868  * Fri Nov 03 2017 Michael Vogt <mvo@ubuntu.com>
  4869  - New upstream release 2.29.1
  4870   - interfaces: fix incorrect signature of ofono DBusPermanentSlot
  4871   - interfaces/serial-port: udev tag plugged slots that have just
  4872     'path' via KERNEL
  4873   - interfaces/hidraw: udev tag plugged slots that have just 'path'
  4874     via KERNEL
  4875   - interfaces/uhid: unconditionally add existing uhid device to the
  4876     device cgroup
  4877   - cmd/snap-update-ns: fix mount rules for font sharing
  4878   - tests: disable refresh-undo test on trusty for now
  4879   - tests: use `snap change --last=install` in snapd-reexec test
  4880   - Revert " wrappers: fail install if exec-line cannot be re-written
  4881   - interfaces: don't udev tag devmode or classic snaps
  4882   - many: make ignore-validation sticky and send the flag with refresh
  4883     requests
  4884  
  4885  * Mon Oct 30 2017 Michael Vogt <mvo@ubuntu.com>
  4886  - New upstream release 2.29
  4887   - interfaces/many: miscellaneous updates based on feedback from the
  4888     field
  4889   - snap-confine: allow reading uevents from any where in /sys
  4890   - spread: add bionic beaver
  4891   - debian: make packaging/ubuntu-14.04/copyright a real file again
  4892   - tests: cherry pick the fix for services test into 2.29
  4893   - cmd/snap-update-ns: initialize logger
  4894   - hooks/configure: queue service restarts
  4895   - snap-{confine,seccomp}: make @unrestricted fully unrestricted
  4896   - interfaces: clean system apparmor cache on core device
  4897   - debian: do not build static snap-exec on powerpc
  4898   - snap-confine: increase sanity_timeout to 6s
  4899   - snapctl: cherry pick service commands changes
  4900   - cmd/snap: tell translators about arg names and descs req's
  4901   - systemd: run all mount units before snapd.service to avoid race
  4902   - store: add a test to show auth failures are forwarded by doRequest
  4903   - daemon: convert ErrInvalidCredentials to a 401 Unauthorized error.
  4904   - store: forward on INVALID_CREDENTIALS error as
  4905     ErrInvalidCredentials
  4906   - daemon: generate a forbidden response message if polkit dialog is
  4907     dismissed
  4908   - daemon: Allow Polkit authorization to cancel changes.
  4909   - travis: switch to container based test runs
  4910   - interfaces: reduce duplicated code in interface tests mocks
  4911   - tests: improve revert related testing
  4912   - interfaces: sanitize plugs and slots early in ReadInfo
  4913   - store: add download caching
  4914   - preserve TMPDIR and HOSTALIASES across snap-confine invocation
  4915   - snap-confine: init all arrays with `= {0,}`
  4916   - tests: adding test for network-manager interface
  4917   - interfaces/mount: don't generate legacy per-hook/per-app mount
  4918     profiles
  4919   - snap: introduce structured epochs
  4920   - tests: fix interfaces-cups-control test for cups-2.2.5
  4921   - snap-confine: cleanup incorrectly created nvidia udev tags
  4922   - cmd/snap-confine: update valid security tag regexp
  4923   - cmd/libsnap: enable two stranded tests
  4924   - cmd,packaging: enable apparmor on openSUSE
  4925   - overlord/ifacestate: refresh all security backends on startup
  4926   - interfaces/dbus: drop unneeded check for
  4927     release.ReleaseInfo.ForceDevMode
  4928   - dbus: ensure io.snapcraft.Launcher.service is created on re-
  4929     exec
  4930   - overlord/auth: continue for now supporting UBUNTU_STORE_ID if the
  4931     model is generic-classic
  4932   - snap-confine: add support for handling /dev/nvidia-modeset
  4933   - interfaces/network-control: remove incorrect rules for tun
  4934   - spread: allow setting SPREAD_DEBUG_EACH=0 to disable debug-each
  4935     section
  4936   - packaging: remove .mnt files on removal
  4937   - tests: fix econnreset scenario when the iptables rule was not
  4938     created
  4939   - tests: add test for lxd interface
  4940   - run-checks: use nakedret static checker to check for naked
  4941     returns on long functions
  4942   - progress: be more flexible in testing ansimeter
  4943   - interfaces: fix udev rules for tun
  4944   - many: implement our own ANSI-escape-using progress indicator
  4945   - snap-exec: update tests to follow main_test pattern
  4946   - snap: support "command: foo $ENV_STRING"
  4947   - packaging: update nvidia configure options
  4948   - snap: add new `snap pack` and use in tests
  4949   - cmd: correctly name the "Ubuntu" and "Arch" NVIDIA methods
  4950   - cmd: add autogen case for solus
  4951   - tests: do not use http://canihazip.com/ which appears to be down
  4952   - hooks: commands for controlling own services from snapctl
  4953   - snap: refactor cmdGet.Execute()
  4954   - interfaces/mount: make Change.Perform testable and test it
  4955   - interfaces/mount,cmd/snap-update-ns: move change code
  4956   - snap-confine: is_running_on_classic_distribution() looks into os-
  4957     release
  4958   - interfaces: misc updates for default, browser-support, home and
  4959     system-observe
  4960   - interfaces: deny lttng by default
  4961   - interfaces/lxd: lxd slot implementation can also be an app snap
  4962   - release,cmd,dirs: Redo the distro checks to take into account
  4963     distribution families
  4964   - cmd/snap: completion for alias and unalias
  4965   - snap-confine: add new SC_CLEANUP and use it
  4966   - snap: refrain from running filepath.Base on random strings
  4967   - cmd/snap-confine: put processes into freezer hierarchy
  4968   - wrappers: fail install if exec-line cannot be re-written
  4969   - cmd/snap-seccomp,osutil: make user/group lookup functions public
  4970   - snapstate: deal with snap user data in the /root/ directory
  4971   - interfaces: Enhance full-confinement support for biarch
  4972     distributions
  4973   - snap-confine: Only attempt to copy/mount NVIDIA libs when NVIDIA
  4974     is used
  4975   - packaging/fedora: Add Fedora 26, 27, and Rawhide symlinks
  4976   - overlord/snapstate: prefer a smaller corner case for doing the
  4977     wrong thing
  4978   - cmd/snap-repair:  set user agent for snap-repair http requests
  4979   - packaging: bring down the delta between 14.04 and 16.04
  4980   - snap-confine: Ensure lib64 biarch directory is respected
  4981   - snap-confine: update apparmor rules for fedora based base snaps
  4982   - tests: Increase SNAPD_CONFIGURE_HOOK_TIMEOUT to 3 minutes to
  4983     install real snaps
  4984   - daemon: use client.Snap instead of map[string]interface{} for
  4985     snaps.
  4986   - hooks: rename refresh hook to post-refresh
  4987   - git: make the .gitingore file a bit more targeted
  4988   - interfaces/opengl: don't udev tag nvidia devices and use snap-
  4989     confine instead
  4990   - cmd/snap-{confine,update-ns}: apply mount profiles using snap-
  4991     update-ns
  4992   - cmd: update "make hack"
  4993   - interfaces/system-observe: allow clients to enumerate DBus
  4994     connection names
  4995   - snap-repair: implement `snap-repair {list,show}`
  4996   - dirs,interfaces: create snap-confine.d on demand when re-executing
  4997   - snap-confine: fix base snaps on core
  4998   - cmd/snap-repair: fix tests when running as root
  4999   - interfaces: add Connection type
  5000   - cmd/snap-repair: skip disabled repairs
  5001   - cmd/snap-repair: prefer leaking unmanaged fds on test failure over
  5002     closing random ones
  5003   - snap-repair: make `repair` binary available for repair scripts
  5004   - snap-repair: fix missing Close() in TestStatusHappy
  5005   - cmd/snap-confine,packaging: import snapd-generated policy
  5006   - cmd/snap: return empty document if snap has no configuration
  5007   - snap-seccomp: run secondary-arch tests via gcc-multilib
  5008   - snap: implement `snap {repair,repairs}` and pass-through to snap-
  5009     repair
  5010   - interfaces/builtin: allow receiving dbus messages
  5011   - snap-repair: implement `snap-repair {done,skip,retry}`
  5012   - data/completion: small tweak to snap completion snippet
  5013   - dirs: fix classic support detection
  5014   - cmd/snap-repair: integrate root public keys for repairs
  5015   - tests: fix ubuntu core services
  5016   - tests: add new test that checks that the compat snapd-xdg-open
  5017     works
  5018   - snap-confine: improve error message if core/u-core cannot be found
  5019   - tests: only run tests/regression/nmcli on amd64
  5020   - interfaces: mount host system fonts in desktop interface
  5021   - interfaces: enable partial apparmor support
  5022   - snapstate: auto-install missing base snaps
  5023   - spread: work around temporary packaging issue in debian sid
  5024   - asserts,cmd/snap-repair: introduce a mandatory summary for repairs
  5025   - asserts,cmd/snap-repair: represent RepairID internally as an int
  5026   - tests: test the real "xdg-open" from the core snap
  5027   - many: implement fetching sections and package names periodically.
  5028   - interfaces/network: allow using netcat as client
  5029   - snap-seccomp, osutil: use osutil.AtomicFile in snap-seccomp
  5030   - snap-seccomp: skip mknod syscall on arm64
  5031   - tests: add trivial canonical-livepatch test
  5032   - tests: add test that ensures that all core services are working
  5033   - many: add logger.MockLogger() and use it in the tests
  5034   - snap-repair: fix test failure in TestRepairHitsTimeout
  5035   - asserts: add empty values check in HeadersFromPrimaryKey
  5036   - daemon: remove unused installSnap var in test
  5037   - daemon: reach for Overlord.Loop less thanks to overlord.Mock
  5038   - snap-seccomp: manually resolve socket() call in tests
  5039   - tests: change regex used to validate installed ubuntu core snap
  5040   - cmd/snapctl: allow snapctl -h without a context (regression fix).
  5041   - many: use snapcore/snapd/i18n instead of i18n/dumb
  5042   - many: introduce asserts.NotFoundError replacing both ErrNotFound
  5043     and store.AssertionNotFoundError
  5044   - packaging: don't include any marcos in comments
  5045   - overlord: use overlord.Mock in more tests, make sure we check the
  5046     outcome of Settle
  5047   - tests: try to fix staging tests
  5048   - store: simplify api base url config
  5049   - systemd: add systemd.MockJournalctl()
  5050   - many: provide systemd.MockSystemctl() helper
  5051   - tests: improve the listing test to not fail for e.g. 2.28~rc2
  5052   - snapstate: give snapmgrTestSuite.settle() more time to settle
  5053   - tests: fix regex to check core version on snap list
  5054   - debian: update trusted account-keys check on 14.04 packaging
  5055   - interfaces: add udev netlink support to hardware-observe
  5056   - overlord: introduce Mock which enables to use Overlord.Settle for
  5057     settle in many more places
  5058   - snap-repair: execute the repair and capture logs/status
  5059   - tests: run the tests/unit/go everywhere
  5060   - daemon, snapstate: move ensureCore from daemon/api.go into
  5061     snapstate.go
  5062   - cmd/snap: get keys or root document
  5063   - spread.yaml: turn suse to manual given that it's breaking master
  5064   - many: configure store from state, reconfigure store at runtime
  5065   - osutil: AtomicWriter (an io.Writer), and io.Reader versions of
  5066     AtomicWrite*
  5067   - tests: check for negative syscalls in runBpf() and skip those
  5068     tests
  5069   - docs: use abolute path in PULL_REQUEST_TEMPLATE.md
  5070   - store: move device auth endpoint uris to config (#3831)
  5071  
  5072  * Sat Oct 14 2017 Neal Gompa <ngompa13@gmail.com> - 2.28.5-2
  5073  - Properly fix the build for Fedora 25
  5074  - Incorporate misc build fixes
  5075  
  5076  * Sat Oct 14 2017 Neal Gompa <ngompa13@gmail.com> - 2.28.5-1
  5077  - Release 2.28.5 to Fedora (RH#1502186)
  5078  - Build snap-exec and snap-update-ns statically to support base snaps
  5079  
  5080  * Fri Oct 13 2017 Michael Vogt <mvo@ubuntu.com>
  5081  - New upstream release 2.28.5
  5082    - snap-confine: cleanup broken nvidia udev tags
  5083    - cmd/snap-confine: update valid security tag regexp
  5084    - overlord/ifacestate: refresh udev backend on startup
  5085    - dbus: ensure io.snapcraft.Launcher.service is created on re-
  5086      exec
  5087    - snap-confine: add support for handling /dev/nvidia-modeset
  5088    - interfaces/network-control: remove incorrect rules for tun
  5089  
  5090  * Thu Oct 12 2017 Neal Gompa <ngompa13@gmail.com> - 2.28.4-1
  5091  - Release 2.28.4 to Fedora (RH#1501141)
  5092  - Drop distro check backport patches (released with 2.28.2)
  5093  
  5094  * Wed Oct 11 2017 Michael Vogt <mvo@ubuntu.com>
  5095  - New upstream release 2.28.4
  5096    - interfaces/opengl: don't udev tag nvidia devices and use snap-
  5097      confine instead
  5098    - debian: fix replaces/breaks for snap-xdg-open (thanks to apw!)
  5099  
  5100  * Wed Oct 11 2017 Michael Vogt <mvo@ubuntu.com>
  5101  - New upstream release 2.28.3
  5102    - interfaces/lxd: lxd slot implementation can also be an app
  5103      snap
  5104  
  5105  * Tue Oct 10 2017 Michael Vogt <mvo@ubuntu.com>
  5106  - New upstream release 2.28.2
  5107    - interfaces: fix udev rules for tun
  5108    - release,cmd,dirs: Redo the distro checks to take into account
  5109      distribution families
  5110  
  5111  * Sun Oct 08 2017 Neal Gompa <ngompa13@gmail.com> - 2.28.1-1
  5112  - Release 2.28.1 to Fedora (RH#1495852)
  5113  - Drop userd backport patches, they are part of 2.28 release
  5114  - Backport changes to rework distro checks to fix derivative distro usage of snapd
  5115  - Revert import path change for cheggaaa/pb as it breaks build on Fedora
  5116  - Add a posttrans relabel to snapd-selinux to ensure everything is labeled correctly
  5117  
  5118  * Wed Sep 27 2017 Michael Vogt <mvo@ubuntu.com>
  5119  - New upstream release 2.28.1
  5120    - snap-confine: update apparmor rules for fedora based basesnaps
  5121    - snapstate: rename refresh hook to post-refresh for consistency
  5122  
  5123  * Mon Sep 25 2017 Michael Vogt <mvo@ubuntu.com>
  5124  - New upstream release 2.28
  5125   - hooks: rename refresh to after-refresh
  5126   - snap-confine: bind mount /usr/lib/snapd relative to snap-confine
  5127   - cmd,dirs: treat "liri" the same way as "arch"
  5128   - snap-confine: fix base snaps on core
  5129   - hooks: substitute env vars when executing hooks
  5130   - interfaces: updates for default, browser-support, desktop, opengl,
  5131     upower and stub-resolv.conf
  5132   - cmd,dirs: treat manjaro the same as arch
  5133   - systemd: do not run auto-import and repair services on classic
  5134   - packaging/fedora: Ensure vendor/ is empty for builds and fix spec
  5135     to build current master
  5136   - many: fix TestSetConfNumber missing an Unlock and other fragility
  5137     improvements
  5138   - osutil: adjust StreamCommand tests for golang 1.9
  5139   - daemon: allow polkit authorisation to install/remove snaps
  5140   - tests: make TestCmdWatch more robust
  5141   - debian: improve package description
  5142   - interfaces: add netlink kobject uevent to hardware observe
  5143   - debian: update trusted account-keys check on 14.04 packaging
  5144   - interfaces/network-{control,observe}: allow receiving
  5145     kobject_uevent() messages
  5146   - tests: fix lxd test for external backend
  5147   - snap-confine,snap-update-ns: add -no-pie to fix FTBFS on
  5148     go1.7,ppc64
  5149   - corecfg: mock "systemctl" in all corecfg tests
  5150   - tests: fix unit tests on Ubuntu 14.04
  5151   - debian: add missing flags when building static snap-exec
  5152   - many: end-to-end support for the bare base snap
  5153   - overlord/snapstate: SetRootDir from SetUpTest, not in just some
  5154     tests
  5155   - store: have an ad-hoc method on cfg to get its list of uris for
  5156     tests
  5157   - daemon: let client decide whether to allow interactive auth via
  5158     polkit
  5159   - client,daemon,snap,store: add license field
  5160   - overlord/snapstate: rename HasCurrent to IsInstalled, remove
  5161     superfluous/misleading check from All
  5162   - cmd/snap: SetRootDir from SetUpTest, not in just some individual
  5163     tests.
  5164   - systemd: rename snap-repair.{service,timer} to snapd.snap-
  5165     repair.{service,timer}
  5166   - snap-seccomp: remove use of x/net/bpf from tests
  5167   - httputil: more naive per go version way to recreate a default
  5168     transport for tls reconfig
  5169   - cmd/snap-seccomp/main_test.go: add one more syscall for arm64
  5170   - interfaces/opengl: use == to compare, not =
  5171   - cmd/snap-seccomp/main_test.go: add syscalls for armhf and arm64
  5172   - cmd/snap-repair: track and use a lower bound for the time for
  5173     TLS checks
  5174   - interfaces: expose bluez interface on classic OS
  5175   - snap-seccomp: add in-kernel bpf tests
  5176   - overlord: always try to get a serial, lazily on classic
  5177   - tests: add nmcli regression test
  5178   - tests: deal with __PNR_chown on aarch64 to fix FTBFS on arm64
  5179   - tests: add autopilot-introspection interface test
  5180   - vendor: fix artifact from manually editing vendor/vendor.json
  5181   - tests: rename complexion to test-snapd-complexion
  5182   - interfaces: add desktop and desktop-legacy
  5183     interfaces/desktop: add new 'desktop' interface for modern DEs*
  5184     interfaces/builtin/desktop_test.go: use modern testing techniques*
  5185     interfaces/wayland: allow read on /etc/drirc for Plasma desktop*
  5186     interfaces/desktop-legacy: add new 'legacy' interface (currently
  5187     for a11y and input)
  5188   - tests: fix race in snap userd test
  5189   - devices/iio: add read/write for missing sysfs entries
  5190   - spread: don't set HTTPS?_PROXY for linode
  5191   - cmd/snap-repair: check signatures of repairs from Next
  5192   - env: set XDG_DATA_DIRS for wayland et.al.
  5193   - interfaces/{default,account-control}: Use username/group instead
  5194     of uid/gid
  5195   - interfaces/builtin: use udev tagging more broadly
  5196   - tests: add basic lxd test
  5197   - wrappers: ensure bash completion snaps install on core
  5198   - vendor: use old golang.org/x/crypto/ssh/terminal to build on
  5199     powerpc again
  5200   - docs: add PULL_REQUEST_TEMPLATE.md
  5201   - interfaces: fix network-manager plug
  5202   - hooks: do not error out when hook is optional and no hook handler
  5203     is registered
  5204   - cmd/snap: add userd command to replace snapd-xdg-open
  5205   - tests: new regex used to validate the core version on extra snaps
  5206     ass...
  5207   - snap: add new `snap switch` command
  5208   - tests: wait more and more debug info about fakestore start issues
  5209   - apparmor,release: add better apparmor detection/mocking code
  5210   - interfaces/i2c: adjust sysfs rule for alternate paths
  5211   - interfaces/apparmor: add missing call to dirs.SetRootDir
  5212   - cmd: "make hack" now also installs snap-update-ns
  5213   - tests: copy files with less verbosity
  5214   - cmd/snap-confine: allow using additional libraries required by
  5215     openSUSE
  5216   - packaging/fedora: Merge changes from Fedora Dist-Git
  5217   - snapstate: improve the error message when classic confinement is
  5218     not supported
  5219   - tests: add test to ensure amd64 can run i386 syscall binaries
  5220   - tests: adding extra info for fakestore when fails to start
  5221   - tests: install most important snaps
  5222   - cmd/snap-repair: more test coverage of filtering
  5223   - squashfs: remove runCommand/runCommandWithOutput as we do not need
  5224     it
  5225   - cmd/snap-repair: ignore superseded revisions, filter on arch and
  5226     models
  5227   - hooks: support for refresh hook
  5228   - Partial revert "overlord/devicestate, store: update device auth
  5229     endpoints URLs"
  5230   - cmd/snap-confine: allow reading /proc/filesystems
  5231   - cmd/snap-confine: genearlize apparmor profile for various lib
  5232     layout
  5233   - corecfg: fix proxy.* writing and add integration test
  5234   - corecfg: deal with system.power-key-action="" correctly
  5235   - vendor: update vendor.json after (presumed) manual edits
  5236   - cmd/snap: in `snap info`, don't print a newline between tracks
  5237   - daemon: add polkit support to /v2/login
  5238   - snapd,snapctl: decode json using Number
  5239   - client: fix go vet 1.7 errors
  5240   - tests: make 17.04 shellcheck clean
  5241   - tests: remove TestInterfacesHelp as it breaks when go-flags
  5242     changes
  5243   - snapstate: undo a daemon restart on classic if needed
  5244   - cmd/snap-repair: recover brand/model from
  5245     /var/lib/snapd/seed/assertions checking signatures and brand
  5246     account
  5247   - spread: opt into unsafe IO during spread tests
  5248   - snap-repair: update snap-repair/runner_test.go for API change in
  5249     makeMockServer
  5250   - cmd/snap-repair: skeleton code around actually running a repair
  5251   - tests: wait until the port is listening after start the fake store
  5252   - corecfg: fix typo in tests
  5253   - cmd/snap-repair: test that redirects works during fetching
  5254   - osutil: honor SNAPD_UNSAFE_IO for testing
  5255   - vendor: explode and make more precise our golang.go/x/crypto deps,
  5256     use same version as Debian unstable
  5257   - many: sanitize NewStoreStack signature, have shared default store
  5258     test private keys
  5259   - systemd: disable `Nice=-5` to fix error when running inside lxd
  5260   - spread.yaml: update delta ref to 2.27
  5261   - cmd/snap-repair: use E-Tags when refetching a repair to retry
  5262   - interfaces/many: updates based on chromium and mrrescue denials
  5263   - cmd/snap-repair: implement most logic to get the next repair to
  5264     run/retry in a brand sequence
  5265   - asserts/assertstest: copy headers in SigningDB.Sign
  5266   - interfaces: convert uhid to common interface and test cases
  5267     improvement for time_control and opengl
  5268   - many tests: move all panicing fake store methods to a common place
  5269   - asserts: add store assertion type
  5270   - interfaces: don't crash if content slot has no attributes
  5271   - debian: do not build with -buildmode=pie on i386
  5272   - wrappers: symlink completion snippets when symlinking binaries
  5273   - tests: adding more debug information for the interfaces-cups-
  5274     control …
  5275   - apparmor: pass --quiet to parser on load unless SNAPD_DEBUG is set
  5276   - many: allow and support serials signed by the 'generic' authority
  5277     instead of the brand
  5278   - corecfg: add proxy configuration via `snap set core
  5279     proxy.{http,https,ftp}=...`
  5280   - interfaces: a bunch of interfaces test improvement
  5281   - tests: enable regression and completion suites for opensuse
  5282   - tests: installing snapd for nested test suite
  5283   - interfaces: convert lxd_support to common iface
  5284   - interfaces: add missing test for camera interface.
  5285   - snap: add support for parsing snap layout section
  5286   - cmd/snap-repair: like for downloads we cannot have a timeout (at
  5287     least for now), less aggressive retry strategies
  5288   - overlord: rely on more conservative ensure interval
  5289   - overlord,store: no piles of return args for methods gathering
  5290     device session request params
  5291   - overlord,store: send model assertion when setting up device
  5292     sessions
  5293   - interfaces/misc: updates for unity7/x11, browser-
  5294     support, network-control and mount-observe
  5295     interfaces/unity7,x11: update for NETLINK_KOBJECT_UEVENT
  5296     interfaces/browser-support: update sysfs reads for
  5297     newer browser versions, interfaces/network-control: rw for
  5298     ieee80211 advanced wireless interfaces/mount-observe: allow read
  5299     on sysfs entries for block devices
  5300   - tests: use dnf --refresh install to avert stale cache
  5301   - osutil: ensure TestLockUnlockWorks uses supported flock
  5302   - interfaces: convert lxd to common iface
  5303   - tests: restart snapd to ensure re-exec settings are applied
  5304   - tests: fix interfaces-cups-control test
  5305   - interfaces: improve and tweak bunch of interfaces test cases.
  5306   - tests: adding extra worker for fedora
  5307   - asserts,overlord/devicestate: support predefined assertions that
  5308     don't establish foundational trust
  5309   - interfaces: convert two hardware_random interfaces to common iface
  5310   - interfaces: convert io_ports_control to common iface
  5311   - tests: fix for  upgrade test on fedora
  5312   - daemon, client, cmd/snap: implement snap start/stop/restart
  5313   - cmd/snap-confine: set _FILE_OFFSET_BITS to 64
  5314   - interfaces: covert framebuffer to commonInterface
  5315   - interfaces: convert joystick to common iface
  5316   - interfaces/builtin: add the spi interface
  5317   - wrappers, overlord/snapstate/backend: make link-snap clean up on
  5318     failure.
  5319   - interfaces/wayland: add wayland interface
  5320   - interfaces: convert kvm to common iface
  5321   - tests: extend upower-observe test to cover snaps providing slots
  5322   - tests: enable main suite for opensuse
  5323   - interfaces: convert physical_memory_observe to common iface
  5324   - interfaces: add missing test for optical_drive interface.
  5325   - interfaces: convert physical_memory_control to common iface
  5326   - interfaces: convert ppp to common iface
  5327   - interfaces: convert time-control to common iface
  5328   - tests: fix failover test
  5329   - interfaces/builtin: rework for avahi interface
  5330   - interfaces: convert broadcom-asic-control to common iface
  5331   - snap/snapenv: document the use of CoreSnapMountDir for SNAP
  5332   - packaging/arch: drop patches merged into master
  5333   - cmd: fix mustUnsetenv docstring (thanks to Chipaca)
  5334   - release: remove default from VERSION_ID
  5335   - tests: enable regression, upgrade and completion test suites for
  5336     fedora
  5337   - tests: restore interfaces-account-control properly
  5338   - overlord/devicestate, store: update device auth endpoints URLs
  5339   - tests: fix install-hook test failure
  5340   - tests: download core and ubuntu-core at most once
  5341   - interfaces: add common support for udev
  5342   - overlord/devicestate: fix, don't assume that the serial is backed
  5343     by a 1-key chain
  5344   - cmd/snap-confine: don't share /etc/nsswitch from host
  5345   - store: do not resume a download when we already have the whole
  5346     thing
  5347   - many: implement "snap logs"
  5348   - store: don't call useDeltas() twice in quick succession
  5349   - interfaces/builtin: add kvm interface
  5350   - snap/snapenv: always expect /snap for $SNAP
  5351   - cmd: mark arch as non-reexecing distro
  5352   - cmd: fix tests that assume /snap mount
  5353   - gitignore: ignore more build artefacts
  5354   - packaging: add current arch packaging
  5355   - interfaces/unity7: allow receiving media key events in (at least)
  5356     gnome-shell
  5357   - interfaces/many, cmd/snap-confine: miscellaneous policy updates
  5358   - interfaces/builtin: implement broadcom-asic-control interface
  5359   - interfaces/builtin: reduce duplication and remove cruft in
  5360     Sanitize{Plug,Slot}
  5361   - tests: apply underscore convention for SNAPMOUNTDIR variable
  5362   - interfaces/greengrass-support: adjust accesses now that have
  5363     working snap
  5364   - daemon, client, cmd/snap: implement "snap services"
  5365   - tests: fix refresh tests not stopping fake store for fedora
  5366   - many: add the interface command
  5367   - overlord/snapstate/backend: some copydata improvements
  5368   - many: support querying and completing assertion type names
  5369   - interfaces/builtin: discard empty Validate{Plug,Slot}
  5370   - cmd/snap-repair:  start of Runner, implement first pass of Peek
  5371     and Fetch
  5372   - tests: enable main suite on fedora
  5373   - snap: do not always quote the snap info summary
  5374   - vendor: update go-flags to address crash in "snap debug"
  5375   - interfaces: opengl support pci device and vendor
  5376   - many: start implenting "base" snap type on the snapd side
  5377   - arch,release: map armv6 correctly
  5378   - many: expose service status in 'snap info'
  5379   - tests: add browser-support interface test
  5380   - tests: disable snapd-notify for the external backend
  5381   - interfaces: Add /run/uuid/request to openvswitch
  5382   - interfaces: add password-manager-service implicit classic
  5383     interface
  5384   - cmd: rework reexec detection
  5385   - cmd: fix re-exec bug when starting from snapd 2.21
  5386   - tests: dependency packages installed during prepare-project
  5387   - tests: remove unneeded check for re-exec in InternalToolPath()
  5388   - cmd,tests: fix classic confinement confusing re-execution code
  5389   - store: configurable base api
  5390   - tests: fix how package lists are updated for opensuse and fedora
  5391  
  5392  * Sun Sep 10 2017 Neal Gompa <ngompa13@gmail.com> - 2.27.6-1
  5393  - Release 2.27.6 to Fedora (RH#1489437)
  5394  
  5395  * Thu Sep 07 2017 Michael Vogt <mvo@ubuntu.com>
  5396  - New upstream release 2.27.6
  5397    - interfaces: add udev netlink support to hardware-observe
  5398    - interfaces/network-{control,observe}: allow receiving
  5399      kobject_uevent() messages
  5400  
  5401  * Mon Sep 04 2017 Neal Gompa <ngompa13@gmail.com> - 2.27.5-1
  5402  - Release 2.27.5 to Fedora (RH#1483177)
  5403  - Backport userd from upstream to support xdg-open
  5404  
  5405  * Wed Aug 30 2017 Michael Vogt <mvo@ubuntu.com>
  5406  - New upstream release 2.27.5
  5407    - interfaces: fix network-manager plug regression
  5408    - hooks: do not error when hook handler is not registered
  5409    - interfaces/alsa,pulseaudio: allow read on udev data for sound
  5410    - interfaces/optical-drive: read access to udev data for /dev/scd*
  5411    - interfaces/browser-support: read on /proc/vmstat and misc udev
  5412      data
  5413  
  5414  * Thu Aug 24 2017 Michael Vogt <mvo@ubuntu.com>
  5415  - New upstream release 2.27.4
  5416    - snap-seccomp: add secondary arch for unrestricted snaps as well
  5417  
  5418  * Fri Aug 18 2017 Michael Vogt <mvo@ubuntu.com>
  5419  - New upstream release 2.27.3
  5420    - systemd: disable `Nice=-5` to fix error when running inside lxdSee
  5421      https://bugs.launchpad.net/snapd/+bug/1709536
  5422  
  5423  * Wed Aug 16 2017 Neal Gompa <ngompa13@gmail.com> - 2.27.2-2
  5424  - Bump to rebuild for F27 and Rawhide
  5425  
  5426  * Wed Aug 16 2017 Neal Gompa <ngompa13@gmail.com> - 2.27.2-1
  5427  - Release 2.27.2 to Fedora (RH#1482173)
  5428  
  5429  * Wed Aug 16 2017 Michael Vogt <mvo@ubuntu.com>
  5430  - New upstream release 2.27.2
  5431   - tests: remove TestInterfacesHelp as it breaks when go-flags
  5432     changes
  5433   - interfaces: don't crash if content slot has no attributes
  5434   - debian: do not build with -buildmode=pie on i386
  5435   - interfaces: backport broadcom-asic-control interface
  5436   - interfaces: allow /usr/bin/xdg-open in unity7
  5437   - store: do not resume a download when we already have the whole
  5438     thing
  5439  
  5440  * Mon Aug 14 2017 Neal Gompa <ngompa13@gmail.com> - 2.27.1-1
  5441  - Release 2.27.1 to Fedora (RH#1481247)
  5442  
  5443  * Mon Aug 14 2017 Michael Vogt <mvo@ubuntu.com>
  5444  - New upstream release 2.27.1
  5445   - tests: use dnf --refresh install to avert stale cache
  5446   - tests: fix test failure on 14.04 due to old version of
  5447     flock
  5448   - updates for unity7/x11, browser-support, network-control,
  5449     mount-observe
  5450   - interfaces/unity7,x11: update for NETLINK_KOBJECT_UEVENT
  5451   - interfaces/browser-support: update sysfs reads for
  5452     newer browser versions
  5453   - interfaces/network-control: rw for ieee80211 advanced wireless
  5454   - interfaces/mount-observe: allow read on sysfs entries for block
  5455     devices
  5456  
  5457  * Thu Aug 10 2017 Neal Gompa <ngompa13@gmail.com> - 2.27-1
  5458  - Release 2.27 to Fedora (RH#1458086)
  5459  
  5460  * Thu Aug 10 2017 Michael Vogt <mvo@ubuntu.com>
  5461  - New upstream release 2.27
  5462   - fix build failure on 32bit fedora
  5463   - interfaces: add password-manager-service implicit classic interface
  5464   - interfaces/greengrass-support: adjust accesses now that have working
  5465     snap
  5466   - interfaces/many, cmd/snap-confine: miscellaneous policy updates
  5467   - interfaces/unity7: allow receiving media key events in (at least)
  5468     gnome-shell
  5469   - cmd: fix re-exec bug when starting from snapd 2.21
  5470   - tests: restore interfaces-account-control properly
  5471   - cmd: fix tests that assume /snap mount
  5472   - cmd: mark arch as non-reexecing distro
  5473   - snap-confine: don't share /etc/nsswitch from host
  5474   - store: talk to api.snapcraft.io for purchases
  5475   - hooks: support for install and remove hooks
  5476   - packaging: fix Fedora support
  5477   - tests: add bluetooth-control interface test
  5478   - store: talk to api.snapcraft.io for assertions
  5479   - tests: remove snapd before building from branch
  5480   - tests: add avahi-observe interface test
  5481   - store: orders API now checks if customer is ready
  5482   - cmd/snap: snap find only searches stable
  5483   - interfaces: updates default, mir, optical-observe, system-observe,
  5484     screen-inhibit-control and unity7
  5485   - tests: speedup prepare statement part 1
  5486   - store: do not send empty refresh requests
  5487   - asserts: fix error handling in snap-developer consistency check
  5488   - systemd: add explicit sync to snapd.core-fixup.sh
  5489   - snapd: generate snap cookies on startup
  5490   - cmd,client,daemon: expose "force devmode" in sysinfo
  5491   - many: introduce and use strutil.ListContains and also
  5492     strutil.SortedListContains
  5493   - assserts,overlord/assertstate: test we don't accept chains of
  5494     assertions founded on a self-signed key coming externally
  5495   - interfaces: enable access to bridge settings
  5496   - interfaces: fix copy-pasted iio vs io in io-ports-control
  5497   - cmd/snap-confine: various small fixes and tweaks to seccomp
  5498     support code
  5499   - interfaces: bring back seccomp argument filtering
  5500   - systemd, osutil: rework systemd logs in preparation for services
  5501     commands
  5502   - tests: store /etc/systemd/system/snap-*core*.mount in snapd-
  5503     state.tar.gz
  5504   - tests: shellcheck improvements for tests/main tasks - first set of
  5505     tests
  5506   - cmd/snap: `--last` for abort and watch, and aliases
  5507     (search→find, change→tasks)
  5508   - tests: shellcheck improvements for tests/lib scripts
  5509   - tests: create ramdisk if it's not present
  5510   - tests: shellcheck improvements for nightly upgrade and regressions
  5511     tests
  5512   - snapd: fix for snapctl get panic on null config values.
  5513   - tests: fix for rng-tools service not restarting
  5514   - systemd: add snapd.core-fixup.service unit
  5515   - cmd: avoid using current symlink in InternalToolPath
  5516   - tests: fix timeout issue for test refresh core with hanging …
  5517   - intefaces: control bridged vlan/ppoe-tagged traffic
  5518   - cmd/snap: include snap type in notes
  5519   - overlord/state: Abort() only visits each task once
  5520   - tests: extend find-private test to cover more cases
  5521   - snap-seccomp: skip socket() tests on systems that use socketcall()
  5522     instead of socket()
  5523   - many: support snap title as localized/title-cased name
  5524   - snap-seccomp: deal with mknod on aarch64 in the seccomp tests
  5525   - interfaces: put base policy fragments inside each interface
  5526   - asserts: introduce NewDecoderWithTypeMaxBodySize
  5527   - tests: fix snapd-notify when it takes more time to restart
  5528   - snap-seccomp: fix snap-seccomp tests in artful
  5529   - tests: fix for create-key task to avoid rng-tools service ramains
  5530     alive
  5531   - snap-seccomp: make sure snap-seccomp writes the bpf file
  5532     atomically
  5533   - tests: do not disable ipv6 on core systems
  5534   - arch: the kernel architecture name is armv7l instead of armv7
  5535   - snap-confine: ensure snap-confine waits some seconds for seccomp
  5536     security profiles
  5537   - tests: shellcheck improvements for tests/nested tasks
  5538   - wrappers: add SyslogIdentifier to the service unit files.
  5539   - tests: shellcheck improvements for unit tasks
  5540   - asserts: implement FindManyTrusted as well
  5541   - asserts: open up and optimize Encoder to help avoiding unnecessary
  5542     copying
  5543   - interfaces: simplify snap-confine by just loading pre-generated
  5544     bpf code
  5545   - tests: restart rng-tools services after few seconds
  5546   - interfaces, tests: add mising dbus abstraction to system-observe
  5547     and extend spread test
  5548   - store: change main store host to api.snapcraft.io
  5549   - overlord/cmdstate: new package for running commands as tasks.
  5550   - spread: help libapt resolve installing libudev-dev
  5551   - tests: show the IP from .travis.yaml
  5552   - tests/main: use pkgdb function in more test cases
  5553   - cmd,daemon: add debug command for displaying the base policy
  5554   - tests: prevent quoting error on opensuse
  5555   - tests: fix nightly suite
  5556   - tests: add linode-sru backend
  5557   - snap-confine: validate SNAP_NAME against security tag
  5558   - tests: fix ipv6 disable for ubuntu-core
  5559   - tests: extend core-revert test to cover bluez issues
  5560   - interfaces/greengrass-support: add support for Amazon Greengrass
  5561     as a snap
  5562   - asserts: support timestamp and optional disabled header on repair
  5563   - tests: reboot after upgrading to snapd on the -proposed pocket
  5564   - many: fix test cases to work with different DistroLibExecDir
  5565   - tests: reenable help test on ubuntu and debian systems
  5566   - packaging/{opensuse,fedora}: allow package build with testkeys
  5567     included
  5568   - tests/lib: generalize RPM build support
  5569   - interfaces/builtin: sync connected slot and permanent slot snippet
  5570   - tests: fix snap create-key by restarting automatically rng-tools
  5571   - many: switch to use http numeric statuses as agreed
  5572   - debian: add missing  Type=notify in 14.04 packaging
  5573   - tests: mark interfaces-openvswitch as manual due to prepare errors
  5574   - debian: unify built_using between the 14.04 and 16.04 packaging
  5575     branch
  5576   - tests: pull from urandom when real entropy is not enough
  5577   - tests/main/manpages: install missing man package
  5578   - tests: add refresh --time output check
  5579   - debian: add missing "make -C data/systemd clean"
  5580   - tests: fix for upgrade test when it is repeated
  5581   - tests/main: use dir abstraction in a few more test cases
  5582   - tests/main: check for confinement in a few more interface tests
  5583   - spread: add fedora snap bin dir to global PATH
  5584   - tests: check that locale-control is not present on core
  5585   - many: snapctl outside hooks
  5586   - tests: add whoami check
  5587   - interfaces: compose the base declaration from interfaces
  5588   - tests: fix spread flaky tests linode
  5589   - tests,packaging: add package build support for openSUSE
  5590   - many: slight improvement of some snap error messaging
  5591   - errtracker: Include /etc/apparmor.d/usr.lib.snap-confine md5sum in
  5592     err reports
  5593   - tests: fix for the test postrm-purge
  5594   - tests: restoring the /etc/environment and service units config for
  5595     each test
  5596   - daemon: make snapd a "Type=notify" daemon and notify when startup
  5597     is done
  5598   - cmd/snap-confine: add support for --base snap
  5599   - many: derive implicit slots from interface meta-data
  5600   - tests: add core revert test
  5601   - tests,packaging: add package build support for Fedora for our
  5602     spread setup
  5603   - interfaces: move base declaration to the policy sub-package
  5604   - tests: fix for snapd-reexec test cheking for restart info on debug
  5605     log
  5606   - tests: show available entropy on error
  5607   - tests: clean journalctl logs on trusty
  5608   - tests: fix econnreset on staging
  5609   - tests: modify core before calling set
  5610   - tests: add snap-confine privilege test
  5611   - tests: add staging snap-id
  5612   - interfaces/builtin: silence ptrace denial for network-manager
  5613   - tests: add alsa interface spread test
  5614   - tests: prefer ipv4 over ipv6
  5615   - tests: fix for econnreset test checking that the download already
  5616     started
  5617   - httputil,store: extract retry code to httputil, reorg usages
  5618   - errtracker: report if snapd did re-execute itself
  5619   - errtracker: include bits of snap-confine apparmor profile
  5620   - tests: take into account staging snap-ids for snap-info
  5621   - cmd: add stub new snap-repair command and add timer
  5622   - many: stop "snap refresh $x --channel invalid" from working
  5623   - interfaces: revert "interfaces: re-add reverted ioctl and quotactl
  5624   - snapstate: consider connect/disconnect tasks in
  5625     CheckChangeConflict.
  5626   - interfaces: disable "mknod |N" in the default seccomp template
  5627     again
  5628   - interfaces,overlord/ifacestate: make sure installing slots after
  5629     plugs works similarly to plugs after slots
  5630   - interfaces/seccomp: add bind() syscall for forced-devmode systems
  5631   - packaging/fedora: Sync packaging from Fedora Dist-Git
  5632   - tests: move static and unit tests to spread task
  5633   - many: error types should be called FooError, not ErrFoo.
  5634   - partition: add directory sync to the save uboot.env file code
  5635   - cmd: test everything (100% coverage \o/)
  5636   - many: make shell scripts shellcheck-clean
  5637   - tests: remove additional setup for docker on core
  5638   - interfaces: add summary to each interface
  5639   - many: remove interface meta-data from list of connections
  5640   - logger (& many more, to accommodate): drop explicit syslog.
  5641   - packaging: import packaging bits for opensuse
  5642   - snapstate,many: implement snap install --unaliased
  5643   - tests/lib: abstract build dependency installation a bit more
  5644   - interfaces, osutil: move flock code from interfaces/mount to
  5645     osutil
  5646   - cmd: auto import assertions only from ext4,vfat file systems
  5647   - many: refactor in preparation for 'snap start'
  5648   - overlord/snapstate: have an explicit code path last-refresh
  5649     unset/zero => immediately refresh try
  5650   - tests: fixes for executions using the staging store
  5651   - tests: use pollinate to seed the rng
  5652   - cmd/snap,tests: show the sha3-384 of the snap for snap info
  5653     --verbose SNAP-FILE
  5654   - asserts: simplify and adjust repair assertion definition
  5655   - cmd/snap,tests: show the snap id if available in snap info
  5656   - daemon,overlord/auth: store from model assertion wins
  5657   - cmd/snap,tests/main: add confinement switch instead of spread
  5658     system blacklisting
  5659   - many: cleanup MockCommands and don't leave a process around after
  5660     hookstate tests
  5661   - tests: update listing test to the core version number schema
  5662   - interfaces: allow snaps to use the timedatectl utility
  5663   - packaging: Add Fedora packaging files
  5664   - tests/libs: add distro_auto_remove_packages function
  5665   - cmd/snap: correct devmode note for anomalous state
  5666   - tests/main/snap-info: use proper pkgdb functions to install distro
  5667     packages
  5668   - tests/lib: use mktemp instead of tempfile to work cross-distro
  5669   - tests: abstract common dirs which differ on distributions
  5670   - many: model and expose interface meta-data.
  5671   - overlord: make config defaults from gadget work also at first boot
  5672   - interfaces/log-observe: allow using journalctl from hostfs for
  5673     classic distro
  5674   - partition,snap: add support for android boot
  5675   - errtracker: small simplification around readMachineID
  5676   - snap-confine: move rm_rf_tmp to test-utils.
  5677   - tests/lib: introduce pkgdb helper library
  5678   - errtracker: try multiple paths to read machine-id
  5679   - overlord/hooks: make sure only one hook for given snap is executed
  5680     at a time.
  5681   - cmd/snap-confine: use SNAP_MOUNT_DIR to setup /snap inside the
  5682     confinement env
  5683   - tests: bump kill-timeout and remove quiet call on build
  5684   - tests/lib/snaps: add a test store snap with a passthrough
  5685     configure hook
  5686   - daemon: teach the daemon to wait on active connections when
  5687     shutting down
  5688   - tests: remove unit tests task
  5689   - tests/main/completion: source from /usr/share/bash-completion
  5690   - assertions: add "repair" assertion
  5691   - interfaces/seccomp: document Backend.NewSpecification
  5692   - wrappers: make StartSnapServices cleanup any services that were
  5693     added if a later one fails
  5694   - overlord/snapstate: avoid creating command aliases for daemons
  5695   - vendor: remove unused packages
  5696   - vendor,partition: fix panics from uenv
  5697   - cmd,interfaces/mount: run snap-update-ns and snap-discard-ns from
  5698     core if possible
  5699   - daemon: do not allow to install ubuntu-core anymore
  5700   - wrappers: service start/stop were inconsistent
  5701   - tests: fix failing tests (snap core version, syslog changes)
  5702   - cmd/snap-update-ns: add actual implementation
  5703   - tests: improve entropy also for ubuntu
  5704   - cmd/snap-confine: use /etc/ssl from the core snap
  5705   - wrappers: don't convert between []byte and string needlessly.
  5706   - hooks: default timeout
  5707   - overlord/snapstate: Enable() was ignoring the flags from the
  5708     snap's state, resulting in losing "devmode" on disable/enable.
  5709   - difs,interfaces/mount: add support for locking namespaces
  5710   - interfaces/mount: keep track of kept mount entries
  5711   - tests/main: move a bunch of greps over to MATCH
  5712   - interfaces/builtin: make all interfaces private
  5713   - interfaces/mount: spell unmount correctly
  5714   - tests: allow 16-X.Y.Z version of core snap
  5715   - the timezone_control interface only allows changing /etc/timezone
  5716     and /etc/writable/timezone. systemd-timedated also updated the
  5717     link of /etc/localtime and /etc/writable/localtime ... allow
  5718     access to this file too
  5719   - cmd/snap-confine: aggregate operations holding global lock
  5720   - api, ifacestate: resolve disconnect early
  5721   - interfaces/builtin: ensure we don't register interfaces twice
  5722  
  5723  * Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.26.3-5
  5724  - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
  5725  
  5726  * Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.26.3-4
  5727  - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
  5728  
  5729  * Thu May 25 2017 Neal Gompa <ngompa13@gmail.com> - 2.26.3-3
  5730  - Cover even more stuff for proper erasure on final uninstall (RH#1444422)
  5731  
  5732  * Sun May 21 2017 Neal Gompa <ngompa13@gmail.com> - 2.26.3-2
  5733  - Fix error in script for removing Snappy content (RH#1444422)
  5734  - Adjust changelog bug references to be specific on origin
  5735  
  5736  * Wed May 17 2017 Neal Gompa <ngompa13@gmail.com> - 2.26.3-1
  5737  - Update to snapd 2.26.3
  5738  - Drop merged and unused patches
  5739  - Cover more Snappy content for proper erasure on final uninstall (RH#1444422)
  5740  - Add temporary fix to ensure generated seccomp profiles don't break snapctl
  5741  
  5742  * Mon May 01 2017 Neal Gompa <ngompa13@gmail.com> - 2.25-1
  5743  - Update to snapd 2.25
  5744  - Ensure all Snappy content is gone on final uninstall (RH#1444422)
  5745  
  5746  * Tue Apr 11 2017 Neal Gompa <ngompa13@gmail.com> - 2.24-1
  5747  - Update to snapd 2.24
  5748  - Drop merged patches
  5749  - Install snap bash completion and snapd info file
  5750  
  5751  * Wed Apr 05 2017 Neal Gompa <ngompa13@gmail.com> - 2.23.6-4
  5752  - Test if snapd socket and timer enabled and start them if enabled on install
  5753  
  5754  * Sat Apr 01 2017 Neal Gompa <ngompa13@gmail.com> - 2.23.6-3
  5755  - Fix profile.d generation so that vars aren't expanded in package build
  5756  
  5757  * Fri Mar 31 2017 Neal Gompa <ngompa13@gmail.com> - 2.23.6-2
  5758  - Fix the overlapping file conflicts between snapd and snap-confine
  5759  - Rework package descriptions slightly
  5760  
  5761  * Thu Mar 30 2017 Neal Gompa <ngompa13@gmail.com> - 2.23.6-1
  5762  - Rebase to snapd 2.23.6
  5763  - Rediff patches
  5764  - Re-enable seccomp
  5765  - Fix building snap-confine on 32-bit arches
  5766  - Set ExclusiveArch based on upstream supported arch list
  5767  
  5768  * Wed Mar 29 2017 Neal Gompa <ngompa13@gmail.com> - 2.23.5-1
  5769  - Rebase to snapd 2.23.5
  5770  - Disable seccomp temporarily avoid snap-confine bugs (LP#1674193)
  5771  - Use vendorized build for non-Fedora
  5772  
  5773  * Mon Mar 13 2017 Neal Gompa <ngompa13@gmail.com> - 2.23.1-1
  5774  - Rebase to snapd 2.23.1
  5775  - Add support for vendored tarball for non-Fedora targets
  5776  - Use merged in SELinux policy module
  5777  
  5778  * Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.16-2
  5779  - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
  5780  
  5781  * Wed Oct 19 2016 Zygmunt Krynicki <me@zygoon.pl> - 2.16-1
  5782  - New upstream release
  5783  
  5784  * Tue Oct 18 2016 Neal Gompa <ngompa13@gmail.com> - 2.14-2
  5785  - Add SELinux policy module subpackage
  5786  
  5787  * Tue Aug 30 2016 Zygmunt Krynicki <me@zygoon.pl> - 2.14-1
  5788  - New upstream release
  5789  
  5790  * Tue Aug 23 2016 Zygmunt Krynicki <me@zygoon.pl> - 2.13-1
  5791  - New upstream release
  5792  
  5793  * Thu Aug 18 2016 Zygmunt Krynicki <me@zygoon.pl> - 2.12-2
  5794  - Correct license identifier
  5795  
  5796  * Thu Aug 18 2016 Zygmunt Krynicki <me@zygoon.pl> - 2.12-1
  5797  - New upstream release
  5798  
  5799  * Thu Aug 18 2016 Zygmunt Krynicki <me@zygoon.pl> - 2.11-8
  5800  - Add %%dir entries for various snapd directories
  5801  - Tweak Source0 URL
  5802  
  5803  * Tue Aug 16 2016 Zygmunt Krynicki <me@zygoon.pl> - 2.11-7
  5804  - Disable snapd re-exec feature by default
  5805  
  5806  * Tue Aug 16 2016 Zygmunt Krynicki <me@zygoon.pl> - 2.11-6
  5807  - Don't auto-start snapd.socket and snapd.refresh.timer
  5808  
  5809  * Tue Aug 16 2016 Zygmunt Krynicki <me@zygoon.pl> - 2.11-5
  5810  - Don't touch snapd state on removal
  5811  
  5812  * Tue Aug 16 2016 Zygmunt Krynicki <me@zygoon.pl> - 2.11-4
  5813  - Use ExecStartPre to load squashfs.ko before snapd starts
  5814  - Use dedicated systemd units for Fedora
  5815  
  5816  * Tue Aug 16 2016 Zygmunt Krynicki <me@zygoon.pl> - 2.11-3
  5817  - Remove systemd preset (will be requested separately according to distribution
  5818    standards).
  5819  
  5820  * Tue Aug 16 2016 Zygmunt Krynicki <me@zygoon.pl> - 2.11-2
  5821  - Use Requires: kmod(squashfs.ko) instead of Requires: kernel-modules
  5822  
  5823  * Tue Aug 16 2016 Zygmunt Krynicki <me@zygoon.pl> - 2.11-1
  5824  - New upstream release
  5825  - Move private executables to /usr/libexec/snapd/
  5826  
  5827  * Fri Jun 24 2016 Zygmunt Krynicki <me@zygoon.pl> - 2.0.9-2
  5828  - Depend on kernel-modules to ensure that squashfs can be loaded. Load it afer
  5829    installing the package. This hopefully fixes
  5830    https://github.com/zyga/snapcore-fedora/issues/2
  5831  
  5832  * Fri Jun 17 2016 Zygmunt Krynicki <me@zygoon.pl> - 2.0.9
  5833  - New upstream release
  5834    https://github.com/snapcore/snapd/releases/tag/2.0.9
  5835  
  5836  * Tue Jun 14 2016 Zygmunt Krynicki <me@zygoon.pl> - 2.0.8.1
  5837  - New upstream release
  5838  
  5839  * Fri Jun 10 2016 Zygmunt Krynicki <me@zygoon.pl> - 2.0.8
  5840  - First package for Fedora