zsys (0.5.8) hirsute; urgency=medium

  * Workaround deadlock with too many datasets
    Incrementing buffer size in go-libzfs to workaround operation deadlock
    while checking for datasets clones. #192.
    Thanks Anna Glasgall.
  * Add missing dep on zfs-zed on hirsute now that ZFS doesn’t dep on it.
  * Misc CI fixes, including upgrading to tested protobuf generator version.

 -- Didier Roche <didrocks@ubuntu.com>  Tue, 06 Apr 2021 12:14:30 +0200

zsys (0.5.7) hirsute; urgency=medium

  * Use replaced version of go-libzfs by our own fork so that the openzfs 2
    compability patch is directly available in tree for both:
    - build
    - autopkgtests
  * Remove any quilt usage and patch.

 -- Didier Roche <didrocks@ubuntu.com>  Tue, 26 Jan 2021 14:41:55 +0100

zsys (0.5.6) hirsute; urgency=medium

  * ensure quilt patch is applied for this format 3.0 (native)

 -- Didier Roche <didrocks@ubuntu.com>  Mon, 25 Jan 2021 15:00:41 +0100

zsys (0.5.5) hirsute; urgency=medium

  * debian/patches/01_golibzfs_zfs2.patch:
    - patch go-libzfs to be compatible with OpenZFS 2.0

 -- Didier Roche <didrocks@ubuntu.com>  Mon, 25 Jan 2021 11:40:19 +0100

zsys (0.5.4) hirsute; urgency=medium

  [ Jean-Baptiste Lallement ]
  * Deduplicate list of invalid characters in snapshot name
    If an invalid character appears multiple times in the name of a snapshot
    it was listed several times in the error message. This is a cosmetic fix
    to list each only once.

 -- Didier Roche <didrocks@ubuntu.com>  Fri, 27 Nov 2020 10:31:01 +0100

zsys (0.5.3) hirsute; urgency=medium

  [ Jean-Baptiste Lallement ]
  [ Didier Roche ]
  * Prevent usage of forbidden characters (starting with -, spaces…) for state
    names (LP: #1903524)

 -- Didier Roche <didrocks@ubuntu.com>  Tue, 17 Nov 2020 10:27:47 +0100

zsys (0.5.2) groovy; urgency=medium

  * Fix /boot/subdataset now being considered as persistent datasets
    (LP: #1897563)
  * Fix persistent dataset printing (LP: #1897565)

 -- Didier Roche <didrocks@ubuntu.com>  Mon, 28 Sep 2020 14:39:07 +0200

zsys (0.5.1) groovy; urgency=medium

  * Fix ZSys package post-installation failed when boot pool is not imported
    (LP: #1886214)
  * Change ZSys GC to only keep one month (LP: #1889385)

 -- Didier Roche <didrocks@ubuntu.com>  Wed, 29 Jul 2020 11:32:33 +0200

zsys (0.5.0) groovy; urgency=medium

  [ Jean-Baptiste Lallement ]
  [ Didier Roche ]
  * Fix infinite GC loop (LP: #1870461)
  * Enhance timeout handling to avoid error rpc error: code = DeadlineExceeded
    desc = context deadline exceeded while the daemon is doing work
    (LP: #1875564)
  * Stop taking automated or manual snapshot when there is less than 20% of
    free disk space (LP: #1876334)
  * Enable trim support for upgrading users (LP: #1881540)
  * Only clean up previously linked user datasets when unlinked under USERDATA
    (LP: #1881538)
  * Strategy for deleted user datasets via a new hidden command called by
    userdel (LP: #1870058)
  * Get better auto snapshots message when integrated to apt (LP: #1875420)
  * Update LastUsed on shutdown via a new hidden command service call
    (LP: #1881536)
  * Prevent segfault immediately after install when zfs kernel module isn't
    loaded (LP: #1881541)
  * Don’t try to autosave gdm user (and in general non system user), even if
    systemd --user is started for them. (LP: #1881539)
  * Prevent apt printing errors when zsys is removed without purge
    (LP: #1881535)
  * Some tests enhancements:
    - new tests for all the above
    - allow setting a different local socket for debugging/tests purposes only
    - ascii order datasets in golden files
  * Typos and messages fixes. Direct prints are not prefixed with INFO
    anymore.
  * Refreshed po and readme with the above.

 -- Didier Roche <didrocks@ubuntu.com>  Mon, 01 Jun 2020 09:26:52 +0200

zsys (0.4.5) focal; urgency=medium

  * Fix user creation and rename integration (LP: #1873263)
  * Close socket when the service stops (thanks blkeller)

 -- Didier Roche <didrocks@ubuntu.com>  Thu, 16 Apr 2020 15:54:23 +0200

zsys (0.4.4) focal; urgency=medium

  Some polish before the focal release:
  * Only print generated names on state save when generated:
    Handle empty name which is returned on success with a nil error on non
    zsys systems.
  * Fix history label showing up when no history was available:
    Use the same format for both: "History:\t\n" by reusing the string.
    Fix off by one error.

 -- Didier Roche <didrocks@ubuntu.com>  Wed, 15 Apr 2020 16:52:35 +0200

zsys (0.4.3) focal; urgency=medium

  [ Jean-Baptiste Lallement ]
  [ Didier Roche ]
  * Fix GC collection of failed revert or incomplete boots and add tests for
    them (LP: #1870057, #1870054)
  * Account filesystem datasets in GC bucket policy budget, as it was leading
    to under budget results once cleaned up.
  * Fix warning when mounting source is set to default (LP: #1870052)
  * Fix some issues in go-libzfs:
    - it was not assigning the correct dataset type, leading to a segfault
      if the user has a zfs volume in a pool.
    - Perf enhancements by only loading our needed properties to reduce the
      amount of C performed calls.
  * Enhance apt hook:
    - Only display output and errors if running on ZFS systems
      (LP: #1868523, #1870304).
    - Suppress the 20 minutes grace period and only prevent multiple snapshots
      when unattended-upgrades is running.
  * Transition from 19.10: change the userdata user properties on first boot
    for machines installed from 19.10 without zsys installed.
  * Add apport hook.
  * Fix various mispells, simplify some code and remove some ineffective
    assignements.
  * Fix error message typos.
  * Fix generator check on CI, update bug template and update CI to use Go 1.14
    in preparation of focal switch to 1.14.

 -- Didier Roche <didrocks@ubuntu.com>  Wed, 08 Apr 2020 14:42:21 +0200

zsys (0.4.2) focal; urgency=medium

  [ Jean-Baptiste Lallement ]
  [ Didier Roche ]
  * Split the system snapshots in 2 phases for apt hook up:
    - take the snapshot
    - do the apt operation
    - rebuild grub menu
    This has the advantage of not blocking the apt operation for too long, but
    we may not be able to rebuild always the grub menu in case of a failing
    operation. Take this approach for now.
  * Increase the timeout for building grub menu until we optimize it
    (LP: #1867067)
  * Fix in go-libzfs some perf issues and switch to our vendored version.
  * Fix and simplify removals:
    - Dataset dependencies calculation is faster and more reliable.
    - Merge system and user States to remove code similarity copy and
      factorizing tests. No more intermediate cache needed and only one copy
      of each object is kept.
    - Make GC smarter by evenly distributing GC state keep events. Put the
      logic under tests.
    - Enable GC by default.
    - Simplify snapshot routine thanks to the system/user States merge.
      Increase tests on that part, including error cases.
    - Add dedicated error to allow user confirmation only when error is due to
      state dependencies.
  * Ensure we set all user properties at snapshot dataset creation.
  * Add more test coverage and fix test utilities.
  * Some misc refactoring covered by existing or new tests.
  * Add --type=trace to the profiler.
  * CI enhancements for quicker upstream roundtrips.
  * Swith to compat 12 to have the user systemd timer unit enabled by default
    for user snapshot creation.
  * Fix unclear context timeout error message (LP: #1867067)

 -- Didier Roche <didrocks@ubuntu.com>  Thu, 26 Mar 2020 16:24:12 +0100

zsys (0.4.1) focal; urgency=medium

  * Fix build on armhf

 -- Didier Roche <didrocks@ubuntu.com>  Wed, 26 Feb 2020 16:13:01 +0100

zsys (0.4.0) focal; urgency=medium

  * Many new commands: machine list/show, state management, service remote debug
    and management, logging support, garbage collection, first path on removal.
  * Aliases for commonly used actions.
  * More fine-grained policies for authorization support.
  * Many refactoring and improvement of internal representations with tests
    enhancements.
  * Automated snapshots done on package installation, upgrade and removal.
  * Update some vendored dependencies.

 -- Didier Roche <didrocks@ubuntu.com>  Wed, 26 Feb 2020 16:01:23 +0100

zsys (0.3.3) focal; urgency=medium

  * Track number of requests in flights during dbus tests
    This is the easiest way to avoid data race. Hard to reproduce locally
    due to fallback to your system local bus.

 -- Didier Roche <didrocks@ubuntu.com>  Tue, 26 Nov 2019 15:01:10 +0100

zsys (0.3.2) focal; urgency=medium

  * Fix a race in dbus test mock spawning when running tests detected on some
    slow builders, like armhf.

 -- Didier Roche <didrocks@ubuntu.com>  Tue, 26 Nov 2019 14:13:38 +0100

zsys (0.3.1) focal; urgency=medium

  * Depends on go 1.12 as go 1.13 package doesn't provide the correct
    alternatives. The only drawback will be %w displayed when wrapping errors.
  * Fix tests using a local system dbus.

 -- Didier Roche <didrocks@ubuntu.com>  Tue, 26 Nov 2019 12:29:15 +0100

zsys (0.3) focal; urgency=medium

  * Daemon/client split, communicating via unix sockets. Most notable changes:
    - new client command with zsysctl. Daemon is zsysd.
    - communication is done via GRPC. Logs for a particular client/request are
      streamed over network, with different log levels.
    - permission for every command is mediated by polkit. root has access to
      everything on daemon side, different level of actions are in available
      in a dedicated const.
    - daemon is socket activated, and tear down automatically after a grace
      idling period.
  * i18n integration.
  * Add man pages (autogenerated).
  * Autogenerate autocompletion, even for hidden commands.
  * Refactoring and cleaning up.
  * A lot of CI changes (migrated to github actions).
  * zsys backward compatibility script with eoan zfs generator.
  * Migrated to go 1.13.

 -- Didier Roche <didrocks@ubuntu.com>  Mon, 25 Nov 2019 09:51:38 +0100

zsys (0.2.4) focal; urgency=medium

  * Skip tests on platform we don't build a binary for
    (no grub2-common package available).
    Autopkgtests will still try to run it if it ever ran one day
    and would fail as it can't install zsys.

 -- Didier Roche <didrocks@ubuntu.com>  Tue, 29 Oct 2019 07:48:55 +0100

zsys (0.2.3) focal; urgency=medium

  * Backward compatibility for org.zsys set on user datasets and transition
    to newer com.ubuntu.zsys (LP: #1850052)

 -- Didier Roche <didrocks@ubuntu.com>  Mon, 28 Oct 2019 09:51:38 +0100

zsys (0.2.2) eoan; urgency=medium

  * Move identifier tags to com.ubuntu.zsys (LP: #1847711)

 -- Didier Roche <didrocks@ubuntu.com>  Fri, 11 Oct 2019 08:25:04 +0200

zsys (0.2.1) eoan; urgency=medium

  * Add caching for optimizing Scan() calls (from multiple seconds depending
    on the amount of snapshots to subseconds).
  * Fix update-grub not working when started by zsys boot systemd service.

 -- Didier Roche <didrocks@ubuntu.com>  Thu, 12 Sep 2019 12:00:10 +0200

zsys (0.2) eoan; urgency=medium

  * Add userdata hidden subcommand for creating and renaming user datasets.
    (LP: #1842902)
  * Build-dep on grub2-common to not produce s390x build for now until
    we support an alternative bootloader.

 -- Didier Roche <didrocks@ubuntu.com>  Mon, 09 Sep 2019 15:13:26 +0200

zsys (0.1.1) eoan; urgency=medium

  * Reduce cyclomatic complexity of some functions which results in better
    code readability and perf.
  * Hook up "modified boot" printing on command line so that we can avoid
    rerunning useless scanning.
  * Additional tests for covering modified boot tags.
  * Restrict daemon commit privilege in systemd service.
  * Now that go-libzfs upstream merged our fix, switch back to it rather than
    our fork (content is exactly the same).
  * debian/changelog:
    - ensure we dep on grub.
  * debian/zsys.lintian-overrides:
    - we only support systemd in ubuntu (and ship a service file).

 -- Didier Roche <didrocks@ubuntu.com>  Mon, 26 Aug 2019 11:40:15 +0200

zsys (0.1) eoan; urgency=medium

  * Initial release

 -- Didier Roche <didrocks@ubuntu.com>  Tue, 30 Jul 2019 09:46:08 +0200
