# changelog

author: Petr Šplíchal <psplicha@redhat.com> - 0.11-1
changelog:
  - Merge default images for podman/testcloud [#169]
  - Do not export empty environment to run.sh
  - Merge vagrant check for running connection [#156]
  - Adjust vagrant check for running connection
  - Merge test export into nitrate [#118]
  - Adjust 'tmt test export --nitrate' implementation
  - Use fedora as a default image for podman/testcloud
  - Move testcloud back to the extra requires
  - Always copy directory tree to the workdir
  - Add an example with test and plan in a single file
  - Do not run tests with an empty environment
  - Check for non-zero status upon yaml syntax errors
  - Export test cases to nitrate
  - Merge test import using testinfo.desc [#160]
  - Adjust test import using testinfo.desc
  - Use testinfo.desc as source of metadata
  - Add environment support to the discover step (#145)
  - Add a new story describing user and system config (#143)
  - Check if connection is running in Vagrant Provision


author: Petr Šplíchal <psplicha@redhat.com> - 0.12-1
changelog:
  - Import the testcloud module when needed [fix #175]
  - Update implementation coverage of stories & spec
  - Discover only enabled tests [fix #170]
  - Correctly handle missing nitrate module or config
  - Use raw string for regular expression search


author: Petr Šplíchal <psplicha@redhat.com> - 0.13-1
changelog:
  - Merge the improved test import checks [#179]
  - Adjust checks for missing metadata
  - Add checks for missing metadata.
  - Implement public_git_url() for git url conversion
  - Define required attributes and duration default


author: Petr Šplíchal <psplicha@redhat.com> - 0.14-1
changelog:
  - Workaround yaml key sorting on rhel-8 [fix #207]
  - Fix test discovery from the execute step scripts
  - Merge discover step documentation and fixes [#204]
  - Document the discover step, fix issues, add tests
  - Simplify the minimal example, adjust tests
  - Move fmf_id() to Node class, minor adjustments
  - Allow to print fmf identifier in tmt tests show
  - Merge manual tests story and examples [#198]
  - Add a story and examples describing manual tests
  - Sync more extra-* attributes when exporting [#199]
  - Enable checks for essential test attributes
  - Handle require in Dicovery
  - Store imported metadata in a sane order [fix #86]
  - Enable Python 3.8 in Travis, update classifiers
  - Add missing 'require' attribute to the Test class
  - Fix long environment for run.sh [fix #126]
  - Merge dynamic plugins and wake up support [#186]
  - Implement dynamic plugins and options [fix #135]
  - Suggest using 'tmt init' when metadata not found
  - Merge improved import of tier from tags [#187]
  - Adjust tier import from test case tags
  - Merge tmt test export --nitrate --create [#185]
  - Adjust suppport for creating new nitrate testcases
  - Allow creation of nitrate cases when exporting
  - Create tier attribute from multiple Tier tags
  - Fix run.sh to work with RHEL/CentOS 7 as well
  - Implement wake up for Run, Step and Discover


author: Petr Šplíchal <psplicha@redhat.com> - 0.15-1
changelog:
  - Implement executing the last run using --last
  - Adjust support for modifying plan templates
  - Add a way how to edit values in a new template
  - Explicitly mention supported distros in the docs
  - Convert provision/prepare into dynamic plugins
  - Describe difference between --verbose and --debug
  - Support fmf name references in docs, update spec
  - Support multiple verbose/debug levels [fix #191]
  - Remove forgotten 'Core' section from stories
  - Implement Plugin.show() for a full dynamic support
  - Improve the workdir handling in the Common class


author: Petr Šplíchal <psplicha@redhat.com> - 0.16-1
changelog:
  - Merge the fix and test for run --force [#245]
  - Merge the improved display report [#241]
  - Adjust the display report plugin verbose output
  - Adjust general plan linking and component check
  - Clean up the run workdir if --force provided
  - More verbose modes for report --how display
  - Link plans, handle missing components in export
  - Import and listify of contact
  - Disable Tier 3 tests by default (need bare metal)
  - Move Tier 0 tests into a separate directory
  - Merge the new 1minutetip provision plugin [#225]
  - Adjust the 1minutetip provision plugin
  - Add support for tmt run --after and --before (#237)
  - Support string in test component, require and tag (#233)
  - Add support for installing local rpm packages
  - Add 1minutetip provision plugin
  - Implement tmt run --since, --until and --skip (#236)
  - Merge pull request #234 from psss/testcloud-aliases
  - Update the last run id at the very end of run
  - Support short Fedora compose aliases in testcloud
  - Convert the finish step into dynamic plugins
  - Convert the report step into dynamic plugins
  - Convert the execute step into dynamic plugins
  - Escape package names during installation
  - Deduplicate inherited keys in test import [fix #8]


author: Petr Šplíchal <psplicha@redhat.com> - 0.17-1
changelog:
  - Use emulator_path instead of hard-coded qemu path
  - Improve a bit the --force option description
  - Use consistent naming for provision subpackages
  - Add 'mock' to extra requires (needed to make docs)
  - Move podman and testcloud plugins into subpackages
  - Enable epel for packit build & testing farm
  - Move vagrant from requires to recommends (tmt-all)


author: Petr Šplíchal <psplicha@redhat.com> - 0.18-1
changelog:
  - Add virtual plans for supported provision methods
  - Implement description in 'tmt plan show' as well
  - Implement tmt run --remove to remove workdir
  - Extend the login/step test to cover failed command
  - Do not fail upon command fail in interactive mode
  - Implement the internal tmt execute step method
  - Move all prepare/install tests to tier level 3
  - Merge the new manual test specification [#247]
  - Merge the new L1 attribute 'recommend' [#265]
  - Adjust the manual test specification and examples
  - Implement 'recommend' for installing soft requires
  - State explicitly that execution is finished
  - Simplify beakerlib template, add test for init
  - Manual test case specification and examples
  - Implement exit codes, handle no tests [fix #246]
  - Merge the interactive shell login command [#258]
  - Adjust support for shortened 1MT image names
  - New login command to provide a shell on guest
  - Add support for shortened 1MT image names
  - Add support for running tests without defined plan
  - Ignore save() in the execute step unit test
  - Update the default run example with fresh output
  - Show kernel version only in verbose mode


author: Petr Šplíchal <psplicha@redhat.com> - 0.19-1
changelog:
  - Make the discover step a little bit more secure
  - Improve basic and verbose output of tmt plan show
  - Improve default plan handling and more [fix #287]
  - Adjust the compose check retry in testcloud
  - Retry Fedora compose check in testcloud [fix #275]
  - Update development section and library example
  - Support fetching beakerlib libraries in discover
  - Add nitrate to the setup.py extra requires
  - Add a workflow-tomorrow integration test example
  - Add 'duration' into the test results specification


author: Petr Šplíchal <psplicha@redhat.com> - 0.20-1
changelog:
  - Move libraries handling into a separate module
  - Adjust loading variables from YAML files [#316]
  - Support environment variables from YAML files
  - Give a nice error for expired kerberos [fix #57]
  - Merge Guest relocation and documentation [#307]
  - Describe essential Guest methods in more detail
  - Update test import story and documentation
  - Merge extra-task as summary in test export [#304]
  - Move default plan handling into a single method
  - Move the Guest class from base to steps.provision
  - Save root in run.yaml
  - Document L1 metadata defined in the discover step
  - Improve Makefile editing during test import
  - Use extra-task as summary in test export
  - Mention default methods in the step help message
  - Handle invalid url when library provided as fmf id
  - Allow library git clone to fail


author: Petr Šplíchal <psplicha@redhat.com> - 0.21-1
changelog:
  - Adjust manual test case import from nitrate [#319]
  - Move the test convert deps into a separate package
  - Support importing manual test cases from Nitrate
  - Merge the non-zero exit codes for linting errors
  - Fix several test export issues [fix #337]
  - Adjust distro checks, remove the dry parameter
  - Generalized Guest.details() [fix #310]
  - Adjust the test coverage for tmt plan/test lint
  - Update documentation with virtualization tips
  - Make sure the duration timer is always canceled
  - Merge the new retry_session functionality [#328]
  - Exit with non-zero code if linting fails
  - Merge fix for the double fmf extension [#327]
  - Prevent koji from trying to build packages on i686
  - Retry requests in case of network failure
  - Avoid double fmf extension when creating plans and stories
  - Improve the maximum test duration handling
  - Remove vagrant from tmt-all recommended packages
  - Detect beakerlib libraries from recommend as well
  - Simplify packit custom create archive command
  - Make the httpd test example a bit more interesting
  - Append dots to fix tmt run --help message summary
  - Document multiple configs and extending steps


author: Petr Šplíchal <psplicha@redhat.com> - 1.0-1
changelog:
  - Correctly handle framework for new plans and tests
  - Move runtest.sh adjustments into a single function
  - Add the executable permission to runtest.sh
  - Less strict removing sourcing of rhts-environment
  - Use metadata directory as the default for path
  - Implement the new L1 attribute 'framework'
  - Explicitly enable copr_build for pull requests
  - Handle missing library in existing repository
  - Update the overall tmt description and examples
  - Enable builds from master in the main copr repo
  - Merge packit config for copr builds from master
  - Use packit repository for copr builds from master
  - Gracefully handle invalid test output
  - Build in COPR for master via packit
  - Add hint about caching the dnf package metadata
  - Add two hints about easy login for experimenting
  - Merge debug messages for the minute plugin [#361]
  - Adjust the minute provision debug messages wording
  - Use the internal tmt executor by default
  - Add more debug messages to minute provision
  - Remove the remaining 'tmt test convert' references
  - Prevent shebang mangling for detached executor
  - Merge the minute and install plugin docs [#345]
  - Adjust the minute and install plugin documentation
  - Merge the manual test import documentation [#347]
  - Adjust the manual test documentation wording
  - Merge rhts-environment source line removal [#344]
  - Adjust rhts-environment source line removal
  - Add missing extra-* keys to the test import
  - Add docs for manual case import
  - Disable authentication when fetching libraries
  - Document the install prepare method
  - Document the minute provision method
  - Remove sourcing of rhts-environment in runtest.sh
  - Add minute to supported provision methods of prepare


author: Petr Šplíchal <psplicha@redhat.com> - 1.1-1
changelog:
  - Convert adds extra-summary as well
  - Simplify test directory copy with enabled symlinks
  - Select latest minute image only from released images
  - Allow specifying exact RHEL version using a short name
  - Preserve symlinks during discover, pull and push
  - Always run Login plugin even if step is done
  - Suggest some useful aliases for common use cases
  - Correct type of Tier attribute in examples
  - Define basic hardware environment specification
  - Import manual data for automated tests
  - Tag tests which can be run under container/virtual
  - Give hints to install provision plugins [fix #405]
  - Handle nicely missing library metadata [fix #397]
  - Update the test data directory name in the spec
  - Extend duration for tests using virtualization
  - Use a better name for the test data path method
  - Provide aggregated test metadata for execution
  - Send warnings to stderr, introduce a fail() method


author: Petr Šplíchal <psplicha@redhat.com> - 1.2-1
changelog:
  - Minor adjustment of the beakerlib test template
  - Adjust the new test checking the error output
  - Print errors to stderr
  - Fix check for selecting plans during tmt run
  - Update test coverage, fix finish step example
  - Update spec/stories implementation coverage
  - Skip import of manual cases with script
  - Import header and footer from Nitrate
  - Implement conversion between relevancy and adjust
  - Support short options for selecting tests & plans
  - Document the display and html report in the spec
  - Explain the difference between fmf and tmt
  - Fix the last missing framework in library tests
  - Adjust the docs update and title implementation
  - Implement a new story attribute 'title' (L3)
  - Small documentation cleanup
  - Simplify plan setup, move old plans to examples
  - Store the whole debug log in the top run directory
  - Add test for pip installability
  - Add a new plan to cover minimal installation
  - Move html report plugin into a separate subpackage
  - Use 'output.txt' filename for the main test output
  - Update required fmf version in setup.py
  - Improve the css style for the html report
  - Fix blocking read in Common.run
  - Adjust a bit the improved html report
  - Improve report-html --open
  - Implement adjusting metadata based on the context
  - Adjust the new 'html' report method
  - New report --how html available
  - Adjust environment import from Makefile metadata
  - Import environment from Makefile metadata
  - Update old beakerlib paths during tmt test import
  - Adjust a little bit the user story templates
  - Support libraries stored deep in the repositories
  - Enable the new coverage stories section in docs
  - First stories to cover tests coverage mapping
  - Recommend using login shell in libvirt hints
  - Use nitrate naming for the manual field export
  - Export manual attribute to nitrate
  - Store complete initialized data in metadata.yaml
  - Merge the improved minute error messages [#425]
  - Adjust a bit the minute provision error messages
  - Handle testcloud problem with the images directory
  - Handle tracebacks in minute provision
  - Multiple enhancements for package preparation
  - Gracefully handle invalid library reference


author: Petr Šplíchal <psplicha@redhat.com> - 1.2.1-1
changelog:
  - Manual state for manual nitrate tests
  - Define framework for all beakerlib libraries tests
  - Remove the remaining test case relevancy leftovers


author: Petr Šplíchal <psplicha@redhat.com> - 1.3.0-1
changelog:
  - Set timeout on select calls in utils._run()
  - Show the current tmt version in the debug log
  - Revert support for the 'el' distro shortcut
  - Strip whitespace before relevancy comment
  - Ensure rsync is installed on the guest if needed
  - Use the default branch in the discover fmf plugin
  - Suport the 'el' shortcut for the distro context
  - Implement the 'tmt --version' option [fix #445]
  - Adjust test create test, fix missing dots
  - Support creating tests in the current directory
  - Rename container images, update install docs
  - Fixup Dockerfiles to build in quay.io.
  - Support building mini and full tmt container image
  - Add a Dockerfile for container with tmt
  - Fix dependency error messages
  - Use a better trigger name for source code changes
  - Add a new 'Check Report' section to examples
  - Add the --force explanation in the documentation
  - Extend the test coverage to check for active runs
  - Add basic test coverage for tmt status
  - Restore context after processing each run
  - Correctly handle an undefined step status
  - Load default plan when no root is present
  - Implement tmt status command
  - Define command-line interface for status command
  - Print library in error message during ref conflict
  - Adjust the default branch handling for libraries
  - Handle default branch in Library
  - Adjust test duration, clean up old test metadata
  - Improve timeout handling (fix an infinite loop)
  - Adjust default timeout in the testcloud provision
  - Remove obsolete unit test coverage for steps
  - Adjust the filtering support, fix docs building
  - Allow filtering using custom L1 metadata
  - Allow filtering with lowercase bool names
  - Handle exceptions when applying filters and conditions
  - Share code for filters & conditions, test coverage
  - Apply filters after applying defaults and conversions
  - Fix IPv4 parsing when booting minute machine
  - Remove all hacks for the old cruncher executor
  - Remove the whole rhts-lint line during test import
  - Remove the old convert test from unit tests
  - Adjust contact handling to work with manual tests
  - Fix contacts without name during tmt test import
  - Finalize the specification of the 'link' attribute
  - Add specification of the new core attribute 'link'
  - Enough of dreaming, let's go to the forest! :)
  - Update the overview of core classes, minor cleanup
  - Add missing required packages for pip install
  - Implement tmt run --follow option for checking log
  - Extra check for required packages when using yum
  - Clean up obsolete names in examples and templates
  - Update the test checking for relevancy conversion
  - Adjust storing test case id for new nitrate cases
  - Append nitrate id when exporting instead of rewrite
  - Skip prereserve check if custom flavor requested
  - Use special compare operators only if minor given
  - Adjust support for selecting modified tests
  - Allow selecting only tests that have changed in git
  - Remove the duplicate build job from packit config
  - Verify the old beakerlib functions using Makefile
  - Enable debug output using the TMT_DEBUG variable


author: Petr Šplíchal <psplicha@redhat.com> - 1.3.1-1
changelog:
  - Add test for prepare freeze
  - Make file descriptors non-blocking
  - Update the specification and stories to use link
  - Implement the new core attribute 'link'


author: Petr Šplíchal <psplicha@redhat.com> - 1.4.0-1
changelog:
  - Create a copy of nitrate testplans for iteration
  - Check the rsync as the first preparation step
  - Use an empty worktree if no metadata tree found
  - Adjust manual test instructions export to nitrate
  - Export manual test case fields to nitrate
  - Adjust the worktree implementation and test
  - Implement shared worktree for the tests
  - Adjust the improved verdict implementation
  - Correct the verdict function, align docstring
  - Print final image name in minute plugin
  - Adjust the improved plan linting a bit
  - Improve plan linting
  - Implement port in Guest, show in verbose mode
  - Use qemu user mode in the testcloud provision
  - Support excluding packages during installation
  - Support enabling/disabling plans and stories
  - Do not link and remove general plans by default
  - Improve general plans handling during test export
  - Match by name prefix in discover.modified-only
  - Passthrough non-zero exits for beakerlib execution
  - Adjust the dry mode implementation for tmt init
  - Implement dry mode for the tmt init command
  - Do not use the spec release for the pip version
  - Simplify story, plan and test search methods
  - Do not use mutable objects as default arguments
  - Prevent duplicate content in generated docs
  - Ignore the nitrate migration warning during import
  - Better summary for new exported tests
  - Adjust exception handling in the testcloud plugin
  - Make the testcloud ProvisionError more verbose
  - Use IPv6 enabled 1MT network by default
  - Improve debugging of tests using click runner
  - Fix step selection for --before and --after
  - Adjust the prepare test and pull/push enhancements
  - Add prepare/shell test and pull/push enhancements
  - Test filter on command line overrides config
  - Improve handling of verbose and debug options
  - Verify automated test case import from nitrate
  - Enable copr repo even if no package is provided
  - Improve documentation of tests, plans and stories
  - Use fmf to store the newly created nitrate case id
  - Adjust the hint about increasing the test duration
  - Add hint to stdout in case of timeout
  - Catch all exceptions when evaluating --condition
  - Fix missing overview on the readthedocs.org site
  - Adjust style of the new nitrate integration test
  - Nitrate integration testsuite with requre
  - Always enable force mode for display/html report
  - Improve documentation, clearly show draft stories
  - Test filter on command line overrides config
  - Print unofficial attributes in tmt tests show -vv
  - Adjust dry mode fix for test/plan/story create
  - Implement dry mode for tmt test/plan/story create
  - Support NO_COLOR to disable colored output
  - Add test duration to `results.yaml`
  - Adjust checking for duplicates during test export
  - Prevent creating duplicate test cases in Nitrate
  - Use singular for 'gate' as defined in the spec
  - Fix gates conversion & drop artifacts
  - Adjust a bit the shell completion instructions
  - Describe how to enable shell completions
  - Extend the duration test to cover positive results
  - Detect timeout for Beakerlib, use TESTRESULT_STATE
  - Improve tmt test path linting
  - Clarify playbook path for ansible prepare plugin
  - Adjust warning about the invalid disabled step
  - Only warn on invalid disabled step
  - Use date-service to get correct instantiation time
  - Prevent keys mutation when searching plans/stories
  - Cache fmf_id property
  - Store relevant bugs during test import
  - Avoid mutating `keys` default in .tests()
  - Use the new execute method syntax for tmt tests
  - Clean up obsolete test metadata


author: Petr Šplíchal <psplicha@redhat.com> - 1.5.0-1
changelog:
  - Enable and document `pre-commit` and `autopep8`
  - Reorganize feature stories, fix title duplication
  - Prepare/install story for package development.
  - Add package preparation scenarios from Fedora CI
  - Prepare/install story for released packages
  - Add new stories related to package preparation
  - Fix login not working for cloud images
  - Work around a seccomp podman issue on centos-8
  - Tag multihost tests during import from Makefile
  - Adjust the simple test for ansible prepare
  - Remove hardcoded ansible_python_interpreter=auto
  - Fix lint and use it on the tmt repo itself
  - Obsolete the minute provision plugin
  - Update the documentation for contributors
  - Do not assert installed packages for recommend
  - Show link to the full debug log in the html report
  - Implement tmt clean command
  - Require a newer fmf which supports storing data
  - Allow to specify port in provision.connect
  - Surround classes and functions with 2 blank lines
  - Fix order of imports, sort them alphabetically
  - Update the provision step hardware specification
  - Fix tmt plan lint for multiple configurations
  - Add tmt status examples section
  - Add a context adjust example for the prepare step
  - Adjust the git suffix stripping for known forges
  - Strip git suffix from pagure/gitlab/github repos
  - Enable install plans for pull request testing
  - Adjust the essential attributes description
  - Document the essential class attributes
  - Improve the prepare step documentation
  - Correctly convert relevancy with the `!=` operator
  - Print note in report.html if it exists
  - Add note about error for beakerlib results
  - Adjust progress bar for the internal executor
  - Add test progress bar to non-verbose mode
  - Adjust the attribute linting for tests
  - Lint attribute names for test
  - Human friendly names for VMs


author: Petr Šplíchal <psplicha@redhat.com> - 1.6.0-1
changelog:
  - Adjust the new plugin documentation
  - Add plugin examples and documentation
  - Ensure that the discover git reference is a string
  - Report plugin for JUnit output
  - Fix issue when raising error for NoneType
  - Print better error when nitrate testcase not found.
  - Use `count=True` for multiple flag options
  - Add option to explicitly use default plan
  - Adjust debuginfo installation, add test coverage
  - Use debuginfo-install for installing debuginfos
  - Update the documentation based on refactoring
  - Implement tmt story lint
  - Refactor Node class to Core
  - Correctly handle spaces in file/directory names
  - Hand over plan environment during local execution
  - Do not execute manual test cases
  - Fix option handling for plugins with common prefix
  - Propagate options to guests based on the step
  - Support fetching libraries from a local directory
  - Add a simple example of a test written in ansible
  - Pass environment variables to ansible (local)
  - Pass environment variables to ansible (virtual)
  - Adjust warning for extra lines in Makefile targets
  - Add test import warning for run and build targets
  - Enable a few more pre-commit hooks, sort imports
  - Give a warning about the obsoleted minute plugin
  - Clarify adjust dependency on explicit context
  - Fix the EPEL installation instructions
  - Adjust the new list options for the minute plugin
  - New print method, used now in minute plugin
  - Implement listing available minute images/flavors
  - Update default option values for verbose and debug
  - Avoid creating workdir on --help
  - Do not keep run workdir during testing
  - Clean up the code style, remove the vagrant plugin


author: Petr Šplíchal <psplicha@redhat.com> - 1.7.0-1
changelog:
  - Adjust support for exporting test fmf identifiers
  - Add --fmf-id option for tests export
  - Fix regression in image listing
  - Update hardware spec with units and current status
  - Adjust the reboot support in the internal executor
  - Add support for reboot to internal executor
  - Always try to save guest details
  - Give hints about available report methods
  - Handle libvirt exceptions correctly
  - Handle FileNotFoundError when running commands
  - Adjust framework detection during test import
  - Detect test framework during test import
  - Adjust the reboot command test, minor enhancements
  - Adjust reboot command implementation
  - Implement the reboot class and subcommand
  - Adjust the improved login step selection
  - Login after last done step without --step option
  - Adjust default shell options implementation a bit
  - Make multiline shell scripts fail on error
  - Ensure environment files are within metadata tree
  - Add pycharm .idea to .gitignore
  - Ensure environment-file paths are only relative
  - Adjust the 'environment-file' implementation
  - Implement the 'environment-file' option
  - Mention required packages on the Contribute page
  - Migrate to ruamel.yaml
  - Adjust tmt lint implementation
  - Add tmt lint command
  - Do not expand the process environment variables
  - Adjust legacy match to cover both rhel and centos
  - Guess pci/net when libguestfs python is missing
  - Add timestamp to the tmt debug output
  - Restart sshd on EL8 to prevent delays after boot
  - Support systemd-networkd systems without nm too
  - Testcloud: Use cache='unsafe' for a nice IO boost
  - Check invalid attributes in plans with lint
  - Require correct testcloud version in setup.py
  - Adjust the support for plan parametrization
  - Implement plan parametrization from environment
  - Deprecation timing, mention vagrant box support
  - Fix exit code for tmt story lint
  - Require testcloud with the url guessing support
  - Use testcloud for image url guessing
  - Update the RHEL 8 / CentOS 8 install instructions
  - Accept more ssh keys in the API
  - Require a full path for local images in testcloud
  - Adjust the conversion of Makefile types to tags
  - Convert Type from Beaker Makefile into tags
  - Make sure pip is available for integration testing
  - Disable the white space test for container/virtual
  - Use IdentitiesOnly=yes when key or password is set


author: Lukáš Zachar <lzachar@redhat.com> - 1.8.0-1
changelog:
  - Add support for reboot in a reused provision
  - Solve the reboot race condition
  - Adjust the current git remote improvement
  - Use current git remote for url in fmf-id
  - Implement option to exit after first failure
  - Clarify and update spec for the discover step
  - Adjust the multihost test specification
  - Add the multihost testing specification
  - Make run --force behave more expectably
  - Increase duration for tests using containers
  - Rename soon-to-be deprecated resultcallback
  - Remove the minute.obsolete provision plugin
  - Document how to create a new minor/major release
  - Explicitly mention '.' as special value for names
  - Add Github Action for PyPI releases
  - Improve fetching remote environment files
  - Adjust the check for rsync before pull and push
  - Install `rsync` before guest.pull()
  - Second chapter of the Guide: Under The Hood
  - Simplify the search for step method options
  - Produce better errors for unsupported plugins
  - Add more ignored files, categorize gitignore more
  - Extend .gitignore with a few more common patterns
  - Export fields of a case should be checked by lint
  - Adjust the bugzilla support in test export
  - Test export can link case to bugzilla
  - Document the support for `open` key in html report
  - Allow html report to be opened by plan
  - Require essential packages for tmt testing
  - Skip the docs test until the Sphinx issue is fixed


author: Petr Šplíchal <psplicha@redhat.com> - 1.9.0-1
changelog:
  - Improve testcloud/virtual provider docs
  - Disable UseDNS, GSSAPI for faster SSH in testcloud
  - Use `extra-args` attr for ansible-playbook
  - Fix el7 provision in testcloud user session
  - Adjust the instructions for migrating from STI
  - Document how to migrate tests from STI to tmt
  - Allow to pick objects by --link
  - Generate ecdsa key in testcloud
  - Simplify plugin keys handling in wake() and show()
  - Add support for Beakerlib's rlFileSubmit
  - Revert requiring exact beakerlib version
  - Dist git source can contain multiple files
  - Symlink worktree for discovered shell tests
  - Read environment variables from options only once
  - Correctly handle empty environment files
  - Use distro values from context for dist-git type
  - Make tests --name to just prune discovered tests
  - Enable duplicate test names and preserve ordering
  - Require beakerlib-1.28 for beakerlib tests
  - Adjust the dist git source discover implementation
  - Discover tmt tests from sources
  - Reenable plans/install/docs
  - Correct the `playbook` attribute in the spec (#948)
  - Ansible plugin for Finish step
  - Thread processing of executed commands inside tmt
  - Adjust `tmt test lint` test for old yaml format
  - Canonical name for centos-stream in dimension
  - Remove obsoleted conditionals from the spec file
  - Use a fresh sphinx when building the readthedocs
  - Allow to specify session type (system/session)
  - Package tmt.plugins to store arbitrary plugins
  - Ignore ssh connection closed during reboot
  - Improve error message for the missing step name
  - Document how to integrate tests with other tools
  - Use the recommended format of the copyright notice
  - Update notes about the release process
  - Update the hardware specification with new keys


author: Lukáš Zachar <lzachar@redhat.com> - 1.10.0-1
changelog:
  - Make reboot support a bit more backward compatible
  - Ensure that workdir has a correct selinux context
  - Use `centos:stream8` image instead of `centos:8`
  - Disable X11 forwarding in ssh connections
  - Fix traceback for login after last report
  - Use `TMT_TEST_DATA` as location for `rlFileSubmit`
  - Implement variables for storing logs and artifacts
  - Adjust rsync installation on read-only distros
  - Handle rsync installation on read-only distros
  - Add hardware specification for hostname
  - Correctly import multiple bugs from Makefile
  - Remove dependency on the `python3-mock` package
  - Adjust linting of manual test files
  - Check Markdown files in tmt lint if `manual=True`
  - Adjust pulling logs from the guest during finish
  - Add guest.pull() to the finish step
  - Update virtualization hints for session connection
  - Improve error message for empty git repositories
  - Minor modification of test result specification
  - Use `where` instead of `on` in the multihost spec
  - Clarify that `path` is defined from the tree root
  - Adjust ansible requires for containers preparation
  - Move the reboot scripts to a read/write directory
  - Ignore read/only file systems reboot script errors
  - Require either ansible or ansible-core
  - Set the `TMT_TREE` variable during test execution
  - Clarify that 'until' means until and including
  - Update test debugging examples with --force option
  - Add `bios.method` to hardware spec
  - Improve environment variables specification a bit
  - Adjust the ssh connection multiplexing
  - Add support for ssh multiplexing


author: Petr Šplíchal <psplicha@redhat.com> - 1.11.0-1
changelog:
  - Prevent koji build failures on unsupported arches
  - Check remote git URL if it is accessible
  - Implement a generic `requires` for all plugins
  - Run commands in podman provision via bash
  - Adjust implementation of the new `order` attribute
  - Implement the Core attribute `order`
  - Fix link generation in report.html
  - Improve step name handling
  - Enable shared volume mounts in podman provision
  - Add support for multihost provision and prepare
  - Adjust the dnf support for rsync install
  - Add dnf support for rsync install
  - Update links and refs after migration to `teemtee`
  - Track output for reboot purposes on per-test basis
  - Fix test --name '.' used with multiple plans
  - Tweak test suite (duration, centos:8, datadir)
  - Use `os.pathsep` to separate `TMT_PLUGINS` paths (#1049)
  - Document framework:shell exit codes
  - Add `html2text` to the `convert` pip dependencies


author: Petr Šplíchal <psplicha@redhat.com> - 1.12.0-1
changelog:
  - Add a command to setup shell completions
  - Use /tmp instead of /run/user/ if not available
  - Use separate examples in the test specification
  - Add more story examples, simplify examples export
  - Story.example can hold list of strings
  - Fix traceback when connect plugin is used without hostname.
  - Adjust disabled shell expansion in Common.run()
  - Disable shell expansion in Common.run() by default
  - Build `epel9` packages, update install docs
  - Adjust the full test wrapper and document it
  - Test which compiles tmt and runs its testsuite
  - Add --exclude search option
  - Correct regex for require read from metadata file
  - Update document for creating virtual environment
  - Option to export fmf-id from run discover -h fmf
  - Allow import from restraint's metadata file (#1043)
  - Do not disable building for power arch on Fedora
  - Update documentation for plan parametrization
  - Make .vscode ignored by git
  - Drops basestring and unicode built-ins from utils
  - Fix timeout behaviour in testcloud plugin
  - Fixes possible test of None-ish CWD when running a command
  - Remove workdir only when its defined
  - Adjust the new `tmt plan export` feature
  - New feature: tmt plan export


author: Petr Šplíchal <psplicha@redhat.com> - 1.13.0-1
changelog:
  - Add multiarch support to testcloud provision
  - Consistent summary for test export --nitrate
  - Allow dry mode for tests export --nitrate
  - Add a nice provisioning progress to Artemis plugin
  - Add support for the `where` keyword to `execute`
  - Adjust support for export of multiple tests
  - Add support for exporting multiple tests
  - Basic multihost test for the httpd web server
  - Update multihost specification with guest groups
  - Add a provision plugin for Artemis
  - Fix exclude option in fmf discover
  - Reduce the number of execute calls for reboot
  - Add support for reboot in interactive mode


author: Petr Šplíchal <psplicha@redhat.com> - 1.14.0-1
changelog:
  - Command 'tmt clean' should not run rsync at all
  - Dist-git-source for Discover (fmf, shell)
  - Adjust the new `id` key implementation
  - Add a new core key `id` for unique identifiers
  - Recommend qemu emulators for other architectures
  - Copy the whole git repo only if necessary
  - Reveal hidden errors during `testcloud` booting
  - Use time for timeout handling in Guest.reconnect()
  - Split `Guest` class to separate SSH-capable guests
  - Explicitly set the docs language in the config
  - Kill the running test when rebooting
  - Extend the reboot timeout to allow system upgrades
  - Allow selecting tasks directly from upgrade config
  - Adjust the new `upgrade` execute plugin
  - Allow specifying command for reboot
  - Implement upgrade execute plugin
  - Buildrequire python3-docutils, append plan adjust
  - Implement `tmt tests export --nitrate --link-runs`
  - Detect component from general plan during import
  - Adjust the support for steps in standalone mode
  - Add results method to ExecutePlugin
  - Implement a common ancestor for Action and Plugin
  - Allow abstractly excluding steps from runs
  - Correctly handle tests --name '.' shortcut
  - Rename WorkdirType to WorkdirArgumentType
  - Fix workdir parameter type for tmt.utils.Common
  - Allows importing jira issues as link-relates
  - Enables mypy coverage for empty-ish Python files
  - Adds type annotations to tmt.templates
  - Prevent infinite recursion if --id is set
  - Enable mypy check for Artemis provision plugin
  - Adjust provision dry mode propagation, add a test
  - Introduce new _options attribute to Common class
  - Add specification for remote plans referencing
  - Bootstrap type annotations
  - Execute script should not be used with discover
  - Add the `arch` key to the hardware specification
  - Fix pip install instructions
  - Disable network access when building in copr
  - Ignore list for dist-git-source
  - Remove the obsoleted `detach` execute method
  - Fix login during `execute` and `prepare` step
  - Import from Makefile with missing build target


author: Lukáš Zachar <lzachar@redhat.com> - 1.15.0-1
changelog:
  - Require fresh testcloud with coreos support
  - Bad substitution in tmt-reboot
  - Ignore "certificate verify failed" error when handling retries
  - Cache content of each loaded environment file
  - Initial polarion support for test export
  - Fixes names of Artemis API versions
  - Convert FmfIdType from TypedDict to a dataclass
  - Add CoreOS support to the testcloud provision
  - Run containers with root user
  - Retry getting environment file
  - Test import --general is default now
  - Add typing for steps/finish/shell.py
  - Enhance tmt.utils.retry_session with timeout support
  - Adjust the `rpm-ostree` install implementation
  - Add support for the `rpm-ostree` package manager
  - Add `environment-file` to possible Plan keys
  - Avoid Library url conflict if repo doesn't exist
  - Check changes are pushed before export nitrate
  - Add typing for beakerlib.py
  - Unbundle template from the report.html plugin
  - Rename `uuid` to `identifier` to prevent conflicts
  - Use `must` for all mandatory spec requirements
  - Fail import for packages starting with minus sign
  - Adds support for newer Artemis API versions
  - Disable the extra verbose progress in testcloud
  - Refactor internal executor scripts
  - Adds "missing" imports to help IDEs follow objects
  - Add typing for steps/__init__.py
  - Implement the test `result` attribute
  - Add typing for plugins/__init__.py
  - Detect legacy relevancy during import as well
  - Implement the new user story key `priority`
  - Implement new class `SerializableContainer`
  - Add schema for stories
  - Add typing for steps/prepare/shell.py
  - Add typing for steps/prepare/ansible.py
  - Require fmf >= 1.1.0 (we need validation support)
  - Package fmf root into the source tarball as well
  - Add JSON Schema for tests
  - Exclude namespaced backup in beakerlib
  - Use --depth=1 when cloning git repos by default
  - Handle missing nitrate user during export
  - Removes unused GuestContainer.container_id attribute
  - Every subpackage must require the main tmt package
  - Introduce dataclasses as a requirement
  - Avoid re-using image/instance for different values by testcloud plugin
  - Add typing for multihost.py
  - Except nitrate xmlrpc issues during import
  - Exclude beakerlib's backup dir from guest.pull()
  - Increase `duration` for the reboot-related tests
  - Several release-related tests and docs adjustments


author: Lukáš Zachar <lzachar@redhat.com> - 1.16.0-1
changelog:
  - Reboot has to check for boot time
  - Fix path inside pre-commit test
  - Cut circular dependency of libraries
  - Update 'Develop' section of contribution docs
  - Precommit hooks to call tmt * lint
  - Schema loading helpers
  - Package schemas in subdirectories too
  - Implement reboot reconnect timeout configuration
  - Add missing report specifications/docs
  - Print result for execute -v
  - Correct import assumption about script
  - Ask mypy to check whole tmt.steps.report package
  - Fixing the directory name escaping in 'cd' command
  - Add polarion report plugin
  - Add schemas for plans
  - Write extra-nitrate as soon as possible
  - Retry git clone without --depth=1 if it failed
  - Support to lint attribute 'id'
  - Do not apply test command filter in upgrade
  - Fix export.py typing issues
  - Refactor location and signature of Phase's go() method
  - Simplify abort handling
  - Backwards compatibility for rstrnt-abort
  - Add type annotations for tmt/cli.py
  - Add typing for tmt/export.py
  - add typing for steps/discover/__init__.py
  - Convert guest implementations to use serializable container for load/save
  - Detect plugins by entry_point as well
  - Add typing for `steps/execute/__init__.py`
  - Add typing for `tmt/convert.py`
  - Remove duplicated dist-git-source/dist-git-type
  - Add typing for `steps/report/junit.py`
  - Add typing for `steps/report/html.py`
  - add typing for steps/report/display.py
  - Add typing for steps/report/__init__.py
  - tmt-file-submit is a bash script
  - Add type annotations for tmt/options.py
  - Backwards compatibility for `rstrnt-report-log`
  - Support conditional requires with `pip` as well
  - Remove duplicated short option in tmt lint
  - Adjust the `rstrnt-report-result` implementation
  - Backwards compatibility for `rstrnt-report-result`
  - Set the `1777` permision for `/var/tmp/tmt`
  - Adjust the fix for the `rpm-ostree` intallation
  - Fix package installation using `rpm-ostree`
  - Handle empty fmf file as an empty dictionary
  - Fix distgit testsuite after tmt packaging change


author: Lukáš Zachar <lzachar@redhat.com> - 1.17.0-1
changelog:
  - Unify Polarion case searching
  - Error out if reboot timeout is exceeded
  - Initialize workdir thread-safe
  - Add support for remote playbooks in prepare
  - Add plan schema for errata and minute plugins
  - Correct rhts command names in stories file
  - Print escaped command suitable for manual debugging
  - Fix report plugin not getting arguments from fmf file
  - Less eager to disable nitrate case during export
  - Move `tag` and `tier` to common core attributes
  - Use `/bin/bash` instead of `/bin/sh` for execute
  - Reorder step and their base plugin classes
  - Fix prepare/multihost docs to match implementation
  - Teach schema validation tests to peek into other trees
  - Clarify motivation for creating `id` during export
  - Add link-polarion option and fix link searching bug
  - Ignore race in last-run symlink creation
  - Fix polarion tcmscaseid search
  - Force order of clean operations
  - Convert status/clean argument to option
  - Report enabled plans/tests/stories via option
  - Hint user if 'tmt init' creates nested root
  - Require `libvirt-daemon-config-network` as well
  - Add type annotation for /steps/prepare/install.py
  - Encapsulate created file within script's dataclass
  - Adds normalization layer to base classes based on fmf
  - Fixes data class used for local guest creation
  - Fixes Artemis guest data class link
  - Making tests/full more usable
  - Add typing for tmt/steps/provision/podman.py
  - Add typing for tmt/steps/provision/testcloud.py
  - Add typing for tmt/steps/provision/local.py
  - Remove unused keys parameter from wake() methods
  - Adds types describing tmt constructs when as stored in raw fmf data
  - Typing /steps/provision/connect.py
  - Allow raising an exception on validation errors
  - Inject logger object to base node classes inheritance
  - Fixes use of SSH keys in testcloud and connect plugins
  - Annotate tmt.steps.provision
  - Ask mypy to show error codes in its messages
  - Testcloud expects disk and memory to be int
  - Do not inherit classes from object
  - Use keyword-only init in base fmf-backed classes
  - Use decorator to register plugin methods
  - Demonstrate inheritance on a virtual test example
  - Add a simple hint how to write user messages
  - Add typing for `steps/finish/ansible.py`
  - Remove unneeded parameters for step load/save (#1428)
  - Normalize step data to be always stored a list internally
  - Display test/plan/story name in parametrized schema tests
  - Allow numbers and booleans to be values of environment
  - Give a reasonable error for old data format
  - Add typing for tmt/steps/finish/__init__.py
  - add typing for steps/discover/shell.py
  - Adds a fmf node validation layer to core classes (Test/Plan/Story)
  - Add missing keys `role` and `where` to schemas
  - Extend plan schema with all known step plugin schemas
  - Correcting rhts aliases & adding rhts opt.
  - Adds a generic "wait for condition" primitive
  - Disallow push/pull/execute if guest is unavailable
  - Rename "default how" step attribute to enhance its visibility
  - Use textwrap.dedent() to unindent docstrings


author: Petr Šplíchal <psplicha@redhat.com> - 1.18.0-1
changelog:
  - Fix recommended packages handling for rpm-ostree
  - Add EFI configuration to the `tmt-reboot` script
  - Fix adjust for precommit test
  - Fix provision for coreos image
  - Emit only non-default keys when constructing a test from `execute`
  - Add flake8 config file for easier integration with IDEs
  - Multiple scripts for CLI prepare -h shell
  - Allow mypy to cover the whole tmt.plugins and tmt.steps
  - Add typing for `steps/execute/upgrade.py`
  - Fix name & default value of polarion's upload field
  - Fixes enhancing of environment by local's guest implementation
  - Ignore plan -n when searching for upgrade path
  - Document & correct use of class conversion methods
  - Print fmf tree location when schema unit test fails
  - Custom results implementation
  - Refactors internal link handling and storage
  - Allow mypy to cover whole tmt.steps.prepare
  - Add typing for `steps/execute/internal.py`
  - Use workdir with safe names without special chars
  - Adjust support for installing remote packages
  - Support to install package from URL
  - Make sure short option '-x' is covered
  - Add Polarion as a source for test case import
  - Print path to the used ssh identity
  - Add typing for `steps/prepare/__init__.py`
  - Use generator instead of list comprehension with any/all
  - Fixes handling of default of --key in connect plugin
  - Update test data for the debuginfo install test
  - Add a helper for importing a member from a module
  - Fix plan schema to allow custom context dimensions
  - Allow mypy to cover whole tmt.steps.discover
  - Remove support for the obsoleted `detach` executor
  - Add typing for `steps/discover/fmf.py`
  - Fix importing for pylero
  - Allow mypy to cover whole tmt.steps.provision
  - Replace blank "type: ignore" with more specific waivers
  - Use the `SerializableContainer` for plugins' data
  - Enhance SerializableContainer with default key value inspection
  - Moves validation and normalization mixins to utils


author: Lukáš Zachar <lzachar@redhat.com> - 1.19.0-1
changelog:
  - Protect args in rsync call
  - Set tree root for the default plan tree as well
  - Properly set the `tmt` script shebang on `rhel-8`
  - Use image exists to check for container image
  - Updates docs with example on `adjust` & `prepare+`
  - Fix test duration enforcement
  - Skip missing debuginfo packages in `recommend`
  - Explicitly document extending the plan environment
  - Fix ownership of a tmp directory propagated to container
  - Support fetching remote repo for `shell` discover
  - Fix default `framework`, remove old execution methods
  - Add support for Artemis v0.0.46 upcoming release
  - Handle an fmf fetch error in remote plan clone
  - Do not truncate `RunError` output in verbose mode
  - Warn user about data erasing after prepare step
  - Formalize `data` package passed to the `Result` class
  - Change order of plugin and guest classes in files
  - Add `compatible` as a new hardware specification key
  - Add `tpm` as a new hardware specification key
  - Move the hardware specification into a separate page
  - Improve fmf-id processing
  - Add test for TTY state in test environment
  - Login after each test using the `--test` parameter
  - Mention version where important features were added
  - Handle dist-git-sources for gitlab
  - Fix getting CentOS via --how virtual
  - Capture uncaught exceptions when using testcloud
  - Update the overview of essential classes
  - When following command line --how, do not iterate over step data
  - Convert utils' Run unit tests to class-less tests
  - Enable variable expansion for dynamic references
  - Support beaker libraries as recommended packages
  - Add `SpecBasedContainer.to_minimal_spec()` method (#1637)
  - Enable context based plan parametrization
  - Coverage for tests defined under `discover.shell`
  - Fix `/tests/run/shell` access permission problem
  - Add step data classes for provisioning and report
  - Adjust support for the dynamic `ref` evaluation
  - Add support for dynamic `ref` evaluation
  - Add a test for fmf id parsing and normalization
  - Fix NO_COLOR not being honored by executed command output
  - Moves common command options into one place
  - Log full chain of exceptions, not just the first cause
  - Drop deprecated PluginIndex
  - Add message to failure tags in junit report
  - Update the pip installation plan
  - Remove pointless reimport of tmt.base in discover steps
  - Do not use f-string as a docstring
  - Fix use of variable before assignment in `Plan.go`
  - Fix variable redefinition in `discover/shell.py`
  - Fix guest distro detection, do not throw results away
  - Fix a typo in `cpu.sockets` hardware requirement
  - Make links relative for report html
  - Review all uses of `type: ignore` and link relevant issues
  - Enhance ClickOptionDecorator type to announce identity
  - Update `/tests/execute/upgrade/override` duration
  - Review all uses of `Any` and link relevant issues
  - Annotate all `cast()` calls with respective issues
  - Move the `Result` class into a separate file
  - Unblock mypy's follow-import setting
  - Use set comprehension instead of list-in-set sequence
  - Use `enumerate()` instead of `range(len())`
  - Use dict comprehension instead of tuple-in-list-in-dict
  - Replace two more list comprehensions with generators
  - Replace GeneralError's "origin" with Python's "raise from"
  - Fix normalization of the `Plan.context` key
  - Adds a missing import to polarion plugin
  - Update all linters to their most recent versions
  - Define CPU HW components with more granularity
  - Adjust the support for importing remote plans
  - Add import plan feature and tests
  - Add type annotations to `base.py`
  - Fix test depending on ordering of elements in junit XML
  - Adds type annotations to `tmt` itself
  - Remove custom yet same implementation of step's show()
  - Make sure `repo_copy` is gone before `make srpm`


author: Lukáš Zachar <lzachar@redhat.com> - 1.20.0-1
changelog:
  - Do not prune `html` and `junit` reports
  - Skip extending fmf context if cli context missing
  - Connect needs is_ready property as well
  - Cover setup.py with pre-commit Python checks
  - Do not leak "private" fields into export
  - Set guest hostname in testcloud provision
  - Capture provision error when login is used
  - Support `TMT_WORKDIR_ROOT` environment variable
  - Support step data definitions carrying CLI options
  - Adds flake8 coverage for bin/ directory
  - Prune irrelevant files during the `finish` step
  - Add junit plugin schema
  - Support to import empty key from Makefile
  - Deleting unsed and duplicite part of finish step
  - Support absolute paths in HTML reports
  - Capture exceptions when getting `image_url`
  - Enable verbose output for `provision` & `prepare`
  - Add support for Artemis v0.0.47 upcoming release
  - Remove unused variables
  - Initial support for passing ssh options from cli
  - Update specification of the `where` multihost key
  - Add a simple test demonstrating the upgrade testing
  - Use custom subclass of click.Context for better annotations
  - Extend the `duration` for tests using containers
  - Change common class constructors to use keyword arguments only
  - Make packit build with the next release.dev version
  - Add basic test coverage for `tmt story export`
  - Fix export of the story `priority` field
  - Read source from correct directory if ref is used


author: Toshio Kuratomi <toshio@fedoraproject.org> - 1.0.0-1
changelog:
  - Update to 1.0 final.  Few fixes for tests and build/install cleanliness.
    No code changes.
  - Conditionalize portions of the spec that are only needed for older distro releases.


author: Luke Macken <lmacken@redhat.com> - 1.4.1-1
changelog:
  - Update to 1.4.1 (#634901)
  - Build a python3 subpackage
  - Remove python-transaction-1.1.1-context-manager.patch
  - Modernize the spec


author: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.1.2-3
changelog:
  - Python 2 binary package renamed to python2-transaction
    See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3


author: Miro Hrončok <mhroncok@redhat.com> - 2.4.0-5
changelog:
  - Subpackage python2-transaction has been removed
    See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal


author: Miro Hrončok <mhroncok@redhat.com> - 0.1.2-4
changelog:
  - Subpackage python2-tree-format has been removed
    See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal


author: Julien Enselme <jujens@jujens.eu> - 1.0.0-3
changelog:
  - Add provides for python2-txaio
  - Remove usage of python2 and python3 dirs
  - Unbundle jquery
  - Don't remove _sources of documentation


author: Orion Poplawski <orion@nwra.com> - 18.8.1-7
changelog:
  - Drop BR on python3-pep8
  - Use EL8 compatible coverage execution
  - Add BR python3-test for EL8 compatibility


author: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.14.1-9
changelog:
  - Python 2 binary package renamed to python2-unicodecsv
    See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3


author: Miro Hrončok <mhroncok@redhat.com> - 0.14.1-15
changelog:
  - Subpackage python2-unicodecsv has been removed
    See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal


author: Toshio Kuratomi <toshio@fedoraproject.org> - 0.04.7-7
changelog:
  - This package does not use setuptools.  Remove the BR for that.  Also correct the
    %files list -- The egg-info is a file, not a directory (b/c it is created by
    distutils, not by setuptools.)  Older rpms fixed up the entry behind the
    scenes.  Newer ones fail so we need to correct it explicitly.


author: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.04.16-10
changelog:
  - Python 2 binary package renamed to python2-unidecode
    See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3


author: Miro Hrončok <mhroncok@redhat.com> - 1.0.22-5
changelog:
  - Subpackage python2-unidecode has been removed
    See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal


author: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.0-11
changelog:
  - Python 2 binary package renamed to python2-unipath
    See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3


author: Rich Mattes <richmattes@gmail.com> - 0.1.17-2.20120606hg6205f4fc
changelog:
  - Update package release to include hg checkout info
  - Remove el5 specific RPM_BUILD_ROOT removal from install section


author: Scott K Logan <logans@cottsay.net> - 0.1.36-1
changelog:
  - Update to release 0.1.36
  - Update to python packaging guidelines
  - Add check section
  - Add patch for test fixes
  - Add bzr, git, mercurial and subversion to Requires


author: Scott K Logan <logans@cottsay.net> - 0.1.40-1
changelog:
  - Move SCM packages from Requires to Recommends
  - Drop test coverage from %check
  - Clean up spec file
  - Add Python 3 subpackage for EPEL7
  - Update to release 0.1.40 (rhbz#1532912)


author: Miro Hrončok <mhroncok@redhat.com> - 1.2.0-3
changelog:
  - Subpackage python2-vine has been removed
    See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal


author: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.7-4
changelog:
  - Python 2 binary package renamed to python2-webcolors
    See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3


author: Dridi Boukelmoune <dridi@fedoraproject.org> - 1.7-9
changelog:
  - Catch up with packaging guidelines
  - In general, use recommended RPM macros
  - Drop the Python 2 package
  - Inline package description


author: Piotr Popieluch <piotr1212@gmail.com> - 2.0.6-1
changelog:
  - Update to new version
  - Add missing BR
  - Change source from pypi to github
  - Use py.test
  - Add doc subpackage


author: Pierre-Yves Chibon <pingou@pingoured.fr> - 2.0-4
changelog:
  - Move the locale files into /usr/share/locale we will still have the same files
    present in both the py2 and py3 but a) they are completely identical so no
    conflicts from RPM and b) they are now in the proper place, system-wise


author: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.0-11
changelog:
  - Python 2 binary package renamed to python2-wtforms
    See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3


author: Miro Hrončok <mhroncok@redhat.com> - 2.2.1-7
changelog:
  - Subpackage python2-wtforms has been removed
    See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal


author: Jan ONDREJ (SAL) <ondrejj(at)salstar.sk> - 0.6.1-2
changelog:
  - namewithoutprefix removed, too complicated and not required
  - added directory xlrd
  - permissions for python scripts set to 644
  - files converted from DOS line-feeds to UNIX format
  - "#!/usr/bin/env python" added to beginning runxlrd script
  - removed doc and examples from site-packages/xlrd directory


author: Jan ONDREJ (SAL) <ondrejj(at)salstar.sk> 0.6.1-3
changelog:
  - doc files converted to UTF-8
  - removed HISTORY.html README.html because they are also in xlrd/doc/


author: Ján ONDREJ (SAL) <ondrejj(at)salstar.sk> - 0.7.1-1
changelog:
  - new version
  - fixed summary spelling
  - fixed egg-info condition
  - fixed source URL for new version


author: Rajeesh KV <rajeeshknambiar@fedoraproject.org> 1.1.6-1
changelog:
  - Release 1.1.6, fix issues with  images that started in hidden rows/columns
  - and mime-type reported by system file(1)


author: Rajeesh K V <rajeeshknambiar@gmail.com> - 1.2.0-1
changelog:
  - New version 1.2.0
  - Refactored exception handling around the workbook file close() method
  - Added the option to allow chart fonts to be rotated to 270 degrees


author: Rajeesh K V <rajeeshknambiar@gmail.com> - 1.2.1-1
changelog:
  - New version 1.2.1
  - Added the add_write_handler() method to allow user defined types to be handled by the write() method
  - Add support for East Asian vertical fonts in charts


author: Rajeesh K V <rajeeshknambiar@gmail.com> - 1.2.6-1
changelog:
  - New version 1.2.6
  - Added option to remove style from worksheet tables - 1.2.6
  - Added option to add hyperlinks to textboxes - 1.2.5
  - Added option to link textbox text from a cell - 1.2.4
  - Added option to rotate text in a textbox - 1.2.4
  - Increased allowable worksheet url length from 255 to 2079 characters - 1.2.3
  - Fixed several issues with hyperlinks in worksheet images - 1.2.3
  - Fixed Python 3.8.0 warnings - 1.2.2


author: Rajeesh K V <rajeeshknambiar@gmail.com> - 1.2.7-1
changelog:
  - New version 1.2.7
  - Fix for duplicate images being copied to an XlsxWriter file
  - Added documentation on Number Format Categories and Number Formats in different locales
  - Added note to protect() about how it is possible to encrypt an XlsxWriter file using msoffice-crypt


author: Rajeesh K V <rajeeshknambiar@gmail.com> - 1.2.8-1
changelog:
  - Fix for issue where duplicate images with hyperlinks weren’t handled correctly
  - Removed ReservedWorksheetName exception which was used with the reserved worksheet name 'History'
  - Fix for worksheet objects (charts, images and textboxes) that are inserted with an offset that starts in a hidden cell
  - Fix to allow handling of NoneType in add_write_handler()


author: Rajeesh K V <rajeeshknambiar@fedoraproject.org> - 1.3.1-1
changelog:
  - Fix for issue where array formulas weren’t included in the output file for
    certain ranges/conditions


author: Rajeesh K V <rajeeshknambiar@gmail.com> - 1.3.2-1
changelog:
  - Added Border, Fill, Pattern and Gradient formatting to chart data labels and
    chart custom data labels


author: Rajeesh K V <rajeeshknambiar@gmail.com> - 1.3.3-1
changelog:
  - Added ignore_errors() worksheet method; Added warning when closing a file more
    than once via close()


author: Rajeesh K V <rajeeshknambiar@gmail.com> - 1.3.6-1
changelog:
  - Version 1.3.6
  - Added the worksheet unprotect_range() method
  - There are now over 1500 test cases in the test suite
  - Version 1.3.5
  - Fixed issue where relative url links in images didn’t work
  - Added use_zip64 as a constructor option
  - Added check, and warning, for worksheet tables with no data row
  - Add a warning when the string length in write_rich_string() exceeds Excel’s limit


author: Rajeesh K V <rajeeshknambiar@gmail.com> - 1.3.7-1
changelog:
  - Version 1.3.7
  - Fixed issue where custom chart data labels didn’t inherit the position
  - Added text alignment for textboxes


author: Alec Leamas <leamas.alec@gmail.com> - 0.7.4-1
changelog:
  - Tentative rewrite of License tag (blocked on FE_LEGAL)
  - Unbundle antlr
  - Explicit naming of files in %{python_sitelib}


author: Alec Leamas <leamas.alec@gmail.com> - 1.0.0-1
changelog:
  - Updating to new upstream.
  - Remove upstreamed patch xlwt-fsf-address.
  - Bundling antlr.py, the system one is unusable; upstream issue filed.


author: Alec Leamas <leamas.alec@gmail.com> - 1.1.2-1
changelog:
  - New version
  - Get sources from github instead of broken pypis source repos.
  - Add patch from upstream to make tests run.


author: Miro Hrončok <mhroncok@redhat.com> - 1.1.2-9
changelog:
  - Subpackage python2-xlwt has been removed
    See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal


author: Ralph Bean <rbean@redhat.com> - 0.4.2-1
changelog:
  - Latest upstream
  - Included README and LICENSE
  - Running tests now
  - https://github.com/martinblech/xmltodict/pull/11
  - Added Requires python3 to the python3 subpackage.


author: Miro Hrončok <mhroncok@redhat.com> - 0.10.2-9
changelog:
  - Subpackage python2-xmltodict has been removed
    See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal


author: Robin Lee <robinlee.sysu@gmail.com> - 1.0.0-3
changelog:
  - Don't own %{python_sitelib}/zc/, which is provided by python-zope-filesystem
  - Add python-zope-filesystem as requirement
  - Include more documents


author: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.2.1-5
changelog:
  - Python 2 binary package renamed to python2-zc-lockfile
    See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3


author: Miro Hrončok <mhroncok@redhat.com> - 1.3.0-4
changelog:
  - Subpackage python2-zc-lockfile has been removed
    See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal


author: Warren Togami <warren@togami.com> - 0.4.0-0.fdr.2
changelog:
  - Fix some directory macros
  - #360 Include .pyc and .pyo so package removes cleanly
  - #360 install -p preserve timestamps


author: Toshio Kuratomi <toshio@tiki-lounge.com> - 0.4.0-7
changelog:
  - Use python_sitelib macro to fix building on x86_64.
  - Change byte compile argumetns so we don't encode the buildroot into the
    byte compiled python files.
  - Use python-abi for Requires instead of python package.


author: Jason L Tibbitts III <tibbs@math.uh.edu> - 1.0.0-1
changelog:
  - Update to 1.0.0.
  - Clean up and greatly simplify the specfile.
  - Use python3 as the program supports it.


author: Jason L Tibbitts III <tibbs@math.uh.edu> - 1.0.0-2
changelog:
  - Upstream clarified that the license is indeed GPLv2:
    https://github.com/SpamExperts/pyzor/issues/35


author: Jason L Tibbitts III <tibbs@math.uh.edu> - 1.0.0-16.20180724git2b8d76d
changelog:
  - Update to current git snapshot, which has some python3 fixes.
  - Include an additional python3 fix.
  - Use modern py3 macros.
  - Use forge macros.
  - Minor spec cleanups.


author: TI_Eugene <ti.eugene@gmail.com> - 0.5.0-0.1.beta1
changelog:
  - Version bump
  - Enabled fitz plugin for Fedora (EPUB, FB2, CBR/CBZ etc support)
  - Enabled Djvu for EPEL
  - Removed Qt4 build (because of EL7 because of C11 requirement)
  - Qt5 build is mandatory
  - Added Qt6 build (Fedora)


author: Filipe Rosset <rosset.filipe@gmail.com> - 1.9.2-2
changelog:
  - spec modernization thanks to Filip Szymański <fszymanski@fedoraproject.org>
  - fixes rhbz #1592733 #1408563 #1495481 and #1559823


author: Doncho N. Gunchev - 1.0.6-1.mr700
changelog:
  - added missing /usr/local/rkhunter/db/md5blacklist.dat
  - patched to align results in --cronjob, I think rpm based
    distros have symlink /bin/sh -> /bin/bash
  - added --with/--without alignpatch for conditional builds
    (in case previous patch breaks something)


author: Doncho N. Gunchev - 1.0.9-0.mr700
changelog:
  - dropped Requires: perl - rkhunter works without it 
  - dropped the bash alignpatch (check the source or contact me)
  - various file mode fixes (.../tmp/, *.db)
  - optimized the %files section - any new files in the
    current dirs will be fine - just %{__install} them.


author: Craig Orsinger (cjo) <cjorsinger@earthlink.net>
changelog:
  - version 1.1.0-1.cjo
  - changed installation in accordance with new rootkit installation
    procedure
  - changed installation root to conform to LSB. Use standard macros.
  - added recursive remove of old build root as prep for install phase


author: Greg Houlette - 1.1.5
changelog:
  - Changed the install procedure eliminating the specification of
    destination filenames (only needed if you are renaming during install)
  - Changed the permissions for documentation files (root only overkill)
  - Added the installation of the rkhunter Man Page
  - Added the installation of the programs_{bad, good}.dat database files
  - Added the installation of the LICENSE documentation file
  - Added the chmod for root only to the /var/rkhunter/db directory


author: Greg Houlette - 0:1.1.6-0.fdr.1
changelog:
  - Moderate reworking of .spec file for packaging standards
  - Added md5 and sha1 file checks to prep procedure for source .rpm
  - Included an optional rc.local replacement for scan on boot (with full logging)


author: Greg Houlette - 0:1.1.8-0.fdr.1
changelog:
  - Removed hidden_search.patch (1.1.7) after it was
    merged into upstream source by Michael Boelen
  - Removed .spec file from md5 and sha1 file checks
    (it must be modifiable by Fedora QA release build)
  - Added BOOTSCAN description file to documentation
  - Restructured dynamic file creation ('Here' Docs)
    moving them to the "prep" stage so that *_ALL_*
    files are available prior to the "build" stage
    (for inspection purposes)
  - Added a /etc/sysconfig/rkhunter parameters file


author: Greg Houlette - 0:1.1.8-0.fdr.0.2.beta2
changelog:
  - Unified and disabled the md5 canary check in prep
    (check is now optional) removing the sha1 cross-check
  - Fixed the spec files list, adding the /var/rkhunter
    directory and the /usr/bin/rkhunter executable
  - Fixed missing dependencies (rkh uses runtime checks)
  - Disabled "auto-clean" for rpmbuild -bb
  - Changed Application version scan default to
    disabled awaiting backport fix in upstream sources
  - Fixed shared_man_search.patch, configuration files
    verify and added postun(install) cleanup


author: Greg Houlette - 0:1.1.8-0.fdr.1
changelog:
  - Changed Release Tag to 0.fdr.1 (testing) for QA
  - Removed wget from dependencies
  - Hid (temporarily) the --skip-application-check command
    line option from being listed in help
  - Fixed the spec files list, again!


author: Greg Houlette - 0:1.1.8-0.fdr.1 (revisited)
changelog:
  - Removed redundant buildrequires /bin/sh, coreutils and perl
  - Revise postun scriptlet
  - Added /usr/share/doc/rkhunter-1.1.8/ to files list


author: Greg Houlette <tamaster@tekarmory.com> - 0:1.1.9-1
changelog:
  - New package version release
  - Added the --run-application-check command line option
    to listing in command help
  - Replaced 'Here' Doc editing of rkhunter.conf file
    with in-place Perl edit
  - tweaked rpmbuild -bb Autoclean


author: Greg Houlette <tamaster@pobox.com> - 1.2.7-1
changelog:
  - Added signature auto-updating to CRON scan (new script)
  - Removed BOOTSCAN pending rewrite to full SysV Init scan in background
  - Added the --append-log command line option
  - Added Date Stamping to output
  - Fixed bug in /etc/group missing report
  - New package version release


author: Greg Houlette <tamaster@pobox.com> - 1.2.8-1
changelog:
  - New package version release
  - reworked the .spec file to support optional dist tag
  - Updated the application check default patchfile (chunk failure)
  - Changed to SHA1 for optional message digest (canary check)
  - Added a couple of suggested skip entries to rkhunter.conf


author: Greg Houlette <tamaster@pobox.com> - 1.2.8-2
changelog:
  - Fixed architectural dependency during package creation eliminating
    use of _libdir configure macro (x86_64 /usr/lib64 mis-targeting)


author: Greg Houlette <tamaster@pobox.com> - 1.2.8-3
changelog:
  - Made an RPM transparent change to move the sha1 canary check
    file out of CVS and into the external lookaside cache (whose
    filename changes with every new package release anyway...)


author: Kevin Fenzi <kevin@tummy.com> - 1.3.0-2
changelog:
  - Use /etc/redhat-release for EPEL and /etc/fedora release for Fedora.
  - Add conditionals to support EPEL
  - Fix man page warning.


author: Kevin Fenzi <kevin@tummy.com> - 1.3.2-2
changelog:
  - Move things to more standard locations for selinux - bug #438184
  - Add exception for pulseaudio file - bug #438622


author: Kevin Fenzi <kevin@tummy.com> - 1.3.2-4
changelog:
  - Fix cron script to only mail on warn/error - bug #450703
  - Fix conditional to account for fc10 rsyslog


author: Kevin Fenzi <kevin@tummy.com> - 1.3.2-6
changelog:
  - Fix cron job sending as attachment - bug #472679
  - Fix cron job trying to send with colors - bug #475916


author: Kevin Fenzi <kevin@tummy.com> - 1.3.6-3
changelog:
  - Add some more ssh hmac files to whitelist - bug #552621
  - Re-add /dev/.mdadm.map to whitelisted files - bug #539405


author: Kevin Fenzi <kevin@tummy.com> - 1.3.6-4
changelog:
  - Change email to just root instead of root@localhost - bug #553179
  - Add .k5login.5.gz to files whitelist - bug #553134


author: Kevin Fenzi <kevin@scrye.com> - 1.3.8-4
changelog:
  - Don't send warning emails anymore. They cause selinux issues and are not very helpful.
  - Fixes bug #660544


author: Kevin Fenzi <kevin@scrye.com> - 1.3.8-6
changelog:
  - Change ssh check back to 2 - bug #596775
  - Drop hard Requires on prelink. It will be used if present - bug #714067


author: Kevin Fenzi <kevin@scrye.com> - 1.3.8-7
changelog:
  - Add patch to fix out of the box warning on rkhunter script. 
  - Fixes bug #719270
  - Add etckeeper and tomboy files. Fixes bug #719265 and #719259


author: Kevin Fenzi <kevin@scrye.com> 1.3.8-13
changelog:
  - Drop net-tools, no longer needed. Fixes bug #784803
  - Add /dev/shm/spice.* to whitelist. Fixes bug #784882


author: Kevin Fenzi <kevin@scrye.com> 1.4.2-2
changelog:
  - Add patch to fix ipcs command in non en locales
  - Add config to fix freeipa installs. Fixes bug #994567


author: Kevin Fenzi <kevin@scrye.com> 1.4.2-6
changelog:
  - Add /etc/.updated systemd file to whitelist. Fixes bug #1173481
  - Add patch to fix grep -a issue with too many arguments output.


author: Mukundan Ragavan <nonamedotc@fedoraproject.org> - 1.4.2-12
changelog:
  - Add /dev/shm/qb* files to whitelist. Fixes bug #1403602
  - Add /dev/shm/squid-ssl_session_cache.shm to whitelist. Fixes bug #1411130


author: Kevin Fenzi <kevin@scrye.com> - 1.4.6-1
changelog:
  - Update to 1.4.6. Fixes bug #1547315
  - Allow KRA vault log files. Fixes bug #1541472
  - ipc_shared_mem warning fixed upstream. Fixes bug #1524456


author: Tim Jackson <rpm@timj.co.uk> - 1.5.7-1
changelog:
  - Update to upstream 1.5.7
  - No longer requires python2 (RHBZ #1374924)
  - Change references to new upstream location (at GitHub)


author: Tim Jackson <rpm@timj.co.uk> - 1.5.7-2
changelog:
  - Fix build on arbitrary versions of python 3, by using Python install macro
  - Package python metadata properly


author: Anderson Silva <ansilva@redhat.com> 2.1.1-7
changelog:
  - Changed /etc to %{_sysconfdir}
  - Fixed reference on postun section
  - Using tarball as Source0
  - Added require rpm-build
  - Removed require for textutils, fileutils
  - Added directories to belong to package


author: Anderson Silva <ansilva@redhat.com> 2.1.1-8
changelog:
  - Replaced /usr/lib with %{_prefix}/lib
  - Fixed typo on popt.tmp filename
  - fixed typo on %changelog
  - Added %{_prefix}/lib/rpmbuild/plugins


author: Anderson Silva <ansilva@redhat.com> 2.2.1-1
changelog:
  - New package from upstream.
  - Fixed French man files to UTF8 into %{_mandir}/fr/ directory
  - Added some more basic dependencies
  - Created a %triggerin to allow rpmrebuild be used as a parameter for rpm


author: Chris Petersen <rpm@forevermore.net> 1.2.3-1
changelog:
  - Update to version 1.2.3 which is in the downloads directory but not linked on the site.
  - Change openssh requirement to openssh-clients
  - Update %post script with better info from the rpmforge spec and nifty logger reports
  - Add utils/ to the %doc files


author: Chris Petersen <rpm@forevermore.net> 1.2.3-2
changelog:
  - Add rsync and openssh-clients build requirements because the configure script checks for them.
  - Remove perl requirement because it's detected by rpm.


author: Ruben Kerkhof <ruben@rubenkerkhof.com> 1.3.1-4
changelog:
  - The include_conf directive doesn't handle backticks as documented.
    This is already fixed upstream in cvs but not in a release yet.


author: Steven Roberts <strobert@strobe.net> - 1.3.1-9
changelog:
  - fixed invalid changelog dates
  - added pod2man patch to deal with missing-back now error in newer fedora


author: Robert Scheck <robert@fedoraproject.org> - 1.4.3-1
changelog:
  - Upgrade to 1.4.3 (#1443553, #1646191, #1741427)
  - Extend spec file compatibility to cover RHEL/CentOS 6
  - Add run-time requirement for perl(Lchown) (#1494775)


author: Scott Seago <sseago@redhat.com> - 1.93.0-2
changelog:
  - Initial package (of rubygem-gettext)
    Set at release 2 to supercede ruby-gettext-package-1.93.0-1


author: Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 2.0.0-1
changelog:
  - Update to 2.0.0
  - Now require rubygem(locale)
  - Rescue NoMethodError on gem call on gettext.rb
  - Reintroduce 4 args bindtextdomain() compatibility


author: Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.0.2-6
changelog:
  - Patch from upstream git to remove memoization with
    coordination with rubygem-locale side change
  - Patch from upstream git to fix test failure on arm


author: Pavel Valena <pvalena@redhat.com> - 0.0.4-1
changelog:
  - Update to introspection 0.0.4(rhbz#1390394)
    - Remove patch0, subsumed
    - Remove patch1, subsumed


author: Lubomir Rintel <lkundrak@v3.sk> - 1.3.3-2
changelog:
  - Run tests (Lukas Bezdicka, #1092000)
  - Fix issue with tests. (Guess adding the run was a good idea...)


author: <Minnikhanov@gmail.com> - 2.2.15-2
changelog:
  - Fix Comment 18 #665560. https://bugzilla.redhat.com/show_bug.cgi?id=665560#c18 
  - Remove create Gemfile.lock at prep-section.


author: <Minnikhanov@gmail.com> - 2.3.0-1
changelog:
  - Updated mail to latest upstream release (v.2.3.0 2011-04-27)
  - Test excluded. May be need Zentest >= 4.4.0 and rubygem(rcov).


author: Matthew Kent <mkent@magoazul.com> - 1.0.3-3
changelog:
  - Missing complete source url (#526181).
  - Remove unused ruby_sitelib macro (#526181).
  - Remove redundant doc Requires on rubygems (#526181).


author: Jonas Courteau <rpms@courteau.org> - 1.3.0-1
changelog:
  - Repackaged for fc17
  - New upstream version
  - Removed check patch
  - Modified check - pull tests manually as they've been removed from gem


author: Davide Cavalca <dcavalca@fedoraproject.org> - 3.0.9-1
changelog:
  - Upgrade to 3.0.9 and package tests
  - Drop el6 and ancient Fedora logic
  - Various fixes to follow the latest Ruby packaging policy


author: Ken Dreyer <ktdreyer@ktdreyer.com> - 0.14.0-1
changelog:
  - Update to 0.14.0
  - Run unit and acceptance tests in a single process
  - Patch test suite to work outside rake/bundler


author: Jozef Zigmund <jzigmund@redhat.com> - 0.11.2-3
changelog:
  - Added README.md, LICENSE with macro doc
  - Replaced macro {gemdir}/gems/{gemname}-{version}/ by macro dir {geminstdir}
  - Added lib, bin to macro {geminstdir}
  - Added subpackage doc with folders: man, test and doc


author: Vít Ondruch <vondruch@redhat.com> - 0.99.4-1
changelog:
  - Update to Mustache 0.99.4
  - Dropped optional Sinatra dependency.
  - Removed deprecated %clean section.
  - Added man pages.


author: Shreyank Gupta <sgupta@redhat.com> - 2.0.23-2
changelog:
  - Using %exclude for setup.rb
  - Keeping net-ssh.gemspec for tests
  - Moved file-not-utf8 correction to before %check section


author: Shreyank Gupta <sgupta@redhat.com> - 2.0.23-3
changelog:
  - test command from test/README.txt
  - Remove gem "test-unit" line
  - Removed Requires rubygem(rake)
  - BuildRequires/Requires: rubygem(mocha) for tests


author: Bohuslav Kabrda <bkabrda@redhat.com> - 1.3.0-1
changelog:
  - Rebuilt for Ruby 1.9.3.
  - Updated to 1.3.0 version.
  - Introduced %check section for running tests.


author: Athos Ribeiro <athoscr@fedoraproject.org> - 0.1.0-3
changelog:
  - Do not use simplecov
  - Add spec directory to documentation subpackage
  - Remove code for EOL fedora versions


author: Ricky Elrod <codeblock@fedoraproject.org> - 0.7.3-2
changelog:
  - Move things into a doc subpackage.
  - Fix BuildRequires.
  - Document why the test suite isn't running.
  - Make some things that don't need to be installed, not install.
  - Mark some files as doc files.


author: Ricky Elrod <codeblock@fedoraproject.org> - 0.7.3-3
changelog:
  - Fix Requires so the package works on F18- and F19+.
  - Fix what is marked as doc.
  - Remove some extra files from the gem_instdir which are only needed for building.


author: Ricky Elrod <codeblock@fedoraproject.org> 0.7.3-4
changelog:
  - Add groff-base Requires.
  - Nuke a Requires of the base package from the -doc subpackage.
  - Fix Requires for F18-, make it be >= 1.9.1.


author: Mohammed Morsi <mmorsi@redhat.com> - 0.5.3-2
changelog:
  - cleaned up macros, other package guideline compliance fixes
  - corrected license, added MIT
  - include all files and docs, added check/test section


author: Dimi Paun <dimi@lattica.com> 0.9.1-1
changelog:
  - Lots of documentation improvements;
  - Prepare the RPMs for Fedora acceptance (Jef Spaleta);
  - Automatic creation of data store directory;
  - A few bug fixes.


author: Dimi Paun <dimi@lattica.com> 0.9.2-1
changelog:
  - Client configuration files have been moved to 
    /etc/safekeep/backup.d, and have the extension '.backup';
  - A new global configuration file has been added in 
    /etc/safekeep/safekeep.conf;
  - A number of command line options have been deprecated;
    (-e/--email, -s/--smtp), and moved to the global configuration.
  - SafeKeep now knows of the user under which the backup will execute,
    making it possible to better deploy keys, avoid the need to invoke
    safekeep(1) via sudo(8), and execute the backup as root if need be;
  - Relative paths now have more intuitive behaviour;
  - Some documentation improvements;
  - Automatic migration of old configuration to the new format;
  - A CRITICAL (e.g. data loss) race has been fixed.


author: Dimi Paun <dimi@lattica.com> 0.9.3-1
changelog:
  - Use /bin/bash as the shell for the safekeep system account;
  - Invoke rdiff-backup with --force when trimming histroy;
  - A few small logging bugs got fixed;
  - Small documentation tweaks.


author: Dimi Paun <dimi@lattica.com> 1.0.1-1
changelog:
  - The safekeep user no longer requires a working shell
  - Add support for Fedora 7 to the testing script
  - Packaging improvements for integration into Fedora
  - Remove the old configuration migration scripts
  - Do not package the testing script, it's used only during development


author: Dimi Paun <dimi@lattica.com> 1.0.2-1
changelog:
  - Add missing buildroot removal in install section (Jeff Spaleta)
  - Remove references to PACKAGE_VERSION, follow the Fedora 
    guidelines closer.
  - Provide default attr for all packages.
  - Clarify the licensing in .rpm package.
  - We don't need to include AUTHORS COPYING LICENSE multiple times, 
    keeping them in -common is enough.
  - More acceptable SF link.


author: Dimi Paun <dimi@lattica.com> 1.0.3-1
changelog:
  - Clarify licensing in lite of the new GPLv3 license;
  - New --force option to handle unexpected problems with the data repository;
  - Better logging and status handling when we invoke external commands
  - Clearer backup status on job end.
  - A small packaging bug got fixes.


author: Stephane Thiell <sthiell@stanford.edu> 0.3.4-1
changelog:
  - build against python3 only
  - install LICENSE.txt file
  - use python_provide macro and update to follow Fedora packaging guidelines


author: Stephane Thiell <sthiell@stanford.edu> 0.3.8-2
changelog:
  - always remove shebang from Python modules
  - removed unwanted Group tag
  - removed useless/duplicate Provides tag


author: Dave Love <loveshack@fedoraproject.org> - 2.3-3
changelog:
  - Build non-MPI version
    Resolves: rhbz#1334560
  - Use separate datadirs; at least summary file is build-dependent


author: Orion Poplawski <orion@cora.nwra.com> - 1.2.3-2
changelog:
  - Split out runtime libraries in libs sub-packages
  - Fix doc duplication
  - Use chrpath to remove rpaths


author: Dave Love <loveshack@fedoraproject.org> - 1.4.2-6
changelog:
  - Link against papi-5.1.1 on el6
  - Link --as-needed (see previous rpmlint warnings)
  - Install OPEN_ISSUES as doc
  - Use -std=gnu++98 for gcc6


author: Dave Love <loveshack@fedoraproject.org> - 4.0-1
changelog:
  - New version (#1606317, #1574496); soname bump affects old binaries
  - Remove bundled cubew, cubelib
  - Account for _libdir being partially ignored
  - Maybe BR gcc-plugin-devel


author: Dave Love <loveshack@fedoraproject.org> - 4.0-2
changelog:
  - Use ldconfig_scriptlets and remove some EPEL-ism in build
  - Patch to correct cube configuration
  - Build libwrap
  - Undefine _ld_as_needed, _hardened_build to make %check work
  - Require libunwind-devel, ocl-icd-devel, opari2 [#1610849]


author: Dave Love <loveshack@fedoraproject.org> - 4.1-2
changelog:
  - Avoid rpath in scorep-config output
  - Fix requires for MPI packages
  - Move files required for Scalasca to -config packages
  - Add license to libs packages


author: Dave love <loveshack@fedoraproject.org> - 6.0-4
changelog:
  - Add openmpi3 variant on el7
  - Fix logic for mpi running in %check
  - Specify cube and opari version requirements


author: Dave love <loveshack@fedoraproject.org> - 6.0-7
changelog:
  - Bundle the recommended modified libunwind
  - Fix FTBFS with binutils 2.34
  - Avoid oshm on el8/fedora aarch64


author: Dave Love <loveshack@fedoraproject.org> - 6.0-9
changelog:
  - Fix building gcc plugin, and reporting its use, on el7
  - Drop el6 conditionals
  - Don't try to install osh on aarch64


author: Davide Cavalca <dcavalca@fedoraproject.org> - 3.68.0-5.20220328git3aa2f45
changelog:
  - Rename to sdl-decnumber (RHBZ#2068621)
  - Update summary and description to make it clear this is a fork
  - Update to 3aa2f45 git snapshot
  - Drop f32 logic and tidy up the specfile


author: Petr Lautrbach <plautrba@redhat.com> 2.4-5
changelog:
  - secilc-doc do not need the base package
  - Fedora package review https://bugzilla.redhat.com/show_bug.cgi?id=1245270


author: Miguel Armas <kuko@maarmas.com> - 1.4.7-1.fdr.1.a
changelog:
  - Fedorized package
  - Split documentation in a subpackage (we don't need de docs in a production
    firewall)


author: Miguel Armas <kuko@maarmas.com> - 1.4.7-1.fdr.3.a
changelog:
  - Start shorewall *before* network for better security.
  - Added clear command to shorewall init script to run "shorewall clear"
  - Changed status command in shorewall init script to run "shorewall status"


author: Robert Marcano <robert@marcanoonline.com>
changelog:
  - Update to 2.4.4, removing doc subpackage because it is not distributed
    with the source package anymore, it is on a different tarball


author: Jonathan G. Underwood <jonathan.underwood@gmail.com> - 4.0.4-1
changelog:
  - Initial version 4 packaging based upon upstream specs by Tom Eastep and
    version 3 spec by Robert Marcano
  - Split into shorewall-common, shorewall-shell, shorewall-perl,
    shorewall-lite subpackages


author: Jonathan G. Underwood <jonathan.underwood@gmail.com> - 4.0.4-2
changelog:
  - Add ghost files for /var/lib/shorewall/.modules and /var/lib/shorewall/.modulesdir
  - Fix ownership of /var/lib/shorewall-lite


author: Jonathan G. Underwood <jonathan.underwood@gmail.com> - 4.0.6-3
changelog:
  - Added patch-perl-4.0.6-2.diff and patch-perl-4.0.6-3.diff
  - Fixed URLs for tarballs to match where upstream has moved them to


author: Jonathan G. Underwood <jonathan.underwood@gmail.com> - 4.0.7-1
changelog:
  - Update to version 4.0.7
  - Added 4.0.7.1 patch and all parts of the 4.0.7.2 patch that are relevant
    (i.e. not the parts working around the iproute2-2.23 bug, as we don't ship the
    broken iproute2)
  - Clarified notes about tarball and patch locations


author: Jonathan G. Underwood <jonathan.underwood@gmail.com> - 4.0.9-1
changelog:
  - Update to version 4.0.9
  - Remove 4.0.8 series patches
  - Add upstream patch patch-perl-4.0,9-1 (the comma is not a typo)


author: Jonathan G. Underwood <jonathan.underwood@gmail.com> - 4.2.0-1
changelog:
  - Update to version 4.2.0
  - New sysv init files which are no longer maintained as patches, but as a 
    Fedora specific file


author: Jonathan G. Underwood <jonathan.underwood@gmail.com> - 4.2.4-1
changelog:
  - Update to version 4.2.4 which adds IPV6 support and two new sub-packages
    (shorewall6 and shorewall6-lite) 
  - Add proper versioning to sub-packages
  - Remove patch patch-perl-4.2.3.1


author: Jonathan G. Underwood <jonathan.underwood@gmail.com> - 4.2.4-2
changelog:
  - Fix up dependencies between sub-packages
  - No longer attempt to own all files in /var/lib/shorewall* but rather clean
    them up on package removal


author: Jonathan G. Underwood <jonathan.underwood@gmail.com> - 4.2.8-1
changelog:
  - Update to version 4.2.8
  - Update shorewall-perl to 4.2.8.2
  - Use global instead of define in macros to comply with packaging guidelines


author: Jonathan G. Underwood <jonathan.underwood@gmail.com> - 4.3.10-1
changelog:
  - Update to development branch, rearrange sub-packages accordingly
  - Remove shorewall-shell, shorewall-perl, shorewall-common subpackages


author: Jonathan G. Underwood <jonathan.underwood@gmail.com> - 4.3.12-1
changelog:
  - Update to version 4.3.12
  - Change init files to start as number 28 (previously 25) to ensure starting
    after NetworkManager (BZ 505444)


author: Jonathan G. Underwood <jonathan.underwood@gmail.com> - 4.4.8-1
changelog:
  - Update to version 4.4.8
  - Remove %buildroot setting
  - Remove cleaning of buildroot during %install
  - Fix %files


author: Jonathan G. Underwood <jonathan.underwood@gmail.com> - 4.4.10-1
changelog:
  - Update to version 4.4.10
  - Add new shorewall-init subpackage
  - Rename init.sh to shorewall-foo-init.sh
  - Add shorewall-init.sh for init subpackage


author: Jonathan G. Underwood <jonathan.underwood@gmail.com> - 4.4.10-3
changelog:
  - Remove separate macros for each tarball version - upstream now releases all
    tarballs with the same version number
  - Add virtual Provides for shorewall(firewall) to shorewall, shorewall-lite
    and shorewall6-lite, and a Requires shorewall(firewall) to shorewall-init. 
    Note that shorewall6 Requires shorewall, so virtual provides not needed there


author: Orion Poplawski <orion@cora.nwra.com> - 4.4.22-2
changelog:
  - Add upstream ALL patch to fix handling zones that begin with 'all'
  - Add patch to close stdin to prevent some SELinux denial messages (bug 727648)
  - Make libexec files executable


author: Jonathan G. Underwood <jonathan.underwood@gmail.com> - 4.4.22.3-2
changelog:
  - Rename _baseurl macro to baseurl
  - Change the defattr to (-,root,root,-) and fix up file permissions
  - Fixes to file lists


author: Orion Poplawski <orion@cora.nwra.com> - 4.5.2-1
changelog:
  - Update to 4.5.2
  - Add patch to fixup install locations
  - Add BR perl(Digest::SHA1)
  - Change install ordering to install shorewall-core first
  - Set DESTDIR for install script
  - Set SBINDIR and SYSTEMD to handle UsrMove


author: Orion Poplawski <orion@cora.nwra.com> - 4.5.2.4-1
changelog:
  - Update to 4.5.2.4
  - Use BR perl(Digest::SHA)
  - Drop install patch fixed upstream
  - Drop setting unneeded install variables
  - Use %{perl_vendorlib}


author: Jonathan G. Underwood <jonathan.underwood@gmail.com> - 4.5.7.1-2
changelog:
  - Add logrotate Requires to shorewall-init
  - Ensure /etc/logrotate.d/shorewall-init is owned by shorewall-init package


author: Jonathan G. Underwood <jonathan.underwood@gmail.com> - 4.5.7.1-3
changelog:
  - Use new systemd macros instead of scriplets in post/postun/preun
  - Remove triggerun scriptlets for sysv to systemd conversion


author: Rex Dieter <rdieter@fedoraproject.org> - 8.57-3
changelog:
  - %files: track closer, less globs (sonames, pkgconfig)
  - own libdir/extensions/
  - patch out building of (unused) static lib


author: Matthew Miller <mattdm@mattdm.org> - 0.1-4
changelog:
  - remove smem.pdf at request of upstream
  - patch0: 741bd2646ebf -- add GPLv2+ and copyright notice
  - patch1: 4320ad746bcc -- check that kernel release >= 2.6.27


author: Matthew Miller <mattdm@mattdm.org> - 0.9-1
changelog:
  - update to 0.9
  - drop add-hoc index.html doc; add man pages
  - drop patches, which are now upstream
  - not currently building smemcap.c into an executable -- it's new,
    and would switch the package from being noarch. will deal with that
    in a future update of the package.


author: Matthew Miller <mattdm@mattdm.org> - 1.0-2
changelog:
  - don't hardcode version in source name above, because that
    will lead to me confusing myself. trust me.
  - no longer install sample script as documentation


author: Matthew Miller <mattdm@mattdm.org> - 1.2-1
changelog:
  - 1.2; no upstream tarball, but tagged in the hg repo.
  - resolves bz #757908 (-m and -u fail as non-root)
  - resolves bz #864504 (failure in presense of unknown uids)


author: Michal Schmidt <mschmidt@redhat.com> - 1.2-4
changelog:
  - Drop the kernel Requires. Using Conflicts would have been acceptable,
    but 2.6.27 is ancient history anyway.
  - Remove spec file elements no longer required by current packaging guidelines
    (Group, BuildRoot, explicit buildroot cleaning, defattr).


author: Matthew Miller <mattdm@fedoraproject.org> - 1.5-1
changelog:
  - update to 1.5 tagged release (no new tarballs are forthcoming for this project)
  - hard-code python3 as per guidelines


author: Zygmunt Krynicki <me@zygoon.pl> - 2.0.9-2
changelog:
  - Depend on kernel-modules to ensure that squashfs can be loaded. Load it afer
    installing the package. This hopefully fixes
    https://github.com/zyga/snapcore-fedora/issues/2


author: Neal Gompa <ngompa13@gmail.com> - 2.23.1-1
changelog:
  - Rebase to snapd 2.23.1
  - Add support for vendored tarball for non-Fedora targets
  - Use merged in SELinux policy module


author: Neal Gompa <ngompa13@gmail.com> - 2.23.5-1
changelog:
  - Rebase to snapd 2.23.5
  - Disable seccomp temporarily avoid snap-confine bugs (LP#1674193)
  - Use vendorized build for non-Fedora


author: Neal Gompa <ngompa13@gmail.com> - 2.23.6-1
changelog:
  - Rebase to snapd 2.23.6
  - Rediff patches
  - Re-enable seccomp
  - Fix building snap-confine on 32-bit arches
  - Set ExclusiveArch based on upstream supported arch list


author: Neal Gompa <ngompa13@gmail.com> - 2.23.6-2
changelog:
  - Fix the overlapping file conflicts between snapd and snap-confine
  - Rework package descriptions slightly


author: Neal Gompa <ngompa13@gmail.com> - 2.26.3-1
changelog:
  - Update to snapd 2.26.3
  - Drop merged and unused patches
  - Cover more Snappy content for proper erasure on final uninstall (RH#1444422)
  - Add temporary fix to ensure generated seccomp profiles don't break snapctl


author: Neal Gompa <ngompa13@gmail.com> - 2.26.3-2
changelog:
  - Fix error in script for removing Snappy content (RH#1444422)
  - Adjust changelog bug references to be specific on origin


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.27
   - fix build failure on 32bit fedora
   - interfaces: add password-manager-service implicit classic interface
   - interfaces/greengrass-support: adjust accesses now that have working
     snap
   - interfaces/many, cmd/snap-confine: miscellaneous policy updates
   - interfaces/unity7: allow receiving media key events in (at least)
     gnome-shell
   - cmd: fix re-exec bug when starting from snapd 2.21
   - tests: restore interfaces-account-control properly
   - cmd: fix tests that assume /snap mount
   - cmd: mark arch as non-reexecing distro
   - snap-confine: don't share /etc/nsswitch from host
   - store: talk to api.snapcraft.io for purchases
   - hooks: support for install and remove hooks
   - packaging: fix Fedora support
   - tests: add bluetooth-control interface test
   - store: talk to api.snapcraft.io for assertions
   - tests: remove snapd before building from branch
   - tests: add avahi-observe interface test
   - store: orders API now checks if customer is ready
   - cmd/snap: snap find only searches stable
   - interfaces: updates default, mir, optical-observe, system-observe,
     screen-inhibit-control and unity7
   - tests: speedup prepare statement part 1
   - store: do not send empty refresh requests
   - asserts: fix error handling in snap-developer consistency check
   - systemd: add explicit sync to snapd.core-fixup.sh
   - snapd: generate snap cookies on startup
   - cmd,client,daemon: expose "force devmode" in sysinfo
   - many: introduce and use strutil.ListContains and also
     strutil.SortedListContains
   - assserts,overlord/assertstate: test we don't accept chains of
     assertions founded on a self-signed key coming externally
   - interfaces: enable access to bridge settings
   - interfaces: fix copy-pasted iio vs io in io-ports-control
   - cmd/snap-confine: various small fixes and tweaks to seccomp
     support code
   - interfaces: bring back seccomp argument filtering
   - systemd, osutil: rework systemd logs in preparation for services
     commands
   - tests: store /etc/systemd/system/snap-*core*.mount in snapd-
     state.tar.gz
   - tests: shellcheck improvements for tests/main tasks - first set of
     tests
   - cmd/snap: `--last` for abort and watch, and aliases
     (search→find, change→tasks)
   - tests: shellcheck improvements for tests/lib scripts
   - tests: create ramdisk if it's not present
   - tests: shellcheck improvements for nightly upgrade and regressions
     tests
   - snapd: fix for snapctl get panic on null config values.
   - tests: fix for rng-tools service not restarting
   - systemd: add snapd.core-fixup.service unit
   - cmd: avoid using current symlink in InternalToolPath
   - tests: fix timeout issue for test refresh core with hanging …
   - intefaces: control bridged vlan/ppoe-tagged traffic
   - cmd/snap: include snap type in notes
   - overlord/state: Abort() only visits each task once
   - tests: extend find-private test to cover more cases
   - snap-seccomp: skip socket() tests on systems that use socketcall()
     instead of socket()
   - many: support snap title as localized/title-cased name
   - snap-seccomp: deal with mknod on aarch64 in the seccomp tests
   - interfaces: put base policy fragments inside each interface
   - asserts: introduce NewDecoderWithTypeMaxBodySize
   - tests: fix snapd-notify when it takes more time to restart
   - snap-seccomp: fix snap-seccomp tests in artful
   - tests: fix for create-key task to avoid rng-tools service ramains
     alive
   - snap-seccomp: make sure snap-seccomp writes the bpf file
     atomically
   - tests: do not disable ipv6 on core systems
   - arch: the kernel architecture name is armv7l instead of armv7
   - snap-confine: ensure snap-confine waits some seconds for seccomp
     security profiles
   - tests: shellcheck improvements for tests/nested tasks
   - wrappers: add SyslogIdentifier to the service unit files.
   - tests: shellcheck improvements for unit tasks
   - asserts: implement FindManyTrusted as well
   - asserts: open up and optimize Encoder to help avoiding unnecessary
     copying
   - interfaces: simplify snap-confine by just loading pre-generated
     bpf code
   - tests: restart rng-tools services after few seconds
   - interfaces, tests: add mising dbus abstraction to system-observe
     and extend spread test
   - store: change main store host to api.snapcraft.io
   - overlord/cmdstate: new package for running commands as tasks.
   - spread: help libapt resolve installing libudev-dev
   - tests: show the IP from .travis.yaml
   - tests/main: use pkgdb function in more test cases
   - cmd,daemon: add debug command for displaying the base policy
   - tests: prevent quoting error on opensuse
   - tests: fix nightly suite
   - tests: add linode-sru backend
   - snap-confine: validate SNAP_NAME against security tag
   - tests: fix ipv6 disable for ubuntu-core
   - tests: extend core-revert test to cover bluez issues
   - interfaces/greengrass-support: add support for Amazon Greengrass
     as a snap
   - asserts: support timestamp and optional disabled header on repair
   - tests: reboot after upgrading to snapd on the -proposed pocket
   - many: fix test cases to work with different DistroLibExecDir
   - tests: reenable help test on ubuntu and debian systems
   - packaging/{opensuse,fedora}: allow package build with testkeys
     included
   - tests/lib: generalize RPM build support
   - interfaces/builtin: sync connected slot and permanent slot snippet
   - tests: fix snap create-key by restarting automatically rng-tools
   - many: switch to use http numeric statuses as agreed
   - debian: add missing  Type=notify in 14.04 packaging
   - tests: mark interfaces-openvswitch as manual due to prepare errors
   - debian: unify built_using between the 14.04 and 16.04 packaging
     branch
   - tests: pull from urandom when real entropy is not enough
   - tests/main/manpages: install missing man package
   - tests: add refresh --time output check
   - debian: add missing "make -C data/systemd clean"
   - tests: fix for upgrade test when it is repeated
   - tests/main: use dir abstraction in a few more test cases
   - tests/main: check for confinement in a few more interface tests
   - spread: add fedora snap bin dir to global PATH
   - tests: check that locale-control is not present on core
   - many: snapctl outside hooks
   - tests: add whoami check
   - interfaces: compose the base declaration from interfaces
   - tests: fix spread flaky tests linode
   - tests,packaging: add package build support for openSUSE
   - many: slight improvement of some snap error messaging
   - errtracker: Include /etc/apparmor.d/usr.lib.snap-confine md5sum in
     err reports
   - tests: fix for the test postrm-purge
   - tests: restoring the /etc/environment and service units config for
     each test
   - daemon: make snapd a "Type=notify" daemon and notify when startup
     is done
   - cmd/snap-confine: add support for --base snap
   - many: derive implicit slots from interface meta-data
   - tests: add core revert test
   - tests,packaging: add package build support for Fedora for our
     spread setup
   - interfaces: move base declaration to the policy sub-package
   - tests: fix for snapd-reexec test cheking for restart info on debug
     log
   - tests: show available entropy on error
   - tests: clean journalctl logs on trusty
   - tests: fix econnreset on staging
   - tests: modify core before calling set
   - tests: add snap-confine privilege test
   - tests: add staging snap-id
   - interfaces/builtin: silence ptrace denial for network-manager
   - tests: add alsa interface spread test
   - tests: prefer ipv4 over ipv6
   - tests: fix for econnreset test checking that the download already
     started
   - httputil,store: extract retry code to httputil, reorg usages
   - errtracker: report if snapd did re-execute itself
   - errtracker: include bits of snap-confine apparmor profile
   - tests: take into account staging snap-ids for snap-info
   - cmd: add stub new snap-repair command and add timer
   - many: stop "snap refresh $x --channel invalid" from working
   - interfaces: revert "interfaces: re-add reverted ioctl and quotactl
   - snapstate: consider connect/disconnect tasks in
     CheckChangeConflict.
   - interfaces: disable "mknod |N" in the default seccomp template
     again
   - interfaces,overlord/ifacestate: make sure installing slots after
     plugs works similarly to plugs after slots
   - interfaces/seccomp: add bind() syscall for forced-devmode systems
   - packaging/fedora: Sync packaging from Fedora Dist-Git
   - tests: move static and unit tests to spread task
   - many: error types should be called FooError, not ErrFoo.
   - partition: add directory sync to the save uboot.env file code
   - cmd: test everything (100% coverage \o/)
   - many: make shell scripts shellcheck-clean
   - tests: remove additional setup for docker on core
   - interfaces: add summary to each interface
   - many: remove interface meta-data from list of connections
   - logger (& many more, to accommodate): drop explicit syslog.
   - packaging: import packaging bits for opensuse
   - snapstate,many: implement snap install --unaliased
   - tests/lib: abstract build dependency installation a bit more
   - interfaces, osutil: move flock code from interfaces/mount to
     osutil
   - cmd: auto import assertions only from ext4,vfat file systems
   - many: refactor in preparation for 'snap start'
   - overlord/snapstate: have an explicit code path last-refresh
     unset/zero => immediately refresh try
   - tests: fixes for executions using the staging store
   - tests: use pollinate to seed the rng
   - cmd/snap,tests: show the sha3-384 of the snap for snap info
     --verbose SNAP-FILE
   - asserts: simplify and adjust repair assertion definition
   - cmd/snap,tests: show the snap id if available in snap info
   - daemon,overlord/auth: store from model assertion wins
   - cmd/snap,tests/main: add confinement switch instead of spread
     system blacklisting
   - many: cleanup MockCommands and don't leave a process around after
     hookstate tests
   - tests: update listing test to the core version number schema
   - interfaces: allow snaps to use the timedatectl utility
   - packaging: Add Fedora packaging files
   - tests/libs: add distro_auto_remove_packages function
   - cmd/snap: correct devmode note for anomalous state
   - tests/main/snap-info: use proper pkgdb functions to install distro
     packages
   - tests/lib: use mktemp instead of tempfile to work cross-distro
   - tests: abstract common dirs which differ on distributions
   - many: model and expose interface meta-data.
   - overlord: make config defaults from gadget work also at first boot
   - interfaces/log-observe: allow using journalctl from hostfs for
     classic distro
   - partition,snap: add support for android boot
   - errtracker: small simplification around readMachineID
   - snap-confine: move rm_rf_tmp to test-utils.
   - tests/lib: introduce pkgdb helper library
   - errtracker: try multiple paths to read machine-id
   - overlord/hooks: make sure only one hook for given snap is executed
     at a time.
   - cmd/snap-confine: use SNAP_MOUNT_DIR to setup /snap inside the
     confinement env
   - tests: bump kill-timeout and remove quiet call on build
   - tests/lib/snaps: add a test store snap with a passthrough
     configure hook
   - daemon: teach the daemon to wait on active connections when
     shutting down
   - tests: remove unit tests task
   - tests/main/completion: source from /usr/share/bash-completion
   - assertions: add "repair" assertion
   - interfaces/seccomp: document Backend.NewSpecification
   - wrappers: make StartSnapServices cleanup any services that were
     added if a later one fails
   - overlord/snapstate: avoid creating command aliases for daemons
   - vendor: remove unused packages
   - vendor,partition: fix panics from uenv
   - cmd,interfaces/mount: run snap-update-ns and snap-discard-ns from
     core if possible
   - daemon: do not allow to install ubuntu-core anymore
   - wrappers: service start/stop were inconsistent
   - tests: fix failing tests (snap core version, syslog changes)
   - cmd/snap-update-ns: add actual implementation
   - tests: improve entropy also for ubuntu
   - cmd/snap-confine: use /etc/ssl from the core snap
   - wrappers: don't convert between []byte and string needlessly.
   - hooks: default timeout
   - overlord/snapstate: Enable() was ignoring the flags from the
     snap's state, resulting in losing "devmode" on disable/enable.
   - difs,interfaces/mount: add support for locking namespaces
   - interfaces/mount: keep track of kept mount entries
   - tests/main: move a bunch of greps over to MATCH
   - interfaces/builtin: make all interfaces private
   - interfaces/mount: spell unmount correctly
   - tests: allow 16-X.Y.Z version of core snap
   - the timezone_control interface only allows changing /etc/timezone
     and /etc/writable/timezone. systemd-timedated also updated the
     link of /etc/localtime and /etc/writable/localtime ... allow
     access to this file too
   - cmd/snap-confine: aggregate operations holding global lock
   - api, ifacestate: resolve disconnect early
   - interfaces/builtin: ensure we don't register interfaces twice


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.27.1
   - tests: use dnf --refresh install to avert stale cache
   - tests: fix test failure on 14.04 due to old version of
     flock
   - updates for unity7/x11, browser-support, network-control,
     mount-observe
   - interfaces/unity7,x11: update for NETLINK_KOBJECT_UEVENT
   - interfaces/browser-support: update sysfs reads for
     newer browser versions
   - interfaces/network-control: rw for ieee80211 advanced wireless
   - interfaces/mount-observe: allow read on sysfs entries for block
     devices


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.27.2
   - tests: remove TestInterfacesHelp as it breaks when go-flags
     changes
   - interfaces: don't crash if content slot has no attributes
   - debian: do not build with -buildmode=pie on i386
   - interfaces: backport broadcom-asic-control interface
   - interfaces: allow /usr/bin/xdg-open in unity7
   - store: do not resume a download when we already have the whole
     thing


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.27.3
    - systemd: disable `Nice=-5` to fix error when running inside lxdSee
      https://bugs.launchpad.net/snapd/+bug/1709536


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.27.5
    - interfaces: fix network-manager plug regression
    - hooks: do not error when hook handler is not registered
    - interfaces/alsa,pulseaudio: allow read on udev data for sound
    - interfaces/optical-drive: read access to udev data for /dev/scd*
    - interfaces/browser-support: read on /proc/vmstat and misc udev
      data


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.27.6
    - interfaces: add udev netlink support to hardware-observe
    - interfaces/network-{control,observe}: allow receiving
      kobject_uevent() messages


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.28
   - hooks: rename refresh to after-refresh
   - snap-confine: bind mount /usr/lib/snapd relative to snap-confine
   - cmd,dirs: treat "liri" the same way as "arch"
   - snap-confine: fix base snaps on core
   - hooks: substitute env vars when executing hooks
   - interfaces: updates for default, browser-support, desktop, opengl,
     upower and stub-resolv.conf
   - cmd,dirs: treat manjaro the same as arch
   - systemd: do not run auto-import and repair services on classic
   - packaging/fedora: Ensure vendor/ is empty for builds and fix spec
     to build current master
   - many: fix TestSetConfNumber missing an Unlock and other fragility
     improvements
   - osutil: adjust StreamCommand tests for golang 1.9
   - daemon: allow polkit authorisation to install/remove snaps
   - tests: make TestCmdWatch more robust
   - debian: improve package description
   - interfaces: add netlink kobject uevent to hardware observe
   - debian: update trusted account-keys check on 14.04 packaging
   - interfaces/network-{control,observe}: allow receiving
     kobject_uevent() messages
   - tests: fix lxd test for external backend
   - snap-confine,snap-update-ns: add -no-pie to fix FTBFS on
     go1.7,ppc64
   - corecfg: mock "systemctl" in all corecfg tests
   - tests: fix unit tests on Ubuntu 14.04
   - debian: add missing flags when building static snap-exec
   - many: end-to-end support for the bare base snap
   - overlord/snapstate: SetRootDir from SetUpTest, not in just some
     tests
   - store: have an ad-hoc method on cfg to get its list of uris for
     tests
   - daemon: let client decide whether to allow interactive auth via
     polkit
   - client,daemon,snap,store: add license field
   - overlord/snapstate: rename HasCurrent to IsInstalled, remove
     superfluous/misleading check from All
   - cmd/snap: SetRootDir from SetUpTest, not in just some individual
     tests.
   - systemd: rename snap-repair.{service,timer} to snapd.snap-
     repair.{service,timer}
   - snap-seccomp: remove use of x/net/bpf from tests
   - httputil: more naive per go version way to recreate a default
     transport for tls reconfig
   - cmd/snap-seccomp/main_test.go: add one more syscall for arm64
   - interfaces/opengl: use == to compare, not =
   - cmd/snap-seccomp/main_test.go: add syscalls for armhf and arm64
   - cmd/snap-repair: track and use a lower bound for the time for
     TLS checks
   - interfaces: expose bluez interface on classic OS
   - snap-seccomp: add in-kernel bpf tests
   - overlord: always try to get a serial, lazily on classic
   - tests: add nmcli regression test
   - tests: deal with __PNR_chown on aarch64 to fix FTBFS on arm64
   - tests: add autopilot-introspection interface test
   - vendor: fix artifact from manually editing vendor/vendor.json
   - tests: rename complexion to test-snapd-complexion
   - interfaces: add desktop and desktop-legacy
     interfaces/desktop: add new 'desktop' interface for modern DEs*
     interfaces/builtin/desktop_test.go: use modern testing techniques*
     interfaces/wayland: allow read on /etc/drirc for Plasma desktop*
     interfaces/desktop-legacy: add new 'legacy' interface (currently
     for a11y and input)
   - tests: fix race in snap userd test
   - devices/iio: add read/write for missing sysfs entries
   - spread: don't set HTTPS?_PROXY for linode
   - cmd/snap-repair: check signatures of repairs from Next
   - env: set XDG_DATA_DIRS for wayland et.al.
   - interfaces/{default,account-control}: Use username/group instead
     of uid/gid
   - interfaces/builtin: use udev tagging more broadly
   - tests: add basic lxd test
   - wrappers: ensure bash completion snaps install on core
   - vendor: use old golang.org/x/crypto/ssh/terminal to build on
     powerpc again
   - docs: add PULL_REQUEST_TEMPLATE.md
   - interfaces: fix network-manager plug
   - hooks: do not error out when hook is optional and no hook handler
     is registered
   - cmd/snap: add userd command to replace snapd-xdg-open
   - tests: new regex used to validate the core version on extra snaps
     ass...
   - snap: add new `snap switch` command
   - tests: wait more and more debug info about fakestore start issues
   - apparmor,release: add better apparmor detection/mocking code
   - interfaces/i2c: adjust sysfs rule for alternate paths
   - interfaces/apparmor: add missing call to dirs.SetRootDir
   - cmd: "make hack" now also installs snap-update-ns
   - tests: copy files with less verbosity
   - cmd/snap-confine: allow using additional libraries required by
     openSUSE
   - packaging/fedora: Merge changes from Fedora Dist-Git
   - snapstate: improve the error message when classic confinement is
     not supported
   - tests: add test to ensure amd64 can run i386 syscall binaries
   - tests: adding extra info for fakestore when fails to start
   - tests: install most important snaps
   - cmd/snap-repair: more test coverage of filtering
   - squashfs: remove runCommand/runCommandWithOutput as we do not need
     it
   - cmd/snap-repair: ignore superseded revisions, filter on arch and
     models
   - hooks: support for refresh hook
   - Partial revert "overlord/devicestate, store: update device auth
     endpoints URLs"
   - cmd/snap-confine: allow reading /proc/filesystems
   - cmd/snap-confine: genearlize apparmor profile for various lib
     layout
   - corecfg: fix proxy.* writing and add integration test
   - corecfg: deal with system.power-key-action="" correctly
   - vendor: update vendor.json after (presumed) manual edits
   - cmd/snap: in `snap info`, don't print a newline between tracks
   - daemon: add polkit support to /v2/login
   - snapd,snapctl: decode json using Number
   - client: fix go vet 1.7 errors
   - tests: make 17.04 shellcheck clean
   - tests: remove TestInterfacesHelp as it breaks when go-flags
     changes
   - snapstate: undo a daemon restart on classic if needed
   - cmd/snap-repair: recover brand/model from
     /var/lib/snapd/seed/assertions checking signatures and brand
     account
   - spread: opt into unsafe IO during spread tests
   - snap-repair: update snap-repair/runner_test.go for API change in
     makeMockServer
   - cmd/snap-repair: skeleton code around actually running a repair
   - tests: wait until the port is listening after start the fake store
   - corecfg: fix typo in tests
   - cmd/snap-repair: test that redirects works during fetching
   - osutil: honor SNAPD_UNSAFE_IO for testing
   - vendor: explode and make more precise our golang.go/x/crypto deps,
     use same version as Debian unstable
   - many: sanitize NewStoreStack signature, have shared default store
     test private keys
   - systemd: disable `Nice=-5` to fix error when running inside lxd
   - spread.yaml: update delta ref to 2.27
   - cmd/snap-repair: use E-Tags when refetching a repair to retry
   - interfaces/many: updates based on chromium and mrrescue denials
   - cmd/snap-repair: implement most logic to get the next repair to
     run/retry in a brand sequence
   - asserts/assertstest: copy headers in SigningDB.Sign
   - interfaces: convert uhid to common interface and test cases
     improvement for time_control and opengl
   - many tests: move all panicing fake store methods to a common place
   - asserts: add store assertion type
   - interfaces: don't crash if content slot has no attributes
   - debian: do not build with -buildmode=pie on i386
   - wrappers: symlink completion snippets when symlinking binaries
   - tests: adding more debug information for the interfaces-cups-
     control …
   - apparmor: pass --quiet to parser on load unless SNAPD_DEBUG is set
   - many: allow and support serials signed by the 'generic' authority
     instead of the brand
   - corecfg: add proxy configuration via `snap set core
     proxy.{http,https,ftp}=...`
   - interfaces: a bunch of interfaces test improvement
   - tests: enable regression and completion suites for opensuse
   - tests: installing snapd for nested test suite
   - interfaces: convert lxd_support to common iface
   - interfaces: add missing test for camera interface.
   - snap: add support for parsing snap layout section
   - cmd/snap-repair: like for downloads we cannot have a timeout (at
     least for now), less aggressive retry strategies
   - overlord: rely on more conservative ensure interval
   - overlord,store: no piles of return args for methods gathering
     device session request params
   - overlord,store: send model assertion when setting up device
     sessions
   - interfaces/misc: updates for unity7/x11, browser-
     support, network-control and mount-observe
     interfaces/unity7,x11: update for NETLINK_KOBJECT_UEVENT
     interfaces/browser-support: update sysfs reads for
     newer browser versions, interfaces/network-control: rw for
     ieee80211 advanced wireless interfaces/mount-observe: allow read
     on sysfs entries for block devices
   - tests: use dnf --refresh install to avert stale cache
   - osutil: ensure TestLockUnlockWorks uses supported flock
   - interfaces: convert lxd to common iface
   - tests: restart snapd to ensure re-exec settings are applied
   - tests: fix interfaces-cups-control test
   - interfaces: improve and tweak bunch of interfaces test cases.
   - tests: adding extra worker for fedora
   - asserts,overlord/devicestate: support predefined assertions that
     don't establish foundational trust
   - interfaces: convert two hardware_random interfaces to common iface
   - interfaces: convert io_ports_control to common iface
   - tests: fix for  upgrade test on fedora
   - daemon, client, cmd/snap: implement snap start/stop/restart
   - cmd/snap-confine: set _FILE_OFFSET_BITS to 64
   - interfaces: covert framebuffer to commonInterface
   - interfaces: convert joystick to common iface
   - interfaces/builtin: add the spi interface
   - wrappers, overlord/snapstate/backend: make link-snap clean up on
     failure.
   - interfaces/wayland: add wayland interface
   - interfaces: convert kvm to common iface
   - tests: extend upower-observe test to cover snaps providing slots
   - tests: enable main suite for opensuse
   - interfaces: convert physical_memory_observe to common iface
   - interfaces: add missing test for optical_drive interface.
   - interfaces: convert physical_memory_control to common iface
   - interfaces: convert ppp to common iface
   - interfaces: convert time-control to common iface
   - tests: fix failover test
   - interfaces/builtin: rework for avahi interface
   - interfaces: convert broadcom-asic-control to common iface
   - snap/snapenv: document the use of CoreSnapMountDir for SNAP
   - packaging/arch: drop patches merged into master
   - cmd: fix mustUnsetenv docstring (thanks to Chipaca)
   - release: remove default from VERSION_ID
   - tests: enable regression, upgrade and completion test suites for
     fedora
   - tests: restore interfaces-account-control properly
   - overlord/devicestate, store: update device auth endpoints URLs
   - tests: fix install-hook test failure
   - tests: download core and ubuntu-core at most once
   - interfaces: add common support for udev
   - overlord/devicestate: fix, don't assume that the serial is backed
     by a 1-key chain
   - cmd/snap-confine: don't share /etc/nsswitch from host
   - store: do not resume a download when we already have the whole
     thing
   - many: implement "snap logs"
   - store: don't call useDeltas() twice in quick succession
   - interfaces/builtin: add kvm interface
   - snap/snapenv: always expect /snap for $SNAP
   - cmd: mark arch as non-reexecing distro
   - cmd: fix tests that assume /snap mount
   - gitignore: ignore more build artefacts
   - packaging: add current arch packaging
   - interfaces/unity7: allow receiving media key events in (at least)
     gnome-shell
   - interfaces/many, cmd/snap-confine: miscellaneous policy updates
   - interfaces/builtin: implement broadcom-asic-control interface
   - interfaces/builtin: reduce duplication and remove cruft in
     Sanitize{Plug,Slot}
   - tests: apply underscore convention for SNAPMOUNTDIR variable
   - interfaces/greengrass-support: adjust accesses now that have
     working snap
   - daemon, client, cmd/snap: implement "snap services"
   - tests: fix refresh tests not stopping fake store for fedora
   - many: add the interface command
   - overlord/snapstate/backend: some copydata improvements
   - many: support querying and completing assertion type names
   - interfaces/builtin: discard empty Validate{Plug,Slot}
   - cmd/snap-repair:  start of Runner, implement first pass of Peek
     and Fetch
   - tests: enable main suite on fedora
   - snap: do not always quote the snap info summary
   - vendor: update go-flags to address crash in "snap debug"
   - interfaces: opengl support pci device and vendor
   - many: start implenting "base" snap type on the snapd side
   - arch,release: map armv6 correctly
   - many: expose service status in 'snap info'
   - tests: add browser-support interface test
   - tests: disable snapd-notify for the external backend
   - interfaces: Add /run/uuid/request to openvswitch
   - interfaces: add password-manager-service implicit classic
     interface
   - cmd: rework reexec detection
   - cmd: fix re-exec bug when starting from snapd 2.21
   - tests: dependency packages installed during prepare-project
   - tests: remove unneeded check for re-exec in InternalToolPath()
   - cmd,tests: fix classic confinement confusing re-execution code
   - store: configurable base api
   - tests: fix how package lists are updated for opensuse and fedora


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.28.1
    - snap-confine: update apparmor rules for fedora based basesnaps
    - snapstate: rename refresh hook to post-refresh for consistency


author: Neal Gompa <ngompa13@gmail.com> - 2.28.1-1
changelog:
  - Release 2.28.1 to Fedora (RH#1495852)
  - Drop userd backport patches, they are part of 2.28 release
  - Backport changes to rework distro checks to fix derivative distro usage of snapd
  - Revert import path change for cheggaaa/pb as it breaks build on Fedora
  - Add a posttrans relabel to snapd-selinux to ensure everything is labeled correctly


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.28.2
    - interfaces: fix udev rules for tun
    - release,cmd,dirs: Redo the distro checks to take into account
      distribution families


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.28.3
    - interfaces/lxd: lxd slot implementation can also be an app
      snap


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.28.4
    - interfaces/opengl: don't udev tag nvidia devices and use snap-
      confine instead
    - debian: fix replaces/breaks for snap-xdg-open (thanks to apw!)


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.28.5
    - snap-confine: cleanup broken nvidia udev tags
    - cmd/snap-confine: update valid security tag regexp
    - overlord/ifacestate: refresh udev backend on startup
    - dbus: ensure io.snapcraft.Launcher.service is created on re-
      exec
    - snap-confine: add support for handling /dev/nvidia-modeset
    - interfaces/network-control: remove incorrect rules for tun


author: Neal Gompa <ngompa13@gmail.com> - 2.28.5-1
changelog:
  - Release 2.28.5 to Fedora (RH#1502186)
  - Build snap-exec and snap-update-ns statically to support base snaps


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.29
   - interfaces/many: miscellaneous updates based on feedback from the
     field
   - snap-confine: allow reading uevents from any where in /sys
   - spread: add bionic beaver
   - debian: make packaging/ubuntu-14.04/copyright a real file again
   - tests: cherry pick the fix for services test into 2.29
   - cmd/snap-update-ns: initialize logger
   - hooks/configure: queue service restarts
   - snap-{confine,seccomp}: make @unrestricted fully unrestricted
   - interfaces: clean system apparmor cache on core device
   - debian: do not build static snap-exec on powerpc
   - snap-confine: increase sanity_timeout to 6s
   - snapctl: cherry pick service commands changes
   - cmd/snap: tell translators about arg names and descs req's
   - systemd: run all mount units before snapd.service to avoid race
   - store: add a test to show auth failures are forwarded by doRequest
   - daemon: convert ErrInvalidCredentials to a 401 Unauthorized error.
   - store: forward on INVALID_CREDENTIALS error as
     ErrInvalidCredentials
   - daemon: generate a forbidden response message if polkit dialog is
     dismissed
   - daemon: Allow Polkit authorization to cancel changes.
   - travis: switch to container based test runs
   - interfaces: reduce duplicated code in interface tests mocks
   - tests: improve revert related testing
   - interfaces: sanitize plugs and slots early in ReadInfo
   - store: add download caching
   - preserve TMPDIR and HOSTALIASES across snap-confine invocation
   - snap-confine: init all arrays with `= {0,}`
   - tests: adding test for network-manager interface
   - interfaces/mount: don't generate legacy per-hook/per-app mount
     profiles
   - snap: introduce structured epochs
   - tests: fix interfaces-cups-control test for cups-2.2.5
   - snap-confine: cleanup incorrectly created nvidia udev tags
   - cmd/snap-confine: update valid security tag regexp
   - cmd/libsnap: enable two stranded tests
   - cmd,packaging: enable apparmor on openSUSE
   - overlord/ifacestate: refresh all security backends on startup
   - interfaces/dbus: drop unneeded check for
     release.ReleaseInfo.ForceDevMode
   - dbus: ensure io.snapcraft.Launcher.service is created on re-
     exec
   - overlord/auth: continue for now supporting UBUNTU_STORE_ID if the
     model is generic-classic
   - snap-confine: add support for handling /dev/nvidia-modeset
   - interfaces/network-control: remove incorrect rules for tun
   - spread: allow setting SPREAD_DEBUG_EACH=0 to disable debug-each
     section
   - packaging: remove .mnt files on removal
   - tests: fix econnreset scenario when the iptables rule was not
     created
   - tests: add test for lxd interface
   - run-checks: use nakedret static checker to check for naked
     returns on long functions
   - progress: be more flexible in testing ansimeter
   - interfaces: fix udev rules for tun
   - many: implement our own ANSI-escape-using progress indicator
   - snap-exec: update tests to follow main_test pattern
   - snap: support "command: foo $ENV_STRING"
   - packaging: update nvidia configure options
   - snap: add new `snap pack` and use in tests
   - cmd: correctly name the "Ubuntu" and "Arch" NVIDIA methods
   - cmd: add autogen case for solus
   - tests: do not use http://canihazip.com/ which appears to be down
   - hooks: commands for controlling own services from snapctl
   - snap: refactor cmdGet.Execute()
   - interfaces/mount: make Change.Perform testable and test it
   - interfaces/mount,cmd/snap-update-ns: move change code
   - snap-confine: is_running_on_classic_distribution() looks into os-
     release
   - interfaces: misc updates for default, browser-support, home and
     system-observe
   - interfaces: deny lttng by default
   - interfaces/lxd: lxd slot implementation can also be an app snap
   - release,cmd,dirs: Redo the distro checks to take into account
     distribution families
   - cmd/snap: completion for alias and unalias
   - snap-confine: add new SC_CLEANUP and use it
   - snap: refrain from running filepath.Base on random strings
   - cmd/snap-confine: put processes into freezer hierarchy
   - wrappers: fail install if exec-line cannot be re-written
   - cmd/snap-seccomp,osutil: make user/group lookup functions public
   - snapstate: deal with snap user data in the /root/ directory
   - interfaces: Enhance full-confinement support for biarch
     distributions
   - snap-confine: Only attempt to copy/mount NVIDIA libs when NVIDIA
     is used
   - packaging/fedora: Add Fedora 26, 27, and Rawhide symlinks
   - overlord/snapstate: prefer a smaller corner case for doing the
     wrong thing
   - cmd/snap-repair:  set user agent for snap-repair http requests
   - packaging: bring down the delta between 14.04 and 16.04
   - snap-confine: Ensure lib64 biarch directory is respected
   - snap-confine: update apparmor rules for fedora based base snaps
   - tests: Increase SNAPD_CONFIGURE_HOOK_TIMEOUT to 3 minutes to
     install real snaps
   - daemon: use client.Snap instead of map[string]interface{} for
     snaps.
   - hooks: rename refresh hook to post-refresh
   - git: make the .gitingore file a bit more targeted
   - interfaces/opengl: don't udev tag nvidia devices and use snap-
     confine instead
   - cmd/snap-{confine,update-ns}: apply mount profiles using snap-
     update-ns
   - cmd: update "make hack"
   - interfaces/system-observe: allow clients to enumerate DBus
     connection names
   - snap-repair: implement `snap-repair {list,show}`
   - dirs,interfaces: create snap-confine.d on demand when re-executing
   - snap-confine: fix base snaps on core
   - cmd/snap-repair: fix tests when running as root
   - interfaces: add Connection type
   - cmd/snap-repair: skip disabled repairs
   - cmd/snap-repair: prefer leaking unmanaged fds on test failure over
     closing random ones
   - snap-repair: make `repair` binary available for repair scripts
   - snap-repair: fix missing Close() in TestStatusHappy
   - cmd/snap-confine,packaging: import snapd-generated policy
   - cmd/snap: return empty document if snap has no configuration
   - snap-seccomp: run secondary-arch tests via gcc-multilib
   - snap: implement `snap {repair,repairs}` and pass-through to snap-
     repair
   - interfaces/builtin: allow receiving dbus messages
   - snap-repair: implement `snap-repair {done,skip,retry}`
   - data/completion: small tweak to snap completion snippet
   - dirs: fix classic support detection
   - cmd/snap-repair: integrate root public keys for repairs
   - tests: fix ubuntu core services
   - tests: add new test that checks that the compat snapd-xdg-open
     works
   - snap-confine: improve error message if core/u-core cannot be found
   - tests: only run tests/regression/nmcli on amd64
   - interfaces: mount host system fonts in desktop interface
   - interfaces: enable partial apparmor support
   - snapstate: auto-install missing base snaps
   - spread: work around temporary packaging issue in debian sid
   - asserts,cmd/snap-repair: introduce a mandatory summary for repairs
   - asserts,cmd/snap-repair: represent RepairID internally as an int
   - tests: test the real "xdg-open" from the core snap
   - many: implement fetching sections and package names periodically.
   - interfaces/network: allow using netcat as client
   - snap-seccomp, osutil: use osutil.AtomicFile in snap-seccomp
   - snap-seccomp: skip mknod syscall on arm64
   - tests: add trivial canonical-livepatch test
   - tests: add test that ensures that all core services are working
   - many: add logger.MockLogger() and use it in the tests
   - snap-repair: fix test failure in TestRepairHitsTimeout
   - asserts: add empty values check in HeadersFromPrimaryKey
   - daemon: remove unused installSnap var in test
   - daemon: reach for Overlord.Loop less thanks to overlord.Mock
   - snap-seccomp: manually resolve socket() call in tests
   - tests: change regex used to validate installed ubuntu core snap
   - cmd/snapctl: allow snapctl -h without a context (regression fix).
   - many: use snapcore/snapd/i18n instead of i18n/dumb
   - many: introduce asserts.NotFoundError replacing both ErrNotFound
     and store.AssertionNotFoundError
   - packaging: don't include any marcos in comments
   - overlord: use overlord.Mock in more tests, make sure we check the
     outcome of Settle
   - tests: try to fix staging tests
   - store: simplify api base url config
   - systemd: add systemd.MockJournalctl()
   - many: provide systemd.MockSystemctl() helper
   - tests: improve the listing test to not fail for e.g. 2.28~rc2
   - snapstate: give snapmgrTestSuite.settle() more time to settle
   - tests: fix regex to check core version on snap list
   - debian: update trusted account-keys check on 14.04 packaging
   - interfaces: add udev netlink support to hardware-observe
   - overlord: introduce Mock which enables to use Overlord.Settle for
     settle in many more places
   - snap-repair: execute the repair and capture logs/status
   - tests: run the tests/unit/go everywhere
   - daemon, snapstate: move ensureCore from daemon/api.go into
     snapstate.go
   - cmd/snap: get keys or root document
   - spread.yaml: turn suse to manual given that it's breaking master
   - many: configure store from state, reconfigure store at runtime
   - osutil: AtomicWriter (an io.Writer), and io.Reader versions of
     AtomicWrite*
   - tests: check for negative syscalls in runBpf() and skip those
     tests
   - docs: use abolute path in PULL_REQUEST_TEMPLATE.md
   - store: move device auth endpoint uris to config (#3831)


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.29.1
   - interfaces: fix incorrect signature of ofono DBusPermanentSlot
   - interfaces/serial-port: udev tag plugged slots that have just
     'path' via KERNEL
   - interfaces/hidraw: udev tag plugged slots that have just 'path'
     via KERNEL
   - interfaces/uhid: unconditionally add existing uhid device to the
     device cgroup
   - cmd/snap-update-ns: fix mount rules for font sharing
   - tests: disable refresh-undo test on trusty for now
   - tests: use `snap change --last=install` in snapd-reexec test
   - Revert " wrappers: fail install if exec-line cannot be re-written
   - interfaces: don't udev tag devmode or classic snaps
   - many: make ignore-validation sticky and send the flag with refresh
     requests


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.29.2
    - snapctl: disable stop/start/restart (2.29)
    - cmd/snap-update-ns: fix collection of changes made


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.29.3
   - daemon: cherry-picked /v2/logs fixes
   - cmd/snap-confine: Respect biarch nature of libdirs
   - cmd/snap-confine: Ensure snap-confine is allowed to access os-
     release
   - interfaces: fix udev tagging for hooks
   - cmd: fix re-exec bug with classic confinement for host snapd
   - tests: disable xdg-open-compat test
   - cmd/snap-confine: add slave PTYs and let devpts newinstance
     perform mediation
   - interfaces/many: misc policy updates for browser-support, cups-
     control and network-status
   - interfaces/raw-usb: match on SUBSYSTEM, not SUBSYSTEMS
   - tests: fix security-device-cgroup* tests on devices with
     framebuffer


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.29.4
   - snap-confine: fix snap-confine under lxd
   - tests: disable classic-ubuntu-core-transition on i386 temporarily
   - many: reject bad plugs/slots
   - interfaces,tests: skip unknown plug/slot interfaces
   - store: enable "base" field from the store
   - packaging/fedora: Merge changes from Fedora Dist-Git


author: Neal Gompa <ngompa13@gmail.com> - 2.29.4-1
changelog:
  - Release 2.29.4 to Fedora (RH#1508433)
  - Install Polkit configuration (RH#1509586)
  - Drop changes to revert cheggaaa/pb import path used


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.30
   - tests: set TRUST_TEST_KEYS=false for all the external backends
   - tests: fix external backend for tests that need DEBUG output
   - tests: do not disable refresh timer on external backend
   - client: send all snap related bool json fields
   - interfaces: interfaces: also add an app/hook-specific udev RUN
     rule for hotplugging
   - interfaces/desktop,unity7: allow status/activate/lock of
     screensavers
   - tests/main: source mkpinentry.sh
   - devicestate: use a different nowhere domain
   - interfaces: add ssh-keys, ssh-public-keys, gpg-keys and gpg-public
     keys interfaces
   - interfaces/many: misc updates for default, browser-support, opengl,
     desktop, unity7, x11
   - devicestate: fix misbehaving test when using systemd-resolved
   - interfaces/removable-media: also allow 'k' (lock)
   - interfaces/many: misc updates for default, browser-support,
     opengl, desktop, unity7, x11
   - corecfg: also "mask" services when disabling them
   - tests: add support for autopkgtests on s390x
   - snapstate: support for pre-refresh hook
   - many: allow to configure core before it is installed
   - devicestate: fix unkeyed fields error
   - snap-confine: create mount target for lib32,vulkan on demand
   - snapstate: add support for refresh.schedule=managed
   - cmd/snap-update-ns: teach update logic to handle synthetic changes
   - many: remove configure-snapd task again and handle internally
   - snap: fix TestDirAndFileMethods() test to work with gccgo
   - debian: ensure /var/lib/snapd/lib/vulkan is available
   - cmd/snap-confine: use #include instead of bare include
   - snapstate: store userID in snapstate
   - snapd.dirs: add var/lib/snapd/lib/gl32
   - timeutil, overlod/snapstate: cleanup remaining pieces of timeutil
     weekday support
   - packaging/arch: install missing directories, manpages and version
     info
   - snapstate,store: store if a snap is a paid snap in the sideinfo
   - packaging/arch: pre-create snapd directories when packaging
   - tests/main/manpages: set LC_ALL=C as man may complain if the
     locale is unset or unsupported
   - repo: ConnectedPlug and ConnectedSlot types
   - snapd: fix handling of undo in the taskrunner
   - store: fix download caching and add integration test
   - snapstate: move autorefresh code into autoRefresh helper
   - snapctl: don't error out on start/stop/restart from configure hook
     during install or refresh
   - cmd/snap-update-ns: add planWritableMimic
   - deamon: don't omit responses, even if null
   - tests: add test for frame buffer interface
   - tests/lib: fix shellcheck errors
   - apparmor: generate the snap-confine re-exec profile for
     AppArmor{Partial,Full}
   - tests: remove obsolete workaround
   - snap: use existing files in `snap download` if digest/size matches
   - tests: merge pepare-project.sh into prepare-restore.sh
   - tests: cache snaps to $TESTSLIB/cache
   - tests: set -e, -o pipefail in prepare-restore.sh
   - apparmor: generate the snap-confine re-exec profile for
     AppArmor{Partial,Full}
   - cmd/snap-seccomp: fix uid/gid restrictions tests on Arch
   - tests: document and slightly refactor prepare/restore code
   - snapstate: ensure RefreshSchedule() gives accurate results
   - snapstate: add new refresh-hints helper and use it
   - spread.yaml,tests: move most of project-wide prepare/restore to
     separate file
   - timeutil: introduce helpers for weekdays and TimeOfDay
   - tests: adding new test for uhid interface
   - cmd/libsnap: fix parsing of empty mountinfo fields
   - overlord/devicestate:  best effort to go to early full retries for
     registration on the like of DNS no host
   - spread.yaml: bump delta ref to 2.29
   - tests: adding test to test physical memory observe interface
   - cmd, errtracker: get rid of SNAP_DID_REEXEC environment
   - timeutil: remove support to parse weekday schedules
   - snap-confine: add workaround for snap-confine on 4.13/upstream
   - store: do not log the http body for catalog updates
   - snapstate: move catalogRefresh into its own helper
   - spread.yaml: fix shellcheck issues and trivial refactor
   - spread.yaml: move prepare-each closer to restore-each
   - spread.yaml: increase workers for opensuse to 3
   - tests: force delete when tests are restore to avoid suite failure
   - test: ignore /snap/README
   - interfaces/opengl: also allow read on 'revision' in
     /sys/devices/pci...
   - interfaces/screen-inhibit-control: fix case in screen inhibit
     control
   - asserts/sysdb: panic early if pointed to staging but staging keys
     are not compiled-in
   - interfaces: allow /bin/chown and fchownat to root:root
   - timeutil: include test input in error message in
     TestParseSchedule()
   - interfaces/browser-support: adjust base declaration for auto-
     connection
   - snap-confine: fix snap-confine under lxd
   - store: bit less aggressive retry strategy
   - tests: add new `fakestore new-snap-{declaration,revision}` helpers
   - cmd/snap-update-ns: add secureMkfileAll
   - snap: use field names when initializing composite literals
   - HACKING: fix path in snap install
   - store: add support for flags in ListRefresh()
   - interfaces: remove invalid plugs/slots from SnapInfo on
     sanitization.
   - debian: add missing udev dependency
   - snap/validate: extend socket validation tests
   - interfaces: add "refresh-schedule" attribute to snapd-control
   - interfaces/builtin/account_control: use gid owning /etc/shadow to
     setup seccomp rules
   - cmd/snap-update-ns: tweak changePerform
   - interfaces,tests: skip unknown plug/slot interfaces
   - tests: disable interfaces-network-control-tuntap
   - cmd: use a preinit_array function rather than parsing
     /proc/self/cmdline
   - interfaces/time*_control: explicitly deny noisy read on
     /proc/1/environ
   - cmd/snap-update-ns: misc cleanups
   - snapd: allow hooks to have slots
   - fakestore: add go-flags to prepare for `new-snap-declaration` cmd
   - interfaces/browser-support: add shm path for nwjs
   - many: add magic /snap/README file
   - overlord/snapstate: support completion for command aliases
   - tests: re-enable tun/tap test on Debian
   - snap,wrappers: add support for socket activation
   - repo: use PlugInfo and SlotInfo for permanent plugs/slots
   - tests/interfaces-network-control-tuntap: disable on debian-
     unstable for now
   - cmd/snap-confine: Loosen the NVIDIA Vulkan ICD glob
   - cmd/snap-update-ns: detect and report read-only filesystems
   - cmd/snap-update-ns: re-factor secureMkdirAll into
     secureMk{Prefix,Dir}
   - run-checks, tests/lib/snaps/: shellcheck fixes
   - corecfg: validate refresh.schedule when it is applied
   - tests: adjust test to match stderr
   - snapd: fix snap cookie bugs
   - packaging/arch: do not quote MAKEFLAGS
   - state: add change.LaneTasks helper
   - cmd/snap-update-ns: do not assume 'nogroup' exists
   - tests/lib: handle distro specific grub-editenv naming
   - cmd/snap-confine: Add missing bi-arch NVIDIA filesthe
     `/var/lib/snapd/lib/gl:/var/lib/snapd/lib/gl/vdpau` paths within
   - cmd: Support exposing NVIDIA Vulkan ICD files to the snaps
   - cmd/snap-confine: Implement full 32-bit NVIDIA driver support
   - packaging/arch: packaging update
   - cmd/snap-confine: Support bash as base runtime entry
   - wrappers: do not error on incorrect Exec= lines
   - interfaces: fix udev tagging for hooks
   - tests/set-proxy-store: exclude ubuntu-core-16 via systems: key
   - tests: new tests for network setup control and observe interfaces
   - osutil: add helper for obtaining group ID of given file path
   - daemon,overlord/snapstate: return snap-not-installed error in more
     cases
   - interfaces/builtin/lxd_support: allow discovering of host's os-
     release
   - configstate: add support for configure-snapd for
     snapstate.IgnoreHookError
   - tests:  add a spread test for proxy.store setting together with
     store assertion
   - cmd/snap-seccomp: do not use group 'shadow' in tests
   - asserts/assertstest:  fix use of hardcoded value when the passed
     or default keys should be used
   - interfaces/many: misc policy updates for browser-support, cups-
     control and network-status
   - tests: fix xdg-open-compat
   - daemon: for /v2/logs, 404 when no services are found
   - packaging/fedora: Merge changes from Fedora Dist-Git
   - cmd/snap-update-ns: add new helpers for mount entries
   - cmd/snap-confine: Respect biarch nature of libdirs
   - cmd/snap-confine: Ensure snap-confine is allowed to access os-
     release
   - cmd: fix re-exec bug with classic confinement for host snapd <
     2.28
   - interfaces/kmod: simplify loadModules now that errors are ignored
   - tests: disable xdg-open-compat test
   - tests: add test that checks core reverts on core devices
   - dirs: use alt root when checking classic confinement support
     without …
   - interfaces/kmod: treat failure to load module as non-fatal
   - cmd/snap-update-ns: fix golint and some stale comments
   - corecfg:  support setting proxy.store if there's a matching store
     assertion
   - overlord/snapstate: toggle ignore-validation as needed as we do
     for channel
   - tests: fix security-device-cgroup* tests on devices with
     framebuffer
   - interfaces/raw-usb: match on SUBSYSTEM, not SUBSYSTEMS
   - interfaces: add USB interface number attribute in udev rule for
     serial-port interface
   - overlord/devicestate: switch to the new endpoints for registration
   - snap-update-ns: add missing unit test for desired/current profile
     handling
   - cmd/{snap-confine,libsnap-confine-private,snap-shutdown}: cleanup
     low-level C bits
   - ifacestate: make interfaces.Repository available via state cache
   - overlord/snapstate: cleanups around switch-snap*
   - cmd/snapd,client,daemon: display ignore-validation flag through
     the notes mechanism
   - cmd/snap-update-ns: add logging to snap-update-ns
   - many: have a timestamp on store assertions
   - many: lookup and use the URL from a store assertion if one is set
     for use
   - tests/test-snapd-service: fix shellcheck issues
   - tests: new test for hardware-random-control interface
   - tests: use `snap change --last=install` in snapd-reexec test
   - repo, daemon: use PlugInfo, SlotInfo
   - many: handle core configuration internally instead of using the
     core configure hook
   - tests: refactor and expand content interface test
   - snap-seccomp: skip in-kernel bpf tests for socket() in trusty/i386
   - cmd/snap-update-ns: allow Change.Perform to return changes
   - snap-confine: Support biarch Linux distribution confinement
   - partition/ubootenv: don't panic when uboot.env is missing the eof
     marker
   - cmd/snap-update-ns: allow fault injection to provide dynamic
     result
   - interfaces/mount: exspose mount.{Escape,Unescape}
   - snapctl: added long help to stop/start/restart command
   - cmd/snap-update-ns: create missing mount points automatically.
   - cmd: downgrade log message in InternalToolPath to Debugf()
   - tests: wait for service status change & file update in the test to
     avoid races
   - daemon, store: forward SSO invalid credentials errors as 401
     Unauthorized responses
   - spdx: fix for WITH syntax, require a license name before the
     operator
   - many: reorg things in preparation to make handling of the base url
     in store dynamic
   - hooks/configure: queue service restarts
   - cmd/snap: warn when a snap is not from the tracking channel
   - interfaces/mount: add support for parsing x-snapd.{mode,uid,gid}=
   - cmd/snap-confine: add detection of stale mount namespace
   - interfaces: add plugRef/slotRef helpers for PlugInfo/SlotInfo
   - tests: check for invalid udev files during all tests
   - daemon: use newChange() in changeAliases for consistency
   - servicestate: use taskset
   - many: add support for /home on NFS
   - packaging,spread: fix and re-enable opensuse builds


author: Neal Gompa <ngompa13@gmail.com> - 2.30-1
changelog:
  - Release 2.30 to Fedora (RH#1527519)
  - Backport fix to correctly locate snapd libexecdir on Fedora derivatives (RH#1536895)
  - Refresh SELinux policy fix patches with upstream backport version


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.31
   - cmd/snap-confine: allow snap-update-ns to chown things
   - cmd/snap-confine: fix read-only filesystem when mounting nvidia
     files in biarch
   - packaging: create /var/lib/snapd/lib/{gl,gl32,vulkan} as part of
     packaging
   - advisor: ensure commands.db has mode 0644 and add test
   - interfaces/desktop-legacy,unity7: support gtk2/gvfs gtk_show_uri()
   - snap: improve validation of snap layoutsRules for validating
     layouts:
   - snap: fix command-not-found on core devices
   - cmd/snap: display snap license information
   - tests: enable content sharing test for $SNAP
   - userd: add support for a simple UI that can be used from userd
   - snap-confine/nvidia: Support legacy biarch trees for GLVND systems
   - tests: generic detection of gadget and kernel snaps
   - cmd/snap-update-ns: refactor and improve Change.Perform to handle
     EROFS
   - cmd/snap: improve output when snaps were found in a section or the
     section is invalid
   - cmd/snap-confine,tests: hide message about stale base snap
   - cmd/snap-mgmt: fix out of source tree build
   - strutil/quantity: new package that exports formatFoo (from
     progress)
   - cmd/snap: snap refresh --time with new and legacy schedules
   - state: unknown tasks handler
   - cmd/snap-confine,data/systemd: fix removal of snaps inside LXD
   - snap: add io.snapcraft.Settings to `snap userd`
   - spread: remove more EOLed releases
   - snap: tidy up top-level help output
   - snap: fix race in `snap run --strace`
   - tests: update "searching" test to match store changes
   - store: use the "publisher" when populating the "publisher" field
   - snap: make `snap find --section` show all sections
   - tests: new test to validate location control interface
   - many: add new `snap refresh --amend <snap>` command
   - tests/main/kernel-snap-refresh-on-core: skip the whole test if
     edge and stable are the same version
   - tests: set test kernel-snap-refresh-on-core to manual
   - tests: new spread test for interface gpg-keys
   - packaging/fedora: Merge changes from Fedora Dist-Git plus trivial
     fix
   - interfaces: miscellaneous policy updates
   - interfaces/builtin: Replace Solus support with GLVND support
   - tests/main/kernel-snap-refresh-on-core: do not fail if edge and
     stable kernels are the same version
   - snap: add `snap run --strace` to be able to strace snap apps
   - tests: new spread test for ssh-keys interface
   - errtracker: include detected virtualisation
   - tests: add new kernel refresh/revert test for spread-cron
   - interfaces/builtin: blacklist zigbee dongle
   - cmd/snap-confine: discard stale mount namespaces
   - cmd: remove unused execArg0/execEnv
   - snap,interfaces/mount: disallow nobody/nogroup
   - cmd/snap: improve `snap aliases` output when no aliases are
     defined
   - tests/lib/snaps/test-snapd-service: refactor service reload
   - tests: new spread test for gpg-public-keys interface
   - tests: new spread test for ssh-public-keys interface
   - spread: setup machine creation on Linode
   - interfaces/builtin: allow introspecting UDisks2
   - interfaces/builtin: add support for content "source" section
   - tests: new spread test for netlink-audit interface
   - daemon: avoid panic'ing building an error response w/no snaps
     given
   - interfaces/mount,snap: early support for snap layouts
   - daemon: unlock state even if RefreshSchedule() fails
   - arch: add "armv8l" to ubuntuArchFromKernelArch table
   - tests: fix for test interface-netlink-connector
   - data/dbus: add AssumedAppArmorLabel=unconfined
   - advisor: use forked bolt to make it work on ppc
   - overlord/snapstate: record the 'kind' of conflicting change
   - dirs: fix snap mount dir on Manjaro
   - overlord/{snapstate,configstate}, daemon: introduce refresh.timer,
     fallback to refresh.schedule
   - config: add support for `snap set core proxy.no_proxy=...`
   - snap-mgmt: extend spread tests, stop, disable and cleanup snap
     services
   - spread.yaml: add fedora 27
   - cmd/snap-confine: allow snap-update-ns to poke writable holes in
     $SNAP
   - packaging/14.04: move linux-generic-lts-xenial to recommends
   - osutil/sys: ppc has 32-bit getuid already
   - snapstate: make no autorefresh message clearer
   - spread: try to enable Fedora once more
   - overlord/snapstate: do a minimal sanity check on containers
   - configcore: ensure config.txt has a final newline
   - cmd/libsnap-confine-private: print failed mount/umount regardless
     of SNAP_CONFINE_DEBUG
   - debian/tests: add missing autopkgtest test dependencies for debian
   - image: port ini handling to goconfigparser
   - tests/main/snap-service-after-before: add test for after/before
     service ordering
   - tests: enabling opensuse for tests
   - tests: update auto-refresh-private to match messages from current
     master
   - dirs: check if distro 'is like' fedora when picking path to
     libexecdir
   - tests: fix "job canceled" issue and improve cleanup for snaps
   - cmd/libsnap-confine-private: add debug build of libsnap-confine-
     private.a, link it into snap-confine-debug
   - vendor: remove x/sys/unix to fix builds on arm64 and powerpc
   - image: let consume snapcraft export-login files from tooling
   - interfaces/mir: allow Wayland socket and non-root sockets
   - interfaces/builtin: use snap.{Plug,Slot}Info over
     interfaces.{Plug,Slot}
   - tests: add simple snap-mgmt test
   - wrappers: autogenerate After/Before in systemd's service files for
     apps
   - snap: add usage hints in `snap download`
   - snap: provide more meaningful errors for installMany and friends
   - cmd/snap: show header/footer when `snap find` is used without
     arguments
   - overlord/snapstate: for Enable's tasks refer to the first task
     with snap-setup, do not duplicate
   - tests: add hard-coded fully expired macaroons to run related tests
   - cmd/snap-update-ns: new test features
   - cmd/snap-update-ns: we don't want to bind mount symlinks
   - interfaces/mount: test OptsToCommonFlags, filter out x-snapd.
     options
   - cmd/snap-update-ns: untangle upcoming cyclic initialization
   - client, daemon: update user's email when logging in with new
     account
   - tests: ensure snap-confine apparmor profile is parsable
   - snap: do not leak internal errors on install/refresh etc
   - snap: fix missing error check when multiple snaps are refreshed
   - spread: trying to re-enable tests on Fedora
   - snap: fix gadget.yaml parsing for multi volume gadgets
   - snap: give the snap.Container interface a Walk method
   - snap: rename `snap advise-command` to `snap advise-snap --command`
   - overlord/snapstate: no refresh just for hints if there was a
     recent regular full refresh
   - progress: switch ansimeter's Spin() to use a spinner
   - snap: support `command-not-found` symlink for `snap advise-
     command`
   - daemon: store email, ID and macaroon when creating a new user
   - snap: app startup after/before validation
   - timeutil: refresh timer take 2
   - store, daemon/api: Rename MyAppsServer, point to
     dashboard.snapcraft.io instead
   - tests: use "quiet" helper instead of "dnf -q" to get errors on
     failures
   - cmd/snap-update-ns: improve mocking for tests
   - many: implement the advisor backend, populate it from the store
   - tests: make less calls to the package manager
   - tests/main/confinement-classic: enable the test on Fedora
   - snap: do not leak internal network errors to the user
   - snap: use stdout instead of stderr for "fetching" message
   - tests: fix test whoami, share successful_login.exp
   - many: refresh with appropriate creds
   - snap: add new `snap advice-command` skeleton
   - tests: add test that ensures we never parse versions as numbers
   - overlord/snapstate: override Snapstate.UserID in refresh if the
     installing user is gone
   - interfaces: allow socket "shutdown" syscall in default profile
   - snap: print friendly message if `snap keys` is empty
   - cmd/snap-update-ns: add execWritableMimic
   - snap: make `snap info invalid-snap` output more user friendly
   - cmd/snap,  tests/main/classic-confinement: fix snap-exec path when
     running under classic confinement
   - overlord/ifacestate: fix disable/enable cycle to setup security
   - snap: fix snap find " " output
   - daemon: add new polkit action to manage interfaces
   - packaging/arch: disable services when removing
   - asserts/signtool: support for building tools on top that fill-
     in/compute some headers
   - cmd: clarify "This leaves %s tracking %s." message
   - daemon: return "bad-query" error kind for store.ErrBadQuery
   - taskrunner/many: KnownTaskKinds helper
   - tests/main/interfaces-fuse_support: fix confinement, allow
     unmount, fix spread tests
   - snap: use the -no-fragments mksquashfs option
   - data/selinux: allow messages from policykit
   - tests: fix catalog-update wait loop
   - tests/lib/prepare-restore: disable rate limiting in journald
   - tests: change interfaces-fuse_support to be debug friendly
   - tests/main/postrm-purge: stop snapd before purge
   - This is an example of test log:https://paste.ubuntu.com/26215170/
   - tests/main/interfaces-fuse_support: dump more debugging
     information
   - interfaces/dbus: adjust slot policy for listen, accept and accept4
     syscalls
   - tests: save the snapd-state without compression
   - tests/main/searching: handle changes in featured snaps list
   - overlord/snapstate: fix auto-refresh summary for 2 snaps
   - overlord/auth,daemon: introduce an explicit auth.ErrInvalidUser
   - interfaces: add /proc/partitions to system-observe (This addresses
     LP#1708527.)
   - tests/lib: introduce helpers for setting up /dev/random using
     /dev/urandom in project prepare
   - tests: new test for interface network status
   - interfaces: interfaces: also add an app/hook-specific udev RUN
     rule for hotplugging
   - tests: fix external backend for tests that need DEBUG output
   - tests: do not disable refresh timer on external backend
   - client: send all snap related bool json fields
   - interfaces/desktop,unity7: allow status/activate/lock of
     screensavers
   - tests/main: source mkpinentry.sh
   - tests: fix security-device-cgroups-serial-port test for rpi and db
   - cmd/snap-mgmt: add more directories for cleanup and refactor
     purge() code
   - snap: YAML and data structures for app before/after ordering
   - tests: set TRUST_TEST_KEYS=false for all the external backends
   - packaging/arch: install snap-mgmt tool
   - tests: add support on tests for cm3 gadget
   - interfaces/removable-media: also allow 'k' (lock)
   - interfaces: use ConnectedPlug/ConnectedSlot types (step 2)
   - interfaces: rename sanitize methods
   - devicestate: fix misbehaving test when using systemd-resolved
   - interfaces: added Ref() helpers, restored more detailed error
     message on spi iface
   - debian: make "gnupg" a recommends
   - interfaces/many: misc updates for default, browser-support,
     opengl, desktop, unity7, x11
   - interfaces: PlugInfo/SlotInfo/ConnectedPlug/ConnectedSlot
     attribute helpers
   - interfaces: update fixme comments
   - tests: make interfaces-snapd-control-with-manage more robust
   - userd: generalize dbusInterface
   - interfaces: use ConnectedPlug/ConnectedSlot types (step 1)
   - hookstate: add compat "configure-snapd" task.
   - config, overlord/snapstate, timeutil: rename ParseSchedule to
     ParseLegacySchedule
   - tests: adding tests for time*-control interfaces
   - tests: new test to check interfaces after reboot the system
   - cmd/snap-mgmt: fixes
   - packaging/opensuse-42.2: package and use snap-mgmt
   - corecfg: also "mask" services when disabling them
   - cmd/snap-mgmt: introduce snap-mgmt tool
   - configstate: simplify ConfigManager
   - interfaces: add gpio-memory-control interface
   - cmd: disable check-syntax-c
   - packaging/arch: add bash-completion as optional dependency
   - corecfg: rename package to overlord/configstate/configcore
   - wrappers: fix unit tests to use dirs.SnapMountDir
   - osutil/sys: reimplement getuid and chown with the right int type
   - interfaces-netlink-connector: fix sourcing snaps.sh


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.31.1
   - tests: multiple autopkgtest related fixes for 18.04
   - overlord/snapstate: use spread in the default refresh schedule
   - timeutil: fix scheduling on nth weekday of the month
   - interfaces: miscellaneous policy updates for home, opengl, time-
     control, network, et al
   - cmd/snap: use proper help strings for `snap userd --help`
   - interfaces/time-control,netlink-audit: adjust for util-linux
     compiled with libaudit
   - rules: do not static link on powerpc
   - packaging: revert LDFLAGS rewrite again after building snap-
     seccomp
   - store: revert PR#4532 and do not display displayname
   - daemon: allow `snapctl get` from any uid
   - debian, snap: only static link libseccomp in snap-seccomp on
     ubuntu
   - daemon: improve ucrednet code for the snap.socket


author: Neal Gompa <ngompa13@gmail.com> - 2.31.1-1
changelog:
  - Release 2.31.1 to Fedora (RH#1542483)
  - Drop all backported patches as they're part of this release


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.31.2
   - many: add the snapd-generator
   - polkit: ensure error is properly set if dialog is dismissed
   - xdgopenproxy: integrate xdg-open implementation into snapctl
   - userd: add an OpenFile method for launching local files with xdg-
     open
   - configstate: when disable "ssh" we must disable the "sshd"
     service
   - many: remove snapd.refresh.{timer,service}
   - interfaces/builtin: allow MM to access login1
   - timeutil: account for 24h wrap when flattening clock spans
   - interfaces/screen-inhibit-control,network-status: fix dbus path
     and interface typos
   - systemd, wrappers: start all snap services in one systemctl
     call
   - tests: disable interfaces-location-control on s390x


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.32
   - snap: make `snap run` look at the system-key for security profiles
   - overlord/configstate: change how ssh is stopped/started
   - cmd/snap-confine: nvidia: preserve globbed file prefix
   - advisor: deal with missing commands.db file
   - interfaces,release: probe seccomp features lazily
   - interfaces: harden snap-update-ns profile
   - polkit: Pass caller uid to PolicyKit authority
   - tests: change debug for layout test
   - cmd/snap-confine: don't use per-snap s-u-n profile
   - many: backported fixes for layouts and symlinks
   - cmd/snap-confine: nvidia: add tls/libnvidia-tls.so* glob
   - cmd/snap-update-ns: use x-snapd.{synthetic,needed-by} in practice
   - snap: Call SanitizePlugsSlots from InfoFromSnapYaml
   - cmd/snap-confine: fix ptrace rule with snap-confine peer
   - tests: update tests to deal with s390x quirks
   - snapstate: add compat mode for default-provider"snapname:ifname"
   - snap-confine: fallback to /lib/udev/snappy-app-dev if the core is
     older
   - tests: a bunch of test fixes for s390x from looking at the
     autopkgtest logs
   - packaging: recommend "gnupg" instead of "gnupg1 | gnupg"
   - interfaces/builtin: let MM change qmi device attributes
   - debian: undo snap.mount system unit removal
   - snap: don't create empty Change with "Hold" state on disconnect
   - tests: add workaround for s390x failure
   - tests: make autopkgtest tests more targeted
   - many: propagate contexts enough to be able to mark store
     operations done from the Ensure loop
   - store: cleanup test naming, dropping remoteRepo and
     UbuntuStore(Repository)? references
   - store: reorg auth refresh
   - tests: autopkgtest may have non edge core too
   - data: translate polkit strings
   - snapstate: put layout feature behind feature flag
   - errtracker: respect the /etc/whoopsie configuration
   - overlord/snapstate: hold refreshes for 2h after seeding on classic
   - many: cherry-pick relevant `go vet` 1.10 fixes to 2.32
   - snap/squashfs: when installing from seed, try symlink before cp
   - wrappers: services which are socket or timer activated should not
     be started during boot
   - many: generate and use per-snap snap-update-ns profile
   - many: support holding refreshes by setting refresh.hold
   - snap-confine, snap-seccomp: utilize new seccomp logging features
   - many: remove snapd.refresh.{timer,service}
   - many: add the snapd-generator
   - polkit: do not shadow dbus errors, avoid panic in case of errors
   - polkit: ensure error is properly set if dialog is dismissed
   - xdgopenproxy: integrate xdg-open implementation into snapctl
   - userd: add an OpenFile method for launching local files with xdg-
     open
   - asserts:  use a timestamp for the assertion after the signing key
     has been created
   - ifacestate: be consistent passing Retry.After as named field
   - interfaces/apparmor,system-key: add upperdir snippets for strict
     snaps on livecd
     interfaces/apparmor,system-key: add upperdir snippets for strict
     snaps
   - configstate: when disable "ssh" we must disable the "sshd"
     service
   - store: don't ask for snap_yaml_raw except on the details endpoint
   - osutil: handle file being matched by multiple patterns
   - cmd/snap-update-ns: use recursive bind mounts for writable mimic
   - cmd/snap-update-ns: use syscall.Symlink instead of os.Symlink
   - interfaces/screen-inhibit-control,network-status: fix dbus path
     and interface typos
   - interfaces/network-status: fix use of '/' in interface in DBus
     rule
   - interfaces/screen-inhibit-control: fix use of '.' in path in DBus
     rule
   - overlord/snapstate: fix task iteration order in
     TestDoPrereqRetryWhenBaseInFlight
   - interfaces: add an interface for gnome-online-accounts D-Bus
     service
   - snap: pass full timer spec in `snap run --timer`
   - cmd/snap: introduce `snap run --timer`
   - snapstate: auto install default-providers for content snaps
   - hooks/strutil: limit the number of data read from the hooks to
     avoid oom
   - osutil: aggregate mockable symbols
   - tests: make sure snapd is running before attempting to remove
     leftover snaps
   - timeutil: account for 24h wrap when flattening clock spans
   - many: send  new Snap-CDN header with none or with cloud instance
     placement info as needed
   - cmd/snap-update-ns,testutil: move syscall testing helpers
   - tests: disable interfaces-location-control on s390x
   - tests: new spread test for gpio-memory-control interface
   - tests: spread test for broadcom-asic-control interface
   - tests: make restore of interfaces-password-manager-service more
     robust
   - tests/lib/prepare-restore: sync journal before rotating and
     vacuuming
   - overlord/snapstate: use spread in the default refresh schedule
   - tests: fixes for autopkgtest in bionic
   - timeutil: introduce helpers for checking it time falls inside the
     schedule
   - cmd/snap-repair,httputil: set snap-repair User-Agent on requests
   - vendor: resync formatting of vendor.json
   - snapstate/ifacestate: auto-connect tasks
   - cmd/snap: also include tracking channel in list output.
   - interfaces/apparmor: use snap revision with surrounding '.' when
     replacing in glob
   - debian,vendor: import github.com/snapcore/squashfs and use
   - many: implement "refresh-mode: {restart,endure,...}" for services
   - daemon: make the ast-inspecting test smarter; drop 'exceptions'
   - tests: new spread test for kvm interface
   - cmd/snap: tweaks to 'snap info' output
   - snap: remove underscore from version validator regexp
   - testutil: add File{Matches,Equals,Contains} checkers.
   - snap: improve the version validator's error messages.
   - osutil: refactor EnsureFileState to separate out the comparator
   - timeutil: fix scheduling on nth weekday of the month
   - cmd/snap-update-ns: small refactor for upcoming per-user mounts
   - many: rename snappy-app-dev to snap-device-helper
   - systemd: add default target for timers
   - interfaces: miscellaneous policy updates for home, opengl, time-
     control, network, et al
   - cmd/snap: linter cleanups
   - interfaces/mount: generate per-user mount profiles
   - cmd/snap: use proper help strings for `snap userd --help`
   - packaging: provide a compat symlink for snappy-app-dev
   - interfaces/time-control,netlink-audit: adjust for util-linux
     compiled with libaudit
   - tests: adding new test to validate the raw-usb interface
   - snap: add support for `snap run --gdb`
   - interfaces/builtin: allow MM to access login1
   - packaging: fix build on sbuild
   - store: revert PR#4532 and do not display displayname
   - interfaces/mount: add support for per-user mount entries
   - cmd/system-shutdown: move sync to be even more pessimistic
   - osutil: reimplement IsMounted with LoadMountInfo
   - tests/main/ubuntu-core-services: enable snapd.refresh.timer for
     the test
   - many: don't allow layout construction to silently fail
   - interfaces/apparmor: ensure snap-confine profile for reexec is
     current
   - interfaces/apparmor: generalize apparmor load and unload helpers
   - tests: removing packages which are not needed anymore to generate
     random data
   - snap: improve `snap run` comments/naming
   - snap: allow options for --strace, e.g. `snap run --strace="-tt"`
   - tests: fix spread test failures on 18.04
   - systemd: update comment on SocketsTarget
   - osutil: add and update docstrings
   - osutil: parse mount entries without options field
   - interfaces: mock away real mountinfo/fstab
   - many: move /lib/udev/snappy-app-dev to /usr/lib/snapd/snappy-app-
     dev
   - overlord/snapstate/backend: perform cleanup if snap setup fails
   - tests/lib/prepare: disable snapd.refresh.timer
   - daemon: remove redundant UserOK markings from api commands
   - snap: introduce  timer service data types and validation
   - cmd/snap: fix UX of snap services
   - daemon: allow `snapctl get` from any uid
   - debian, snap: only static link libseccomp in snap-seccomp on
     ubuntu
   - all: snap versions are now validated
   - many: add nfs-home flag to system-key
   - snap: disallow layouts in various special directories
   - cmd/snap: add help for service commands.
   - devicestate: fix autopkgtest failure in
     TestDoRequestSerialErrorsOnNoHost
   - snap,interfaces: allow using bind-file layouts
   - many: move mount code to osutil
   - snap: understand directories in layout blacklist
   - snap: use custom unsquashfsStderrWriter for unsquashfs error
     detection
   - tests/main/user-data-handling: get rid of ordering bug
   - snap: exclude `gettimeofday` from `snap run --strace`
   - tests: check if snapd.socket is active before stoping it
   - snap: sort layout elements before validating
   - strutil: introducing MatchCounter
   - snap: detect unsquashfs write failures
   - spread: add missing ubuntu-18.04-arm64 to available autopkgtest
     machines
   - cmd/snap-confine: allow mounting anywhere, effectively
   - daemon: improve ucrednet code for the snap.socket
   - release, interfaces: add new release.AppArmorFeatures helper
   - snap: apply some golint suggestions
   - many: add interfaces.SystemKey() helper
   - tests: new snaps to test installs nightly
   - tests: skip alsa interface test when the system does not have any
     audio devices
   - debian/rules: workaround for
     https://github.com/golang/go/issues/23721
   - interfaces/apparmor: early support for snap-update-ns snippets
   - wrappers: cleanup enabled service sockets
   - cmd/snap-update-ns: large refactor / update of unit tests
   - interfaces/apparmor: remove leaked future layout code
   - many: allow constructing layouts (phase 1)
   - data/systemd: for debugging/testing use /etc/environment also for
     snap-repair runs
   - cmd/snap-confine: create lib/{gl,gl32,vulkan} under /var/lib/snapd
     and chown as root:root
   - overlord/configstate/config: make [GS]etSnapConfig use *RawMessage
   - daemon: refactor snapFooMany helpers a little
   - cmd/snap-confine: allow snap-update-ns to chown things
   - interfaces/apparmor: use a helper to set the scope
   - overlord/configstate/config: make SetSnapConfig delete on empty
   - osutil: make MkdirAllChown clean the path passed in
   - many: at seeding try to capture cloud information into core config
     under "cloud"
   - cmd/snap: add completion conversion helper to increase DRY
   - many: remove "content" argument from snaptest.MockSnap()
   - osutil: allow using many globs in EnsureDirState
   - cmd/snap-confine: fix read-only filesystem when mounting nvidia
     files in biarch
   - tests: use root path to /home/test/tmp to avoid lack of space
     issue
   - packaging: create /var/lib/snapd/lib/{gl,gl32,vulkan} as part of
     packaging
   - tests: update kill-timeout focused on making tests pass on boards
   - advisor: ensure commands.db has mode 0644 and add test
   - snap: improve validation of snap layouts
   - tests: ensure disabled services are masked
   - interfaces/desktop-legacy,unity7: support gtk2/gvfs gtk_show_uri()
   - systemd, wrappers: start all snap services in one systemctl call
   - mir: software clients need access to shared memory /dev/shm/#*
   - snap: add support for `snap advise-snap pkgName`
   - snap: fix command-not-found on core devices
   - tests: new spead test for openvswitch-support interface
   - tests: add integration for local snap licenses
   - config: add (Get|Set)SnapConfig to do bulk config e.g. from
     snapshots
   - cmd/snap: display snap license information
   - tests: enable content sharing test for $SNAP
   - osutil: add ContextWriter and RunWithContext helpers.
   - osutil: add DirExists and IsDirNotExist


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.32.1
   - cmd/snapd: make sure signal handlers are established during early
     daemon startup
   - osutil: use tilde suffix for temporary files used for atomic
     replacement
   - cmd/snap-confine: apparmor: allow creating prefix path for
     gl/vulkan
   - tests: disentangle etc vs extrausers in core tests
   - packaging: fix changelogs' typo


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.32.2
   - interfaces/content: add rule so slot can access writable files at
     plug's mountpoint
   - tests: adjust canonical-livepatch test on GCE
   - interfaces/serial: change pattern not to exclude /dev/ttymxc
   - spread.yaml: switch Fedora 27 tests to manual
   - store: Sections and WriteCatalogs need to strictly send device
     auth only if the device has a custom store
   - configstate: give a chance to immediately recompute the next
     refresh time when schedules are set
   - cmd/snap-confine: attempt to detect if multiarch host uses arch
     triplets
   - vendor: update gopkg.in/yaml.v2 to the latest version (#4945)


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.32.3
   - ifacestate: add to the repo also snaps that are pending being
     activated but have a done setup-profiles
   - snapstate: inject autoconnect tasks in doLinkSnap for regular
     snaps
   - cmd/snap-confine: allow creating missing gl32, gl, vulkan dirs
   - errtracker: add more fields to aid debugging
   - interfaces: make system-key more robust against invalid fstab
     entries
   - cmd/snap-mgmt: remove timers, udev rules, dbus policy files
   - overlord,interfaces: be more vocal about broken snaps and read
     errors
   - osutil: fix fstab parser to allow for # in field values


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.32.3.1
   - debian: add gbp.conf script to build snapd via `gbp
     buildpackage`
   - tests: add check for OOM error after each test
   - cmd/snap-seccomp: graceful handling of non-multilib host
   - interfaces/shutdown: allow calling SetWallMessage
   - data/selinux: Give snapd access to more aspects of the system
   - daemon,overlord/hookstate: stop/wait for running hooks before
     closing the snapctl socket
   - cmd/snap-confine: ignore missing cgroups in snap-device-helper
   - interfaces: misc updates for default, firewall-control, fuse-
     support and process-control
   - overlord: test fix, address corner case


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.32.3.2
   - errtracker: make TestJournalErrorSilentError work on
     gccgo
   - errtracker: check for whoopsie.service instead of reading
     /etc/whoopsie


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.32.4
   - cmd/snap: user session application autostart
   - overlord/snapstate: introduce envvars to control the channels for
     bases and prereqs
   - overlord/snapstate: on multi-snap refresh make sure bases and core
     are finished before dependent snaps
   - many: use the new install/refresh /v2/snaps/refresh store API


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.32.5
   - many: add "stop-mode: sig{term,hup,usr[12]}{,-all}" instead of
     conflating that with refresh-mode
   - overlord/snapstate:  poll for up to 10s if a snap is unexpectedly
     not mounted in doMountSnap
   - daemon: support 'system' as nickname of the core snap


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.32.6
   - snap: do not use overly short timeout in `snap
     {start,stop,restart}`
   - interfaces/apparmor: fix incorrect apparmor profile glob
   - tests: detect kernel oops during tests and abort tests in this
     case
   - tests: run interfaces-boradcom-asic-control early
   - tests: skip interfaces-content test on core devices


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.32.7
   - many: add wait command and seeded target (2
   - snapd.core-fixup.sh: add workaround for corrupted uboot.env
   - boot: clear "snap_mode" when needed
   - cmd/libsnap: fix compile error on more restrictive gcc
   - tests: cherry-pick commits to move spread to google backend
   - spread.yaml: add cosmic (18.10) to autopkgtest/qemu
   - userd: set up journal logging streams for autostarted apps


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.32.9
   - tests: run all spread tests inside GCE
   - tests: build spread in the autopkgtests with a more recent go


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.33
   - packaging: use official bolt in the errtracker on fedora
   - many: add `snap debug connectivity` command
   - interfaces/raw-usb: also allow usb serial devices
   - errtracker: do not send duplicated reports
   - selftest: add new selftest package that tests squashfs mounting
   - tests: backport lxd force stop and econnreset fixes
   - tests: add test to ensure /dev/input/event* for non-joysticks is
     denied
   - interfaces/joystick: support modern evdev joysticks
   - interfaces: add juju-client-observe
   - interfaces/hardware-observe: allow access to /etc/sensors* for
     libsensors
   - many: holding refresh on metered connections
   - many: expose AppStream IDs (AKA common ID)
   - tests: speed up save/restore snapd state for all-snap systems
     during tests execution
   - interfaces/apparmor: use helper to load stray profile
   - tests: ubuntu core abstraction
   - overlord/snapstate: don't panic in a corner case interaction of
     cleanup tasks and pruning
   - interfaces/apparmor: add 'mediate_deleted' profile flag for all
     snaps
   - tests: new parameter for the journalctl rate limit
   - spread-shellcheck: port to python
   - interfaces/home: add 'read' attribute to allow non-owner read to
     @{HOME}
   - testutil: import check.v1 differently to workaround gccgo error
   - interfaces/many: miscellaneous updates for default, desktop,
     desktop-legacy, system-observe, hardware-observe, opengl and gpg-
     keys
   - snapstate/hooks: reorder autoconnect and reconnect hooks
   - daemon: update unit tests to match current master
   - overlord/snapshotstate/backend: introducing the snapshot backend
   - many: support 'system' nickname in interfaces
   - userd: add the "snap" scheme to the whitelist
   - many: make rebooting of core on refresh immediate, refactor logic
     around it
   - tests/main/snap-service-timer: account for service timer being in
     the 'running' state
   - interfaces/builtin: allow access to libGLESv* too for opengl
     interface
   - daemon: fix unit tests on arch
   - interfaces/default,process-control: miscellaneous signal policy
     fixes
   - interfaces/bulitin: add write permission to optical-drive
   - configstate: validate known core.* options
   - snap, wrappers: systemd WatchdogSec support
   - ifacestate: do not auto-connect manually disconnected interfaces
   - systemd: mock useFuse() so testsuite passes in container via lxd
     snap
   - snap/env: fix env duplication logic
   - snap: some doc comments fixes and additions
   - cmd/snap-confine, interfaces/opengl: allow access to glvnd EGL
     vendor files
   - ifacestate: unify reconnect and autoconnect methods
   - tests: fix user mounts test for external systems
   - overlord/snapstate,overlord/auth,store: coalesce no auth user
     refresh requests
   - boot,partition: improve tests/docs around SetNextBoot()
   - many: improve `snap wait` command
   - snap: fix `snap interface --attrs` output when numbers are used
   - cmd/snap-update-ns: poke holes when creating source paths for
     layouts
   - snapstate: support getting new bases/default-providers on refresh
   - ifacemgr: remove stale connections on startup
   - asserts: use Attrer in policy checks
   - testutil: record system call errors / return values
   - tests: increase timeouts to make tests reliable on slow boards
   - repo: pass and return ConnRef via pointers
   - interfaces: add xdg-document-portal support to desktop interface
   - debian: add a zenity|kdialog suggests
   - snapstate: make TestDoPrereqRetryWhenBaseInFlight less brittle
   - tests: go must be installed as a classic snap
   - tests: use journalctl cursors instead rotating logs
   - daemon: add confinement-options to /v2/system-info
     daemon: refactor classic support flag to be more structured
   - tests: build spread in the autopkgtests with a more recent go
   - cmd/snap: fix the message when snap.channel != snap.tracking
   - overlord/snapstate: allow core defaults configuration via 'system'
     key
   - many: add "snap debug sandbox-features" and needed bits
   - interfaces: interface hooks for refresh
   - snapd.core-fixup.sh: add workaround for corrupted uboot.env
   - boot: clear "snap_mode" when needed
   - many: add wait command and `snapd.seeded` service
   - interfaces: move host font update-ns AppArmor rules to desktop
     interface
   - jsonutil/safejson: introducing safejson.String &
     safejson.Paragraph
   - cmd/snap-update-ns: use Secure.BindMount to bind mount files
   - cmd/snap-update-ns,tests: mimic the mode and ownership of
     directories
   - cmd/snap-update-ns: add support for ignoring mounts with missing
     source/target
   - interfaces: interface hooks implementation
   - cmd/libsnap: fix compile error on more restrictive gcc
     cmd/libsnap: fix compilation errors on gcc 8
   - interfaces/apparmor: allow bash and dash to be in /usr/bin/
   - cmd/snap-confine: allow any base snap to provide /etc/alternatives
   - tests: fix interfaces-network test for systems with partial
     confinement
   - spread.yaml: add cosmic (18.10) to autopkgtest/qemu
   - tests: ubuntu 18.04 or higher does not need linux-image-extra-
   - configcore: validate experimental.layouts option
   - interfaces:minor autoconnect cleanup
   - HACKING: fix typos
   - spread: add adt for ubuntu 18.10
   - tests: skip test lp-1721518 for arch, snapd is failing to start
     after reboot
   - interfaces/x11: allow X11 slot implementations
   - tests: checking interfaces declaring the specific interface
   - snap: improve error for snaps not available in the given context
   - cmdstate: add missing test for default timeout handling
   - tests: shellcheck spread tasks
   - cmd/snap: update install/refresh help vs --revision
   - cmd/snap-confine: add support for per-user mounts
   - snap: do not use overly short timeout in `snap
     {start,stop,restart}`
   - tests: adding google-sru backend replacing linode-sur
   - interfaces/apparmor: fix incorrect apparmor profile glob
   - systemd: replace ancient paths with 16.04+ standards
   - overlord,systemd: store snap revision in mount units
   - testutil: add test helper for SysLstat
   - testutil,cmd: rename test helper of Lstat to OsLstat
   - testutil: document all fake syscall/os functions
   - osutil,interfaces,cmd: use less hardcoded strings
   - testutil: rename UNMOUNT_NOFOLLOW to umountNoFollow
   - testutil: don't dot-import check.v1
   - store: getStructFields takes pointers now
   - tests: drop `linux-image-extra-$(uname -r)` install in 18.04
   - many: fix false negatives reported by vet
   - osutil,interfaces: use uint32 for uid, gid
   - many: fix various issues reported by shellcheck
   - tests: add pending shutdown detection
   - image: support refreshing soft-expired user macaroons in tooling
   - interfaces/builtin, daemon: cleanup mocked builtin interfaces in
     daemon tests
   - interfaces/builtin: add support for software-watchdog interface
   - spread: auto accept key changes when calling dnf
   - snap,overlord/snapstate: introduce and use BrokenSnapError
   - tests: detect kernel oops during tests and abort tests in this
     case
   - tests: bring back one missing test in snap-service-stop-mode
   - debian: update LP bug for the 2.32.5 SRU
   - userd: set up journal logging streams for autostarted apps
   - snap,tests : don't fail if we cannot stat MountFile
   - tests: smaller fixes for Arch tests
   - tests: run interfaces-broadcom-asic-control early
   - client: support for snapshot sets, snapshots, and snapshot actions
   - tests: skip interfaces-content test on core devices
   - cmd: generalize locking to global, snap and per-user locks
   - release-tools: handle the snapd-x.y.z version
   - packaging: fix incorrectly auto-generated changelog entry for
     2.32.5
   - tests: add arch to CI
   - systemd: add helper for opening stream file descriptors to the
     journal
   - cmd/snap: handle distros with no version ID
   - many: add "stop-mode: sig{term,hup,usr[12]}{,-all}" instead of
     conflating that with refresh-mode
   - tests: removing linode-sru backend
   - tests: updating bionic version for spread tests on google
   - overlord/snapstate: poll for up to 10s if a snap is unexpectedly
     not mounted in doMountSnap
   - overlord/snapstate: allow to get an error from readInfo instead of
     a broken stub, use it in doMountSnap
   - snap: snap.AppInfo is now a fmt.Stringer
   - tests: move fedora 27 to google backend
   - many: add `core.problem-reports.disabled` option
   - cmd/snap-update-ns: remove the need for stash directory in secure
     bind mount implementation
   - errtracker: check for whoopsie.service instead of reading
     /etc/whoopsie
   - cmd/snap: user session application autostart v3
   - tests: add test to ensure `snap refresh --amend` works with
     different channels
   - tests: add check for OOM error after each test
   - cmd/snap-seccomp: graceful handling of non-multilib host
   - interfaces/shutdown: allow calling SetWallMessage
   - cmd/snap-update-ns: add secure bind mount implementation for use
     with user mounts
   - snap: fix `snap advise-snap --command` output to match spec
   - overlord/snapstate: on multi-snap refresh make sure bases and core
     are finished before dependent snaps
   - overlord/snapstate: introduce envvars to control the channels for
     based and prereqs
   - cmd/snap-confine: ignore missing cgroups in snap-device-helper
   - debian: add gbp.conf script to build snapd via `gbp buildpackage`
   - daemon,overlord/hookstate: stop/wait for running hooks before
     closing the snapctl socket
   - advisor: use json for package database
   - interfaces/hostname-control: allow setting the hostname via
     syscall and systemd
   - tests/main/interfaces-opengl-nvidia: verify access to 32bit
     libraries
   - interfaces: misc updates for default, firewall-control, fuse-
     support and process-control
   - data/selinux: Give snapd access to more aspects of the system
   - many: use the new install/refresh API by switching snapstate to
     use store.SnapAction
   - errtracker: make TestJournalErrorSilentError work on gccgo
   - ifacestate: add to the repo also snaps that are pending being
     activated but have a done setup-profiles
   - snapstate, ifacestate: inject auto-connect tasks try 2
   - cmd/snap-confine: allow creating missing gl32, gl, vulkan dirs
   - errtracker: add more fields to aid debugging
   - interfaces: make system-key more robust against invalid fstab
     entries
   - overlord,interfaces: be more vocal about broken snaps and read
     errors
   - ifacestate: injectTasks helper
   - osutil: fix fstab parser to allow for # in field values
   - cmd/snap-mgmt: remove timers, udev rules, dbus policy files
   - release-tools: add repack-debian-tarball.sh
   - daemon,client: add build-id to /v2/system-info
   - cmd: make fmt (indent 2.2.11)
   - interfaces/content: add rule so slot can access writable files at
     plug's mountpoint
   - interfaces: add /var/lib/snapd/snap to @{INSTALL_DIR}
   - ifacestate: don't surface errors from stale connections
   - cmd/snap-update-ns: convert Secure* family of functions into
     methods
   - tests: adjust canonical-livepatch test on GCE
   - tests: fix quoting issues in econnreset test
   - cmd/snap-confine: make /run/media an alias of /media
   - cmd/snap-update-ns: rename i to segNum
   - interfaces/serial: change pattern not to exclude /dev/ttymxc*
   - spread: disable StartLimitInterval option on opensuse-42.3
   - configstate: give a chance to immediately recompute the next
     refresh time when schedules are set
   - cmd/snap-confine: attempt to detect if multiarch host uses
     arch triplets
   - store: add Store.SnapAction to support the new install/refresh API
     endpoint
   - tests: adding test for removable-media interface
   - tests: update interface tests to remove extra checks and normalize
     tests
   - timeutil: in Human, count days with fingers
   - vendor: update gopkg.in/yaml.v2 to the latest version
   - cmd/snap-confine: fix Archlinux compatibility
   - cmd/snapd: make sure signal handlers are established during early
     daemon startup
   - cmd/snap-confine: apparmor: allow creating prefix path for
     gl/vulkan
   - osutil: use tilde suffix for temporary files used for atomic
     replacement
   - tests: copy or sanity check core users using usernames
   - tests: disentangle etc vs extrausers in core tests
   - tests: fix snap-run tests when snapd is not running
   - overlord/configstate: change how ssh is stopped/started
   - snap: make `snap run` look at the system-key for security profiles
   - strutil, cmd/snap: drop strutil.WordWrap, first pass at
     replacement
   - tests: adding opensuse-42.3 to google
   - cmd/snap: fix one issue with noWait error handling logic, add
     tests plus other cleanups
   - cmd/snap-confine: nvidia: preserve globbed file prefix
   - advisor: add comment why osutil.FileExists(dirs.SnapCommandsDB) is
     needed
   - interfaces,release: probe seccomp features lazily
   - tests: change debug for layout test
   - advisor: deal with missing commands.db file
   - interfaces/apparmor: simplify UpdateNS internals
   - polkit: Pass caller uid to PolicyKit authority
   - tests: moving debian 9 from linode to google backend
   - cmd/snap-confine: nvidia: add tls/libnvidia-tls.so* glob
   - po: specify charset in po/snappy.pot
   - interfaces: harden snap-update-ns profile
   - snap: Call SanitizePlugsSlots from InfoFromSnapYaml
   - tests: update tests to deal with s390x quirks
   - debian: run snap.mount upgrade fixup *before* debhelper
   - tests: move xenial i386 to google backend
   - snapstate: add compat mode for default-provider
   - tests: a bunch of test fixes for s390x from looking at the
     autopkgtest logs
   - packaging: recommend "gnupg" instead of "gnupg1 | gnupg"
   - interfaces/builtin: let MM change qmi device attributes
   - tests: add workaround for s390x failure
   - snap/pack, cmd/snap: add `snap pack --check-skeleton`
   - daemon: support 'system' as nickname of the core snap
   - cmd/snap-update-ns: use x-snapd.{synthetic,needed-by} in practice
   - devicestate: add DeviceManager.Registered returning a channel
     closed when the device is known to be registered
   - store: Sections and WriteCatalogs need to strictly send device
     auth only if the device has a custom store
   - tests: add bionic system to google backend
   - many: fix shellcheck warnings in bionic
   - cmd/snap-update-ns: don't fail on existing symlinks
   - tests: make autopkgtest tests more targeted
   - cmd/snap-update-ns: fix creation of layout symlinks
   - spread,tests: move suite-level prepare/restore to central script
   - many: propagate contexts enough to be able to mark store
     operations done from the Ensure loop
   - snap: don't create empty Change with "Hold" state on disconnect
   - snap: unify snap name validation w/python; enforce length limit.
   - cmd/snap: use shlex when parsing `snap run --strace` arguments
   - osutil,testutil: add symlinkat(2) and readlinkat(2)
   - tests: autopkgtest may have non edge core too
   - tests: adding checks before stopping snapd service to avoid job
     canceled on ubuntu 14.04
   - errtracker: respect the /etc/whoopsie configuration
   - overlord/snapstate:  hold refreshes for 2h after seeding on
     classic
   - cmd/snap: tweak and polish help strings
   - snapstate: put layout feature behind feature flag
   - tests: force profile re-generation via system-key
   - snap/squashfs: when installing from seed, try symlink before cp
   - wrappers: services which are socket or timer activated should not
     be started during boot
   - many: go vet cleanups
   - tests: define MATCH from spread
   - packaging/fedora: Merge changes from Fedora Dist-Git plus trivial
     fix
   - cmd/snap: use timeutil.Human to show times in `snap refresh
     --time`
   - cmd/snap: in changes and tasks, default to human-friendly times
   - many: support holding refreshes by setting refresh.hold
   - Revert "cmd/snap: use timeutil.Human to show times in `snap
     refresh -…-time`"
   - cmd/snap: use timeutil.Human to show times in `snap refresh
     --time`
   - tests/main/snap-service-refresh-mode: refactor the test to rely on
     comparing PIDs
   - tests/main/media-sharing: improve the test to cover /media and
     /run/media
   - store: enable deltas for core devices too
   - cmd/snap: unhide --no-wait; make wait use go via waitMixin
   - strutil/shlex: import github.com/google/shlex into the tree
   - vendor: update github.com/mvo5/libseccomp-golang
   - overlord/snapstate: block install of "system"
   - cmd/snap: "current"→"installed"; "refreshed"→"refresh-date"
   - many: add the snapd-generator
   - cmd/snap-seccomp: Cancel the atomic file on error, not just Close
   - polkit: ensure error is properly set if dialog is dismissed
   - snap-confine, snap-seccomp: utilize new seccomp logging features
   - progress: tweak ansimeter cvvis use to no longer confuse minicom
   - xdgopenproxy: integrate xdg-open implementation into snapctl
   - tests: avoid removing preinstalled snaps on core
   - tests: chroot into core to run xdg-open there
   - userd: add an OpenFile method for launching local files with xdg-
     open
   - tests: moving ubuntu core from linode to google backend
   - run-checks: remove accidental bashism
   - i18n: simplify NG usage by doing the modulo math in-package.
   - snap/squashfs: set timezone when calling unsquashfs to get the
     build date
   - timeutil: timeutil.Human(t) gives a human-friendly string for t
   - snap: add autostart app property
   - tests: add support for external backend executions on listing test
   - tests: make interface-broadcom-asic-control test work on rpi
   - configstate: when disable "ssh" we must disable the "sshd" service
   - interfaces/apparmor,system-key: add upperdir snippets for strict
     snaps on livecd
   - snap/squashfs: add BuildDate
   - store: parse the JSON format used by the coming new store API to
     convey snap information
   - many: remove snapd.refresh.{timer,service}
   - tests: adding ubuntu-14.04-64 to the google backend
   - interfaces: add xdg-desktop-portal support to desktop interface
   - packaging/arch: sync with snapd/snapd-git from AUR
   - wrappers, tests/main/snap-service-timer: restore missing commit,
     add spread test for timer services
   - store: don't ask for snap_yaml_raw except on the details endpoint
   - many: generate and use per-snap snap-update-ns profile
   - tests: add debug for layout test
   - wrappers: detect whether systemd-analyze can be used in unit tests
   - osutil: allow creating strings out of MountInfoEntry
   - servicestate: use systemctl enable+start and disable+stop instead
     of --now flag
   - osutil: handle file being matched by multiple patterns
   - daemon, snap: fix InstallDate, make a method of *snap.Info
   - wrappers: timer services
   - wrappers: generator for systemd OnCalendar schedules
   - asserts: fix flaky storeSuite.TestCheckAuthority
   - tests: fix dependency for ubuntu artful
   - spread: start moving towards google backend
   - tests: add a spread test for layouts
   - ifacestate: be consistent passing Retry.After as named field
   - cmd/snap-update-ns: use recursive bind mounts for writable mimic
   - testutil: allow mocking syscall.Fstat
   - overlord/snapstate: verify that default schedule is randomized and
     is  not a single time
   - many: simplify mocking of home-on-NFS
   - cmd/snap-update-ns: use syscall.Symlink instead of os.Symlink
   - store: move infoFromRemote into details.go close to snapDetails
   - userd/tests: Test kdialog calls and mock kdialog too to make tests
     work in KDE
   - cmd/snap: tweaks to 'snap info' (feat. installed->current rename)
   - cmd/snap: add self-strace to `snap run`
   - interfaces/screen-inhibit-control,network-status: fix dbus path
     and interface typos
   - update-pot: Force xgettext() to return true
   - store: cleanup test naming, dropping remoteRepo  and
     UbuntuStore(Repository)? references
   - store: reorg auth refresh


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.33.1
   - many: improve udev trigger on refresh experience
   - systemd: require snapd.socket in snapd.seeded.service
   - snap: don't include newline in hook environment
   - interfaces/apparmor: allow killing snap-update-ns
   - tests: skip "try" test on s390x
   - tests: skip security-dev-input-event-denied when /dev/input/by-
     path/ is missing
   - tests: skip security-dev-input-event-denied on s390x/arm64


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.34
   - store, daemon, client, cmd/snap: expose "scope", default to wide*
   - tests: fix arch tests
   - snapstate: make sure all *link-*snap tasks carry a snap type and
     further hints
   - snapstate: allow setting "refresh.timer=managed"
   - cmd/snap: display a link to data privacy notice for interactive
     snap login
   - devicestate: fix race when refreshing a snap with snapd-control
   - tests: skip interfaces-framebuffer when no /dev/fb0 is found
   - tests: run interfaces-contacts-service only where test-snapd-eds
     is available
   - many: expose publisher's validation throughout the API
   - many: use extra "releases" information on store "revision-not-
     found" errors to produce better errors
   - dirs: improve distro detection for Antegros
   - Revert "dirs: improve identification of Arch Linux like systems"
   - devicestate: fix panic in firstboot code when no snaps are seeded
   - i18n: use xgettext-go --files-from to avoid running into cmdline
     size limits
   - interfaces: move ValidateName helper to utils
   - snapstate,ifstate: wait for pending restarts before auto-
     connecting
   - snap: account for parallel installs in wrappers, place info and
     tests
   - configcore: fix incorrect handling of keys with numbers (like
     gpu_mem_512)
   - tests: fix tests when no keyboard input detected
   - overlord/configstate: add watchdog options
   - snap-mgmt: fix for non-existent dbus system policy dir,
     shellchecks
   - tests/main/snapd-notify: use systemd's service properties rater
     than the journal
   - snapstate: allow removal of snap.TypeOS when using a model with a
     base
   - interfaces: make findSnapdPath smarter
   - tests: run "arp" tests only if arp is available
   - spread: increase the number of auto retries for package downloads
     in opensuse
   - cmd/snap-confine: fix nvidia support under lxd
   - corecfg: added experimental.hotplug feature flag
   - image: block installation of parallel snap instances
   - interfaces: moved normalize method to interfaces/utils and made it
     public
   - api/snapctl: allow -h and --help for regular users.
   - interfaces/udisks2: also implement implicit classic slot
   - cmd/snap-confine: include CUDA runtime libraries
   - tests: disable auto-refresh test on core18
   - many: switch to account validation: unproven|verified
   - overlord/ifacestate: get/set connection state only via helpers
   - tests: adding extra check to validate journalctl is showing
     current test data
   - data: add systemd environment configuration
   - i18n: handle write errors in xgettext-go
   - snap: helper for validating snap instance names
   - snap{/snaptest}: set instance key based on snap name
   - userd: fix running unit tests on KDE
   - tests/main/econnreset: limit ingress traffic to 512kB/s
   - snap: introduce a struct Channel to represent store channels, and
     helpers to work with it
   - tests: add fedora to distro_clean_package_cache function
   - many: rename snap.Info.StoreName() to snap.Info.SnapName()
   - tests: add spread test to ensure snapd/core18 are not removable
   - tests: tweaks for running the main tests on core18
   - overlord/{config,snap}state: introduce experimental.parallel-
     instances feature flag
   - strutil: support iteration over almost clean paths
   - strutil: add PathIterator.Rewind
   - tests: update interfaces-timeserver-control to core18
   - tests: add halt-timeout to google backend
   - tests: skip security-udev-input-subsystem without /dev/input/by-
     path
   - snap: introduce the instance key field
   - packaging/opensuse: remaining packaging updates for 2.33.1
   - overlord/snapstate: disallow installing snapd on baseless models
   - tests: disable core tests on all core systems (16 and 18)
   - dirs: improve identification of Arch Linux like systems
   - many: expose full publisher info over the snapd API
   - tests: disable core tests on all core systems (16 and 18)
   - tests/main/xdg-open: restore or clean up xdg-open
   - tests/main/interfaces-firewall-control: shellcheck fix
   - snapstate: sort "snapd" first
   - systemd: require snapd.socket in snapd.seeded.service; make sure
     snapd.seeded
   - spread-shellcheck: use the latest shellcheck available from snaps
   - tests: use "ss" instead of "netstat" (netstat is not available in
     core18)
   - data/complete: fix three out of four shellcheck warnings in
     data/complete
   - packaging/opensuse: fix typo, missing assignment
   - tests: initial core18 spread image building
   - overlord: introduce a gadget-connect task and use it at first boot
   - data/completion: fix inconsistency in +x and shebang
   - firstboot: mark essential snaps as "Required" in the state
   - spread-shellcheck: use a whitelist of files that are allowed to
     fail validation
   - packaging/opensuse: build position-independent binaries
   - ifacestate: prevent running interface hooks twice when self-
     connecting on autoconnect
   - data: remove /bin/sh from snapd.sh
   - tests: fix shellcheck 0.5.0 warnings
   - packaging/opensuse: snap-confine should be 06755
   - packaging/opensuse: ship apparmor integration if enabled
   - interfaces/udev,misc: only trigger udev events on input subsystem
     as needed
   - packaging/opensuse: add missing bits for snapd.seeded.service
   - packaging/opensuse: don't use  in comments
   - tests: shellchecks part 4
   - many: rename snap.Info.Name() to snap.Info.InstanceName(), leave
     parallel-install TODOs
   - store: drop unused: channel map types, and details fixture.
   - store: have a basic test about the unmarshalling of /search
     results
   - tests: show executed tests on current system when a test fails
   - tests: fix for the download of the big snap
   - interfaces/apparmor: add chopTree
   - tests: remove double debug: | entry in tests and add more checks
   - cmd/snap-update-ns: introduce mimicRequired helper
   - interfaces: move assertions around for better failure line number
   - store: log a nice clear "download succeeded" message
   - snap: run snap-confine from the re-exec location
   - snapstate: support restarting snapd from the snapd snap on core18
   - tests: show status of the partial test-snapd-huge snap in
     econnreset test
   - tests: fix interfaces-calendar-service test when gvfsd-metadata
     loks the xdg dirctory
   - store: switch store.SnapInfo to use the new v2/info endpoint
   - interfaces: add Repository.AllInterfaces
   - snapstate: stop using evolving SnapSpec internally, use an
     internal-only snapSpec instead
   - cmd/libsnap-confine-private: introduce a helper for splitting snap
     name
   - tests: econnreset/retry tweaks
   - store, et al: kill dead code that uses the bulk endpoint
   - tests/lib/prepare-restore: fix upgrade/reboot handling on arch
   - cmd/snap-update-ns,strutil: move PathIterator to strutil, add
     Depth helper
   - data/systemd/snapd.run-from-snap: ensure snapd tooling is
     available
   - store: switch connectivity check to use v2/info
   - devicestate: support seeding from a base snap instead of core
   - snapstate,ifacestate: remove core-phase-2 handling
   - interfaces/docker-support: update for docker 18.05
   - tests: enable fedora 28 again
   - overlord/ifacestate:  simplify checkConnectConflicts and also
     connect signature
   - snap: parse connect instructions in gadget.yaml
   - tests: fix snapd-repair.timer on ubuntu-core-snapd-run- from-snap
     test
   - interfaces/apparmor: allow killing snap-update-ns
   - tests: skip "try" test on s390x
   - store, image: have 'snap download' use v2/refresh action=download
   - interfaces/policy: test that base policy can be parsed
   - tests: publish test-snapd-appstreamid for any architecture
   - snap: don't include newline in hook environment
   - cmd/snap-update-ns: use RCall with SyscallsEqual
   - cmd/snap-update-ns: add IsSnapdCreatedPrivateTmpfs and tests
   - tests: skip security-dev-input-event-denied on s390x/arm64
   - interfaces: add the dvb interface
   - daemon: paging is not a thing.
   - cmd/snap-mgmt: remove system key on purge
   - testutil: syscall sequence checker
   - cmd/snap-update-ns: fix a leaking file descriptor in MkSymlink
   - packaging: use official bolt in the errtracker on fedora
   - many: add `snap debug connectivity` command* many: add `snap debug
     connectivity` command
   - configstate: deny configuration of base snaps and for the "snapd"
     snap
   - interfaces/raw-usb: also allow usb serial devices
   - snap: reject more layout locations
   - errtracker: do not send duplicated reports
   - httputil: extra debug if an error is not retried
   - cmd/snap-update-ns: improve wording in many errors
   - cmd/snap: use snaptest.MockSnapCurrent in `snap run` tests
   - cmd/snap-update-ns: add helper for checking for read-only
     filesystems
   - interfaces/builtin/docker: use commonInterface over specific
     struct
   - testutil: add test support for Fstatfs
   - cmd/snap-update-ns: discard the concept of segments
   - cmd/libsnap-confine-private: helper for extracting store snap name
     from local-name
   - tests: fix flaky test for hooks undo
   - interfaces: add {contacts,calendar}-service interfaces
   - tests: retry 'restarting into..' match in the snap-confine-from-
     core test
   - systemd: adjust TestWriteMountUnitForDirs() to use
     squashfs.MockUseFuse(false)
   - data: add helper that can generate/start/stop the snapd service
   - sefltest: advise reboot into 4.4 on trusty running 3.13
   - selftest: add new selftest package that tests squashfs mounting
   - store, jsonutil: move store.getStructFields to
     jsonutil.StructFields
   - ifacestate: improved conflict and error handling when creating
     autoconnect tasks
   - cmd/snap-confine: applied make fmt
   - interfaces/udev: call 'udevadm settle --timeout=10' after
     triggering events
   - tests: wait more time until snap start to be downloaded on
     econnreset test
   - snapstate: ensure fakestore returns TypeOS for the core snap
   - tests: fix lxd test which hangs on restore
   - cmd/snap-update-ns: add PathIterator
   - asserts,image: add support for models with bases
   - tests: shellchecks part 3
   - overlord/hookstate: support undo for hooks
   - interfaces/tpm: Allow access to the kernel resource manager
   - tests: skip appstream-id test for core systems 32 bits
   - interfaces/home: remove redundant common interface assignment
   - tests: reprioritise a few tests that are known to be slow
   - cmd/snap: small help tweaks and fixes
   - tests: add test to ensure /dev/input/event* for non-joysticks is
     denied
   - spread-shellcheck: silly fix & pep8
   - spread: switch fedora 28 to manual
   - client,cmd/snap,daemon,tests: expose base of a snap over API, show
     it in snap info --verbose
   - tests: fix lxd test - --auto now sets up networking
   - tests: adding fedora-28 to spread.yaml
   - interfaces: add juju-client-observe interface
   - client, daemon: add a "mounted-from" entry to local snaps' JSON
   - image: set model.DisplayName() in bootenv as "snap_menuentry"
   - packaging/opensuse: Refactor packaging to support all openSUSE
     targets
   - interfaces/joystick: force use of the device cgroup with joystick
     interface
   - interfaces/hardware-observe: allow access to /etc/sensors* for
     libsensors
   - interfaces: remove Plug/Slot types
   - interface hooks: update old AutoConnect methods
   - snapcraft: run with DEB_BUILD_OPTIONS=nocheck
   - overlord/{config,snap}state: the number of inactive revisions is
     config
   - cmd/snap: check with snapd for unknown sections
   - tests: moving test helpers from sh to bash
   - data/systemd: add snapd.apparmor.service
   - many: expose AppStream IDs (AKA common ID)
   - many: hold refresh when on metered connections
   - interfaces/joystick: also support modern evdev joysticks and
     gamepads
   - xdgopenproxy: skip TestOpenUnreadableFile when run as root
   - snapcraft: use dpkg-buildpackage options that work in xenial
   - spread: openSUSE LEAP 42.2 was EOLd in January, remove it
   - get-deps: work with an unset GOPATH too
   - interfaces/apparmor: use strict template on openSUSE tumbleweed
   - packaging: filter out verbose flags from "dh-golang"
   - packaging: fix description
   - snapcraft.yaml: add minimal snapcraft.yaml with custom build


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.34.1
   - tests: cherry-pick test fixes from master for 2.34
   - coreconfig: add support for `snap set system network.disable-
     ipv6`
   - debian: do not ship snapd.apparmor.service on ubuntu
   - overlord/snapstate: dedupe default content providers
   - interfaces/builtin: create can-bus interface


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.34.2
   - packaging: fix bogus date in fedora snapd.spec
   - tests: fix tests expecting old email address


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.34.3
   - interfaces/apparmor: use the cache in mtime-resilient way
   - cmd/snap-confine: (nvidia) pick up libnvidia-glvkspirv.so
   - snapstate: allow setting "refresh.timer=managed"
   - spread: switch Fedora and openSUSE images


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.35
   - snapstate: add support for gadget tracks in model assertion
   - image: add support for "gadget=track"
   - asserts: add support for gadget tracks in the model assertion
   - interfaces: add new "sysfs-name" to i2c interfaces code
   - overlord: handle sigterm during shutdown better
   - wayland: add extra sockets that are used by older toolkits
   - snap: fix advice json
   - tests: fix autopkgtest failures in cosmic
   - store: backward compatible instance-key handling for non-instance
     snaps
   - snapstate: ensure normal snaps wait for the "snapd" snap on
     refresh
   - interfaces: add cpu-control for setting CPU tunables
   - debian: add missing breaks on comisc
   - overlord/devicestate: DTRT w/a snap proxy to reach a serial vault
   - devicestate: only run device-hook when fully seeded
   - seccomp: conditionally add socketcall() based on system and base
   - interfaces/builtin: addtl network-manager resolved DBus fix
   - hookstate: simplify some hook tests
   - udev: skip TestParseUdevEvent on ppc
   - interfaces: miscellaneous policy updates
   - debian: add tzdata to build-dep to ensure snapd builds correctly
   - interfaces/builtin: network-manager resolved DBus changes
   - tests: add spread test for fedora29 base snap
   - cmd/libsnap: treat distributions with VARIANT_ID=snappy as "core"
   - dirs: fix SnapMountDir inside a Fedora base snap
   - tests: fix snapd-failover for core18 with external backend
   - overlord/snapstate: always clean SnapState when doing Get()
   - overlod/ifacestate: always use a new SnapState when fetching the
     snap state
   - overlord/devicestate: have the serial request talk to the proxy if
     set
   - interfaces/hotplug: udevadm output parser
   - tests: New test for daemon-notify interface
   - image: ensure "core" is ordered early if base: and core is used
   - cmd/snap-confine: snap-device-helper parallel installs support
   - tests: enable interfaces-framebuffer everywhere
   - tests: reduce nc wait time from 2 to 1 second
   - snap/snapenv: add snap instance specific variables
   - cmd/snap-confine: add minimal test for snap-device-helper
   - tests: enable snapctl test on core18
   - overlord: added UDevMonitor for future hotplug support
   - wrappers: do not glob when removing desktop files
   - tests: add dbus monitor log to interfaces-accounts-service
   - tests: add core-18 systems to external backend
   - wrappers: account for changed app wrapper in parallel installed
     snaps
   - wrappers: make sure that the tests pass on non-Ubuntu too
   - many: add snapd snap failure handling
   - tests: new test for dvb interface
   - configstate: accept refresh.timer=managed
   - tests: new test for snap logs command
   - wrapper: generate all the snapd unit files when generating
     wrappers
   - store: keep all files with link-count > 1 in the cache
   - store: be less verbose in the common refresh case of "no updates"
   - snap-confine: update snappy-app-dev path
   - debian: ensure dependency on fixed apt on 18.04
   - snapd: add initial software watchdog for snapd
   - daemon, systemd: change journalctl -n=all to --no-tail
   - systemd: fix snapd.apparmor.service.in dependencies
   - snapstate: refuse to remove bases or core if snaps need them
   - snap: introduce package-level helpers for building snap related
     directory/file paths
   - overlord/devicestate: deny parallel install of kernel or gadget
     snaps
   - store: clean up parallel-install TODOs in store tests
   - timeutil: fix first weekday of the month schedule
   - interfaces: match all possible tty but console
   - tests: shellchecks part 5
   - cmd/snap-confine: allow ptrace read for 4.18 kernels
   - advise: make the bolt database do the atomic rename dance
   - tests/main/apt-hooks: debug dump of commands.db
   - tests/lib/prepare-restore: update Arch Linux kernel LOCALVERSION
     handling
   - snap: validate instance name as part of Validate()
   - daemon: if a snap is inactive, don't ask systemd about its
     services.
   - udev: skip TestParseUdevEvent on s390x
   - tests: switch core-amd64-18 to use `kernel: pc-kernel=18`
   - asserts,image: add support for new kernel=track syntax
   - tests: new gce image for fedora 27
   - interfaces/apparmor: use the cache in mtime-resilient way
   - store, overlord/snapstate: introduce instance name in store APIs
   - tests: drive-by cleanup of redudant pkgname matching
   - tests: ensure apt-hook is only run after catalog update ran
   - tests: use pkill instead of kilall
   - tests/main: another bunch of updates for Amazon Linux 2
   - tests/lib/snaps: avoid using relative command paths that go up in
     the  directory tree
   - tests: disable/fix more tests for Amazon Linux 2
   - overlord: introduce InstanceKey to SnapState and SnapSetup,
     renames
   - daemon: make sure most change generating handlers can produce
     errors with kinds
   - tests/main/interfaces-calendar-service: skip the test on AMZN2
   - tests/lib/snaps: avoid using relative command paths that go up in
     the directory tree
   - cmd/snap: add a green check mark to verified publishers
   - cmd/snap: fix two issues in the cmd/snap unit tests
   - packaging/fedora: fix target path of /snap symlink
   - cmd/snap: support `--last=<type>?` to mean "no error on empty"
   - cmd/snap-confine: (nvidia) pick up libnvidia-glvkspirv.so
   - strutil: detect and bail out of Unmarshal on duplicate key
   - packaging/fedora(amzn2): disable SELinux, drop dependency on
     squashfuse for AMZN2
   - spread, tests: add support for Amazon Linux 2
   - packaging/fedora: Add Amazon Linux 2 support
   - many: make Wait/Stop optional on StateManagers
   - snap/squashfs: stop printing unsquashfs info to stderr
   - snap: add support for `snap advise-snap --from-apt`
   - overlord/ifacestate: ignore connect if already connected
   - tests: change the service snap used instead of network-bind-
     consumer
   - interfaces/network-control: update for wpa-supplicant and ifupdown
   - tests: fix raciness in stop mode tests
   - logger: try to not have double dates
   - debian: use deb-systemd-invoke instead of systemctl directly
   - tests: run all main tests on core18
   - many: finish sharing a single TaskRunner with all the the managers
   - interfaces/repo: added AllHotplugInterfaces helper
   - snapstate: ensure kernel-track is honored on switch/refresh
   - overlord/ifacestate: support implicit slots on snapd
   - image: add support for "kernel-track" in `snap prepare-image`
   - tests: add test that ensures we do not boot any system in degraded
     state
   - tests: update tests to work on core18
   - cmd/snap: check for typographic dashes in command
   - tests: fix tests expecting old email address
   - client: add some existing error kinds that were not listed in
     client.go
   - tests: add missing slots in classic and core provider test snaps
   - overlord,daemon,cmd: re-map snap names around the edges of snapd
   - tests: use install_local in snap-run-hooks
   - coreconfig: add support for `snap set system network.disable-
     ipv6`
   - overlord/snapstate: dedupe default content providers
   - osutil/udev: sync with upstream
   - debian: do not ship snapd.apparmor.service on ubuntu
   - overlord: have SnapManager use a passed in TaskRunner created by
     Overlord
   - many: streamline the generic conflict check mechanisms
   - tests: remove unneeded setup code in snap-run-symlink
   - cmd/snap: print unset license as "unset", instead of "unknown"
   - asserts: add (optional) kernel-track to model assertion
   - snap/squashfs, tests: pass -n[o-progress] to {mk,un}squashfs
   - interfaces/pulseaudio: be clear that the interface allows playback
     and record
   - snap: support hook environment
   - interfaces: fix typo "daemonNotify" (add missing "n")
   - interfaces: tweak tests of daemon-notify, use common naming
   - interfaces: allow invoking systemd-notify when daemon-notify is
     connected
   - store: make snap blobs be 0600
   - interfaces,daemon: move JSON types to the daemon
   - tests: prepare needs to handle bin/snapctl being a symlink
   - tests: do not mask errors in interfaces-timezone-control (#5405)
   - packaging: put snapctl into /usr/lib/snapd and symlink in usr/bin
   - tests: add basic integration test for spread hold
   - overlord/snapstate: improve PlugsOnly comment
   - many: assorted shellcheck fixes
   - store, daemon, client, cmd/snap: expose "scope", default to wide
   - snapstate: allow setting "refresh.timer=managed"
   - cmd/snap: display a link to data privacy notice for interactive
     snap login
   - client, cmd/snap: pass snap instance name when installing from
     file
   - cmd/snap: add 'debug paths' command
   - snapstate: make sure all *link-*snap tasks carry a snap type and
     further hints
   - devicestate: fix race when refreshing a snap with snapd-control
   - tests: fix tests on arch
   - tests: start active system units on reset
   - tests: new test for joystick interface
   - tests: moving install of dependencies to pkgdb helper
   - tests: enable new fedora image with test dependencies installed
   - tests: start using the new opensuse image with test dependencies
   - tests: check catalog refresh before and after restart snapd
   - tests: stop restarting journald service on prepare
   - interfaces: make core-support a no-op interface
   - interfaces: prefer "snapd" when resolving implicit connections
   - interfaces/hotplug: add hotplug Specification and
     HotplugDeviceInfo
   - many: lessen the use of core-support
   - tests: fixes for the autopkgtest failures in cosmic
   - tests: remove extra ' which breaks interfaces-bluetooth-control
     test
   - dirs: fix antergos typo
   - tests: use grep to avoid non-matching messages from MATCH
   - dirs: improve distro detection for Antegros
   - vendor: switch to latest bson
   - interfaces/builtin: create can-bus interface
   - tests: "snap connect" is idempotent so just connect
   - many: use extra "releases" information on store "revision-not-
     found" errors to produce better errors
   - interfaces: treat "snapd" snap as type:os
   - interfaces: tweak tests to have less repetition of "core" and
     "ubuntu…
   - tests: simplify econnreset test
   - snap: add helper for renaming slots
   - devicestate: fix panic in firstboot code when no snaps are seeded
   - tests: add artful for sru validation on google backend
   - snap,interfaces: move interface name validation to snap
   - overlord/snapstate: introduce path to fake backend ops
   - cmd/snap-confine: fix snaps running on core18
   - many: expose publisher's validation throughout the API


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.35.1
   - packaging/fedora: Merge changes from Fedora Dist-Git
   - snapcraft: do not use --diry in mkversion.sh
   - cmd: add systemd environment generator
   - snap-confine: map /var/lib/extrausers into snaps mount-namespace
   - tests: cherry-pick test fixes from master for 2.35
   - systemd: do not run "snapd.snap-repair.service.in on firstboot
     bootstrap
   - interfaces: retain order of inserted security backends
   - selftest: detect if apparmor is unusable and error


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.35.2
   - cmd,overlord/snapstate: go 1.11 format fixes
   - ifacestate: fix hang when retrying content providers
   - snap-env-generator: do nothing when PATH is unset
   - interfaces/modem-manager: allow access to more USB strings


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.35.3
   - overlord: don't make become-operational interfere with user
     requests
   - docker_support.go: add rules to read apparmor macros
   - interfaces/apparmor: handle overlayfs snippet for snap-update-
     nsFixes:
   - snapcraft.yaml: add workaround to fix snapcraft build
   - interfaces/opengl: misc accesses for VA-API


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.35.4
    - wrappers: do not depend on network.taget in socket units, tweak
      generated units


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.35.5
   - interfaces/home: don't allow snaps to write to $HOME/bin
   - osutil: workaround overlayfs on ubuntu 18.10


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.36
   - overlord/snapstate, snap, wrappers: start services in the right
     order during install
   - tests: the store has caught up, drop gccgo test, update cosmic
     image
   - cmd/snap: try not to panic on error from "snap try"`--devmode`
   - overlord/ifacestate: don't conflict on own discard-snap tasks when
     refreshing & doing garbage collection
   - snapstate: add command-chain to supported featureset
   - daemon, snap: mark screenshots as deprecated
   - interfaces: fix decoding of json numbers for static/dynamic
     attributes
   - data/systemd, wrappers: tweak system-shutdown helper for core18
   - interfaces/system-key: add parser mtime and only discover features
     on write
   - interfaces: fix NormalizeInterfaceAttributes, add tests
   - systemd,wrappers: don't start disabled services
   - ifacestate/hooks: only create interface hook tasks if hooks exist
   - tests: do not run degraded test in autopkgtest env
   - osutil: workaround overlayfs on ubuntu 18.10
   - interfaces: include invalid type in Attr error
   - many: enable layouts by default
   - interfaces/default: don't scrub with change_profile with classic
   - cmd/snap: speed up unit tests
   - vendor, cmd/snap: refactor to accommodate the new less buggy go-
     flags
   - daemon: expose snapshots to the API
   - interfaces: updates for default, screen-inhibit-control, tpm,
     {hardware,system,network}-observe
   - interfaces/hotplug: rename HotplugDeviceKey method to HotplugKey,
     update test interface
   - interfaces/tests: use TestInterface instead of a custom local
     helper
   - overlord/snapstate: export getFeatureFlagBool.
   - osutil,asserts,daemon: support force password change in system-
     user assertion
   - snap, wrappers: support restart-delay, generate RestartSec=<value>
     in service units
   - tests/ifacestate: moved asserts-related mocking into helper
   - image: fetch device store assertion if available
   - many: enable AppArmor on Arch
   - interfaces/repo: two helper methods for hotplug
   - overlord/ifacestate: add hotplug slots with implicit slots
   - interfaces/hotplug: helpers and struct updates
   - tests: run the snapd tests on Ubuntu 18.10
   - snapstate: only report errors if there is an actual error
   - store: speedup unit tests
   - spread-shellcheck: fix interleaved error messages, tweaks
   - apparmor: create SnapAppArmorDir in setupSnapConfineReexec
   - ifacestate: implementation of defaultDeviceKey function for
     hotplug
   - cmd/snap-update-ns: remove empty placeholders used for mounting
   - snapshotstate: restore to current revision
   - tests/lib: rework the CLA checker
   - many: support and consider store friendly-stores when checking
     device scope constraints
   - overlord/snapstate: block parallel installs of snapd, core, base,
     kernel, gadget snaps
   - overlord/patch: patch for static plug/slot attributes
   - interfaces: honor static attributes when reloading conns
   - osutils: unit tests speedup; introduce «run-checks --short-
     unit».
   - systemd, wrappers: speed up wrappers unit tests
   - client: speedup unit tests
   - spread-shellcheck: use threads to parallelise
   - snap: validate plug and slot names
   - osutil, interfaces/apparmor: add and use of osutil.UnlinkMany
   - wrappers: do not depend on network.taget in socket units, tweak
     generated units
   - interfaces/apparmor: (un)load profiles in one apparmor_parser call
   - store: gracefully handle unexpected errors in 'action'
     response
   - cmd: put our manpages in section 8
   - overlord: don't make become-operational interfere with user
     requests
   - store: tweak unmatched refresh result error log
   - snap, client, daemon, store: use and expose "media" more
   - tests,cmd/snap-update-ns: add test showing mount update bug
     cmd/snap-update-ns: better detection of snapd-made tmpfs
   - tests: spread tests for aliases with parallel installed snaps
   - interfaces/seccomp: allow using statx by default
   - store: gracefully handle unexpected errors in 'action' response
   - overlord/snapshotstate: chown the tempdir
   - cmd/snap: attempt to start the document portal if running with a
     session bus
   - snap: detect layouts vs layout in snap.yaml
   - interfaces/apparmor: handle overlayfs snippet for snap-update-ns
   - snapcraft.yaml: set grade to stable
   - tests: shellchecks, final round
   - interfaces/apparmor: handle overlayfs snippet for snap-update-ns
   - snap: detect layouts vs layout in snap.yaml
   - overlord/snapshotstate: store epoch in snapshot, check on restore
   - cmd/snap: tweak UX of snap refresh --list
   - overlord/snapstate: improve consistency, use validateInfoAndFlags
     also in InstallPath
   - snap: give Epoch a CanRead helper
   - overlord/snapshotstate: small refactor of internal helpers
   - interfaces/builtin: adding missing permission to create
     /run/wpa_supplicant directory
   - interfaces/builtin: avahi interface update
   - client, daemon: support passing of 'unaliased' option when
     installing from local files
   - selftest: rename selftest.Run() to sanity.Check()
   - interfaces/apparmor: report apparmor support level and policy
   - ifacestate: helpers for generating slot names for hotplug
   - overlord/ifacestate: make sure to pass in the Model assertion when
     enforcing policies
   - overlord/snapshotstate: store the SnapID in snapshot, block
     restore if changed
   - interfaces: generalize writable mimic profile
   - asserts,interfaces/policy: add support for on-store/on-brand/on-
     model plug/slot rule constraints
   - many: fetch the device store assertion together and in the context
     of interpreting snap-declarations
   - tests: disable gccgo tests on 18.04 for now, until dh-golang vs
     gccgo is fixed
   - tests/main/parallel-install-services: add spread test for snaps
     with services
   - tests/main/snap-env: extend to cover parallel installations of
     snaps
   - tests/main/parallel-install-local: rename from *-sideload, extend
     to run snaps
   - cmd/snapd,daemon,overlord: without snaps, stop and wait for socket
   - cmd/snap: tame the help zoo
   - tests/main/parallel-install-store: run installed snap
   - cmd/snap: add a bunch of TRANSLATORS notes (and a little more
     i18n)
   - cmd: fix C formatting
   - tests: remove unneeded cleanup from layout tests
   - image: warn on missing default-providers
   - selftest: add test to ensure selftest.checks is up-to-date
   - interfaces/apparmor, interfaces/builtin: tweaks for parallel snap
     installs
   - userd: extend the list of supported XDG Desktop properties when
     autostarting user applications
   - cmd/snap-update-ns: enforce trespassing checks
   - selftest: actually run the kernel version selftest
   - snapd: go into degraded mode when the selftest fails
   - tests: add test that runs snapctl with a core18 snap
   - tests: add snap install hook with base: core18
   - overlord/{snapstate,assertstate}: parallel instances and
     refresh validation
   - interfaces/docker-support: add rules to read apparmor macros
   - tests: make nfs test available for more systems
   - tests: cleanup copy/paste dup in interfaces-network-setup-control
   - tests: using single sh snap in interface tests
   - overlord/snapstate: improve cleaup in mount-snap handler
   - tests: don't fail interfaces-bluez test if bluez is already
     installed
   - tests: find snaps just for edge and beta channels
   - daemon, snapstate: consistent snap list [--all] output with broken
     snaps
   - tests: fix listing to allow extra things in the notes column
   - cmd/snap: improve UX when removing specific snap revision
   - cmd/snap, tests/main/snap-info: highlight the current channel
   - interfaces/testiface: added TestHotplugInterface
   - snap: tweak commands
   - interfaces/hotplug: hotplug spec takes one slot definition
   - overlord/snapstate, snap: handle shared snap directories when
     installing/remove snaps with instance key
   - interfaces/opengl: misc accesses for VA-API
   - client, cmd/snap: expose warnings to the world
   - cmd/snap-update-ns: introduce trespassing state tracking
   - cmd/snap: commands no longer build their own client
   - tests: try to build cmd/snap for darwin
   - daemon: make error responders not printf when called with 1
     argument
   - many: return real snap name in API response
   - overlord/state: return latest LastAdded time in WarningsSummary
   - many: mount namespace mapping for parallel installs of snaps
   - ifacestate/autoconnect: do not self-conflict on setup-profiles if
     core-phase-2
   - client, cmd/snap: on !linux, exit when the client tries to Do
     something
   - tests: refactor for nested suite and tests fixed
   - tests: use lxd's waitready instead of polling lxd socket
   - ifacestate: don't initialize udev monitor until we have a system
     snap
   - interfaces: extra argument for static attrs in
     NewConnectedPlug/NewConnectedSlot
   - packaging/arch: sync packaging with AUR
   - snapstate/tests: serialize all appends in fake backend
   - snap-confine: make /lib/modules optional
   - cmd/snap: handle "snap interfaces core" better
   - store: move download tests into downloadSuite
   - tests,interfaces: run interfaces-account-control on UC18
   - tests: fix install snaps test by adding link to /snap
   - tests: fix for nested test suite
   - daemon: fix snap list --all with parallel snap instances
   - snapstate: refactor tests to use SetModel*
   - wrappers: fix snap services order in tests
   - many: provide salt for generating instance-key in store requests
   - ifacestate: fix hang when retrying content providers
   - snapd-env-generator: fix when PATH is empty or unset
   - overlord/assertstate: propagate TaskSnapSetup error
   - client: catch and expose logs errors
   - overlord: integrate device enumeration with udev monitor
   - daemon, overlord/state: warnings pipeline
   - tests: add publisher regex to fix the snap-info test pass on sru
   - cmd: use systemdsystemgeneratorsdir, cleanup automake complaints,
     tweaks
   - cmd/snap-update-ns: remove the unused Secure type
   - osutil, o/snapshotstate, o/sss/backend: quick fixes
   - tests: update the listing expression to support core from
     different channels
   - store: use stable instance key in store refresh requests
   - cmd/snap-update-ns: detach Mk{Prefix,{File,Dir,Symlink{,All}}}
   - overlord/patch: support for sublevel patches
   - tests: update prepare/restore for nightly suite
   - cmd/snap-update-ns: detach BindMount from the Secure type
   - cmd/snap-update-ns: re-factor pair of helpers to call fstatfs once
   - ifacestate: retry on "discard-snap" in autoconnect conflict check
   - cmd/snap-update-ns: separate OpenPath from the Secure struct
   - wrappers: remove Wants=network-online.target
   - tests: add new core16-base test
   - store: refactor tests so that they work as store_test package
   - many: add refresh.rate-limit core option
   - tests: run account-control test with different bases
   - tests: port proxy test to use python tinyproxy
   - overlord: introduce snapshotstate.
   - testutil: allow Fstatfs results to vary over time
   - snap-update-ns: add comments about the "deadcode" in bootstrap.go
   - overlord: add chg.Err() in testUpdateWithAutoconnectRetry
   - many: remove deadcode
   - tests: also run unit/gccgo in 18.04
   - tests: introduce a helper for installing local snaps with --name
   - tests: avoid removing core snap on reset
   - snap: use snap.SideInfo in test to fix build with gccgo
   - partition: remove unused runCommand
   - image: fix incorrect error when using local bases
   - overlord/snapstate: fix format
   - cmd: fix format
   - tests: setting "storage: preserve-size" just for amazon-linux
     system
   - tests: test for the hostname interface
   - interfaces/modem-manager: allow access to more USB strings
   - overlord: instantiate UDevMonitor
   - interfaces/apparmor: tweak naming, rename to AddLayout()
   - interfaces: take instance name in ifacetest.InstallSnap
   - snapcraft: do not use --dirty in mkversion
   - cmd: add systemd environment generator
   - devicestate: support getting (http) proxy from core config
   - many: rename ClientOpts to ClientOptions
   - prepare-image-grub-core18: remove image root in restore
   - overlord/ifacestate: remove "old-conn" from connect/undo connect
     handlers
   - packaging/fedora: Merge changes from Fedora Dist-Git
   - image: handle errors when downloadedSnapsInfoForBootConfig has no
     data
   - tests: use official core18 model assertion in tests
   - snap-confine: map /var/lib/extrausers into snaps mount-namespace
   - overlord,store: support proxy settings internally too
   - cmd/snap: bring back 'snap version'
   - interfaces/mount: tweak naming of things
   - strutil: fix MatchCounter to also work with buffer reuse
   - cmd,interfaces,tests: add /mnt to removable-media interface
   - systemd: do not run "snapd.snap-repair.service.in on firstboot
     bootstrap
   - snap/snapenv: drop some instance specific variables, use instance-
     specific ones for user locations
   - firstboot: sort by type when installing the firstboot snaps
   - cmd, cmd/snap: better support for non-linux
   - strutil: add new ParseByteSize
   - image: detect and error if bases are missing
   - interfaces/apparmor: do not downgrade confinement on arch with
     linux-hardened 4.17.4+
   - daemon: add pokeStateLock helper to the daemon tests
   - snap/squashfs: improve error message from Build on mksquashfs
     failure
   - tests: remove /etc/alternatives from dirs-not-shared-with-host
   - cmd: support re-exec into the "snapd" snap
   - spdx: remove "Other Open Source" from the support licenses
   - snap: add new type "TypeSnapd" and attach to the snapd snap
   - interfaces: retain order of inserted security backends
   - tests: spread test for parallel-installs desktop file handling
   - overlord/devicestate: use OpenSSL's PEM format when generating
     keys
   - cmd: remove --skip-command-chain from snap run and snap-exec
   - selftest: detect if apparmor is unusable and error
   - snap,snap-exec: support command-chain for hooks
   - tests: significantly reduce execution time for managers test
   - snapstate: use new "snap.ByType" sorting
   - overlord/snapstate: fix UpdateMany() to work with parallel
     instances
   - testutil: have File* checker produce more useful error output
   - overlord/ifacestate: introduce connectOpts
   - interfaces: parallel instances support, extend unit tests
   - tests: normalize tests
   - snapstate: make InstallPath() return *snap.Info too
   - snap: add ByType sorting
   - interfaces: add cifs-mount interface
   - tests: use file based markers in snap-service-stop-mode
   - osutil: reorg and stub out things to get it building on darwin
   - tests/main/layout: cleanup after the test
   - osutil/sys: small tweaks to let it build on darwin
   - daemon, overlord/snapstate: set instance name when installing from
     snap file
   - many: move Uname to osutil, for more DRY and easier porting.
   - cmd/snap: create snap user directory when running parallel
     installed snaps
   - cmd/snap-confine: switch to validation of SNAP_INSTANCE_NAME
   - tests: basic test for parallel installs from the store
   - image: download the gadget from the model.GadgetTrack()
   - snapstate: add support for gadget tracks in model assertion
   - image: add support for "gadget=track"
   - overlord: handle sigterm during shutdown better
   - tests: add the original function to fix the errors on new kernels
   - tests/main/lxd: pull lxd from candidate; reënable i386
   - wayland: add extra sockets that are used by older toolkits (e.g.
     gtk3)
   - asserts: add support for gadget tracks in the model assertion
   - overlord/snapstate: improve feature flag validation
   - tests/main/lxd: run ubuntu-16.04 only on 64 bit variant
   - interfaces: workaround for activated services and newer DBus
   - tests: get the linux-image-extra available for the current kernel
   - interfaces: add new "sysfs-name" to i2c interfaces code
   - interfaces: disconnect hooks
   - cmd/libsnap: unify detection of core/classic with go
   - tests: fix autopkgtest failures in cosmic
   - snap: fix advice json
   - overlord/snapstate: parallel snap install
   - store: backward compatible instance-key handling for non-instance
     snaps
   - interfaces: add screencast-legacy for video and audio recording
   - tests: skip unsupported architectures for fedora-base-smoke test
   - tests: avoid using the journalctl cursor when it has not been
     created yet
   - snapstate: ensure normal snaps wait for the "snapd" snap on
     refresh
   - tests: enable lxd again everywhere
   - tests: new test for udisks2 interface
   - interfaces: add cpu-control for setting CPU tunables
   - overlord/devicestate: fix tests, set seeded in registration
     through proxy tests
   - debian: add missing breaks on cosmic
   - devicestate: only run device-hook when fully seeded
   - seccomp: conditionally add socketcall() based on system and base
   - tests: new test for juju client observe interface
   - overlord/devicestate: DTRT w/a snap proxy to reach a serial vault
   - snapcraft: set version information for the snapd snap
   - cmd/snap, daemon: error out if trying to install a snap using
     empty name
   - hookstate: simplify some hook tests
   - cmd/snap-confine: extend security tag validation to cover instance
     names
   - snap: fix mocking of systemkey in snap-run tests
   - packaging/opensuse: fix static build of snap-update-ns and snap-
     exec
   - interfaces/builtin: addtl network-manager resolved DBus fix
   - udev: skip TestParseUdevEvent on ppc
   - interfaces: miscellaneous policy updates
   - debian: add tzdata to build-dep to ensure snapd builds correctly
   - cmd/libsnap-confine-private: intoduce helpers for validating snap
     instance name and instance key
   - snap,snap-exec: support command-chain for app
   - interfaces/builtin: network-manager resolved DBus changes
   - snap: tweak `snap wait` command
   - cmd/snap-update-ns: introduce validation of snap instance names
   - cmd/snap: fix some corner-case test setup weirdness
   - cmd,dirs: fix various issues discovered by a Fedora base snap
   - tests/lib/prepare: fix extra snaps test


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.36.1
   - tests,snap-confine: add core18 only hooks test and fix running
     core18 only hooks on classic
   - interfaces/apparmor: allow access to
     /run/snap.$SNAP_INSTANCE_NAME
   - spread.yaml: add more systems to the autopkgtest and qemu backends
   - daemon: spool sideloaded snap into blob dir
   - wrappers: fix generating of service units with multiple `before`
     dependencies
   - data: run snapd.autoimport.service only after seeding
   - tests,store,daemon: ensure proxy settings are honored in
     auth/userinfo too
   - packaging/fedora: Merge changes from Fedora Dist-Git
   - tests/lib: adjust to changed systemctl behaviour on debian-9
   - tests/main/interfces-accounts-service: switch to busctl, more
     debugging
   - store: also make snaps downloaded via deltas 0600
   - cmd/snap-exec: don't fail on some try mode snaps
   - cmd/snap, userd, testutil: tweak DBus tests to use private session
     bus connection
   - tests/main: fixes for the new shellcheck
   - cmd/snap-confine: remove stale mount profile along stale namespace
   - data/apt: close stderr when calling snap in the apt install hook


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.36.2
   - daemon, vendor: bump github.com/coreos/go-systemd/activation,
     handle API changes
   - snapstate: update fontconfig caches on install
   - overlord,daemon: mock security backends for testing
   - sanity, spread, tests: add CentOS
   - Revert "cmd/snap, tests/main/snap-info: highlight the current
     channel"
   - cmd/snap: add nanosleep to blacklisted syscalls when running with
     --strace
   - tests: add regression test for LP: #1803535
   - snap-update-ns: fix trailing slash bug on trespassing error
   - interfaces/builtin/opengl: allow reading /etc/OpenCL/vendors
   - cmd/snap-confine: nvidia: pick up libnvidia-opencl.so
   - interfaces/opengl: add additional accesses for cuda


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.36.3
   - wrappers: use new systemd.IsActive in core18 early boot
   - httputil: retry on temporary net errors
   - wrappers: only restart service in core18 when they are active
   - systemd: start snapd.autoimport.service in --no-block mode
   - data/selinux: fix syntax error in definition of snappy_admin
     interfacewhen installing selinux-policy-devel package.
   - centos: enable SELinux support on CentOS 7
   - cmd, dirs, interfaces/apparmor: update distro identification to
     support ID="archlinux"
   - apparmor: allow hard link to snap-specific semaphore files
   - overlord,apparmor: new syskey behaviour + non-ignored snap-confine
     profile errors
   - snap: add new `snap run --trace-exec` call
   - interfaces/backends: detect too old apparmor_parser


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.37
   - snapd: fix race in TestSanityFailGoesIntoDegradedMode test
   - cmd: fix snap-device-helper to deal correctly with hooks
   - tests: various fixes for external backend
   - interface: raw-usb: Adding ttyACM[0-9]* as many serial devices
     have device node /dev/ttyACM[0-9]
   - tests: fix enable-disable-unit-gpio test on external boards
   - tests: define new "tests/smoke" suite and use that for
     autopkgtests
   - interfaces/builtin/opengl: allow access to NVIDIA VDPAU
     library
   - snapshotstate: don't task.Log without the lock
   - overlord/configstate/configcore: support - and _ in cloud init
     field names
   - cmd/snap-confine: use makedev instead of MKDEV
   - tests: review/fix the autopkgtest failures in disco
   - systemd: allow only a single daemon-reload at the same time
   - cmd/snap: only auto-enable unicode to a tty
   - cmd/snap: right-align revision and size in info's channel map
   - dirs, interfaces/builtin/desktop: system fontconfig cache path is
     different on Fedora
   - tests: fix "No space left on device" issue on amazon-linux
   - store: undo workaround for timezone-less released-at
   - store, snap, cmd/snap: channels have released-at
   - snap-confine: fix incorrect use "src" var in mount-support.c
   - release: support probing SELinux state
   - release-tools: display self-help
   - interface: add new `{personal,system}-files` interface
   - snap: give Epoch an Equal method
   - many: remove unused interface code
   - interfaces/many: use 'unsafe' with docker-support change_profile
     rules
   - run-checks: stop running HEAD of staticcheck
   - release: use sync.Once around lazy intialized state
   - overlord/ifacestate: include interface name in the hotplug-
     disconnect task summary
   - spread: show free space in debug output
   - cmd/snap: attempt to restore SELinux context of snap user
     directories
   - image: do not write empty etc/cloud
   - tests: skip snapd snap on reset for core systems
   - cmd/snap-discard-ns: fix umount(2) typo
   - overlord/ifacestate: hotplug-remove-slot task handler
   - overlord/ifacestate: handler for hotplug-disconnect task
   - ifacestate/hotplug: updateDevice helper
   - tests: reset snapd state on tests restore
   - interfaces: return security setup errors
   - overlord: make InstallMany work like UpdateMany, issuing a single
     request to get candidates
   - systemd/systemd.go: add missing tests for systemd.IsActive
   - overlord/ifacestate: addHotplugSeqWaitTask helper
   - cmd/snap-confine: refactor call to snap-update-ns --user-mounts
   - tests: new backend used to run upgrade test suite
   - travis: short circuit failures in static and unit tests travis job
   - cmd: automatically fix localized <option>s to <option>
   - overlord/configstate,features: expose features to snapd tools
   - selinux: package to query SELinux status and verify/restore file
     contexts
   - wrappers: use new systemd.IsActive in core18 early boot
   - cmd: add tests for lintArg and lintDesc
   - httputil: retry on temporary net errors
   - cmd/snap-confine: remove unused sc_discard_preserved_mount_ns
   - wrappers: only restart service in core18 when they are active
   - overlord/ifacestate: helpers for serializing hotplug changes
   - packaging/{fedora,opensuse}: own /var/lib/snapd/cookie
   - systemd: start snapd.autoimport.service in --no-block mode
   - data/selinux: fix syntax error in definition of snappy_admin
     interface
   - snap/info: bind global plugs/slots to implicit hooks
   - cmd/snap-confine: remove SC_NS_MNT_FILE
   - spread: record each tests/upgrade job
   - osutil: do not import dirs
   - cmd/snap-confine: fix typo "a pipe"
   - tests: make security-device-cgroups-{devmode,jailmode} work on arm
     devices
   - tests: force test-snapd-daemon-notify exit 0 when the interface is
     not connected
   - overlord/snapstate: run 'remove' hook before 'auto-disconnect'
   - centos: enable SELinux support on CentOS 7
   - apparmor: allow hard link to snap-specific semaphore files
   - tests/lib/pkgdb: disable weak deps on Fedora
   - release: detect too old apparmor_parser
   - tests: improve how the log is checked to see if the system is
     waiting for a reboot
   - cmd, dirs, interfaces/apparmor: update distro identification to
     support ID="archlinux"
   - spread, tests: add Fedora 29
   - cmd/snap-confine: refactor calling snapd tools into helper module
   - apparmor: allow snap-update-ns access to common devices
   - cmd/snap-confine: capture initialized per-user mount ns
   - tests: reduce verbosity around package installation
   - data: set KillMode=process for snapd
   - cmd/snap: handle DNS error gracefully
   - spread, tests: use checkpoints when dumping audit log
   - tests/lib/prepare: make sure that SELinux context of repacked core
     snap is controlled
   - testutils: split checkers, tweak tests
   - tests: fix for tests test-*-cgroup
   - spread: show AVC audits when debugging, start auditd on Fedora
   - spread: drop Fedora 27, add Fedora 29
   - tests/lib/reset: restore context of removed snapd directories
   - testutil: add File{Present,Absent} checkers
   - snap: add new `snap run --trace-exec`
   - tests: fix for failover test on how logs are checked
   - snapctl: add "services"
   - overlord/snapstate: use file timestamp to initialize timer
   - cmd/libsnap: introduce and use sc_strdup
   - interfaces: let NM access ifindex/ifupdown files
   - overlord/snapstate: on refresh, check new rev can read current
   - client, store: don't use store from client (use client from store)
   - tests/main/parallel-install-store: verify installation of more
     than one instance at a time
   - overlord: don't write system key if security setup fails
   - packaging/fedora/snapd.spec: fix bogus date in changelog
   - snapstate: update fontconfig caches on install
   - interfaces/apparmor/backend.go:411:38: regular expression does not
     contain any meta characters (SA6004)
   - asserts/header_checks.go:199:35: regular expression does not
     contain any meta characters (SA6004)
   - run staticcheck every time :-)
   - tests/lib/systemd-escape/main.go:46:14: printf-style function with
     dynamic first argument and no further arguments should use print-
     style function instead (SA1006)
   - tests/lib/fakestore/cmd/fakestore/cmd_run.go:66:15: the channel
     used with signal.Notify should be buffered (SA1017)
   - tests/lib/fakedevicesvc/main.go:55:15: the channel used with
     signal.Notify should be buffered (SA1017)
   - spdx/parser.go:30:1: only the first constant has an explicit type
     (SA9004)
   - overlord/snapstate/snapmgr.go:553:21: printf-style function with
     dynamic first argument and no further arguments should use print-
     style function instead (SA1006)
   - overlord/patch/patch3.go:44:70: printf-style function with dynamic
     first argument and no further arguments should use print-style
     function instead (SA1006)
   - cmd/snap/cmd_advise.go:200:2: empty branch (SA9003)
   - osutil/udev/netlink/conn.go:120:5: ineffective break statement.
     Did you mean to break out of the outer loop? (SA4011)
   - daemon/api.go:992:22: printf-style function with dynamic first
     argument and no further arguments should use print-style function
     instead (SA1006)
   - cmd/snapd/main.go:94:5: ineffective break statement. Did you mean
     to break out of the outer loop? (SA4011)
   - cmd/snap/cmd_userd.go:73:15: the channel used with signal.Notify
     should be buffered (SA1017)
   - cmd/snap/cmd_help.go:102:7: io.Writer.Write must not modify the
     provided buffer, not even temporarily (SA1023)
   - release: probe apparmor features lazily
   - overlord,daemon: mock security backends for testing
   - cmd/libsnap: move apparmor-support to libsnap
   - cmd: drop cruft from snap-discard-ns build rules
   - cmd/snap-confine: use snap-discard-ns ns to discard stale
     namespaces
   - cmd/snap-confine: handle mounted shared /run/snapd/ns
   - many: fix composite literals with unkeyed fields
   - dirs, wrappers, overlord/snapstate: make completion + bases work
   - tests: revert "tests: restore in restore, not prepare"
   - many: validate title
   - snap: make description maximum in runes, not bytes
   - tests: discard mount namespaces in reset.sh
   - tests/lib: sync cla check back from snapcraft
   - Revert "cmd/snap, tests/main/snap-info: highlight the current
     channel"
   - daemon: remove enableInternalInterfaceActions
   - mkversion: use "test -n" rather than "! test -z"
   - run-checks: assorted fixes
   - tests: restore in restore, not in prepare
   - cmd/snap: fix missing newline in "snap keys" error message
   - snap: epoch lists must contain no duplicate entries
   - interfaces/avahi_observe: Fix typo in comment
   - tests: add SPREAD_JOB to the description of
     systemd_create_and_start_unit
   - daemon, vendor: bump github.com/coreos/go-systemd/activation,
     handle API changes
   - Revert "cmd/snap-confine: don't allow mapping lib{uuid,blkid}"
   - packaging/fedora: use %_sysctldir macro
   - cmd/snap-confine: remove unneeded unshare
   - sanity: extend the kernel version check to cover CentOS/RHEL
     kernels
   - wrappers: remove all desktop files from a snap on removal
   - snap: add an explicit check for `epoch: null` loading
   - snap: check max description length in validate
   - spread, tests: add CentOS support
   - cmd/snap-confine: allow mapping more libc shards
   - cmd/snap-discard-ns: add support for --from-snap-confine
   - tests: make tinyproxy support systemd notify
   - tests: fix shellcheck
   - snap, store: rename `snap.Epoch`'s `Unset` to `IsZero`
   - store: add a test for a non-zero epoch refresh (with epoch bump)
   - store: v1 search doesn't send epoch, stop pretending it does
   - snap: make any "0" epoch be Unset, and marshalled to {[0],[0]}
   - overlord/snapstate: amend test should send local revision
   - tests: use mock-gpio.py in enable-disable-units-gpio test
   - snap: enforce minimal snap name len of 2
   - cmd/libsnap: add sc_verify_snap_lock
   - cmd/snap-update-ns: extra debugging of trespassing events
   - userd: force zenity width if the text displayed is long
   - overlord/snapstate, store: always send epochs
   - cmd/snap-confine,snap-update-ns: discard quirks
   - cmd/snap: add nanosleep to blacklisted syscalls when running with
     --strace
   - cmd/snap-update-ns, tests: clean trespassing paths
   - nvidia, interfaces/builtin: OpenCL fixes
   - ifacestate/hotplug: removeDevice helper
   - cmd: install snap-discard-ns in "make hack"
   - overlord/ifacestate: setup security backends phased by backends
     first
   - ifacestate/helpers: added SystemSnapName mapper helper method
   - overlord/ifacestate: set hotplug-key of the connection when
     connecting hotplug slots
   - snapd: allow snap-update-ns to read /proc/version
   - cmd: handle tumbleweed and leap in autogen.sh
   - interfaces/tests: MockHotplugSlot test helper
   - store,daemon: make UserInfo,LoginUser part of the store interface
   - overlord/ifacestate: use remapper when checking if system snap is
     installed
   - tests: fix how pinentry is prepared for new gpg v 2.1 and 2.2
   - packaging/arch: fix bash completions path
   - interfaces/builtin: add device-buttons interface for accessing
     events
   - tests, fakestore: extend refresh tests with parallel installed
     snaps
   - snap, store, overlord/snapshotstate: drop epoch pointers
   - snap: make Epoch default to {[0],[0]} on load from yaml
   - data/completion: pass documented arguments to completion functions
   - tests: skip opensuse from interfaces-openvswitch-support test
   - tests: simple reproducer for snap try and hooks bug
   - snapstate: do not allow classic mode for strict snaps
   - snap: make Epoch's MarshalJSON not simplify
   - store: remove unused currentSnap and currentSnapJSON
   - many: some small doc comment fixes in recent hotplug code
   - ifacestate/udevmonitor: added callback to signal end of
     enumeration
   - cmd/libsnap: add simplified feature flag checker
   - interfaces/opengl: add additional accesses for cuda
   - tests: add core18 only hooks test and fix running core18 only on
     classic
   - sanity, release, cmd/snap: refuse to try to do things on WSL.
   - cmd: make coreSupportsReExec faster
   - overlord/ifacestate: don't remove the dash when generating unique
     slot name
   - cmd/snap-seccomp: add full complement of ptrace constants
   - cmd: update autogen.sh for opensuse
   - interfaces/apparmor: allow access to /run/snap.$SNAP_INSTANCE_NAME
   - spread.yaml: add more systems to the autopkgtest and qemu backends
   - daemon: spool sideloaded snap into blob dir
     overlord/snapstate: address review feedback
   - packaging/opensuse: stop using golang-packaging
   - overlord/snapshots: survive an unknown user
   - wrappers: fix generating of service units with multiple `before`
     dependencies
   - data: run snapd.autoimport.service only after seeding
   - cmd/snap: unhide --name parameter to snap install, tweak help
     message
   - packaging/fedora: Merge changes from Fedora Dist-Git
   - tests/main/snap-service-after-before-install: verify after/before
     in snap install
   - overlord/ifacestate: mark connections disconnected by hotplug with
     hotplug-gone
   - ifacestate/ifacemgr: don't reload hotplug-gone connections on
     startup
   - tests: install dependencies during prepare
   - tests,store,daemon: ensure proxy settings are honored in
     auth/userinfo too
   - tests: core 18 does not support classic confinement
   - tests: add debug output for degraded test
   - strutil: make VersionCompare faster
   - overlord/snapshotstate/backend: survive missing directories
   - overlord/ifacestate: use map[string]*connState when passing conns
     around
   - tests: move fedora 28 to manual
   - overlord/snapshotstate/backend: be more verbose when
     SNAPPY_TESTING=1
   - tests: removing fedora 26 system from spread.yaml
   - tests: linode execution is not needed anymore
   - tests/lib: adjust to changed systemctl behaviour on debian-9
   - tests: fixes and new backend for tests on nested suite
   - strutil: let MatchCounter work with a nil regexp
   - ifacestate/helpers: findConnsForHotplugKey helper
   - many: move regexp.(Must)Compile out of non-init functions into
     variables
   - store: also make snaps downloaded via deltas 0600
   - snap: use Lstat to determine snap size, remove
     ReadSnapInfoExceptSize
   - interfaces/builtin: add adb-support interface
   - tests: fail if install_snap_local fails
   - strutil: add extra test to CommaSeparatedList as suggested by
     mborzecki
   - cmd/snap, daemon, strutil: use CommaSeparatedList to split a CSL
   - ifacestate: optimize disconnect hooks
   - cmd/snap-update-ns: parse the -u <uid> command line option
   - cmd/snap, tests: snapshots for all
   - client, cmd/daemon: allow disabling keepalive, improve degraded
     mode unit tests
   - snap: only show "next" refresh time if its after the hold time
   - overlord/snapstate: run tests for classic snaps even on systems
     that don't support classic
   - overlord/standby: fix a race between standby goroutine and stop
   - cmd/snap-exec: don't fail on some try mode snaps
   - cmd/snap, userd, testutil: tweak DBus tests to use private session
     bus connection
   - cmd: remove remnants of sc_should_populate_mount_ns
   - client, daemon, cmd/snap: indicate that services are socket/timer
     activated
   - cmd/snap-seccomp: only look for PTRACE_GETFPX?REGS where available
   - cmd/snap-confine: remove SC_NS_FAIL_GRACEFULLY
   - snap/pack, cmd/snap: allow specifying the filename of 'snap pack'
   - cmd/snap-discard-ns: add support for per-user mount namespaces
   - cmd/snap-confine: remove stale mount profile along stale namespace
   - data/apt: close stderr when calling snap in the apt install hook.
   - tests/main: fixes for the new shellcheck
   - testutil, cmd/snap: introduce and use testutil.EqualsWrapped and
     fly
   - tests: initial setup for testing current branch on nested vm and
     hotplug management
   - cmd: refactor IPC and lifecycle of the helper process
   - tests/main/parallel-install-store: the store has caught up, do not
     expect failures
   - overlord/snapstate, snap, wrappers: start services in the right
     order during install
   - interfaces/browser-support, cmd/snap-seccomp: Allow read-only
     ptrace, for the Breakpad crash reporter
   - snap,client: use a different exit code for retryable errors
   - overlord/ifacestate: don't conflict on own discard-snap tasks when
     refreshing & doing garbage collection
   - cmd/snap: tweak `snap services` output when there is no services
   - interfaces/many: updates to support k8s worker nodes
   - cmd/snap: gnome-software install via snap:// handler
   - overlord/many: cleanup use of snapName vs. instanceName
   - snapstate: add command-chain to supported featureset
   - daemon, snap: mark screenshots as deprecated
   - interfaces: fix decoding of json numbers for static/dynamic
     attributes* ifstate: fix decoding of json numbers
   - cmd/snap: try not to panic on error from "snap try"
   - tests: new cosmic image for spread tests on gce
   - interfaces/system-key: add parser mtime and only discover features
     on write
   - overlord/snapshotstate/backend: detect path to tar in unit tests
   - tests/unit/gccgo: drop gccgo unit tests
   - cmd: use relative file names in locking APIs
   - interfaces: fix NormalizeInterfaceAttributes, add tests
   - overlord/snapshotstate/backend: fall back on sudo when no runuser
   - cmd/snap-confine: reduce verbosity of debug and error messages
   - systemd: extend Status() to work for socket and timer units
   - interfaces: typo 'allows' for consistency with other ifaces
   - systemd,wrappers: don't start disabled services
   - ifacestate: simplify task chaining in ifacestate.Connect
   - tests: ensure that goa-daemon is off
   - snap/pack, snap/squashfs: remove extra copy before mksquashfs
   - cmd/snap: block 'snap help <cmd> --all'
   - asserts, image: ensure kernel, gadget, base and required-snaps use
     valid snap names
   - apparmor: add unit test for probeAppArmorParser and simplify code
   - interfaces/apparmor: conditionally add explicit deny rules for
     ptrace
   - po: sync translations from launchpad
   - osutil: tweak handling of error adduser errors
   - cmd: rename ns_group to mount_ns
   - tests/main/interfaces-accounts-service: more debugging
   - snap/pack, snap/squashfs: use type to determine mksquashfs args
   - data/systemd, wrappers: tweak system-shutdown helper for core18
   - tests: show list of processes when ifaces-accounts-service fails
   - tests: do not run degraded test in autopkgtest env
   - snap: overhaul validation error messages
   - ifacestate/hooks: only create interface hook tasks if hooks exist
   - osutil: workaround overlayfs on ubuntu 18.10
   - interfaces/home: don't allow snaps to write to $HOME/bin
   - interfaces: improve Attr error further
   - snapstate: tweak GetFeatureFlagBool() to have a default argument
   - many: cleanup remaining parallel installs TODOs
   - image: improve validation of extra snaps


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.37.1
   - cmd/snap-confine: add special case for Jenkins
   - tests: workaround missing go dependencies in debian-9
   - daemon, polkit: pid_t is signed
   - interfaces: add display-control interface
   - interfaces: add block-devices interface
   - tests/main/searching: video section got renamed to photo-and-video
   - interfaces/camera: allow reading vendor/etc info from
     /run/udev/data/+usb
   - interfaces/dbus: be less strict about alternations for well-known
     names
   - interfaces/home: allow dac_read_search with 'read: all'
   - interfaces/pulseaudio: allow reading subdirectories of
     /etc/pulse
   - interfaces/system-observe: allow read on
     /proc/locks
   - tests: get test-snapd-dbus-{provider,consumer} from the beta
     channel
   - interfaces/apparmor: mock presence of overlayfs root
   - packaging/{fedora,opensuse,ubuntu}: add /var/lib/snapd/lib/glvnd


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.37.2
   - cmd/snap, overlord/snapstate: silently ignore classic flag when a
     snap is strictly confined
   - snap-confine: remove special handling of /var/lib/jenkins
   - cmd/snap-confine: handle death of helper process gracefully
   - snap-confine: fix classic snaps for users with /var/lib/* homedirs
     like jenkins/postgres
   - packaging: disable systemd environment generator on 18.04
   - tests: update smoke/sandbox test for armhf
   - cmd/snap-confine: refactor and cleanup of seccomp loading
   - snap-confine: increase locking timeout to 30s
   - snap-confine: fix incorrect "sanity timeout 3s" message
   - snap: fix hook autodiscovery for parallel installed snaps
   - tests: iterate getting journal logs to support delay on boards on
     daemon-notify test
   - interfaces/apparmor: deny inet/inet6 in snap-update-ns profile
   - interfaces: add u2f-devices interface


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.37.3
   - interfaces/seccomp: generate global seccomp profile
   - overlord/snapstate: add some randomness to the catalog refresh
   - tests: add upgrade test from 2.15.2ubuntu1 -> current snapd
   - snap-confine: fix fallback to ubuntu-core
   - packaging: avoid race in snapd.postinst
   - overlord/snapstate: discard mount namespace when undoing 1st link
     snap
   - cmd/snap-confine: allow writes to /var/lib/** again
   - tests: stop catalog-update/apt-hooks test until the catlog refresh
     is randomized
   - debian: ensure leftover usr.lib.snapd.snap-confine is gone


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.37.4
   - squashfs: unset SOURCE_DATE_EPOCH in the TestBuildDate test
   - overlord/ifacestate: fix migration of connections on upgrade from
     ubuntu-core
   - tests: fix upgrade-from-2.15 with kernel 4.15
   - interfaces/seccomp: increase filter precision
   - tests: remove snapweb from tests


author: Zygmunt Bazyli Krynicki <me@zygoon.pl> - 2.37.4-1
changelog:
  - Release 2.37.4 to Fedora (RH#1683795)
  - Fix RPM macro in changelog (rpmlint)
  - Fix non-break space in changelog (rpmlint)


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.38
   - overlord/snapstate,: retry less for auto-stuff
   - cmd/snap: fix regression of snap saved command
   - interfaces/builtin: add dev/pts/ptmx access to docker_support
   - overlord/snapstate, store: set a header when auto-refreshing
   - interfaces/builtin: add add exec "/" to docker-support
   - cmd/snap, client, daemon, ifacestate: show a leading attribute of
     a connection
   - interface: avahi-observe: Fixing socket permissions on 4.15
     kernels
   - tests: check that apt works before using it
   - apparmor: support AppArmor 2.13
   - snapstate: restart into the snapd snap on classic
   - overlord/snapstate: during refresh, re-refresh on epoch bump
   - cmd, daemon: split out the common bits of mapLocal and mapRemote
   - cmd/snap-confine: chown private /tmp to root.root
   - cmd/snap-confine: drop uid from random /tmp name
   - overlord/hookstate: apply pending transaction changes onto
     temporary configuration for snapctl get
   - cmd/snap: `snap connections` command
   - interfaces/greengrass_support: update accesses for GGC 1.8
   - cmd/snap, daemon: make the connectivity check use GET
   - interfaces/builtin,/udev: add spec support to disable udev +
     device cgroup and use it for greengrass
   - interfaces/intel-mei: small follow up tweaks
   - ifacestate/tests: fix/improve udev mon test
   - interfaces: add multipass-support interface
   - tests/main/high-user-handling: fix the test for Go 1.12
   - interfaces: add new intel-mei interface
   - systemd: decrease the checker counter before unlocking otherwise
     we can get spurious panics
   - daemon/tests: fix race in the disconnect conflict test
   - cmd/snap-confine: allow moving tasks to pids cgroup
   - tests: enable opensuse tumbleweed on spread
   - cmd/snap: fix `snap services` completion
   - ifacestate/hotplug: integration with udev monitor
   - packaging: build snapctl as a static binary
   - packaging/opensuse: move most logic to snapd.mk
   - overlord: fix ensure before slowness on Retry
   - overlord/ifacestate: fix migration of connections on upgrade from
     ubuntu-core
   - daemon, client, cmd/snap: debug GETs ask aspects, not actions
   - tests/main/desktop-portal-*: fix handling of python dependencies
   - interfaces/wayland: allow wayland server snaps function on classic
     too
   - daemon, client, cmd/snap: snap debug base-declaration
   - tests: run tests on opensuse leap 15.0 instead of 42.3
   - cmd/snap: fix error messages for snapshots commands if ID is not
     uint
   - interfaces/seccomp: increase filter precision
   - interfaces/network-manager: no peer label check for hostname1
   - tests: add a tests for xdg-desktop-portal integration
   - tests: not checking 'tracking channel' after refresh core on
     nested execution
   - tests: remove snapweb from tests
   - snap, wrappers: support StartTimeout
   - wrappers: Add an X-SnapInstanceName field to desktop files
   - cmd/snap: produce better output for help on subcommands
   - tests/main/nfs-support: use archive mode for creating fstab backup
   - many: collect time each task runs and display it with `snap debug
     timings <id>`
   - tests: add attribution to helper script
   - daemon: make ucrednetGet not loop
   - squashfs: unset SOURCE_DATE_EPOCH in the TestBuildDate test
   - features,cmd/libsnap: add new feature "refresh-app-awareness"
   - overlord: fix random typos
   - interfaces/seccomp: generate global seccomp profile
   - daemon/api: fix error case for disconnect conflict
   - overlord/snapstate: add some randomness to the catalog refresh
   - tests: disable trusty-proposed for now
   - tests: fix upgrade-from-2.15 with kernel 4.15
   - interfaces/apparmor: allow sending and receiving signals from
     ourselves
   - tests: split the test interfaces-many in 2 and remove snaps on
     restore
   - tests: use snap which takes 15 seconds to install on retryable-
     error test
   - packaging: avoid race in snapd.postinst
   - overlord/snapstate: discard mount namespace when undoing 1st link
     snap
   - cmd/snap-confine: allow writes to /var/lib/**
   - tests: stop catalog-update test for now
   - tests/main/auto-refresh-private: make sure to actually download
     with the expired macaroon
   - many: save media info when installing, show it when listing
   - userd: handle help urls which requires prepending XDG_DATA_DIRS
   - tests: fix NFS home mocking
   - tests: improve snaps-system-env test
   - tests: pre-cache core on core18 systems
   - interfaces/hotplug: renamed RequestedSlotSpec to ProposedSlot,
     removed Specification
   - debian: ensure leftover usr.lib.snapd.snap-confine is gone
   - image,cmd/snap,tests: introduce support for modern prepare-image
     --snap <snap>[=<channel>]
   - overlord/ifacestate: tweak logic for generating unique slot names
   - packaging: import debian salsa packaging work, add sbuild test and
     use in spead
   - overlord/ifacestate: hotplug-add-slot handler
   - image,cmd/snap:  simplify --classic-arch to --arch, expose
     prepare-image
   - tests: run test snap as user in the smoke test
   - cmd/snap: tweak man output to have no doubled up .TP lines
   - cmd/snap, overlord/snapstate: silently ignore classic flag when a
     snap is strictly confined
   - snap-confine: remove special handling of /var/lib/jenkins
   - cmd/snap-confine: handle death of helper process
   - packaging: disable systemd environment generator on 18.04
   - snap-confine: fix classic snaps for users with /var/lib/* homedirs
   - tests/prepare: prevent console-conf from running
   - image: bootstrapToRootDir => setupSeed
   - image,cmd/snap,tests:  introduce prepare-image --classic
   - tests: update smoke/sandbox test for armhf
   - client, daemon: introduce helper for querying snapd API for the
     list of slot/plug connections
   - cmd/snap-confine: refactor and cleanup of seccomp loading
   - snapstate, snap: allow update/switch requests with risk only
     channel to DTRT
   - interfaces: add network-manager-observe interface
   - snap-confine: increase locking timeout to 30s
   - snap-confine: fix incorrect "sanity timeout 3s" message
   - snap-confine: provide proper error message on sc_sanity_timeout
   - snapd,state: improve error message on state reading failure
   - interfaces/apparmor: deny inet/inet6 in snap-update-ns profile
   - snap: fix reexec from the snapd snap for classic snaps
   - snap: fix hook autodiscovery for parallel installed snaps
   - overlord/snapstate: format the refresh time for the log
   - cmd/snap-confine: add special case for Jenkins
   - snapcraft.yaml: fix XBuildDeb PATH for go-1.10
   - overlord/snapstate: validate instance names early
   - overlord/ifacestate: handler for hotplug-update-slot tasks
   - polkit: cast pid to uint32 to keep polkit happy for now
   - snap/naming: move various name validation helpers to separate
     package
   - tests: iterate getting journal logs to support delay on boards on
     daemon-notify test
   - cmd/snap: fix typo in cmd_wait.go
   - snap/channel: improve channel parsing
   - daemon, polkit: pid_t is signed
   - daemon: introduce /v2/connections snapd API endpoint
   - cmd/snap: small refactor of cmd_info's channel handling
   - overlord/snapstate: use an ad-hoc error when no results
   - cmd/snap: wrap "summary" better
   - tests: workaround missing go dependencies in debian-9
   - daemon: try to tidy up the icon stuff a little
   - interfaces: add display-control interface
   - snapcraft.yaml: fix snap building in launchpad
   - tests: update fedora 29 workers to speed up the whole testing time
   - interfaces: add u2f-devices interface and allow reading udev
     +power_supply:* in hardware-observe
   - cmd/snap-update-ns: save errno from strtoul
   - tests: interfaces tests normalization
   - many: cleanup golang.org/x/net/context
   - tests: add spread test for system dbus interface
   - tests: remove -o pipefail
   - interfaces: add block-devices interface
   - spread: enable upgrade suite on fedora
   - tests/main/searching: video section got renamed to photo-and-video
   - interfaces/home: use dac_read_search instead of dac_override with
     'read: all'
   - snap: really run the RunSuite
   - interfaces/camera: allow reading vendor/etc info from
     /run/udev/data/+usb:*
   - interfaces/dbus: be less strict about alternations for well-known
     names
   - interfaces/home: allow dac_override with 'read:
     all'
   - interfaces/pulseaudio: allow reading subdirectories of
     /etc/pulse
   - interfaces/system-observe: allow read on
     /proc/locks
   - run-checks: ensure we use go-1.10 if available
   - tests: get test-snapd-dbus-{provider,consumer} from the beta
     channel
   - interfaces/apparmor: mock presence of overlayfs root
   - spread: increase default kill-timeout to 30min
   - tests: simplify interfaces-contacts-service test
   - packaging/ubuntu: build with golang 1.10
   - ifacestate/tests: extra test for hotplug-connect handler
   - packaging: make sure that /var/lib/snapd/lib/glvnd is accounted
     for
   - overlord/snapstate/backend: call fontconfig helpers from the new
     'current'
   - kvm: load required kernel modules if necessary
   - cmd/snap: use a fake user for 'run' tests
   - tests: update systems for google sru backend
   - tests: fix install-snaps test by changing the snap info regex
   - interfaces: helpers for sorting plug/slot/connection refs
   - tests: moving core-snap-refresh-on-core test from main to nested
     suite
   - tests: fix daemon-notify test checking denials considering all the
     log lines
   - tests: skip lp-1802591 on "official" images
   - tests: fix listing tests to match "snap list --unicode=never"
   - debian: fix silly typo in the spread test invocation
   - interface: raw-usb: Adding ttyACM ttyACA permissions
   - tests: fix enable-disable-unit-gpio test on external boards
   - overlord/ifacestate: helper API to obtain the state of connections
   - tests: define new "tests/smoke" suite and use that for
     autopkgtests
   - cmd/snap-update-ns: explicitly check for return value from
     parse_arg_u
   - interfaces/builtin/opengl: allow access to NVIDIA VDPAU library
   - tests: auto-clean the test directory
   - cmd/snap: further tweak messaging; add a test
   - overlord/ifacestate: handler for hotplug-connect task
   - cmd/snap-confine: join freezer only after setting up user mount
   - cmd/snap-confine: don't preemptively create .mnt files
   - cmd/snap-update-ns: manually implement isspace
   - cmd/snap-update-ns: let the go parser know we are parsing -u
   - cmd/snap-discard-ns: fix name of user fstab files
   - snapshotstate: don't task.Log without the lock
   - tests: exclude some more slow tests from runs in autopkgtest
   - many: remove .user-fstab files from /run/snapd/ns
   - cmd/libsnap: pass --from-snap-confine when calling snap-update-ns
     as user
   - cmd/snap-update-ns: make freezer mockable
   - cmd/snap-update-ns: move XDG code to dedicated file
   - osutil: add helper for loading fstab from string
   - cmd/snap-update-ns: move existing code around, renaming some
     functions
   - overlord/configstate/configcore: support - and _ in cloud init
     field names
   - * cmd/snap-confine: use makedev instead of MKDEV
   - tests: review/fix the autopkgtest failures in disco
   - overlord: drop old v1 store api support from managers test
   - tests: new test for snapshots with more than 1 user


author: Neal Gompa <ngompa13@gmail.com> - 2.38-1
changelog:
  - Release 2.38 to Fedora (RH#1691296)
  - Switch to officially released main source tarball
  - Drop obsolete snapd-login-service Provides


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.39
   - overlord/ifacestate: update static attributes of "content"
     interface
   - data/selinux: tweak the policy for runuser and s-c, interpret
     audit entries
   - snapshotstate: disable automatic snapshots on core for now
   - overlord/corecfg: make expiration of automatic snapshots
     configurable
   - snapstate: auto-install snapd when needed
   - interfaces: add support for the snapd snap in the dbus backend
   - overlord/snapstate: tweak autorefresh logic if network is not
     available
   - interfaces/apparmor: allow running /usr/bin/od
   - osutil,cmdutil: move CommandFromCore and make it use the snapd
     snap (if available)
   - daemon: also verify snap instructions for multi-snap requests
   - data/selinux: allow snap-confine to mount on top of bin
   - data/selinux: auto transition /var/snap to snappy_var_t
   - cmd: add `snap debug validate-seed <path>` cmd
   - interfaces/builtin/desktop: fonconfig v6/v7 cache handling on
     Fedora
   - interfaces/builtin/intel_mei: fix /dev/mei* AppArmor pattern
   - tests: make snap-connections test work on boards with snaps pre-
     installed
   - tests: check for /snap/core16/current in core16-provided-by-core
   - tests: run livepatch test on 18.04 as well
   - devicestate: deal correctly with the "required" flag on Remodel
   - snapstate,state: add TaskSet.AddAllWithEdges() and use in doUpdate
   - snapstate: add new NoReRefresh flag and use in Remodel()
   - many: allow core as a fallback for core16
   - snapcraft: build static fontconfig in the snapd snap
   - cmd/snap-confine: remove unused sc_open_snap_{update,discard}_ns
   - data/selinux: allow snapd to execute runuser under snappy_t
   - spread, tests: do not leave mislabeled files in restorecon test,
     attempt to catch similar files
   - interfaces: cleanup internal tool lookup in system-key
   - many: move auth.AuthContext to store.DeviceAndAuthContext, the
     implemention to a separate storecontext packageThis:
   - overlord/devicestate: measurements around ensure and related tasks
   - cmd: tweak internal tool lookup to accept more possible locations
   - overlord/snapstate,snapshotstate: create snapshot on snap removal
   - tests: run smoke tests on (almost) pristine systems
   - tests: system disable ssh for config defaults in gadget
   - cmd/debug: integrate new task timings with "snap debug timings"
   - tests/upgrade/basic, packaging/fedoar: restore SELinux context of
     /var/cache/fontconfig, patch pre-2.39 mount units
   - image: simplify prefer local logic  and fixes
   - tests/main/selinux-lxd: make sure LXD from snaps works cleanly
     with enforcing SELinux
   - tests: deny ioctl - TIOCSTI with garbage in high bits
   - overlord: factor out mocking of device service and gadget w.
     prepare-device for registration tests
   - data/selinux, tests/main/selinux-clean: fine tune the policy, make
     sure that no denials are raised
   - cmd/libsnap,osutil: fix parsing of mountinfo
   - ubuntu: disable -buildmode=pie on armhf to fix memory issue
   - overlord/snapstate: inhibit refresh for up to a week
   - cmd/snap-confine: prevent cwd restore permission bypass
   - overlord/ifacestate: introduce HotplugKey type use short key in
     change summaries
   - many: make Remodel() download everything first before installing
   - tests: fixes discovered debugging refresh-app-awareness
   - overlord/snapstate: track time of postponed refreshes
   - snap-confine: set rootfs_dir in sc_invocation struct
   - tests: run create-user on core devices
   - boot: add flag file "meta/force-kernel-extraction"
   - tests: add regression test for systemctl race fix
   - overlord/snapshotstate: helpers for snapshot expirations
   - overlord,tests: perform soft refresh check in doInstall
   - tests: enable tests that write /etc/{hostname,timezone} on core18
   - overlord/ifacestate: implement String() method of
     HotplugDeviceInfo for better logs/messages
   - cmd/snap-confine: move ubuntu-core fallback checks
   - testutil: fix MockCmd for shellcheck 0.5
   - snap, gadget: move gadget read/validation into separate package,
     tweak naming
   - tests: split travis spread execution in 2 jobs for ubuntu and non
     ubuntu systems
   - testutil: make mocked command work with shellcheck from snaps
   - packaging/fedora, tests/upgrade/basic: patch existing mount units
     with SELinux context on upgrade
   - metautil, snap: extract yaml value normalization to a helper
     package
   - tests: use apt via eatmydata
   - dirs,overlord/snapstate: add Soft and Hard refresh checks
   - cmd/snap-confine: allow using tools from snapd snap
   - cmd,interfaces: replace local helpers with cmd.InternalToolPath
   - tweak: fix "make hack" on Fedora
   - snap: add validation of gadget.yaml
   - cmd/snap-update-ns: refactor of profile application
   - cmd/snap,client,daemon,store: layout and sanity tweaks for
     find/search options
   - tests: add workaround for missing cache reset on older snapd
   - interfaces: deal with the snapd snap correctly for apparmor 2.13
   - release-tools: add debian-package-builder
   - tests: enable opensuse 15 and add force-resolution installing
     packages
   - timings: AddTag helper
   - testutil: run mocked commands through shellcheck
   - overlord/snapshotstate: support auto flag
   - client, daemon, store: search by common-id
   - tests: all the systems for google backend with 6 workers
   - interfaces: hotplug nested vm test, updated serial-port interface
     for hotplug.
   - sanity: use proper SELinux context when mounting squashfs
   - cmd/libsnap: neuter variables in cleanup functions
   - interfaces/adb-support: account for hubs on sysfs path
   - interfaces/seccomp: regenerate changed profiles only
   - snap: reject layouts to /lib/{firmware,modules}
   - cmd/snap-confine, packaging: support SELinux
   - selinux, systemd: support mount contexts for snap images
   - interfaces/builtin/opengl: allow access to Tegra X1
   - cmd/snap: make 'snap warnings' output yamlish
   - tests: add check to detect a broken snap on reset
   - interfaces: add one-plus devices to adb-support
   - cmd: prevent umask from breaking snap-run chain
   - tests/lib/pkgdb: allow downgrade when installing packages in
     openSUSE
   - cmd/snap-confine: use fixed private tmp directory
   - snap: tweak parsing errors of gadget updates
   - overlord/ifacemgr: basic measurements
   - spread: refresh metadata on openSUSE
   - cmd/snap-confine: pass sc_invocation instead of numerous args
     around
   - snap/gadget: introduce volume update info
   - partition,bootloader: rename 'partition' package to 'bootloader'
   - interfaces/builtin: add dev/pts/ptmx access to docker_support
   - tests: restore sbuild test
   - strutil: make SplitUnit public, allow negative numbers
   - overlord/snapstate,: retry less for auto-stuff
   - interfaces/builtin: add add exec "/" to docker-support
   - cmd/snap: fix regression of snap saved command
   - cmd/libsnap: rename C enum for feature flag
   - cmd: typedef mountinfo structures
   - tests/main/remodel: clean up before reverting the state
   - cmd/snap-confine: umount scratch dir using UMOUNT_NOFOLLOW
   - timings: add new helpers, Measurer interface and DurationThreshold
   - cmd/snap-seccomp: version-info subcommand
   - errortracker: fix panic in Report if db cannot be opened
   - sandbox/seccomp: a helper package wrapping calls to snap-seccomp
   - many: add /v2/model API, `snap remodel` CLI and spread test
   - tests: enable opensuse tumbleweed back
   - overlord/snapstate, store: set a header when auto-refreshing
   - data/selinux, tests: refactor SELinux policy, add minimal tests
   - spread: restore SELinux context when we mess with system files
   - daemon/api: filter connections with hotplug-gone=true
   - daemon: support returning assertion information as JSON with the
     "json" query parameter
   - cmd/snap: hide 'interfaces' command, show deprecation notice
   - timings: base API for recording timings in state
   - cmd/snap-confine: drop unused dependency on libseccomp
   - interfaces/apparmor: factor out test boilerplate
   - daemon: extract assertions api endpoint implementation into
     api_asserts.go
   - spread.yaml: bump delta reference
   - cmd/snap-confine: track per-app and per-hook processes
   - cmd/snap-confine: make sc_args helpers const-correct
   - daemon: move a function that was between an other struct and its
     methods
   - overlord/snapstate: fix restoring of "old-current" revision config
     in undoLinkSnap
   - cmd/snap, client, daemon, ifacestate: show a leading attribute of
     a connection
   - cmd/snap-confine: call sc_should_use_normal_mode once
   - cmd/snap-confine: populate enter_non_classic_execution_environment
   - daemon: allow downloading snaps blobs via .../file
   - cmd/snap-confine: introduce sc_invocation
   - devicestate: add initial Remodel support
   - snap: remove obsolete license-* fields in the yaml
   - cmd/libsnap: add cgroup-pids-support module
   - overlord/snapstate/backend: make LinkSnap clean up more
   - snapstate: only keep 2 snaps on classic
   - ctlcmd/tests: tests tweaks (followup to #6322)


author: Neal Gompa <ngompa13@gmail.com> - 2.39-1
changelog:
  - Release 2.39 to Fedora (RH#1699087)
  - Enable basic SELinux integration
  - Fix changelog entry to fix build for EPEL 7
  - Exclude bash and POSIX sh shebangs from mangling (LP:1824158)
  - Drop some old pre Fedora 28 logic


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.39.1
   - spread: enable Fedora 30
   - cmd/snap-confine, data/selinux: cherry pick Fedora 30 fixes
   - tests/unit/spread-shellcheck: temporary workaround for SC2251
   - packaging: build empty package on powerpc
   - interfaces: special-case "snapd" in sanitizeSlotReservedForOS*
     helper
   - cmd/snap: mangle descriptions that have indent > terminal width
   - cmd/snap-confine: unshare per-user mount ns once
   - tests: avoid adding spaces to the base snaps names
   - systemd: workaround systemctl show quirks on older systemd
     versions


author: Neal Gompa <ngompa13@gmail.com> - 2.39.1-1
changelog:
  - Release 2.39.1 to Fedora (RH#1715505)
  - Backport SELinux policy fixes for systemd unit mount namespacing (RH#1708991)


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.39.2
   - debian: rework how we run autopkgtests
   - interfaces/docker-support: add overlayfs accesses for ubuntu core
   - data/selinux: permit init_t to remount snappy_snap_t
   - strutil/shlex: fix ineffassign
   - packaging: fix build-depends on powerpc


author: Maciej Borzecki <maciek.borzecki@gmail.com> - 2.39.1-2
changelog:
  - Fix SELinux policy to allow running hooks and services from snaps with bases
    and classic snaps
  - Bump SELinux policy version


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.39.3
    - daemon: increase `shutdownTimeout` to 25s to deal with slow HW
    - spread: run tests against openSUSE 15.1
    - data/selinux: fix policy for snaps with bases and classic snaps


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.40
   - overlord/patch: simplify conditions for re-applying sublevel
     patches for level 6
   - cmd,tests: forcibly discard mount namespace when bases change
   - cmd/snap-confine: handle device cgroup before pivot
   - cmd/snap-apparmor-service: quit if there are no profiles
   - cmd/snap, image: add --target-directory and --basename to 'snap
     download'
   - interfaces: add jack1 implicit classic interface
   - interfaces: miscellaneous policy updates
   - daemon: classic confinement is not supported on core
   - interfaces: bluetooth-control: add mtk BT device node
   - cmd/snap-seccomp: initial support for negative arguments with
     uid/gid caching
   - snap-confine: move seccomp load after permanent privilege drop
   - tests: new profiler snap used to track cpu and memory for snapd
     and snap commands
   - debian: make maintainer scripts do nothing on powerpc
   - gadget: mounted filesystem writer
   - cmd/snap: use padded checkers for snapshot output
   - bootloader: switch to bootloader_test style testing
   - gadget: add a wrapper for generating partitioned images with
     sfdisk
   - tests/main/snap-seccomp-syscalls: add description
   - tests: continue executing on errors either updating the repo db or
     installing dependencies
   - cmd/snap-seccomp/syscalls: add io_uring syscalls
   - systemd: add InstanceMode enumeration to control which systemd
     instance to control
   - netutil: extract socket activation helpers from daemon package.
   - interfaces: spi: update regex rules to accept spi nodes like
     spidev12345.0
   - gadget: fallback device lookup
   - many: add strutil.ElliptLeft, use it for shortening cohorts
   - wrappers: allow sockets under $XDG_RUNTIME_DIR
   - gadget: add wrapper for creating and populating filesystems
   - gadget: add writer for offset-write
   - gadget: support relative symlinks in device lookup
   - snap, snapstate: additional validation of base field
   - many: fix some races and missing locking, make sure UDevMonitor is
     stopped
   - boot: move ExtractKernelAssets
   - daemon, snap: screenshots _only_ shows the deprecation notice,
     from 2.39
   - osutil: add a workaround for overlayfs apparmor as it is used on
     Manjaro
   - snap: introduce GetType() function for snap.Info
   - tests: update systems to be used for during sru validation
   - daemon: increase `shutdownTimeout` to 25s to deal with slow
     HW
   - interfaces/network-manager: move deny ptrace to the connected slot
   - interfaces: allow locking of pppd files
   - cmd/snap-exec: fix snap completion for classic snaps with non
     /usr/lib/snapd libexecdir
   - daemon: expose pprof endpoints
   - travis: disable snap pack on OSX
   - client, cmd/snap: expose the new cohort options for snap ops
   - overlord/snapstate: tweak switch summaries
   - tests: reuse the image created initially for nested tests
     execution
   - tests/lib/nested: tweak assert disk prepare step
   - daemon, overlord/snapstate: support leave-cohort
   - tests/main/appstream-id: collect debug info
   - store,daemon: add client-user-agent support to store.SnapInfo
   - tests: add check for invalid PR titles in the static checks
   - tests: add snap-tool for easier access to internal tools
   - daemon: unexport file{Response,Stream}
   - devicestate: make TestUpdateGadgetOnClassicErrorsOut less racy
   - tests: fix test desktop-portal-filechooser
   - tests: sort commands from DumpCommands in the dumpDbHook
   - cmd/snap: add unit test for "advise-snap --dump-db".
   - bootloader: remove extra mock bootloader implementation
   - daemon: tweak for "add api endpoint for download" PR
   - packaging: fix reproducible build error
   - tests: synchronize journal logs before check logs
   - tests: fix snap service watchdog test
   - tests: use more readable test directory names
   - tests/regression/lp-1805485: update test description
   - overlord: make changes conflict with remodel
   - tests: make sure the snapshot unit test uses a snapshot time
     relative to Now()
   - tests: revert "tests: stop catalog-update/apt-hooks test for now"
   - tests: mountinfo-tool --one prints matches on failure
   - data/selinux: fix policy for snaps with bases and classic snaps
   - debian: fix building on eoan by tweaking golang build-deps
   - packaging/debian-sid: update required golang version to 1.10
   - httputil: handle "no such host" error explicitly and do not retry
     it
   - overlord/snapstate, & fallout: give Install a *RevisionOptions
   - cmd/snap: don't run install on 'snap --help install'
   - gadget: raw/bare structure writer and updater
   - daemon, client, cmd/snap: show cohort key in snap info --verbose
   - overlord/snapstate: add update-gadget task when needed, block
     other changes
   - image: turn a missing default content provider into an error
   - overlord/devicestate: update-gadget-assets task handler with
     stubbed gadget callbacks
   - interface: builtin: avahi-observe/control: update label for
     implicit slot
   - tests/lib/nested: fix multi argument copy_remote
   - tests/lib/nested: have mkfs.ext4 use a rootdir instead of mounting
     an image
   - packaging: fix permissions powerpc docs dir
   - overlord: mock store to avoid net requests
   - debian: rework how we run autopkgtests
   - interface: builtin: avahi-observe/control: allow slots
     implementation also by app snap on classic system
   - interfaces: builtin: utils: add helper function to identify system
     slots
   - interfaces: add missing adjtimex to time-control
   - overlord/snapstate, snap: support base = "none"
   - daemon, overlord/snapstate: give RevisionOptions a CohortKey
   - data/selinux: permit init_t to remount snappy_snap_t
   - cmd/snap: test for a friendly error on 'okay' without 'warnings'
   - cmd/snap: support snap debug timings --startup=.. and measure
     loadState time
   - advise-snap: add --dump-db which dumps the command database
   - interfaces/docker-support: support overlayfs on ubuntu core
   - cmd/okay: Remove err message when warning file not exist
   - devicestate: disallow removal of snaps used in booting early
   - packaging: fix build-depends on powerpc
   - tests: run spread tests on opensuse leap 15.1
   - strutil/shlex: fix ineffassign
   - cmd/snapd: ensure GOMAXPROCS is at least 2
   - cmd/snap-update-ns: detach unused mount points
   - gadget: record gadget root directory used during positioning
   - tests: force removal to prevent restore fails when directory
     doesn't exist on lp-1801955 test
   - overlord: implement store switch remodeling
   - tests: stop using ! for naive negation in shell scripts
   - snap,store,daemon,client: send new "Snap-Client-User-Agent" header
     in Search()
   - osutil: now that we require golang-1.10, use user.LookupGroup()
   - spread.yaml,tests: change MATCH and REBOOT to cmds
   - packaging/fedora: force external linker to ensure static linking
     and -extldflags use
   - timings: tweak the conditional for ensure timings
   - timings: always store ensure timings as long as they have an
     associated change
   - cmd/snap: tweak the output of snap debug timings --ensure=...
   - overlord/devicestate: introduce remodel kinds and
     contextsregistrationContext:
   - snaptest: add helper for mocking snap with contents
   - snapstate: allow removal of non-model kernels
   - tests: change strace parameters on snap-run test to avoid the test
     gets stuck
   - gadget: keep track of the index where structure content was
     defined
   - cmd/snap-update-ns: rename leftover ctx to upCtx
   - tests: add "not" command
   - spread.yaml: use "snap connections" in debug
   - tests: fix how strings are matched on auto-refresh-retry test
   - spread-shellcheck: add support for variants and environment
   - gadget: helper for shifting structure start position
   - cmd/snap-update-ns: add several TODO comments
   - cmd/snap-update-ns: rename ctx to upCtx
   - spread.yaml: make HOST: usage shellcheck-clean
   - overlord/snapstate, daemon: snapstate.Switch now takes a
     RevisionOption
   - tests: add mountinfo-tool
   - many: make snapstate.Update take *RevisionOptions instead of chan,
     rev
   - tests/unit/spread-shellcheck: temporary workaround for SC2251
   - daemon: refactor user ops to api_users
   - cmd/snap, tests: refactor info to unify handling of 'direct' snaps
   - cmd/snap-confine: combine sc_make_slave_mount_ns into caller
   - cmd/snap-update-ns: use "none" for propagation changes
   - cmd/snap-confine: don't pass MS_SLAVE along with MS_BIND
   - cmd/snap, api, snapstate: implement "snap remove --purge"
   - tests: new hotplug test executed on ubuntu core
   - tests: running tests on fedora 30
   - gadget: offset-write: fix validation, calculate absolute position
   - data/selinux: allow snap-confine to do search on snappy_var_t
     directories
   - daemon, o/snapstate, store: support for installing from cohorts
   - cmd/snap-confine: do not mount over non files/directories
   - tests: validates snapd from ppa
   - overlord/configstate: don't panic on invalid configuration
   - gadget: improve device lookup, add helper for mount point lookup
   - cmd/snap-update-ns: add tests for executeMountProfileUpdate
   - overlord/hookstate: don't run handler unless hooksup.Always
   - cmd/snap-update-ns: allow changing mount propagation
   - systemd: workaround systemctl show quirks on older systemd
     versions
   - cmd/snap: allow option descriptions to start with the command
   - many: introduce a gadget helper for locating device matching given
     structure
   - cmd/snap-update-ns: fix golint complaints about variable names
   - cmd/snap: unit tests for debug timings
   - testutil: support sharing-related mount flags
   - packaging/fedora: Merge changes from Fedora Dist-Git and drop EOL
     Fedora releases
   - cmd/snap: support for --ensure argument for snap debug timings
   - cmd,sandbox: tweak seccomp version info handling
   - gadget: record sector size in positioned volume
   - tests: make create-user test support managed devices
   - packaging: build empty package on powerpc
   - overlord/snapstate: perform hard refresh check
   - gadget: add volume level update checks
   - cmd/snap: mangle descriptions that have indent > terminal width
   - cmd/snap-update-ns: rename applyFstab to executeMountProfileUpdate
   - cmd/snap-confine: unshare per-user mount ns once
   - tests: retry govendor sync
   - tests: avoid removing snaps which are cached to speed up the
     prepare on boards
   - tests: fix how the base snap are deleted when there are multiple
     to deleted on reset
   - cmd/snap-update-ns: merge apply functions
   - many: introduce assertstest.SigningAccounts and AddMany test
     helpers
   - interfaces: special-case "snapd" in sanitizeSlotReservedForOS*
     helpers
   - cmd/snap-update-ns: make apply{User,System}Fstab identical
   - gadget: introduce checkers for sanitizing structure updates
   - cmd/snap-update-ns: move apply{Profile,{User,System}Fstab} to same
     file
   - overlord/devicestate: introduce registrationContext
   - cmd/snap-update-ns: add no-op load/save current user profile logic
   - devicestate: set "new-model" on the remodel change
   - devicestate: use deviceCtx in checkGadgetOrKernel
   - many: use a fake assertion model in the device contexts for tests
   - gadget: fix handling of positioning constrains for structures of
     MBR role
   - snap-confine: improve error when running on a not /home homedir
   - devicestate: make Remodel() return a state.Change
   - many: make which store to use contextualThis reworks
     snapstate.Store instead of relying solely on DeviceContext,
     because:
   - tests: enable tests on centos 7 again
   - interfaces: add login-session-control interface
   - tests: extra debug for snapshot-basic test
   - overlord,overlord/devicestate: do without GadgetInfo/KernelInfo in
     devicestate
   - gadget: more validation checks for legacy MBR structure type &
     role
   - osutil: fix TestReadBuildGo test in sbuild
   - data: update XDG_DATA_DIRS via the systemd environment.d mechanism
     too
   - many: do without device state/assertions accessors based on state
     only outside of devicestate/tests
   - interfaces/dbus: fix unit tests when default snap mount dir is not
     /snap
   - tests: add security-seccomp to verify seccomp with arg filtering
   - snapshotstate: disable automatic snapshots on core for now
   - snapstate: auto-install snapd when needed
   - overlord/ifacestate: update static attributes of "content"
     interface
   - interfaces: add support for the snapd snap in the dbus backend*
   - overlord/snapstate: tweak autorefresh logic if network is not
     available
   - snapcraft: also include ld.so.conf from libc in the snapcraft.yml
   - snapcraft.yaml: fix links ld-linux-x86-64.so.2/ld64.so.2
   - overlord: pass a DeviceContext to the checkSnap implementations
   - daemon: add RootOnly flag to commands
   - many:  make access to the device model assertion etc contextual
     via a DeviceCtx hook/DeviceContext interface
   - snapcraft.yaml: include libc6 in snapd
   - tests: reduce snapcraft leftovers from PROJECT_PATH,  temp disable
     centos
   - overlord: make the store context composably backed by separate
     backends for device asserts/info etc.
   - snapstate: revert "overlord/snapstate: remove PlugsOnly"
   - osutil,cmdutil: move CommandFromCore and make it use the snapd
     snap (if available)
   - travis: bump Go version to 1.10.x
   - cmd/snap-update-ns: remove instanceName argument from applyProfile
   - gadget: embed volume in positioned volume, rename fields
   - osutil: use go build-id when no gnu build-id is available
   - snap-seccomp: add 4th field to version-info for golang-seccomp
     features
   - cmd/snap-update-ns: merge computeAndSaveSystemChanges into
     applySystemFstab
   - cmd/snap, client, daemon, store: create-cohort
   - tests: give more time until nc returns on appstream test
   - tests: run spread tests on ubuntu 19.04
   - gadget: layout, smaller fixes
   - overlord: update static attrs when reloading connections
   - daemon: verify snap instructions for multi-snap requests
   - overlord/corecfg: make expiration of automatic snapshots
     configurable (4/4)
   - cmd/snap-update-ns: pass MountProfileUpdate to
     apply{System,User}Fstab
   - snap: fix interface bindings on implicit hooks
   - tests: improve how snaps are cached
   - cmd/snap-update-ns: formatting tweaks
   - data/selinux: policy tweaks
   - cmd/snap-update-ns: move locking to the common layer
   - overlord: use private YAML inside several tests
   - cmd/snap, store, image: support for cohorts in "snap download"
   - overlord/snapstate: add timings to critical task handlers and the
     backend
   - cmd: add `snap debug validate-seed <path>` cmd
   - state: add possible error return to TaskSet.Edge()
   - snap-seccomp: use username regex as defined in osutil/user.go
   - osutil: make IsValidUsername public and fix regex
   - store: serialize the acquisition of device sessions
   - interfaces/builtin/desktop: fonconfig v6/v7 cache handling on
     Fedora
   - many: move Device/SetDevice to devicestate, start of making them
     pluggable in storecontext
   - overlord/snapstate: remove PlugsOnly
   - interfaces/apparmor: allow running /usr/bin/od
   - spread: add qemu:fedora-29-64
   - tests: make test parallel-install-interfaces work for boards with
     pre-installed snaps
   - interfaces/builtin/intel_mei: fix /dev/mei* AppArmor pattern
   - spread.yaml: add qemu:centos-7-64
   - overlord/devicestate: extra measurements related to
     populateStateFromSeed
   - cmd/snap-update-ns: move Assumption to {System,User}ProfileUpdate
   - cmd/libsnap: remove fringe error function
   - gadget: add validation of cross structure overlap and offset
     writes
   - cmd/snap-update-ns: refactor of profile application (3/N)
   - data/selinux: tweak the policy for runuser and s-c, interpret
     audit entries
   - tests: fix spaces issue in the base snaps names to remove during
     reset phase
   - tests: wait for man db cache is updated before after install snapd
     on Fedora
   - tests: extend timeout of sbuild test


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.41
   - overlord/snapstate: revert track-risk behavior
   - tests: fix snap info test
   - httputil: rework protocol error detection
   - gadget: do not error on gadget refreshes with multiple volumes
   - i18n, vendor, packaging: drop github.com/ojii/gettext.go, use
     github.com/snapcore/go-gettext
   - snapstate: validate all system-usernames before creating them
   - mkversion.sh: fix version from git checkouts
   - interfaces/network-{control,manager}: allow 'k' on
     /run/resolvconf/**
   - interfaces/wayland,x11: allow reading an Xwayland Xauth file
   - interfaces: k8s worker node updates
   - debian: re-enable systemd environment generator
   - many: create system-usernames user/group if both don't exist
   - packaging: fix symlink for snapd.session-agent.socket
   - tests: change cgroups so that LXD doesn't have to
   - interfaces/network-setup-control: allow dbus netplan apply
     messages
   - tests: add /var/cache/snapd to the snapd state to prevent error on
     the store
   - tests: add test for services disabled during refresh hook
   - many: simpler access to snap-seccomp version-info
   - snap: cleanup some tests, clarify some errorsThis is a follow up
     from work on system usernames:
   - osutil: add osutil.Find{Uid,Gid}
   - tests: use a different archive based on the spread backend on go-
     build test
   - cmd/snap-update-ns: fix pair of bugs affecting refresh of snap
     with layouts
   - overlord/devicestate: detect clashing concurrent (ongoing, just
     finished) remodels or changes
   - interfaces/docker-support: declare controls-device-cgroup
   - packaging: fix removal of old apparmor profile
   - store: use track/risk for "channel" name when parsing store
     details
   - many: allow 'system-usernames' with libseccomp > 2.4 and golang-
     seccomp > 0.9.0
   - overlord/devicestate, tests: use gadget.Update() proper, spread
     test
   - overlord/configstate/configcore: allow setting start_x=1 to enable
     CSI camera on RPi
   - interfaces: remove BeforePrepareSlot from commonInterface
   - many: support system-usernames for 'snap_daemon' user
   - overlord/devicestate,o/snapstate: queue service commands before
     mark-seeded and other final tasks
   - interfaces/mount: discard mount ns on backend Remove
   - packaging/fedora: build on RHEL8
   - overlord/devicestate: support seeding a classic system with the
     snapd snap and no core
   - interfaces: fix test failure in gpio_control_test
   - interfaces, policy: remove sanitize helpers and use minimal policy
     check
   - packaging: use %systemd_user_* macros to enable session agent
     socket according to presets
   - snapstate, store: handle 429s on catalog refresh a little bit
     better
   - tests: part4 making tests work on ubuntu-core-18
   - many: drop snap.ReadGadgetInfo wrapper
   - xdgopenproxy: update test API to match upstream
   - tests: show why sbuild failed
   - data/selinux: allow mandb_t to search /var/lib/snapd
   - tests: be less verbose when checking service status
   - tests: set sbuild test as manual
   - overlord: DeviceCtx must find the remodel context for a remodel
     change
   - tests: use snap info --verbose to check for base
   - sanity: unmount squashfs with --lazy
   - overlord/snapstate: keep current track if only risk is specified
   - interfaces/firewall-control: support nft routing expressions and
     device groups
   - gadget: support for writing symlinks
   - tests: mountinfo-tool fail if there are no matches
   - tests: sync journal log before start the test
   - cmd/snap, data/completion: improve completion for 'snap debug'
   - httputil: retry for http2 PROTOCOL_ERROR
   - Errata commit: pulseaudio still auto-connects on classic
   - interfaces/misc: updates for k8s 1.15 (and greengrass test)
   - tests: set GOTRACEBACK=1 when running tests
   - cmd/libsnap: don't leak memory in sc_die_on_error
   - tests: improve how the system is restored when the upgrade-
     from-2.15 test fails
   - interfaces/bluetooth-control: add udev rules for BT_chrdev devices
   - interfaces: add audio-playback/audio-record and make pulseaudio
     manually connect
   - tests: split the sbuild test in 2 depending on the type of build
   - interfaces: add an interface granting access to AppStream metadata
   - gadget: ensure filesystem labels are unique
   - usersession/agent: use background context when stopping the agent
   - HACKING.md: update spread section, other updates
   - data/selinux: allow snap-confine to read entries on nsfs
   - tests: respect SPREAD_DEBUG_EACH on the main suite
   - packaging/debian-sid: set GOCACHE to a known writable location
   - interfaces: add gpio-control interface
   - cmd/snap: use showDone helper with 'snap switch'
   - gadget: effective structure role fallback, extra tests
   - many: fix unit tests getting stuck
   - tests: remove installed snap on restore
   - daemon: do not modify test data in user suite
   - data/selinux: allow read on sysfs
   - packaging/debian: don't md5sum absent files
   - tests: remove test-snapd-curl
   - tests: remove test-snapd-snapctl-core18 in restore
   - tests: remove installed snap in the restore section
   - tests: remove installed test snap
   - tests: correctly escape mount unit path
   - cmd/Makefile.am: support building with the go snap
   - tests: work around classic snap affecting the host
   - tests: fix typo "current"
   - overlord/assertstate: add Batch.Precheck to check for the full
     validity of the batch before Commit
   - tests: restore cpuset clone_children clobbered by lxd
   - usersession: move userd package to usersession/userd
   - tests: reformat and fix markdown in snapd-state.md
   - gadget: select the right updater for given structure
   - tests: show stderr only if it exists
   - sessionagent: add a REST interface with socket activation
   - tests: remove locally installed core in more tests
   - tests: remove local revision of core
   - packaging/debian-sid: use correct apparmor Depends for Debian
   - packaging/debian-sid: merge debian upload changes back into master
   - cmd/snap-repair: make sure the goroutine doesn't stick around on
     timeout
   - packaging/fedora: github.com/cheggaaa/pb is no longer used
   - configstate/config: fix crash in purgeNulls
   - boot, o/snapst, o/devicest: limit knowledge of boot vars to boot
   - client,cmd/snap: stop depending on status/status-code in the JSON
     responses in client
   - tests: unmount leftover /run/netns
   - tests: switch mount-ns test to manual
   - overlord,daemon,cmd/snapd:  move expensive startup to dedicated
     StartUp methods
   - osutil: add EnsureTreeState helper
   - tests: measure properties of various  mount namespaces
   - tests: part2 making tests work on ubuntu-core-18
   - interfaces/policy: minimal policy check for replacing
     sanitizeReservedFor helpers (1/2)
   - interfaces: add an interface that grants access to the PackageKit
     service
   - overlord/devicestate: update gadget update handlers and mocks
   - tests: add mountinfo-tool --ref-x1000
   - tests: remove lxd / lxcfs if pre-installed
   - tests: removing support for ubuntu cosmic on spread test suite
   - tests: don't leak /run/netns mount
   - image: clean up the validateSuite
   - bootloader: remove "Dir()" from Bootloader interface
   - many: retry to reboot if snapd gets restarted before expected
     reboot
   - overlord: implement re-registration remodeling
   - cmd: revert PR#6933 (tweak of GOMAXPROCS)
   - cmd/snap: add snap unset command
   - many: add Client-User-Agent to "SnapAction" install API call
   - tests: first part making tests run on ubuntu-core-18
   - hookstate/ctlcmd: support hidden commands in snapctl
   - many: replace snapd snap name checks with type checks (3/4)
   - overlord: mostly stop needing Kernel/CoreInfo, make GadgetInfo
     consider a DeviceContext
   - snapctl: handle unsetting of config options with "!"
   - tests: move core migration snaps to tests/lib/snaps dir
   - cmd/snap: handle unsetting of config options with "!"
   - cmd/snap, etc: add health to 'snap list' and 'snap info'
   - gadget: use struct field names when intializing data in mounted
     updater unit tests
   - cmd/snap-confine: bring /lib/firmware from the host
   - snap: set snapd snap type (1/4)
   - snap: add checks in validate-seed for missing base/default-
     provider
   - daemon: replace shutdownServer with net/http's native shutdown
     support
   - interfaces/builtin: add exec "/bin/runc" to docker-support
   - gadget: mounted filesystem updater
   - overlord/patch: simplify conditions for re-applying sublevel
     patches for level 6
   - seccomp/compiler: adjust test case names and comment for later
     changes
   - tests: fix error doing snap pack running failover test
   - tests: don't preserve size= when rewriting mount tables
   - tests: allow reordering of rewrite operations
   - gadget: main update routine
   - overlord/config: normalize nulls to support config unsetting
     semantics
   - snap-userd-autostart: don't list as a startup application on the
     GUI
   - tests: renumber snap revisions as seen via writable
   - tests: change allocation for mount options
   - tests: re-enable ns-re-associate test
   - tests: mountinfo-tool allow many --refs
   - overlord/devicestate: implement reregRemodelContext with the
     essential re-registration logic
   - tests: replace various numeric mount options
   - gadget: filesystem image writer
   - tests: add more unit tests for mountinfo-tool
   - tests: introduce mountinfo-tool --ref feature
   - tests: refactor mountinfo-tool rewrite state
   - tests: allow renumbering mount namespace identifiers
   - snap: refactor and explain layout blacklisting
   - tests: renumber snap revisions as seen via hostfs
   - daemon, interfaces, travis: workaround build ID with Go 1.9, use
     1.9 for travis tests
   - cmd/libsnap: add sc_error_init_{simple,api_misuse}
   - gadget: make raw updater handle shifted structures
   - tests/lib/nested: create WORK_DIR before accessing it
   - cmd/libsnap: rename SC_LIBSNAP_ERROR to SC_LIBSNAP_DOMAIN
   - cmd,tests: forcibly discard mount namespace when bases change
   - many: introduce healthstate, run check-health
     post-(install/refresh/try/revert)
   - interfaces/optical-drive: add scsi-generic type 4 and 5 support
   - cmd/snap-confine: exit from helper when parent dies


author: Neal Gompa <ngompa13@gmail.com> - 2.41-1
changelog:
  - Release 2.41 to Fedora (RH#1722957)
  - Add proposed patches to gracefully degrade on cgroups v2 (RH#1438079)
  - Add support for EL8


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.42
   - tests: disable {contacts,calendar}-service tests on debian-sid
   - tests/main/snap-run: disable strace test cases on Arch
   - cmd/system-shutdown: include correct prototype for die
   - snap/naming: add test for hook name connect-plug-i2c
   - cmd/snap-confine: allow digits in hook names
   - gadget: do not fail the update when old gadget snap is missing
     bare content
   - tests: disable {contacts,calendar}-service tests on Arch Linux
   - tests: move "centos-7" to unstable systems
   - interfaces/docker-support,kubernetes-support: misc updates for
     strict k8s
   - packaging: remove obsolete usr.lib.snapd.snap-confine in
     postinst
   - tests: add test that ensures our snapfuse binary actually works
   - packaging: use snapfuse_ll to speed up snapfuse performance
   - usersession/userd: make sure to export DBus interfaces before
     requesting a name
   - data/selinux: allow snapd to issue sigkill to journalctl
   - store: download propagates options to delta download
   - wrappers: allow snaps to install icon theme icons
   - debug: state-inspect debugging utility
   - sandbox/cgroup: introduce cgroup wrappers package
   - snap-confine: fix return value checks for udev functions
   - cmd/model: output tweaks, add'l tests
   - wrappers/services: add ServicesEnableState + unit tests
   - tests: fix newline and wrong test name pointed out in previous PRs
   - tests: extend mount-ns test to handle mimics
   - run-checks, tests/main/go: allow gofmt checks to be skipped on
     19.10
   - tests/main/interfaces-{calendar,contacts}-service: disable on
     19.10
   - tests: part3 making tests work on ubuntu-core-18
   - tests: fix interfaces-timeserver-control on 19.10
   - overlord/snapstate: config revision code cleanup and extra tests
   - devicestate: allow remodel to different kernels
   - overlord,daemon: adjust startup timeout via EXTEND_TIMEOUT_USEC
     using an estimate
   - tests/main/many: increase kill-timeout to 5m
   - interfaces/kubernetes-support: allow systemd-run to ptrace read
     unconfined
   - snapstate: auto transition on experimental.snapd-snap=true
   - tests: retry checking until the written file on desktop-portal-
     filechooser
   - tests: unit test for a refresh failing on configure hook
   - tests: remove mount_id and parent_id from mount-ns test data
   - tests: move classic-ubuntu-core-transition* to nightly
   - tests/mountinfo-tool: proper formatting of opt_fields
   - overlord/configstate: special-case "null" in transaction Changes()
   - snap-confine: fallback gracefully on a cgroup v2 only system
   - tests: debian sid now ships new seccomp, adjust tests
   - tests: explicitly restore after using LXD
   - snapstate: make progress reporting less granular
   - bootloader: little kernel support
   - fixme: rename ubuntu*architectures to dpkg*architectures
   - tests: run dbus-launch inside a systemd unit
   - channel: introduce Resolve and ResolveLocked
   - tests: run failing tests on ubuntu eoan due to is now set as
     unstable
   - systemd: detach rather than unmount .mount units
   - cmd/snap-confine: add unit tests for sc_invocation, cleanup memory
     leaks in tests
   - boot,dirs,image: introduce boot.MakeBootable, use it in image
     instead of ad hoc code
   - cmd/snap-update-ns: clarify sharing comment
   - tests/overlord/snapstate: refactor for cleaner test failures
   - cmd/snap-update-ns: don't propagate detaching changes
   - interfaces: allow reading mutter Xauthority file
   - cmd/snap-confine: fix /snap duplication in legacy mode
   - tests: fix mountinfo-tool filtering when used with rewriting
   - seed,image,o/devicestate: extract seed loading to seed/seed16.go
   - many: pass the rootdir and options to bootloader.Find
   - tests: part5 making tests work on ubuntu-core-18
   - cmd/snap-confine: keep track of snap instance name and the snap
     name
   - cmd: unify die() across C programs
   - tests: add functions to make an abstraction for the snaps
   - packaging/fedora, tests/lib/prepare-restore: helper tool for
     packing sources for RPM
   - cmd/snap: improve help and error msg for snapshot commands
   - hookstate/ctlcmd: fix snapctl set help message
   - cmd/snap: don't append / to snap name just because a dir exists
   - tests: support fastly-global.cdn.snapcraft.io url on proxy-no-core
     test
   - tests: add --quiet switch to retry-tool
   - tests: add unstable stage for travis execution
   - tests: disable interfaces-timeserver-control on 19.10
   - tests: don't guess in is_classic_confinement_supported
   - boot, etc: simplify BootParticipant (etc) usage
   - tests: verify retry-tool not retrying missing commands
   - tests: rewrite "retry" command as retry-tool
   - tests: move debug section after restore
   - cmd/libsnap-confine-private, cmd/s-c: use constants for
     snap/instance name lengths
   - tests: measure behavior of the device cgroup
   - boot, bootloader, o/devicestate: boot env manip goes in boot
   - tests: enabling ubuntu 19.10-64 on spread.yaml
   - tests: fix ephemeral mount table in left over by prepare
   - tests: add version-tool for comparing versions
   - cmd/libsnap: make feature flag enum 1<<N style
   - many: refactor boot/boottest and move to bootloader/bootloadertest
   - tests/cross/go-build: use go list rather than shell trickery
   - HACKING.md: clarify where "make fmt" is needed
   - osutil: make flock test more robust
   - features, overlord: make parallel-installs exported, export flags
     on startup
   - overlord/devicestate:  support the device service returning a
     stream of assertions
   - many: add snap model command, add /v2/model, /v2/model/serial REST
     APIs
   - debian: set GOCACHE dir during build to fix FTBFS on eoan
   - boot, etc.: refactor boot to have a lookup with different imps
   - many: add the start of Core 20 extensions support to the model
     assertion
   - overlord/snapstate: revert track-risk behavior change and
     validation on install
   - cmd/snap,image,seed:  move image.ValidateSeed to
     seed.ValidateFromYaml
   - image,o/devicestate,seed: oops, make sure to clear seedtest
     helpers
   - tests/main/snap-info: update check.py for test-snapd-tools 2.0
   - tests: moving tests to nightly suite
   - overlord/devicestate,seed:  small step, introduce
     seed.LoadAssertions and use it from firstboot
   - snapstate: add comment to checkVersion vs strutil.VersionCompare
   - tests: add unit tests for cmd_whoami
   - tests: add debug section to interfaces-contacts-service
   - many: introduce package seed and seedtest
   - interfaces/bluez: enable communication between bluetoothd and
     meshd via dbus
   - cmd/snap: fix snap switch message
   - overlord/snapstate: check channel names on install
   - tests: check snap_daemon user and group on system-usernames-
     illegal test are not created
   - cmd/snap-confine: fix group and permission of .info files
   - gadget: do not error on gadget refreshes with multiple volumes
   - snap: use deterministic paths to find the built deb
   - tests: just build snapd commands on go-build test
   - tests: re-enable mount-ns test on classic
   - tests: rename fuse_support to fuse-support
   - tests: move restore-project-each code to existing function
   - tests: simplify interfaces-account-control test
   - i18n, vendor, packaging: drop github.com/ojii/gettext.go, use
     github.com/snapcore/go-gettext
   - tests: always say 'restore: |'
   - tests: new test to check the output after refreshing/reverting
     core
   - snapstate: validate all system-usernames before creating them
   - tests: fix system version check on listing test for external
     backend
   - tests: add check for snap_daemon user/group
   - tests: don't look for lxcfs in mountinfo
   - tests: adding support for arm devices on ubuntu-core-device-reg
     test
   - snap: explicitly forbid trying to parallel install from seed
   - tests: remove trailing spaces from shell scripts
   - tests: remove locally installed revisions of core
   - tests: fix removal of snaps on ubuntu-core
   - interfaces: support Tegra display drivers
   - tests: move interfaces-contacts-service to /tmp
   - interfaces/network-manager: allow using
     org.freedesktop.DBus.ObjectManager
   - tests: restore dpkg selections after upgrade-from-2.15 test
   - tests: pass --remove to userdel on core
   - snap/naming: simplify SnapSet somewhat
   - devicestate/firstboot: check for missing bases early
   - httputil: rework protocol error detection
   - tests: unmount fuse connections only if not initially mounted
   - snap: prevent duplicated snap name and snap files when parsing
     seed.yaml
   - tests: re-implement user tool in python
   - image: improve/tweak some warning/error messages
   - cmd/libsnap-confine-private: add checks for parallel instances
     feature flag
   - tests: wait_for_service shows status after actual first minute
   - sanity: report proper errror when fuse is needed but not available
   - snap/naming: introduce SnapRef, Snap, and SnapSet
   - image: support prepare-image --classic for snapd snap only
     imagesConsequently:
   - tests/main/mount-ns: account for clone_children in cpuset cgroup
     on 18.04
   - many:  merging asserts.Batch Precheck with CommitTo and other
     clarifications
   - devicestate: add missing test for remodeling possibly removing
     required flag
   - tests: use user-tool to remove test user in the non-home test
   - overlord/configstate: sort patch keys to have deterministic order
     with snap set
   - many: generalize assertstate.Batch to asserts.Batch, have
     assertstate.AddBatch
   - gadget, overlord/devicestate: rename Position/Layout
   - store, image, cmd: make 'snap download' leave partials
   - httputil: improve http2 PROTOCOL_ERROR detection
   - tests: add new "user-tool" helper and use in system-user tests
   - tests: clean up after NFS tests
   - ifacestate: optimize auto-connect by setting profiles once after
     all connects
   - hookstate/ctlcmd: snapctl unset command
   - tests: allow test user XDG_RUNTIME_DIR to phase out
   - tests: cleanup "snap_daemon" user in system-usernames-install-
     twice
   - cmd/snap-mgmt: set +x on startup
   - interfaces/wayland,x11: allow reading an Xwayland Xauth file
   - many: move channel parsing to snap/channel
   - check-pr-title.py: allow {} in pr prefix
   - tests: spam test logs less while waiting for systemd unit to stop
   - tests: remove redundant activation check for snapd.socket
     snapd.service
   - tests: trivial snapctl test cleanup
   - tests: ubuntu 18.10 removed from the google-sru backend on the
     spread.yaml
   - tests: add new cases into arch_test
   - tests: clean user and group for test system-usernames-install-
     twice
   - interfaces: k8s worker node updates
   - asserts: move Model to its own model.go
   - tests: unmount binfmt_misc on cleanup
   - tests: restore nsdelegate clobbered by LXD
   - cmd/snap: fix snap unset help string
   - tests: unmount fusectl after testing
   - cmd/snap: fix remote snap info for parallel installed snaps


author: Maciek Borzecki <maciek.borzecki@gmail.com> - 2.42-1
changelog:
  - Release snapd 2.42 to Fedora
  - Drop libtool patch
  - Drop cgroupv2 patch, changes are available in the release


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.42.1
   - interfaces: de-duplicate emitted update-ns profiles
   - packaging: tweak handling of usr.lib.snapd.snap-confine
   - interfaces: allow introspecting network-manager on core
   - tests/main/interfaces-contacts-service: disable on openSUSE
     Tumbleweed
   - tests/lib/lxd-snapfuse: restore mount changes introduced by LXD
   - snap: fix default-provider in seed validation
   - tests: update system-usernames test now that opensuse-15.1 works
   - overlord: set fake sertial in TestRemodelSwitchToDifferentKernel
   - gadget: rename "boot{select,img}" -> system-boot-{select,image}
   - tests: listing test, make accepted snapd/core versions consistent


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.42.2
   - interfaces/lxd-support: Fix on core18
   - tests/main/system-usernames: Amazon Linux 2 comes with libseccomp
     2.4.1 now
   - snap-seccomp: add missing clock_getres_time64
   - cmd/snap-seccomp/syscalls: update the list of known
     syscalls
   - sandbox/seccomp: accept build ID generated by Go toolchain
   - interfaces: allow access to ovs bridge sockets


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.42.3
   - overlord/snapstate: pick up system defaults when seeding the snapd
     snap
   - cmd/snap-update-ns: fix overlapping, nested writable mimic
     handling
   - interfaces: misc updates for u2f-devices, browser-support,
     hardware-observe, et al
   - tests: reset failing "fwupd-refresh.service" if needed
   - tests/main/gadget-update-pc: use a program to modify gadget yaml
   - snap-confine: suppress noisy classic snap file_inherit denials


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.42.4
   - overlord/snapstate: make sure configuration defaults are applied
     only once


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.42.5
   - snap-confine: revert, with comment, explicit unix deny for nested
     lxd
   - Disable mount-ns test on 16.04. It is too flaky currently.


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.43
   - snap: default to "--direct" in `snap known`
   - packaging: ship var/lib/snapd/desktop/applications in the
     pkg
   - tests: cherry-pick fixes for  snap-set-core-config/ubuntu-core-
     config-defaults-once
   - tests: use test-snapd-sh snap instead of test-snapd-tools
   - tests: rename "test-snapd-sh" in smoke test to test-snapd-sandbox
   - tests: fix partition creation test
   - packaging: fix incorrect changelog entry
   - Revert "tests: 16.04 and 18.04 now have mediating pulseaudio"
   - tests: 16.04 and 18.04 now have mediating pulseaudio
   - interfaces: include hooks in plug/slot apparmor label
   - interfaces: add raw-volume interface for access to partitions
   - image: set recovery system label when creating the image
   - cmd/snapd-generator: fix unit name for non /snap mount locations
   - boot,bootloader: setup the snap recovery system bootenv
   - seed: support ModeSnaps(mode) for mode != "run"
   - seed: fix seed location of local but asserted snaps
   - doc: HACKING.md change autopkgtest-trusty-amd64.img name
   - interfaces/seccomp: parallelize seccomp backend setup
   - cmd/snap-bootstrap: mount ubuntu-data tmpfs, in one go with kernel
     & base
   - interfaces: add audio-playback/record and pulseaudio spread tests
   - apparmor: allow 'r'
     /sys/kernel/mm/transparent_hugepage/hpage_pmd_size
   - cmd/snap-mgmt, packaging/postrm: stop and remove socket units when
     purging
   - tests: use test-snapd-sh snap instead of test-snapd-tools
   - snap-confine: raise egid before calling setup_private_mount()
   - tests: fix fwupd version regular expression
   - snap-bootstrap: parse seed if either kernel or base are not
     mounted
   - tests: check for SELinux denials in interfaces-kvm spread test
   - tests: run snap-set-core-config on all core devices
   - selinux: update policy to allow modifications related to kmod
     backend
   - o/hookstate/ctlcmd: snapctl is-connected command
   - devicestate: add missing test for failing task setup-run-system
   - gadget: add missing test for duplicate detection of roles
   - tests/cmd/snapctl: unset SNAP_CONTEXT for the suite
   - snap/pack, cmd_pack: 'snap pack --check-skeleton' checks
     interfaces
   - gitignore: ignore visual studio code directory
   - snap-bootstrap: implement "run" mode in snap-bootstrap initramfs-
     mounts
   - interfaces/apparmor: handle pre-seeding mode
   - devicestate: implement creating partitions in "install" mode
   - seed: support extra snaps on top of Core 20 dangerous models
   - tests: cache snaps also for ubuntu core and add new snaps to cache
   - snap-bootstrap: support auto-detect device in create-partitions
   - tests: fix partitioning test debug message
   - tests: prevent partitioning test errors
   - cmd/snap-bootstrap: stub out snap.SanitizePlugsSlots for real
   - gadget: extract and export new DiskFromPartition() helper
   - snap-bootstrap: force partition table operations
   - HACKING.md: add nvidia options to configure example
   - tests: move the watchdog timeout to 2s to make the tests work in
     rpi
   - tests: demand silence from check_journalctl_log
   - tests: fix the channels checks done on nested tests
   - tests: reduce the complexity of the test-snapd-sh snap
   - snap/squashfs, osutil: verify files/dirs can be accessed by
     mksquashfs when building a snap
   - boot: add boot.Modeenv.Kernel support
   - devicestate: ensure system installation
   - tests: apply change on permissions to serial port on hotplug test
   - cmd/snap-update-ns: adjust debugging output for usability
   - devicestate: add reading of modeenv to uc20 firstboot code
   - tests/lib/prepare: drop workarounds for rpmbuild rewriting /bin/sh
   - cmd/snap-bootstrap: write /var/lib/snapd/modeenv to the right
     place
   - boot: add boot.Modeenv.Base support
   - overlord/snapstate: install task edges
   - cmd/snap-bootstrap: some small naming and code org tweaks
   - snap-bootstrap: remove SNAPPY_TESTING check, we use it for real
     now
   - interfaces: remove leftover reservedForOS
   - snap-bootstrap: write /run/mnt/ubuntu-data/var/lib/snapd/modeenv
   - osutil/mount: optimize flagOptSearch some more
   - devicestate: read modeenv early and store in devicestate
   - interfaces: add login-session-observe for who, {fail,last}log and
     loginctl
   - tests: add Ubuntu Eoan to google-sru backend
   - osutil/mount: de-duplicate code to use a list
   - interfaces: remove reservedForOS from commonInterface
   - interfaces/browser-support: allow reading status of huge pages
   - interfaces: update system-backup tests to not check for sanitize
     errors related to os
   - interfaces: add system-backup interface
   - osutil/mount: add {Unm,M}outFlagsToOpts helpers
   - snap-bootstrap: make cmdline parsing robust
   - overlord/patch: normalize tracking channel in state
   - boot: add boot.Modeenv that can read/write the UC20 modeenv files
   - bootloader: add new bootloader.InstallBootConfig()
   - many: share single implementation to list needed default-providers
   - snap-bootstrap: implement "snap-bootstrap initramfs-mounts"
   - seccomp: allow chown 'snap_daemon:root' and 'root:snap_daemon'
   - osutil: handle "rw" mount flag in ParseMountEntry
   - overlord/ifacestate: report bad plug/slots with warnings on snap
     install
   - po: sync translations from launchpad
   - tests: cleanup most test snaps icons, they were anyway in the
     wrong place
   - seed: fix confusing pre snapd dates in tests
   - many: make ValidateBasesAndProviders signature simpler/canonical
   - snap-bootstrap: set expected filesystem labels
   - testutil, many: make MockCommand() create prefix of absolute paths
   - tests: improve TestDoPrereqRetryWhenBaseInFlight to fix occasional
     flakiness.
   - seed: proper support for optional snaps for Core 20 models
   - many: test various kinds of overriding for the snapd snap in Core
     20
   - cmd/snap-failure: passthrough snapd logs, add informational
     logging
   - cmd/snap-failure: fallback to snapd from core, extend tests
   - configcore: fix missing error propagation
   - devicestate: rename ensureSeedYaml -> ensureSeeded
   - tests: adding fedora 31
   - tests: restart the snapd service in the snapd-failover test
   - seed: Core 20 seeds channel overrides support for grade dangerous
   - cmd: fix the get command help message
   - tests: enable degraded test on arch linux after latest image
     updates
   - overlord/snapstate: don't re-enable and start disabled services on
     refresh, etc.
   - seed: support in Core 20 seeds local unasserted snaps for model
     snaps
   - snap-bootstrap: add go-flags cmdline parsing and tests
   - gadget: skip fakeroot if not needed
   - overlord/state: panic in MarkEdge() if task is nil
   - spread: fix typo in spread suite
   - overlord: mock device serial in gadget remodel unit tests
   - tests: fix spread shellcheck and degraded tests to unbreak master
   - spread, tests: openSUSE Tumbleweed to unstable systems, update
     system-usernames on Amazon Linux 2
   - snap: extract printInstallHint in cmd_download.go
   - cmd: fix a pair of typos
   - release: preseed mode flag
   - cmd/snap-confine: tracking processes with classic confinement
   - overlord/ifacestate: remove automatic connections if plug/slot
     missing
   - o/ifacestate,interfaces,interfaces/policy: slots-per-plug: *
   - tests/lib/state: snapshot and restore /var/snap during the tests
   - overlord: add base->base remodel undo tests and fixes
   - seed: test and improve Core 20 seed handling errors
   - asserts: add "snapd" type to valid types in the model assertion
   - snap-bootstrap: check gadget versus disk partitions
   - devicestate: add support for gadget->gadget remodel
   - snap/snapenv: preserve XDG_RUNTIME_DIR for classic confinement
   - daemon: parse and reject invalid channels in snap ops
   - overlord: add kernel remodel undo tests and fix undo
   - cmd/snap: support (but warn) using deprecated multi-slash channel
   - overlord: refactor mgrsSuite and extract kernelSuite
   - tests/docker-smoke: add minimal docker smoke test
   - interfaces: extend the fwupd slot to be implicit on classic
   - cmd/snap: make 'snap list' shorten latest/$RISK to $RISK
   - tests: fix for journalctl which is failing to restart
   - cmd/snap,image: initial support for Core 20 in prepare-image with
     test
   - cmd/snap-confine: add support for parallel instances of classic
     snaps, global mount ns initialization
   - overlord: add kernel rollback across reboots manager test and
     fixes
   - o/devicestate: the basics of Core 20 firstboot support with test
   - asserts: support and parsing for slots-per-plug/plugs-per-slotSee
     https://forum.snapcraft.io/t/plug-slot-declaration-rules-greedy-
     plugs/12438
   - parts/plugins: don't xz-compress a deb we're going to discard
   - cmd/snap: make completion skip hidden commands (unless overridden)
   - many: load/consume Core 20 seeds (aka recovery systems)
   - tests: add netplan test on ubuntu core
   - seed/internal: doc comment fix and drop handled TODOs
   - o/ifacestate: unify code into
     autoConnectChecker.addAutoConnectionsneed to change to support
     slots-per-plugs: *
   - many: changes to testing in preparation of Core 20 seed consuming
     code
   - snapstate,devicestate: make OldModel() available in DeviceContext
   - tests: opensuse tumbleweed has similar issue than arch linux with
     snap --strace
   - client,daemon: pass sha3-384 in /v2/download to the client
   - builtin/browser_support.go: allow monitoring process memory
     utilization (used by chromium)
   - overlord/ifacestate: use SetupMany in setupSecurityByBackend
   - tests: add 14.04 canonical-livepatch test
   - snap: make `snap known --remote` use snapd if available
   - seed: share auxInfo20 and makeSystemSnap via internal
   - spread: disable secondary compression for deltas
   - interfaces/content: workaround for renamed target
   - tests/lib/gendevmodel: helper tool for generating developer model
     assertions
   - tests: tweak wording in mount-ns test
   - tests: don't depend on GNU time
   - o/snapstate, etc: SnapState.Channel -> TrackingChannel, and a
     setter
   - seed/seedwriter: support writing Core 20 seeds (aka recovery
     systems)
   - snap-recovery: rename to "snap-bootstrap"
   - managers: add remodel undo test for new required snaps case
   - client: add xerrors and wrap errors coming from "client"
   - tests: verify host is not affected by mount-ns tests
   - tests: configure the journald service for core systems
   - cmd/snap, store: include snapcraft.io page URL in snap info output
   - cmd/cmdutil: version helper
   - spread: enable bboozzoo/snapd-devel-deps COPR repo for getting
     golang-x-xerrors
   - interfaces: simplify AddUpdateNS and emit
   - interfaces/policy: expand cstrs/cstrs1 to
     altConstraints/constraints
   - overlord/devicestate: check snap handler for gadget remodel
     compatibility
   - snap-recovery: deploy gadget content when creating partitions
   - gadget: skip structures with MBR role during remodel
   - tests: do not use lsblk in uc20-snap-recovery test
   - overlord/snapstate: add LastActiveDisabledServices,
     missingDisabledServices
   - overlord/devicestate: refactor and split into per-functionality
     files, drop dead code
   - tests: update mount-ns after addition of /etc/systemd/user
   - interfaces/pulseaudio: adjust to manually connect by default
   - interfaces/u2f-devices: add OnlyKey to devices list
   - interfaces: emit update-ns snippets to function
   - interfaces/net-setup-{observe,control}: add Info D-Bus method
     accesses
   - tests: moving ubuntu-19.10-64 from google-unstable to google
     backend
   - gadget: rename existing and add new helpers for checking
     filesystem/partition presence
   - gadget, overlord/devicestate: add support for customized update
     policy, add remodel policy
   - snap-recovery: create filesystems as defined in the gadget
   - tests: ignore directories for go modules
   - policy: implement CanRemove policy for the snapd type
   - overlord/snapstate: skip catalog refresh if unseeded
   - strutil: add OrderedSet
   - snap-recovery: add minimal binary so that we can use spread on it
   - gadget, snap/pack: perform extended validation of gadget metadata
     and contents
   - timeutil: fix schedules with ambiguous nth weekday spans
   - interfaces/many: allow k8s/systemd-run to mount volume subPaths
     plus cleanups
   - client: add KnownOptions to Know() and support remote assertions
   - tests: check the apparmor_parser when the file exists on snap-
     confine test
   - gadget: helper for volume compatibility checks
   - tests: update snap logs to match for multiple lines for "running"
   - overlord: add checks for bootvars in
     TestRemodelSwitchToDifferentKernel
   - snap-install: add ext4,vfat creation support
   - snap-recovery: remove "usedPartitions" from sfdisk.Create()
   - image,seed: hide Seed16/Snap16, use seed.Open in image_test.go
   - cmd/snap: Sort tasks in snap debug timings output by lanes and
     ready-time.
   - snap-confine.apparmor.in: harden pivot_root until we have full
     mediation
   - gadget: refactor ensureVolumeConsistency
   - gadget: add a public helper for parsing gadget metadata
   - many: address issues related to explicit/implicit channels for
     image building
   - overlord/many: switch order of check snap parameters
   - cmd/snap-confine: remove leftover condition from capability world
   - overlord: set fake serial in TestRemodelSwitchToDifferentKernel
   - overlord/many: extend check snap callback to take snap container
   - recovery-tool: add sfdisk wrapper
   - tests: launch the lxd images following the pattern
     ubuntu:${VERSION_ID}
   - sandbox/cgroup: move freeze/thaw code
   - gadget: accept system-seed role and ubuntu-data label
   - test/lib/names.sh: make backslash escaping explicit
   - spread: generate delta when using google backend
   - cmd/snap-confine: remove loads of dead code
   - boot,dirs,image: various refinements in the prepare-image code
     switched to seedwriter
   - spread: include mounts list in task debug output
   - .gitignore: pair of trivial changes
   - image,seed/seedwriter: switch image to use seedwriter.Writer
   - asserts: introduce explicit support for grade for Core 20 models
   - usersession: drive by fixes for things flagged by unused or
     gosimple
   - spread.yaml: exclude vendor dir
   - sandbox/cgroup, overlord/snapstate: move helper for listing pids
     in group to the cgroup package
   - sandbox/cgroup: refactor process cgroup helper to support v2 and
     named hierarchies
   - snap-repair: error if run as non-root
   - snap: when running `snap repair` without arguments, show hint
   - interfaces: add cgroup-version to system-key
   - snap-repair: add missing check in TestRepairBasicRun
   - tests: use `snap model` instead of `snap known model` in tests
   - daemon: make /v2/download take snapRevisionOptions
   - snap-repair: add additional comment about trust in runner.Verify()
   - client: add support to use the new "download" API
   - interfaces: bump system-key version (and keep on bumping)
   - interfaces/mount: account for cgroup version when reporting
     supported features
   - tests: change regex to validate access to cdn during snap
     download
   - daemon: change /v2/download API to take "snap-name" as input
   - release: make forced dev mode look at cgroupv2 support
   - seed/seedwriter: support for extra snaps
   - wrappers/services.go: add disabled svc list arg to AddSnapServices
   - overlord/snapstate: add SetTaskSnapSetup helper + unit tests
   - cmd/libsnap: use cgroup.procs instead of tasks
   - tests: fix snapd-failover test for core18 tests on boards
   - overlord/snapstate/policy, etc: introduce policy, move canRemove
     to it
   - seed/seedwriter: cleanups and small left over todos* drive-by: use
     testutil.FilePresent consistently
   - cmd/snap: update 'snap find' help because it's no longer narrow
   - seed/seedwriter,snap/naming: support classic models
   - cmd/snap-confine: unmount /writable from snap view
   - spread.yaml: exclude automake cacheThe error message is looks like
     this:dpkg-source: info: local changes detected, the modified files
     are:
   - interfaces/openvswitch: allow access to other openvswitch sockets
   - cmd/model: don't show model with display-name inline w/ opts
   - daemon: add a 'prune' debug action
   - client: add doTimeout to http.Client{Timeout}
   - interfaces/seccomp: query apparmor sandbox helper rather than
     aggregate info
   - sandbox/cgroup: avoid dependency on dirs
   - seed/seedwriter,snap: support local snaps
   - overlord/snapstate: fix undo on firstboot seeding.
   - usersession: track connections to session agent for exit on idle
     and peer credential checks
   - tests: fix ubuntu-core-device-reg test for arm devices on core18
   - sandbox/seccomp: move the remaining sandbox bits to a
     corresponding sandbox package
   - osutil: generalize SyncDir with FileState interface
   - daemon, client, cmd/snap: include architecture in 'snap version'
   - daemon: allow /v2/assertions/{assertType} to query store
   - gadget: do not fail the update when old gadget snap is missing
     bare content
   - sandbox/selinux: move SELinux related bits from 'release' to
     'sandbox/selinux'
   - tests: add unit test for gadget defaults with a multiline string
   - overlord/snapstate: have more context in the errors about
     prerequisites
   - httputil: set user agent for CONNECT
   - seed/seedwriter: resolve channels using channel.Resolve* for snaps
   - run-checks: allow overriding gofmt binary, show gofmt diff
   - asserts,seed/seedwriter: follow snap type sorting in the model
     assertion snap listings
   - daemon: return "snapname_rev.snap" style when using /v2/download
   - tests: when the backend is external skip the loop waiting for snap
     version
   - many: move AppArmor probing code under sandbox/apparmor
   - cmd: add `snap debug boot-vars` that dumps the current bootvars
   - tests: skip the ubuntu-core-upgrade on arm devices on core18
   - seed/seedwriter: implement WriteMeta and tree16 corresponding code
   - interfaces/docker-support,kubernetes-support: misc updates for
     strict k8s
   - tests: restart the journald service while preparing the test
   - tests/cmd/debug_state: make the test output TZ independent
   - interfaces/kubernetes-support: allow use of /run/flannel
   - seed/seedwriter: start of Writer and internal policy16/tree16
   - sandbox/cgroup, usersession/userd: move cgroup related helper to a
     dedicated package
   - tests: move "centos-7" to unstable systems
   - snapstate: add missing tests for checkGadgetOrKernel
   - docs: Update README.md
   - snapcraft: set license to GPL-3.0
   - interfaces/wayland: allow a confined server running in a user
     session to work with Qt, GTK3 & SDL2 clients
   - selinux: move the package under sandbox/selinux
   - interfaces/udev: account for cgroup version when reporting
     supported features
   - store, ..., client: add a "website" field
   - sanity: sanity check cgroup probing
   - snapstate: increase settleTimeout in
     TestRemodelSwitchToDifferentKernel
   - packaging: remove obsolete usr.lib.snapd.snap-confine in postinst
   - data/selinux: allow snapd/snap to do statfs() on the cgroup
     mountpoint
   - usersession/userd: make sure to export DBus interfaces before
     requesting a name
   - data/selinux: allow snapd to issue sigkill to journalctl
   - docs: Add Code of Conduct
   - store: download propagates options to delta download
   - tests/main/listing: account for dots in ~pre suffix


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.43.1
   - devicestate: use httputil.ShouldRetryError() in prepareSerialRequest
   - overlord/standby: fix possible deadlock in standby test
   - cmd/snap-discard-ns: fix pattern for .info files
   - overlord,o/snapstate: make sure we never leave config behind
   - data/selinux: update policy to cover more cases
   - snap: remove "host" output from `snap version`


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.43.2
   - cmd/snap-confine: Revert #7421 (unmount /writable from snap view)
   - overlord/snapstate: fix for re-refresh bug
   - tests, run-checks, many: fix nakedret issues
   - data/selinux: workaround incorrect fonts cache labeling on RHEL7
   - tests: use test-snapd-upower instead of upower
   - overlord: increase overall settle timeout for slow arm boards


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.43.3
   - interfaces/opengl: allow datagrams to nvidia-driver
   - httputil: add NoNetwork(err) helper, spread test and use
     in serial acquire
   - interfaces: add uio interface
   - interfaces/greengrass-support: 'aws-iot-greengrass' snap fails to
     start due to apparmor deny on mounting of "/proc/latency_stats".
   - data, packaging: Add sudoers snippet to allow snaps to be run with
     sudo


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.44
   - daemon: do a forceful serer shutdown if we hit a deadline
   - snap: whitelist lzo as support compression for snap pack
   - data/selinux: update policy to allow more ops
   - interfaces/greengrass-support: add new 1.9 access
   - snap: do not hardlink on overlayfs
   - cmd/snap-preseed: handle --reset flag
   - interfaces/kubernetes-support: allow autobind to journald socket
   - snap-seccomp: allow mprotect() to unblock the tests
   - tests/lib/reset: workaround unicode dot in systemctl output
   - interfaces: work around apparmor_parser slowness affecting uio
   - interfaces/udisks2: also allow Introspection on
     /org/freedesktop/UDisks2/**
   - tests: mock prune ticker in overlord tests to reduce wait times
   - interfaces/{docker,kubernetes}-support: updates for lastest k8s
   - interfaces: miscellaneous policy updates
   - interfaces/audio_playback: Fix pulseaudio config access
   - overlord: disable Test..AbortShortlyAfterStartOfOperation for 2.44
   - ovelord/snapstate: update only system wide fonts cache
   - wrappers: import /etc/environment in all services
   - interfaces/u2f: Add Titan USB-C key
   - overlord, taskrunner: exit on task/ensure error when preseeding
   - overlord/snapstate/backend: update snapd services contents in unit
     tests
   - wrappers: add mount unit dependency for snapd services on core
     devices
   - Revert "tests: remove /tmp/snap.* left over by other tests"
   - Revert "packaging: work around review-tools and snap-confine"
   - netlink: fix panic on arm64 with the new rawsockstop code
   - spread, data/selinux: add CentOS 8, update policy
   - spread.yaml: mv opensuse tumbleweed to unstable too
   - spread.yaml: mv opensuse 15.1 to unstable
   - tests: use ipv4 in retry-network to unblock failing master
   - data/systemd: improve the description
   - tests/lib/prepare.sh: simplify, combine code paths
   - tests/main/user-session-env: add test verifying environment
     variables inside the user session
   - spread.yaml: make qemu ubuntu-core-20-64 use ubuntu-20.04-64
   - run-checks: SKIP_GMFMT really skips formatting checks
   - tests: enable more tests for UC20/UC18
   - tests: remove tmp dir for snap not-test-snapd-sh on security-
     private-tmp test
   - seed,cmd/snap-bootstrap: introduce seed.Snap.EssentialType,
     simplify bootstrap code
   - snapstate: do not restart in undoLinkSnap unless on first install
   - cmd/snap-bootstrap: subcommand to detect UC chooser trigger
   - cmd/snap-bootstrap/initramfs-mounts: mount the snapd snap in run-
     mode too
   - cmd/libsnap, tests: fix C unit tests failing as non-root
   - cmd/snap-bootstrap: verify kernel snap is in modeenv before
     mounting it
   - tests: adding amazon linux to google backend
   - cmd/snap-failure/snapd: rm snapd.socket, reset snapd.socket failed
     status
   - client: add support for "ResumeToken", "HeaderPeek" to download
   - build: enable type: snapd
   - tests: rm -rf /tmp/snap.* in restore
   - cmd/snap-confine: deny snap-confine to load nss libs
   - snapcraft.yaml: add comments, rename snapd part to snapd-deb
   - boot: write current_kernels in bootstate20, makebootable
   - packaging: work around review-tools and snap-confine
   - tests: skipping interfaces-openvswitch on centos due to package is
     not available
   - packaging,snap-confine: stop being setgid root
   - cmd/snap-confine: bring /var/lib/dhcp from host, if present
   - store: rely on CommandFromSystemSnap to find xdelta3
   - tests: bump sleep time of the new overlord tests
   - cmd/snap-preseed: snapd version check for the target
   - netlink: fix/support stopping goroutines reading netlink raw
     sockets
   - tests: reset PS1 before possibly interactive dash
   - overlord, state: don't abort changes if spawn time before
     StartOfOperationTime (2/2)
   - snapcraft.yaml: add python3-apt, tzdata as build-deps for the
     snapd snap
   - tests: ask tar to speak English
   - tests: using google storage when downloading ubuntu cloud images
     from gce
   - Coverity produces false positives for code like this:
   - many: maybe restart & security backend options
   - o/standby: add SNAPD_STANDBY_WAIT to control standby in
     development
   - snap: use the actual staging snap-id for snapd
   - cmd/snap-bootstrap: create a new parser instance
   - snapcraft.yaml: use build-base and adopt-info, rm builddeb
     plugin
   - tests: set StartLimitInterval in snapd failover test
   - tests: disable archlinux system
   - tests: add preseed test for classic
   - many, tests: integrate all preseed bits and add spread tests
   - daemon: support resuming downloads
   - tests: use Filename() instead of filepath.Base(sn.MountFile())
   - tests/core: add swapfiles test
   - interfaces/cpu-control: allow to control cpufreq tunables
   - interfaces: use commonInteface for desktopInterface
   - interfaces/{desktop-legacy,unity7}: adjust for new ibus socket
     location
   - snap/info: add Filename
   - bootloader: make uboot a RecoveryAwareBootloader
   - gadget: skip update when mounted filesystem content is identical
   - systemd: improve is-active check for 'failed' services
   - boot: add current_kernels to modeenv
   - o/devicestate: StartOfOperationTime helper for Prune (1/2)
   - tests: detect LXD launching i386 containers
   - tests: move main/ubuntu-core-* tests to core/ suite
   - tests: remove snapd in ubuntu-core-snapd
   - boot: enable base snap updates in bootstate20
   - tests: Fix core revert channel after 2.43 has been released to
     stable
   - data/selinux: unify tabs/spaces
   - o/ifacestate: move ResolveDisconnect to ifacestate
   - spread: move centos to stable systems
   - interfaces/opengl: allow datagrams to nvidia-driver
   - httputil: add NoNetwork(err) helper, spread test and use in serial
     acquire
   - store: detect if server does not support http range headers
   - test/lib/user: add helper lib for doing things for and as a user
   - overlord/snapstate, wrappers: undo of snapd on core
   - tests/main/interfaces-pulseaudio: use custom pulseaudio script,
     set kill timeout
   - store: add support for resume in DownloadStream
   - cmd/snap: implement 'snap remove-user'
   - overlord/devicestate: fix preseed unit tests on systems not using
     /snap
   - tests/main/static: ldd in glibc 2.31 logs to stderr now
   - run-checks, travis: allow skipping spread jobs by adding a label
   - tests: add new backend which includes images with tpm support
   - boot: use constants for boot status values
   - tests: add "core" suite for UC specific tests
   - tests/lib/prepare: use a local copy of uc20 initramfs skeleton
   - tests: retry mounting the udisk2 device due to timing issue
   - usersession/client: add a client library for the user session
     agent
   - o/devicestate: Handle preseed mode in the firstboot mode (core16
     only for now).
   - boot: add TryBase and BaseStatus to modeenv; use in snap-bootstrap
   - cmd/snap-confine: detect base transitions on core16
   - boot: don't use "kernel" from the modeenv anymore
   - interfaces: add uio interface
   - tests: repack the initramfs + kernel snap for UC20 spread tests
   - interfaces/greengrass-support: add /dev/null ->
     /proc/latency_stats mount
   - httputil: remove workaround for redirect handling in go1.7
   - httputil: remove go1.6 transport workaround
   - snap: add `snap pack --compression=<comp>` options
   - tests/lib/prepare: fix hardcoded loopback device names for UC
     images
   - timeutil: add a unit test case for trivial schedule
   - randutil,o/snapstate,-mkauthors.sh: follow ups to randutil
     introduction
   - dirs: variable with distros using alternate snap mount
   - many,randutil: centralize and streamline our random value
     generation
   - tests/lib/prepare-restore: Revert "Continue on errors updating or
     installing dependencies"
   - daemon: Allow clients to call /v2/logout via Polkit
   - dirs: manjaro-arm is like manjaro
   - data, packaging: Add sudoers snippet to allow snaps to be run with
     sudo
   - daemon, store: better expose single action errors
   - tests: switch mount-ns test to differential data set
   - snapstate: refactor things to add the re-refresh task last
   - daemon: drop support for the DELETE method
   - client: move to /v2/users; implement RemoveUser
   - boot: enable UC20 kernel extraction and bootState20 handling
   - interfaces/policy: enforce plug-names/slot-names constraints
   - asserts: parse plug-names/slot-names constraints
   - daemon: make users result more consistent
   - cmd/snap-confine,tests: support x.y.z nvidia version
   - dirs: fixlet for XdgRuntimeDirGlob
   - boot: add bootloader options to coreKernel
   - o/auth,daemon: do not remove unknown user
   - tests: tweak and enable tests on ubuntu 20.04
   - daemon: implement user removal
   - cmd/snap-confine: allow snap-confine to link to libpcre2
   - interfaces/builtin: Allow NotificationReplied signal on
     org.freedesktop.Notifications
   - overlord/auth: add RemoveUserByName
   - client: move user-related things to their own files
   - boot: tweak kernel cmdline helper docstring
   - osutil: implement deluser
   - gadget: skip update when raw structure content is unchanged
   - boot, cmd/snap, cmd/snap-bootstrap: move run mode and system label
     detection to boot
   - tests: fix revisions leaking from snapd-refresh test
   - daemon: refactor create-user to a user action & hide behind a flag
   - osutil/tests: check there are no leftover symlinks with
     AtomicSymlink
   - grub: support atomically renaming kernel symlinks
   - osutil: add helpers for creating symlinks and renaming in an
     atomic manner
   - tests: add marker tag for core 20 test failure
   - tests: fix gadget-update-pc test leaking snaps
   - tests: remove revision leaking from ubuntu-core-refresh
   - tests: remove revision leaking from remodel-kernel
   - tests: disable system-usernames test on core20
   - travis, tests, run-checks: skip nakedret
   - tests: run `uc20-snap-recovery-encrypt` test on 20.04-64 as well
   - tests: update mount-ns test tables
   - snap: disable auto-import in uc20 install-mode
   - tests: add a command-chain service test
   - tests: use test-snapd-upower instead of upower
   - data/selinux: workaround incorrect fonts cache labeling on RHEL7
   - spread.yaml: fix ubuntu 19.10 and 20.04 names
   - debian: check embedded keys for snap-{bootstrap,preseed} too
   - interfaces/apparmor: fix doc-comments, unnecessary code
   - o/ifacestate,o/devicestatate: merge gadget-connect logic into
     auto-connect
   - bootloader: add ExtractedRunKernelImageBootloader interface,
     implement in grub
   - tests: add spread test for hook permissions
   - cmd/snap-bootstrap: check device size before boostrapping and
     produce a meaningful error
   - cmd/snap: add ability to register "snap routine" commands
   - tests: add a test demonstrating that snaps can't access the
     session agent socket
   - api: don't return connections referring to non-existing
     plugs/slots
   - interfaces: refactor path() from raw-volume into utils with
     comments for old
   - gitignore: ignore snap files
   - tests: skip interfaces-network-manager on arm devices
   - o/devicestate: do not create perfTimings if not needed inside
     ensureSeed/Operational
   - tests: add ubuntu 20.04 to the tests execution and remove
     tumbleweed from unstable
   - usersession: add systemd user instance service control to user
     session agent
   - cmd/snap: print full channel in 'snap list', 'snap info'
   - tests: remove execution of ubuntu 19.04 from google backend
   - cmd/snap-boostrap: add mocking for fakeroot
   - tests/core18/snapd-failover: collect more debug info
   - many: run black formatter on all python files
   - overlord: increase settle timeout for slow machines
   - httputil: use shorter timeout in TestRetryRequestTimeoutHandling
   - store, o/snapstate: send default-tracks header, use
     RedirectChannel
   - overlord/standby: fix possible deadlock in standby test
   - cmd/snap-discard-ns: fix pattern for .info files
   - boot: add HasModeenv to Device
   - devicestate: do not allow remodel between core20 models
   - bootloader,snap: misc tweaks
   - store, overlord/snapstate, etc: SnapAction now returns a []…Result
   - snap-bootstrap: create encrypted partition
   - snap: remove "host" output from `snap version`
   - tests: use snap remove --purge flag in most of the spread tests
   - data/selinux, test/main/selinux-clean: update the test to cover
     more scenarios
   - many: drop NameAndRevision, use snap.PlaceInfo instead
   - boot: split MakeBootable tests into their own file
   - travis-ci: add go import path
   - boot: split MakeBootable implementations into their own file
   - tests: enable a lot of the tests of main on uc20
   - packaging, tests: stop services in prerm
   - tests: enable regression suite on core20
   - overlord/snapstate: improve snapd snap backend link unit tests
   - boot: implement SetNextBoot in terms of bootState.setNext
   - wrappers: write and undo snapd services on core
   - boot,o/devicestate: refactor MarkBootSuccessful over bootState
   - snap-bootstrap: mount the correct snapd snap to /run/mnt/snapd
   - snap-bootstrap: refactor partition creation
   - tests: use new snapd.spread-tests-run-mode-tweaks.service unit
   - tests: add core20 tests
   - boot,o/snapstate: SetNextBoot/LinkSnap return whether to reboot,
     use the information
   - tests/main/snap-sign: add test for non-stdin signing
   - snap-bootstrap: trigger udev after filesystem creation
   - boot,overlord: introduce internal abstraction bootState and use it
     for InUse/GetCurrentBoot
   - overlord/snapstate: tracks are now sticky
   - cmd: sign: add filename param
   - tests: remove "test-snapd-tools" in smoke/sandbox on restore
   - cmd/snap, daemon: stop over-normalising channels
   - tests: fix classic-ubuntu-core-transition-two-cores after refactor
     of MATCH -v
   - packaging: ship var/lib/snapd/desktop/applications in the pkg
   - spread: drop copr repo with F30 build dependencies
   - tests: use test-snapd-sh snap instead of test-snapd-tools - Part 3
   - tests: fix partition creation test
   - tests: unify/rename services-related spread tests to start with
     services- prefix
   - test: extract code that modifies "writable" for test prep
   - systemd: handle preseed mode
   - snap-bootstrap: read only stdout when parsing the sfdisk json
   - interfaces/browser-support: add more product/vendor paths
   - boot: write compat UC16 bootvars in makeBootable20RunMode
   - devicestate: avoid adding mockModel to deviceMgrInstallModeSuite
   - devicestate: request reboot after successful doSetupRunSystem()
   - snapd.core-fixup.sh: do not run on UC20 at all
   - tests: unmount automounted snap-bootstrap devices
   - devicestate: run boot.MakeBootable in doSetupRunSystem
   - boot: copy kernel/base to data partition in makeBootable20RunMode
   - tests: also check nested lxd container
   - run-checks: complain about MATCH -v
   - boot: always return the trivial boot participant in ephemeral mode
   - o/devicestate,o/snapstate: move the gadget.yaml checkdrive-by: use
     gadget.ReadInfoFromSnapFile in checkGadgetRemodelCompatible
   - snap-bootstrap: append new partitions
   - snap-bootstrap: mount filesystems after creation
   - snapstate: do not try to detect rollback in ephemeral modes
   - snap-bootstrap: trigger udev for new partitions
   - cmd/snap-bootstrap: xxx todos about kernel cross-checks
   - tests: avoid mask rsyslog service in case is not enabled on the
     system
   - tests: fix use of MATCH -v
   - cmd/snap-preseed: update help strings
   - cmd/snap-bootstrap: actually parse snapd_recovery_system label
   - bootstrap: reduce runmode mounts from 5 to 2 steps.
   - lkenv.go: adjust for new location of include file
   - snap: improve squashfs.ReadFile() error
   - systemd: fix uc20 shutdown
   - boot: write modeenv when creating the run mode
   - boot,image: add skeleton boot.makeBootable20RunMode
   - cmd/snap-preseed: add snap-preseed executable
   - overlord,boot: follow ups to #7889 and #7899
   - interfaces/wayland: Add access to Xwayland's shm files
   - o/hookstate/ctlcmd: fix command name in snapctl -h
   - daemon,snap: remove screenshot deprecation notice
   - overlord,o/snapstate: make sure we never leave config behind
   - many: pass consistently boot.Device state to boot methods
   - run-checks: check multiline string blocks in
     restore/prepare/execute sections of spread tests
   - intrefaces: login-session-control - added missing dbus commands
   - tests/main/parallel-install-remove-after: parallel installs should
     not break removal
   - overlord/snapstate: tweak assumes error hint
   - overlord: replace DeviceContext.OldModel with GroundContext
   - devicestate: use httputil.ShouldRetryError() in
     prepareSerialRequest
   - tests: replace "test-snapd-base-bare" with real "bare" base snap
   - many: pass a Model to the gadget info reading functions
   - snapstate: relax gadget constraints in ConfigDefaults Et al.
   - devicestate: only run ensureBootOk() in "run" mode
   - tests/many: quiet lxc launching, file pushing
   - tests: disable apt-hooks test until it can be properly fixed
   - tests: 16.04 and 18.04 now have mediating pulseaudio


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.44.1
   - randutil: switch back to setting up seed with lower entropy data
   - interfaces/greengrass-support: fix typo
   - packaging,tests: ensure debian-sid builds without vendor/
   - travis.yml: run unit tests with go/master as well
   - cmd/snap-update-ns: ignore EROFS from rmdir/unlink


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.44.2
   - packaging: detect/disable broken seeds in the postinst
   - cmd/snap,seed: validate full seeds (UC 16/18)
   - snap: add `snap debug state --is-seeded` helper
   - devicestate: generate warning if seeding fails
   - store: support for search API v2
   - cmd/snap-seccomp/syscalls: update the list of known syscalls
   - snap/cmd: the model command needs just a client, no waitMixin
   - tests: cleanup security-private-tmp properly
   - wrappers: fix timer schedules that are days only
   - tests: update proxy-no-core to match latest CDN changes
   - cmd/snap-failure,tests: make snap-failure more robust
   - tests, many: don't use StartLimitInterval anymore, unify snapd-
     failover variants, build snapd snap for UC16 tests


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.44.3
   - tests: fix racy pulseaudio tests
   - many: fix loading apparmor profiles on Ubuntu 20.04 with ZFS
   - tests: update snap-preseed --reset logic
   - tests: backport partition fixes
   - cmd/snap: don't wait for system key when stopping
   - interfaces/many: miscellaneous policy updates xliv
   - tests/main/uc20-snap-recovery: use 20.04 system
   - tests: skip "/etc/machine-id" in "writablepaths
   - interfaces/docker-support: add overlays file access


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.45
   - o/devicestate: support doing system action reboots from recover
     mode
   - vendor: update to latest secboot
   - tests: not fail when boot dir cannot be determined
   - configcore: only reload journald if systemd is new enough
   - cmd/snap-bootstrap/initramfs-mounts: append uuid to ubuntu-data
     when decrypting
   - tests/lib/prepare.sh: delete patching of the initrd
   - cmd/snap: coldplug auto-import assertions from all removable
     devices
   - cmd/snap: fix the order of positional parameters in help output
   - c/snap-bootstrap: port mount state mocking to the new style on
     master
   - cmd/snap-bootstrap/initramfs-mounts: add sudoers to dirs to copy
     as well
   - o/devicestate,cmd/snap-bootstrap: seal to recover mode cmdline,
     unlock in recover mode initramfs
   - progress: tweak multibyte label unit test data
   - gadget: fix fallback device lookup for 'mbr' type structures
   - progress: fix progress bar with multibyte duration units
   - many: use /run/mnt/data over /run/mnt/ubuntu-data for uc20
   - many: put the sealed keys in a directory on seed for tidiness
   - cmd/snap-bootstrap: measure epoch and model before unlocking
     encrypted data
   - o/configstate: core config handler for persistent journal
   - bootloader/uboot: use secondary ubootenv file boot.sel for uc20
   - packaging: add "$TAGS" to dh_auto_test for debian packaging
   - tests: ensure $cache_dir is actually available
   - secboot,cmd/snap-bootstrap: add model to pcr protection profile
   - devicestate: do not use snap-boostrap in devicestate to install
   - tests: fix a typo in nested.sh helper
   - devicestate: add support for cloud.cfg.d config from the gadget
   - cmd/snap-bootstrap: cleanups, naming tweaks
   - testutil: add NewDBusTestConn
   - snap-bootstrap: lock access to sealed keys
   - overlord/devicestate: preserve the current model inside ubuntu-
     boot
   - interfaces/apparmor: use differently templated policy for non-core
     bases
   - seccomp: add get_tls, io_pg* and *time64/*64 variants for existing
     syscalls
   - cmd/snap-bootstrap/initramfs-mounts: mount ubuntu-seed first,
     other misc changes
   - o/snapstate: tweak "waiting for restart" message
   - boot: store model model and grade information in modeenv
   - interfaces/firewall-control: allow -legacy and -nft for core20
   - boot: enable makeBootable20RunMode for EnvRefExtractedKernel
     bootloaders
   - boot/bootstate20: add EnvRefExtractedKernelBootloader bootstate20
     implementation
   - daemon: fix error message from `snap remove-user foo` on classic
   - overlord: have a variant of Mock that can take a state.State
   - tests: 16.04 and 18.04 now have mediating pulseaudio (again)
   - seed: clearer errors for missing essential snapd or core snap
   - cmd/snap-bootstrap/initramfs-mounts: support
     EnvRefExtractedKernelBootloader's
   - gadget, cmd/snap-bootstrap: MBR schema support
   - image: improve/adjust DownloadSnap doc comment
   - asserts: introduce ModelGrade.Code
   - tests: ignore user-12345 slice and service
   - image,seed/seedwriter: support redirect channel aka default
     tracks
   - bootloader: use binary.Read/Write
   - tests: uc20 nested suite part II
   - tests/boot: refactor to make it easier for new
     bootloaderKernelState20 impl
   - interfaces/openvswitch: support use of ovs-appctl
   - snap-bootstrap: copy auth data from real ubuntu-data in recovery
     mode
   - snap-bootstrap: seal and unseal encryption key using tpm
   - tests: disable special-home-can-run-classic-snaps due to jenkins
     repo issue
   - packaging: fix build on Centos8 to support BUILDTAGS
   - boot/bootstate20: small changes to bootloaderKernelState20
   - cmd/snap: Implement a "snap routine file-access" command
   - spread.yaml: switch back to latest/candidate for lxd snap
   - boot/bootstate20: re-factor kernel methods to use new interface
     for state
   - spread.yaml,tests/many: use global env var for lxd channel
   - boot/bootstate20: fix bug in try-kernel cleanup
   - config: add system.store-certs.[a-zA-Z0-9] support
   - secboot: key sealing also depends on secure boot enabled
   - httputil: fix client timeout retry tests
   - cmd/snap-update-ns: handle EBUSY when unlinking files
   - cmd/snap/debug/boot-vars: add opts for setting dir and/or uc20
     vars
   - secboot: add tpm support helpers
   - tests/lib/assertions/developer1-pi-uc20.model: use 20/edge for
     kernel and gadget
   - cmd/snap-bootstrap: switch to a 64-byte key for unlocking
   - tests: preserve size for centos images on spread.yaml
   - github: partition the github action workflows
   - run-checks: use consistent "Checking ..." style messages
   - bootloader: add efi pkg for reading efi variables
   - data/systemd: do not run snapd.system-shutdown if finalrd is
     available
   - overlord: update tests to work with latest go
   - cmd/snap: do not hide debug boot-vars on core
   - cmd/snap-bootstrap: no error when not input devices are found
   - snap-bootstrap: fix partition numbering in create-partitions
   - httputil/client_test.go: add two TLS version tests
   - tests: ignore user@12345.service hierarchy
   - bootloader, gadget, cmd/snap-bootstrap: misc cosmetic things
   - tests: rewrite timeserver-control test
   - tests: fix racy pulseaudio tests
   - many: fix loading apparmor profiles on Ubuntu 20.04 with ZFS
   - tests: update snap-preseed --reset logic to accommodate for 2.44
     change
   - cmd/snap: don't wait for system key when stopping
   - sandbox/cgroup: avoid making arrays we don't use
   - osutil: mock proc/self/mountinfo properly everywhere
   - selinux: export MockIsEnforcing; systemd: use in tests
   - tests: add 32 bit machine to GH actions
   - tests/session-tool: kill cron session, if any
   - asserts: it should be possible to omit many snap-ids if allowed,
     fix
   - boot: cleanup more things, simplify code
   - github: skip spread jobs when corresponding label is set
   - dirs: don't depend on osutil anymore, mv apparmor vars to apparmor
     pkg
   - tests/session-tool: add session-tool --dump
   - github: allow cached debian downloads to restore
   - tests/session-tool: session ordering is non-deterministic
   - tests: enable unit tests on debian-sid again
   - github: move spread to self-hosted workers
   - secboot: import secboot on ubuntu, provide dummy on !ubuntu
   - overlord/devicestate: support for recover and run modes
   - snap/naming: add validator for snap security tag
   - interfaces: add case for rootWritableOverlay + NFS
   - tests/main/uc20-create-partitions: tweaks, renames, switch to
     20.04
   - github: port CLA check to Github Actions
   - interfaces/many: miscellaneous policy updates xliv
   - configcore,tests: fix setting watchdog options on UC18/20
   - tests/session-tool: collect information about services on startup
   - tests/main/uc20-snap-recovery: unbreak, rename to uc20-create-
     partitions
   - state: add state.CopyState() helper
   - tests/session-tool: stop anacron.service in prepare
   - interfaces: don't use the owner modifier for files shared via
     document portal
   - systemd: move the doc comments to the interface so they are
     visible
   - cmd/snap-recovery-chooser: tweaks
   - interfaces/docker-support: add overlayfs file access
   - packaging: use debian/not-installed to ignore snap-preseed
   - travis.yml: disable unit tests on travis
   - store: start splitting store.go and store_test.go into subtopic
     files
   - tests/session-tool: stop cron/anacron from meddling
   - github: disable fail-fast as spread cannot be interrupted
   - github: move static checks and spread over
   - tests: skip "/etc/machine-id" in "writablepaths" test
   - snap-bootstrap: store encrypted partition recovery key
   - httputil: increase testRetryStrategy max timelimit to 5s
   - tests/session-tool: kill leaking closing session
   - interfaces: allow raw access to USB printers
   - tests/session-tool: reset failed session-tool units
   - httputil: increase httpclient timeout in
     TestRetryRequestTimeoutHandling
   - usersession: extend timerange in TestExitOnIdle
   - client: increase timeout in client tests to 100ms
   - many: disentagle release and snapdenv from sandbox/*
   - boot: simplify modeenv mocking to always write a modeenv
   - snap-bootstrap: expand data partition on install
   - o/configstate: add backlight option for core config
   - cmd/snap-recovery-chooser: add recovery chooser
   - features: enable robust mount ns updates
   - snap: improve TestWaitRecovers test
   - sandbox/cgroup: add ProcessPathInTrackingCgroup
   - interfaces/policy: fix comment in recent new test
   - tests: make session tool way more robust
   - interfaces/seccomp: allow passing an address to setgroups
   - o/configcore: introduce core config handlers (3/N)
   - interfaces: updates to login-session-observe, network-manager and
     modem-manager interfaces
   - interfaces/policy/policy_test.go: add more tests'allow-
     installation: false' and we grant based on interface attributes
   - packaging: detect/disable broken seed in the postinst
   - cmd/snap-confine/mount-support-nvidia.c: add libnvoptix as nvidia
     library
   - tests: remove google-tpm backend from spread.yaml
   - tests: install dependencies with apt using --no-install-recommends
   - usersession/userd: add zoommtg url support
   - snap-bootstrap: fix disk layout sanity check
   - snap: add `snap debug state --is-seeded` helper
   - devicestate: generate warning if seeding fails
   - config, features: move and rename config.GetFeatureFlag helper to
     features.Flag
   - boot, overlord/devicestate, daemon:  implement requesting boot
     into a given recovery system
   - xdgopenproxy: forward requests to the desktop portal
   - many: support immediate reboot
   - store: search v2 tweaks
   - tests: fix cross build tests when installing dependencies
   - daemon: make POST /v2/systems/<label> root only
   - tests/lib/prepare.sh: use only initrd from the kernel snap
   - cmd/snap,seed: validate full seeds (UC 16/18)
   - tests/main/user-session-env: stop the user session before deleting
     the test-zsh user
   - overlord/devicestate, daemon: record the seed current system was
     installed from
   - gadget: SystemDefaults helper function to convert system defaults
     config into a flattened map suitable for FilesystemOnlyApply.
   - many: comment or avoid cryptic snap-ids in tests
   - tests: add LXD_CHANNEL environment
   - store: support for search API v2
   - .github: register a problem matcher to detect spread failures
   - seed: add Info() method for seed.Snap
   - github: always run the "Discard spread workers" step, even if the
     job fails
   - github: offload self-hosted workers
   - cmd/snap: the model command needs just a client, no waitMixin
   - github: combine tests into one workflow
   - github: fix order of go get caches
   - tests: adding more workers for ubuntu 20.04
   - boot,overlord: rename operating mode to system mode
   - config: add new Transaction.GetPristine{,Maybe}() function
   - o/devicestate: rename readMaybe* to maybeRead*
   - github: cache Debian dependencies for unit tests
   - wrappers: respect pre-seeding in error path
   - seed: validate UC20 seed system label
   - client, daemon, overlord/devicestate: request system action API
     and stubs
   - asserts,o/devicestate: support model specified alternative serial-
     authority
   - many: introduce naming.WellKnownSnapID
   - o/configcore: FilesystemOnlyApply method for early configuration
     of core (1/N)
   - github: run C unit tests
   - github: run spread tests on PRs only
   - interfaces/docker-support: make containerd abstract socket more
     generic
   - tests: cleanup security-private-tmp properly
   - overlord/devicestate,boot: do not hold to the originally read
     modeenv
   - dirs: rm RunMnt; boot: add vars for early boot env layout;
     sysconfig: take targetdir arg
   - cmd/snap-bootstrap/initramfs-mounts/tests: use dirs.RunMnt over
     s.runMnt
   - tests: add regression test for MAAS refresh bug
   - errtracker: add missing mocks
   - github: apt-get update before installing build-deps
   - github: don't fail-fast
   - github: run spread via github actions
   - boot,many: add modeenv.WriteTo, make Write take no args
   - wrappers: fix timer schedules that are days only
   - tests/main/snap-seccomp-syscalls: install gperf
   - github: always checkout to snapcore/snapd
   - github: add prototype workflow running unit tests
   - many: improve comments, naming, a possible TODO
   - client: use Assert when checking for error
   - tests: ensure sockets target is ready in session agent spread
     tests
   - osutil: do not leave processes behind after the test run
   - tests: update proxy-no-core to match latest CDN changes
   - devicestate,sysconfig: support "cloud.cfg.d" in uc20 for grade:
     dangerous
   - cmd/snap-failure,tests: try to make snap-failure more robust
   - many: fix packages having mistakenly their copyright as doc
   - many: enumerate system seeds, return them on the /v2/systems API
     endpoint
   - randutil: don't consume kernel entropy at init, just mix more info
     to try to avoid fleet collisions
   - snap-bootstrap: add creationSupported predicate for partition
     types
   - tests: umount partitions which are not umounted after remount
     gadget
   - snap: run gofmt -s
   - many: improve environment handling, fixing duplicate entries
   - boot_test: add many boot robustness tests for UC20 kernel
     MarkBootSuccessul and SetNextBoot
   - overlord: remove unneeded overlord.MockPruneInterval() mocks
   - interfaces/greengrass-support: fix typo
   - overlord,timings,daemon: separate timings from overlord/state
   - tests: enable nested on core20 and test current branch
   - snap-bootstrap: remove created partitions on reinstall
   - boot: apply Go 1.10 formatting
   - apparmor: use rw for uuidd request to default and remove from
     elsewhere
   - packaging: add README.source for debian
   - tests: cleanup various uc20 boot tests from previous PR
   - devicestate: disable cloud-init by default on uc20
   - run-checks: tweak formatting checks
   - packaging,tests: ensure debian-sid builds without vendor/
   - travis.yml: run unit tests with go/master as well* travis.yml: run
     unit tests with go/master as well
   - seed: make Brand() part of the Seed interface
   - cmd/snap-update-ns: ignore EROFS from rmdir/unlink
   - daemon: do a forceful server shutdown if we hit a deadline
   - tests/many: don't use StartLimitInterval anymore, unify snapd-
     failover variants, build snapd snap for UC16 tests
   - snap-seccomp: robustness improvements
   - run-tests: disable -v for go test to avoid spaming the logs
   - snap: whitelist lzo as support compression for snap pack
   - snap: tweak comment in Install() for overlayfs detection
   - many: introduce snapdenv.Preseeding instead of release.PreseedMode
   - client, daemon, overlord/devicestate: structures and stubs for
     systems API
   - o/devicestate: delay the creation of mark-seeded task until
     asserts are loaded
   - data/selinux, tests/main/selinux: cleanup tmpfs operations in the
     policy, updates
   - interfaces/greengrass-support: add new 1.9 access
   - snap: do not hardlink on overlayfs
   - boot,image: ARM kernel extract prepare image
   - interfaces: make gpio robust against not-existing gpios in /sys
   - cmd/snap-preseed: handle --reset flag
   - many: introduce snapdenv to present common snapd env options
   - interfaces/kubernetes-support: allow autobind to journald socket
   - snap-seccomp: allow mprotect() to unblock the tests
   - tests/lib/reset: workaround unicode dot in systemctl output
   - interfaces/udisks2: also allow Introspection on
     /org/freedesktop/UDisks/**
   - snap: introduce Container.RandomAccessFile
   - o/ifacestate, api: implementation of snap disconnect --forget
   - cmd/snap: make the portal-info command search for the network-
     status interface
   - interfaces: work around apparmor_parser slowness affecting uio
   - tests: fix/improve failing spread tests
   - many: clean separation of bootenv mocking vs mock bootloader kinds
   - tests: mock prune ticker in overlord tests to reduce wait times
   - travis: disable arm64 again
   - httputil: add support for extra snapd certs
   - travis.yml: run unit tests on arm64 as well
   - many: fix a pair of ineffectual assignments
   - tests: add uc20 kernel snap upgrade managers test, fix
     bootloadertest bugs
   - o/snapstate: set base in SnapSetup on snap revert
   - interfaces/{docker,kubernetes}-support: updates for lastest k8s
   - cmd/snap-exec: add test case for LP bug 1860369
   - interfaces: make the network-status interface implicit on
     classic
   - interfaces: power control interfaceIt is documented in the
     kernel
   - interfaces: miscellaneous policy updates
   - cmd/snap: add a "snap routine portal-info" command
   - usersession/userd: add "apt" to the white list of URL schemes
     handled by xdg-open
   - interfaces/desktop: allow access to system prompter interface
   - devicestate: allow encryption regardless of grade
   - tests: run ipv6 network-retry test too
   - tests: test that after "remove-user" the system is unmanaged
   - snap-confine: unconditionally add /dev/net/tun to the device
     cgroup
   - snapcraft.yaml: use sudo -E and remove workaround
   - interfaces/audio_playback: Fix pulseaudio config access
   - ovelord/snapstate: update only system wide fonts cache
   - wrappers: import /etc/environment in all services
   - interfaces/u2f: Add Titan USB-C key
   - overlord, taskrunner: exit on task/ensure error when preseeding
   - tests: add session-tool, a su / sudo replacement
   - wrappers: add mount unit dependency for snapd services on core
     devices
   - tests: just remove user when the system is not managed on create-
     user-2 test
   - snap-preseed: support for preseeding of snapd and core18
   - boot: misc UC20 changes
   - tests: adding arch-linux execution
   - packaging: revert "work around review-tools and snap-confine"
   - netlink: fix panic on arm64 with the new rawsockstop codewith a
     nil Timeval panics
   - spread, data/selinux: add CentOS 8, update policy
   - tests: updating checks to new test account for snapd-test snaps
   - spread.yaml: mv opensuse 15.1 to unstable
   - cmd/snap-bootstrap,seed: verify only in-play snaps
   - tests: use ipv4 in retry-network to unblock failing master
   - data/systemd: improve the description
   - client: add "Resume" to DownloadOptions and new test
   - tests: enable snapd-failover on uc20
   - tests: add more debug output to the snapd-failure handling
   - o/devicestate: unset recovery_system when done seeding


author: Maciek Borzecki <maciek.borzecki@gmail.com> - 2.45-1
changelog:
  - Release 2.45 to Fedora (RHBZ#1814552)
  - Cherry pick zsh completion patch
  - Cherry pick patch disabling fontconfig system cache sharing due to known
    incompatibilities
  - Drop sudoers config (RHBZ#1691996)


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.45.1
   - data/selinux: allow checking /var/cache/app-info
   - cmd/snap-confine: add support for libc6-lse
   - interfaces: miscellanious policy updates xlv
   - snap-bootstrap: remove sealed key file on reinstall
   - interfaces-ssh-keys: Support reading /etc/ssh/ssh_config.d/
   - gadget: make ext4 filesystems with or without metadata checksum
   - interfaces/fwupd: allow bind mount to /boot on core
   - tests: cherry-pick test fixes from master
   - snap/squashfs: also symlink snap Install with uc20 seed snap dir
     layout
   - interfaces/serial-port: add NXP SC16IS7xx (ttySCX) to allowed
     devices
   - snap,many: mv Open to snapfile pkg to support add'l options to
     Container methods
   - interfaces/builtin/desktop: do not mount fonts cache on distros
     with quirks
   - devicestate, sysconfig: revert support for cloud.cfg.d/ in the
     gadget
   - data/completion, packaging: cherry-pick zsh completion
   - state: log task errors in the journal too
   - devicestate: do not report "ErrNoState" for seeded up
   - interfaces/desktop: silence more /var/lib/snapd/desktop/icons
     denials
   - packaging/fedora: disable FIPS compliant crypto for static
     binaries
   - packaging: stop depending on python-docutils


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.45.2
   - SECURITY UPDATE: sandbox escape vulnerability on snapctl xdg-open
     implementation
     - usersession/userd/launcher.go: remove XDG_DATA_DIRS environment
       variable modification when calling the system xdg-open. Patch
       thanks to James Henstridge
     - packaging/ubuntu-16.04/snapd.postinst: ensure "snap userd" is
       restarted. Patch thanks to Michael Vogt
     - CVE-2020-11934
   - SECURITY UPDATE: arbitrary code execution vulnerability on core
     devices with access to physical removable media
     - devicestate: Disable/restrict cloud-init after seeding.
     - CVE-2020-11933


author: Zygmunt Krynicki <me@zygoon.pl>
changelog:
  - New upstream release, LP: #1875071
    - many: backport _writable_defaults dir changes
    - tests: fix incorrect check in smoke/remove test
    - cmd/snap-bootstrap,seed: backport of uc20 PRs
    - tests: avoid exit when nested type var is not defined
    - cmd/snap-preseed: backport fixes
    - interfaces: optimize rules of multiple connected iio/i2c/spi plugs
    - many: cherry-picks for 2.45, gh-action, test fixes
    - tests/lib: account for changes in arch package file name extension
    - postrm, snap-mgmt: cleanup modules and other cherry-picks
    - snap-confine: don't die if a device from sysfs path cannot be
      found by udev
    - data/selinux: update policy to allow forked processes to call
      getpw*()
    - tests/main/interfaces-time-control: exercise setting time via date
    - interfaces/builtin/time-control: allow POSIX clock API
    - usersession/userd: add "slack" to the white list of URL schemes
      handled by xdg-open


author: Samuele Pedroni <pedronis@lucediurna.net>
changelog:
  - New upstream release, LP: #1875071
    - o/ifacestate: fix bug in snapsWithSecurityProfiles
    - tests/main/selinux-clean: workaround SELinux denials triggered by
      linger setup on Centos8


author: Michael Vogt <mvo@ubuntu.com>
changelog:
  - New upstream release 2.46
   - logger: add support for setting snapd.debug=1 on kernel cmdline
   - o/snapstate: check disk space before creating automatic snapshot
     on remove
   - boot, o/devicestate: observe existing recovery bootloader trusted
     boot assets
   - many: use transient scope for tracking apps and hooks
   - features: add HiddenSnapFolder feature flag
   - tests/lib/nested.sh: fix partition typo, unmount the image on uc20
     too
   - runinhibit: open the lock file in read-only mode in IsLocked
   - cmd/s-b/initramfs-mounts: make recover -> run mode transition
     automatic
   - tests: update spread test for unknown plug/slot with snapctl is-
     connected
   - osutil: add OpenExistingLockForReading
   - kernel: add kernel.Validate()
   - interfaces: add vcio interface
   - interfaces/{docker,kubernetes}-support: load overlay and support
     systemd cgroup driver
   - tests/lib/nested.sh: use more robust code for finding what loop
     dev we mounted
   - cmd/snap-update-ns: detach all bind-mounted file
   - snap/snapenv: set SNAP_REAL_HOME
   - packaging: umount /snap on purge in containers
   - interfaces: misc policy updates xlvi
   - secboot,cmd/snap-bootstrap: cross-check partitions before
     unlocking, mounting
   - boot: copy boot assets cache to new root
   - gadget,kernel: add new kernel.{Info,Asset} struct and helpers
   - o/hookstate/ctlcmd: make is-connected check whether the plug or
     slot exists
   - tests: find -ignore_readdir_race when scanning cgroups
   - interfaces/many: deny arbitrary desktop files and misc from
     /usr/share
   - tests: use "set -ex" in prep-snapd-in-lxd.sh
   - tests: re-enable udisks test on debian-sid
   - cmd/snapd-generator: use PATH fallback if PATH is not set
   - tests: disable udisks2 test on arch linux
   - github: use latest/stable go, not latest/edge
   - tests: remove support for ubuntu 19.10 from spread tests
   - tests: fix lxd test wrongly tracking 'latest'
   - secboot: document exported functions
   - cmd: compile snap gdbserver shim correctly
   - many: correctly calculate the desktop file prefix everywhere
   - interfaces: add kernel-crypto-api interface
   - corecfg: add "system.timezone" setting to the system settings
   - cmd/snapd-generator: generate drop-in to use fuse in container
   - cmd/snap-bootstrap/initramfs-mounts: tweak names, add comments
     from previous PR
   - interfaces/many: miscellaneous updates for strict microk8s
   - secboot,cmd/snap-bootstrap: don't import boot package from secboot
   - cmd/snap-bootstrap/initramfs-mounts: call systemd-mount instead of
     the-tool
   - tests: work around broken update of systemd-networkd
   - tests/main/install-fontconfig-cache-gen: enhance test by
     verifying, add fonts to test
   - o/devicestate: wrap asset update observer error
   - boot: refactor such that bootStateUpdate20 mainly carries Modeenv
   - mkversion.sh: disallow changelog versions that have git in it, if
     we also have git version
   - interfaces/many: miscellaneous updates for strict microk8s
   - snap: fix repeated "cannot list recovery system" and add test
   - boot: track trusted assets during initial install, assets cache
   - vendor: update secboot to fix key data validation
   - tests: unmount FUSE file-systems from XDG runtime dir
   - overlord/devicestate: workaround non-nil interface with nil struct
   - sandbox/cgroup: remove temporary workaround for multiple cgroup
     writers
   - sandbox/cgroup: detect dangling v2 cgroup
   - bootloader: add helper for creating a bootloader based on gadget
   - tests: support different images on nested execution
   - many: reorg cmd/snapinfo.go into snap and new client/clientutil
   - packaging/arch: use external linker when building statically
   - tests: cope with ghost cgroupv2
   - tests: fix issues related to restarting systemd-logind.service
   - boot, o/devicestate: TrustedAssetUpdateObserver stubs, hook up to
     gadget updates
   - vendor: update github.com/kr/pretty to fix diffs of values with
     pointer cycles
   - boot: move bootloaderKernelState20 impls to separate file
   - .github/workflows: move snap building to test.yaml as separate
     cached job
   - tests/nested/manual/minimal-smoke: run core smoke tests in a VM
     meeting minimal requirements
   - osutil: add CommitAs to atomic file
   - gadget: introduce content update observer
   - bootloader: introduce TrustedAssetsBootloader, implement for grub
   - o/snapshotstate: helpers for calculating disk space needed for an
     automatic snapshot
   - gadget/install: retrieve command lines from bootloader
   - boot/bootstate20: unify commit method impls, rm
     bootState20MarkSuccessful
   - tests: add system information and image information when debug
     info is displayed
   - tests/main/cgroup-tracking: try to collect some information about
     cgroups
   - boot: introduce current_boot_assets and
     current_recovery_boot_assets to modeenv
   - tests: fix for timing issues on journal-state test
   - many: remove usage and creation of hijacked pid cgroup
   - tests: port regression-home-snap-root-owned to tests.session
   - tests: run as hightest via tests.session
   - github: run CLA checks on self-hosted workers
   - github: remove Ubuntu 19.10 from actions workflow
   - tests: remove End-Of-Life opensuse/fedora releases
   - tests: remove End-Of-Life releases from spread.yaml
   - tests: fix debug section of appstream-id test
   - interfaces: check !b.preseed earlier
   - tests: work around bug in systemd/debian
   - boot: add deepEqual, Copy helpers for Modeenv to simplify
     bootstate20 refactor
   - cmd: add new "snap recovery" command
   - interfaces/systemd: use emulation mode when preseeding
   - interfaces/kmod: don't load kernel modules in kmod backend when
     preseeding
   - interfaces/udev: do not reload udevadm rules when preseeding
   - cmd/snap-preseed: use snapd from the deb if newer than from seeds
   - boot: fancy marshaller for modeenv values
   - gadget, osutil: use atomic file copy, adjust tests
   - overlord: use new tracking cgroup for refresh app awareness
   - github: do not skip gofmt with Go 1.9/1.10
   - many: introduce content write observer, install mode glue, initial
     seal stubs
   - daemon,many: switch to use client.ErrorKind and drop the local
     errorKind...
   - tests: new parameters for nested execution
   - client: move all error kinds into errors.go and add doc strings
   - cmd/snap: display the error in snap debug seeding if seeding is in
     error
   - cmd/snap/debug/seeding: use unicode for proper yaml
   - tests/cmd/snap-bootstrap/initramfs-mounts: add test case for empty
     recovery_mode
   - osutil/disks: add mock disk and tests for happy path of mock disks
   - tests: refresh/revert snapd in uc20
   - osutil/disks: use a dedicated error to indicate a fs label wasn't
     found
   - interfaces/system-key: in WriteSystemKey during tests, don't call
     ParserFeatures
   - boot: add current recovery systems to modeenv
   - bootloader: extend managed assets bootloader interface to compose
     a candidate command line
   - interfaces: make the unmarshal test match more the comment
   - daemon/api: use pointers to time.Time for debug seeding aspect
   - o/ifacestate: update security profiles in connect undo handler
   - interfaces: add uinput interface
   - cmd/snap-bootstrap/initramfs-mounts: add doSystemdMount + unit
     tests
   - o/devicestate: save seeding/preseeding times for use with debug
     seeding api
   - cmd/snap/debug: add "snap debug seeding" command for preseeding
     debugging
   - tests/main/selinux-clean: workaround SELinux denials triggered by
     linger setup on Centos8
   - bootloader: compose command line with mode and extra arguments
   - cmd/snap, daemon: detect and bail purge on multi-snap
   - o/ifacestate: fix bug in snapsWithSecurityProfiles
   - interfaces/builtin/multipass: replace U+00A0 no-break space with
     simple space
   - bootloader/assets: generate bootloader assets from files
   - many/tests/preseed: reset the preseeded images before preseeding
     them
   - tests: drop accidental accents from e
   - secboot: improve key sealing tests
   - tests: replace _wait_for_file_change with retry
   - tests: new fs-state which replaces the files.sh helper
   - sysconfig/cloudinit_test.go: add test for initramfs case, rm "/"
     from path
   - cmd/snap: track started apps and hooks
   - tests/main/interfaces-pulseaudio: disable start limit checking for
     pulseaudio service
   - api: seeding debug api
   - .github/workflows/snap-build.yaml: build the snapd snap via GH
     Actions too
   - tests: moving journalctl.sh to a new journal-state tool
   - tests/nested/manual: add spread tests for cloud-init vuln
   - bootloader/assets: helpers for registering per-edition snippets,
     register snippets for grub
   - data,packaging,wrappers: extend D-Bus service activation search
     path
   - spread: add opensuse 15.2 and tumbleweed for qemu
   - overlord,o/devicestate: restrict cloud-init on Ubuntu Core
   - sysconfig/cloudinit: add RestrictCloudInit
   - cmd/snap-preseed: check that target path exists and is a directory
     on --reset
   - tests: check for pids correctly
   - gadget,gadget/install: refactor partition table update
   - sysconfig/cloudinit: add CloudInitStatus func + CloudInitState
     type
   - interface/fwupd: add more policies for making fwupd upstream
     strict
   - tests: new to-one-line tool which replaces the strings.sh helper
   - interfaces: new helpers to get and compare system key, for use
     with seeding debug api
   - osutil, many: add helper for checking whether the process is a go
     test binary
   - cmd/snap-seccomp/syscalls: add faccessat2
   - tests: adjust xdg-open after launcher changes
   - tests: new core config helper
   - usersession/userd: do not modify XDG_DATA_DIRS when calling xdg-
     open
   - cmd/snap-preseed: handle relative chroot path
   - snapshotstate: move sizer to osutil.Sizer()
   - tests/cmd/snap-bootstrap/initramfs-mounts: rm duplicated env ref
     kernel tests
   - gadget/install,secboot: use snapcore/secboot luks2 api
   - boot/initramfs_test.go: add Commentf to more Assert()'s
   - tests/lib: account for changes in arch package file name extension
   - bootloader/bootloadertest: fix comment typo
   - bootloader: add helper for getting recovery system environment
     variables
   - tests: preinstall shellcheck and run tests on focal
   - strutil: add a helper for parsing kernel command line
   - osutil: add CheckFreeSpace helper
   - secboot: update tpm connection error handling
   - packaging, cmd/snap-mgmt, tests: remove modules files on purge
   - tests: add tests.cleanup helper
   - packaging: add "ca-certificates" to build-depends
   - tests: more checks in core20 early config spread test
   - tests: fix some snapstate tests to use pointers for
     snapmgrTestSuite
   - boot: better naming of helpers for obtaining kernel command line
   - many: use more specific check for unit test mocking
   - systemd/escape: fix issues with "" and "\t" handling
   - asserts: small improvements and corrections for sequence-forming
     assertions' support
   - boot, bootloader: query kernel command line of run mod and
     recovery mode systems
   - snap/validate.go: disallow snap layouts with new top-level
     directories
   - tests: allow to add a new label to run nested tests as part of PR
     validation
   - tests/core/gadget-update-pc: port to UC20
   - tests: improve nested tests flexibility
   - asserts: integer headers: disallow prefix zeros and make parsing
     more uniform
   - asserts: implement Database.FindSequence
   - asserts: introduce SequenceMemberAfter in the asserts backstores
   - spread.yaml: remove tests/lib/tools from PATH
   - overlord: refuse to install snaps whose activatable D-Bus services
     conflict with installed snaps
   - tests: shorten lxd-state undo-mount-changes
   - snap-confine: don't die if a device from sysfs path cannot be
     found by udev
   - tests: fix argument handling of apt-state
   - tests: rename lxd-tool to lxd-state
   - tests: rename user-tool to user-state, fix --help
   - interfaces: add gconf interface
   - sandbox/cgroup: avoid parsing security tags twice
   - tests: rename version-tool to version-compare
   - cmd/snap-update-ns: handle anomalies better
   - tests: fix call to apt.Package.mark_install(auto_inst=True)
   - tests: rename mountinfo-tool to mountinfo.query
   - tests: rename memory-tool to memory-observe-do
   - tests: rename invariant-tool to tests.invariant
   - tests: rename apt-tool to apt-state
   - many: managed boot config during run mode setup
   - asserts: introduce the concept of sequence-forming assertion types
   - tests: tweak comments/output in uc20-recovery test
   - tests/lib/pkgdb: do not use quiet when purging debs
   - interfaces/apparmor: allow snap-specific /run/lock
   - interfaces: add system-source-code for access to /usr/src
   - sandbox/cgroup: extend SnapNameFromPid with tracking cgroup data
   - gadget/install: move udev trigger to gadget/install
   - many: make nested spread tests more reliable
   - tests/core/uc20-recovery: apply hack to get gopath in recover mode
     w/ external backend
   - tests: enable tests on uc20 which now work with the real model
     assertion
   - tests: enable system-snap-refresh test on uc20
   - gadget, bootloader: preserve managed boot assets during gadget
     updates
   - tests: fix leaked dbus-daemon in selinux-clean
   - tests: add servicestate.Control tests
   - tests: fix "restart.service"
   - wrappers: helper for enabling services - extract and move enabling
     of services into a helper
   - tests: new test to validate refresh and revert of kernel and
     gadget on uc20
   - tests/lib/prepare-restore: collect debug info when prepare purge
     fails
   - bootloader: allow managed bootloader to update its boot config
   - tests: Remove unity test from nightly test suite
   - o/devicestate: set mark-seeded to done in the task itself
   - tests: add spread test for disconnect undo caused by failing
     disconnect hook
   - sandbox/cgroup: allow discovering PIDs of given snap
   - osutil/disks: support IsDecryptedDevice for mountpoints which are
     dm devices
   - osutil: detect autofs mounted in /home
   - spread.yaml: allow amazon-linux-2-64 qemu with
     ec2-user/ec2-user
   - usersession: support additional zoom URL schemes
   - overlord: mock timings.DurationThreshold in TestNewWithGoodState
   - sandbox/cgroup: add tracking helpers
   - tests: detect stray dbus-daemon
   - overlord: refuse to install snaps providing user daemons on Ubuntu
     14.04
   - many: move encryption and installer from snap-boostrap to gadget
   - o/ifacestate: fix connect undo handler
   - interfaces: optimize rules of multiple connected iio/i2c/spi plugs
   - bootloader: introduce managed bootloader, implement for grub
   - tests: fix incorrect check in smoke/remove test
   - asserts,seed: split handling of essential/not essential model
     snaps
   - gadget: fix typo in mounted filesystem updater
   - gadget: do only one mount point lookup in mounted fs updater
   - tests/core/snap-auto-mount: try to make the test more robust
   - tests: adding ubuntu-20.04 to google-sru backend
   - o/servicestate: add updateSnapstateServices helper
   - bootloader: pull recovery grub config from internal assets
   - tests/lib/tools: apply linger workaround when needed
   - overlord/snapstate: graceful handling of denied "managed" refresh
     schedule
   - snapstate: fix autorefresh from classic->strict
   - overlord/configstate: add system.kernel.printk.console-loglevel
     option
   - tests: fix assertion disk handling for nested UC systems
   - snapstate: use testutil.HostScaledTimeout() in snapstate tests
   - tests: extra worker for google-nested backend to avoid timeout
     error on uc20
   - snapdtool: helper to check whether the current binary is reexeced
     from a snap
   - tests: mock servicestate in api tests to avoid systemctl checks
   - many: rename back snap.Info.GetType to Type
   - tests/lib/cla_check: expect explicit commit range
   - osutil/disks: refactor diskFromMountPointImpl a bit
   - o/snapstate: service-control task handler
   - osutil: add disks pkg for associating mountpoints with
     disks/partitions
   - gadget,cmd/snap-bootstrap: move partitioning to gadget
   - seed: fix LoadEssentialMeta when gadget is not loaded
   - cmd/snap: Debian does not allow $SNAP_MOUNT_DIR/bin in sudo
     secure_path
   - asserts: introduce new assertion validation-set
   - asserts,daemon: add support for "serials" field in system-user
     assertion
   - data/sudo: drop a failed sudo secure_path workaround
   - gadget: mv encodeLabel to osutil/disks.EncodeHexBlkIDFormat
   - boot, snap-bootstrap: move initramfs-mounts logic to boot pkg
   - spread.yaml: update secure boot attribute name
   - interfaces/block_devices: add NVMe subsystem devices, support
     multipath paths
   - tests: use the "jq" snap from the edge channel
   - tests: simplify the tpm test by removing the test-snapd-mokutil
     snap
   - boot/bootstate16.go: clean snap_try_* vars when not in Trying
     status too
   - tests/main/sudo-env: check snap path under sudo
   - tests/main/lxd: add test for snaps inside nested lxd containers
     not working
   - asserts/internal: expand errors about invalid serialized grouping
     labels
   - usersession/userd: add msteams url support
   - tests/lib/prepare.sh: adjust comment about sgdisk
   - tests: fix how gadget pc is detected when the snap does not exist
     and ls fails
   - tests: move a few more tests to snapstate_update_test.go
   - tests/main: add spread test for running svc from install hook
   - tests/lib/prepare: increase the size of the uc16/uc18 partitions
   - tests/special-home-can-run-classic-snaps: re-enable
   - workflow: test PR title as part of the static checks again
   - tests/main/xdg-open-compat: backup and restore original xdg-open
   - tests: move update-related tests to snapstate_update_test.go
   - cmd,many: move Version and bits related to snapd tools to
     snapdtool, merge cmdutil
   - tests/prepare-restore.sh: reset-failed systemd-journald before
     restarting
   - interfaces: misc small interface updates
   - spread: use find rather than recursive ls, skip mounted snaps
   - tests/lib/prepare-restore.sh: if we failed to purge snapd deb, ls
     /var/lib/snapd
   - tests: enable snap-auto-mount test on core20
   - cmd/snap: do not show $PATH warning when executing under sudo on a
     known distro
   - asserts/internal: add some iteration benchmarks
   - sandbox/cgroup: improve pid parsing code
   - snap: add new `snap run --experimental-gdbserver` option
   - asserts/internal: limit Grouping size switching to a bitset
     representationWe don't always use the bit-set representation
     because:
   - snap: add an activates-on property to apps for D-Bus activation
   - dirs: delete unused Cloud var, fix typo
   - sysconfig/cloudinit: make callers of DisableCloudInit use
     WritableDefaultsDir
   - tests: fix classic ubuntu core transition auth
   - tests: fail in setup_reflash_magic() if there is snapd state left
   - tests: port interfaces-many-core-provided to tests.session
   - tests: wait after creating partitions with sfdisk
   - bootloader: introduce bootloarder assets, import grub.cfg with an
     edition marker
   - riscv64: bump timeouts
   - gadget: drop dead code, hide exports that are not used externally
   - tests: port 2 uc20 part1
   - tests: fix bug waiting for snap command to be ready
   - tests: move try-related tests to snapstate_try_test.go
   - tests: add debug for 20.04 prepare failure
   - travis.yml: removed, all our checks run in GH actions now
   - tests: clean up up the use of configcoreSuite in the configcore
     tests
   - sandbox/cgroup: remove redundant pathOfProcPidCgroup
   - sandbox/cgroup: add tests for ParsePids
   - tests: fix the basic20 test for uc20 on external backend
   - tests: use configcoreSuite in journalSuite and remove some
     duplicated code
   - tests: move a few more tests to snapstate_install_test
   - tests: assorted small patches
   - dbusutil/dbustest: separate license from package
   - interfaces/builtin/time-control: allow POSIX clock API
   - usersession/userd: add "slack" to the white list of URL schemes
     handled by xdg-open
   - tests: check that host settings like hostname are settable on core
   - tests: port xdg-settings test to tests.session
   - tests: port snap-handle-link test to tests.session
   - arch: add riscv64
   - tests: core20 early defaults spread test
   - tests: move install tests from snapstate_test.go to
     snapstate_install_test.go
   - github: port macOS sanity checks from travis
   - data/selinux: allow checking /var/cache/app-info
   - o/devicestate: core20 early config from gadget defaults
   - tests: autoremove after removing lxd in preseed-lxd test
   - secboot,cmd/snap-bootstrap: add tpm sealing support to secboot
   - sandbox/cgroup: move FreezerCgroupDir from dirs.go
   - tests: update the file used to detect the boot path on uc20
   - spread.yaml: show /var/lib/snapd in debug
   - cmd/snap-bootstrap/initramfs-mounts: also copy systemd clock +
     netplan files
   - snap/naming: add helpers to parse app and hook security tags
   - tests: modernize retry tool
   - tests: fix and trim debug section in xdg-open-portal
   - tests: modernize and use snapd.tool
   - vendor: update to latest github.com/snapcore/bolt for riscv64
   - cmd/snap-confine: add support for libc6-lse
   - interfaces: miscellaneous policy updates xlv
   - interfaces/system-packages-doc: fix typo in variable names
   - tests: port interfaces-calendar-service to tests.session
   - tests: install/run the lzo test snap too
   - snap: (small) refactor of `snap download` code for
     testing/extending
   - data: fix shellcheck warnings in snapd.sh.in
   - packaging: disable buildmode=pie for riscv64
   - tests: install test-snapd-rsync snap from edge channel
   - tests: modernize tests.session and port everything using it
   - tests: add ubuntu 20.10 to spread tests
   - cmd/snap/remove: mention snap restore/automatic snapshots
   - dbusutil: move all D-Bus helpers and D-Bus test helpers
   - wrappers: pass 'disable' flag to StopServices wrapper
   - osutil: enable riscv64 build
   - snap/naming: add ParseSecurityTag and friends
   - tests: port document-portal-activation to session-tool
   - bootloader: rename test helpers to reflect we are mocking EFI boot
     locations
   - tests: disable test of nfs v3 with udp proto on debian-sid
   - tests: plan to improve the naming and uniformity of utilities
   - tests: move *-tool tests to their own suite
   - snap-bootstrap: remove sealed key file on reinstall
   - bootloader/ubootenv: don't panic with an empty uboot env
   - systemd: rename actualFsTypeAndMountOptions to
     hostFsTypeAndMountOptions
   - daemon: fix filtering of service-control changes for snap.app
   - tests: spread test for preseeding in lxd container
   - tests: fix broken snapd.session agent.socket
   - wrappers: add RestartServices function and ReloadOrRestart to
     systemd
   - o/cmdstate: handle ignore flag on exec-command tasks
   - gadget: make ext4 filesystems with or without metadata checksum
   - tests: update statx test to run on all LTS releases
   - configcore: show better error when disabling services
   - interfaces: add hugepages-control
   - interfaces-ssh-keys: Support reading /etc/ssh/ssh_config.d/
   - tests: run ubuntu-20.04-* tests on all ubuntu-2* releases
   - tests: skip interfaces-openvswitch for centos 8 in nightly suite
   - tests: reload systemd --user for root, if present
   - tests: reload systemd after editing /etc/fstab
   - tests: add missing dependencies needed for sbuild test on debian
   - tests: reload systemd after removing pulseaudio
   - image, tests: core18 early config.
   - interfaces: add system-packages-doc interface
   - cmd/snap-preseed, systemd: fix handling of fuse.squashfuse when
     preseeding
   - interfaces/fwupd: allow bind mount to /boot on core
   - tests: improve oom-vitality tests
   - tests: add fedora 32 to spread.yaml
   - config: apply vitality-hint immediately when the config changes
   - tests: port snap-routine-portal-info to session-tool
   - configcore: add "service.console-conf.disable" config option
   - tests: port xdg-open to session-tool
   - tests: port xdg-open-compat to session-tool
   - tests: port interfaces-desktop-* to session-tool
   - spread.yaml: apply yaml formatter/linter
   - tests: port interfaces-wayland to session-tool
   - o/devicestate: refactor current system handling
   - snap-mgmt: perform cleanup of user services
   - snap/snapfile,squashfs: followups from 8729
   - boot, many: require mode in modeenv
   - data/selinux: update policy to allow forked processes to call
     getpw*()
   - tests: log stderr from dbus-monitor
   - packaging: build cmd/snap and cmd/snap-bootstrap with nomanagers
     tag
   - snap/squashfs: also symlink snap Install with uc20 seed snap dir
     layout
   - interfaces/builtin/desktop: do not mount fonts cache on distros
     with quirks
   - data/selinux: allow snapd to remove/create the its socket
   - testutil/exec.go: set PATH after running shellcheck
   - tests: silence stderr from dbus-monitor
   - snap,many: mv Open to snapfile pkg to support add'l options to
     Container methods
   - devicestate, sysconfig: revert support for cloud.cfg.d/ in the
     gadget
   - github: remove workaround for bug 133 in actions/cache
   - tests: remove dbus.sh
   - cmd/snap-preseed: improve mountpoint checks of the preseeded
     chroot
   - spread.yaml: add ps aux to debug section
   - github: run all spread systems in a single go with cached results
   - test: session-tool cli tweaks
   - asserts: rest of the Pool API
   - tests: port interfaces-network-status-classic to session-tool
   - packaging: remove obsolete 16.10,17.04 symlinks
   - tests: setup portals before starting user session
   - o/devicestate: typo fix
   - interfaces/serial-port: add NXP SC16IS7xx (ttySCX) to allowed
     devices
   - cmd/snap/model: support store, system-user-authority keys in
     --verbose
   - o/devicestate: raise conflict when requesting system action while
     seeding
   - tests: detect signs of crashed snap-confine
   - tests: sign kernel and gadget to run nested tests using current
     snapd code
   - tests: remove gnome-online-accounts we install
   - tests: fix the issue where all the tests were executed on secboot
     system
   - tests: port interfaces-accounts-service to session-tool
   - interfaces/network-control: bring /var/lib/dhcp from host
   - image,cmd/snap,tests: add support for store-wide cohort keys
   - configcore: add nomanagers buildtag for conditional build
   - tests: port interfaces-password-manager-service to session-tool
   - o/devicestate: cleanup system actions supported by recover mode
   - snap-bootstrap: remove create-partitions and update tests
   - tests: fix nested tests
   - packaging/arch: update PKGBUILD to match one in AUR
   - tests: port interfaces-location-control to session-tool
   - tests: port interfaces-contacts-service to session-tool
   - state: log task errors in the journal too
   - o/devicestate: change how current system is reported for different
     modes
   - devicestate: do not report "ErrNoState" for seeded up
   - tests: add a note about broken test sequence
   - tests: port interfaces-autopilot-introspection to session-tool
   - tests: port interfaces-dbus to session-tool
   - packaging: update sid packaging to match 16.04+
   - tests: enable degraded test on uc20
   - c/snaplock/runinhibit: add run inhibition operations
   - tests: detect and report root-owned files in /home
   - tests: reload root's systemd --user after snapd tests
   - tests: test registration with serial-authority: [generic]
   - cmd/snap-bootstrap/initramfs-mounts: copy auth.json and macaroon-
     key in recover
   - tests/mount-ns: stop binfmt_misc mount unit
   - cmd/snap-bootstrap/initramfs-mounts: use booted kernel partition
     uuid if available
   - daemon, tests: indicate system mode, test switching to recovery
     and back to run
   - interfaces/desktop: silence more /var/lib/snapd/desktop/icons
     denials
   - tests/mount-ns: update to reflect new UEFI boot mode
   - usersession,tests: clean ups for userd/settings.go and move
     xdgopenproxy under usersession
   - tests: disable mount-ns test
   - tests: test user belongs to systemd-journald, on core20
   - tests: run core/snap-set-core-config on uc20 too
   - tests: remove generated session-agent units
   - sysconfig: use new _writable_defaults dir to create cloud config
   - cmd/snap-bootstrap/initramfs-mounts: cosmetic changes in prep for
     future work
   - asserts: make clearer that with label we mean a serialized label
   - cmd/snap-bootstrap: tweak recovery trigger log messages
   - asserts: introduce PoolTo
   - userd: allow setting default-url-scheme-handler
   - secboot: append uuid to ubuntu-data when decrypting
   - o/configcore: pass extra options to FileSystemOnlyApply
   - tests: add dbus-user-session to bionic and reorder package names
   - boot, bootloader: adjust comments, expand tests
   - tests: improve debugging of user session agent tests
   - packaging: add the inhibit directory
   - many: add core.resiliance.vitality-hint config setting
   - tests: test adjustments and fixes for recently published images
   - cmd/snap: coldplug auto-import assertions from all removable
     devices
   - secboot,cmd/snap-bootstrap: move initramfs-mounts tpm access to
     secboot
   - tests: not fail when boot dir cannot be determined
   - tests: new directory used to store the cloud images on gce
   - tests: inject snapd from edge into seeds of the image in manual
     preseed test
   - usersession/agent,wrappers: fix races between Shutdown and Serve
   - tests: add dependency needed for next upgrade of bionic
   - tests: new test user is used for external backend
   - cmd/snap: fix the order of positional parameters in help output
   - tests: don't create root-owned things in ~test
   - tests/lib/prepare.sh: delete patching of the initrd
   - cmd/snap-bootstrap/initramfs-mounts: add sudoers to dirs to copy
     as well
   - progress: tweak multibyte label unit test data
   - o/devicestate,cmd/snap-bootstrap: seal to recover mode cmdline
   - gadget: fix fallback device lookup for 'mbr' type structures
   - configcore: only reload journald if systemd is new enough
   - cmd/snap-boostrap, boot: use /run/mnt/data instead of ubuntu-data
   - wrappers: allow user mode systemd daemons
   - progress: fix progress bar with multibyte duration units
   - tests: fix raciness in pulseaudio test
   - asserts/internal: introduce Grouping and Groupings
   - tests: remove user.sh
   - tests: pair of follow-ups from earlier reviews
   - overlord/snapstate: warn of refresh/postpone events
   - configcore,tests: use daemon-reexec to apply watchdog config
   - c/snap-bootstrap: check mount states via initramfsMountStates
   - store: implement DownloadAssertions
   - tests: run smoke test with different bases
   - tests: port user-mounts test to session-tool
   - store: handle error-list in fetch-assertions results
   - tests: port interfaces-audio-playback-record to session-tool
   - data/completion: add `snap` command completion for zsh
   - tests/degraded: ignore failure in systemd-vconsole-setup.service
   - image: stub implementation of image.Prepare for darwin
   - tests: session-tool --restore -u stops user-$UID.slice
   - o/ifacestate/handlers.go: fix typo
   - tests: port pulseaudio test to session-tool
   - tests: port user-session-env to session-tool
   - tests: work around journald bug in core16
   - tests: add debug to core-persistent-journal test
   - tests: port selinux-clean to session-tool
   - tests: port portals test to session-tool, fix portal tests on sid
   - tests: adding option --no-install-recommends option also when
     install all the deps
   - tests: add session-tool --has-systemd-and-dbus
   - packaging/debian-sid: add gcc-multilib to build deps
   - osutil: expand FileLock to support shared locks and more
   - packaging: stop depending on python-docutils
   - store,asserts,many: support the new action fetch-assertions
   - tests: port snap-session-agent-* to session-tool
   - packaging/fedora: disable FIPS compliant crypto for static
     binaries
   - tests: fix for preseeding failures


