sanoid (2.3.0) unstable; urgency=medium

  [overall]   documentation updates, small fixes (@thecatontheflat, @mjeanson, @jiawen, @EchterAgo, @jan-krieg, @dlangille, @rightaditya, @MynaITLabs, @ossimoi, @alexgarel, @TopherIsSwell, @jimsalterjrs, @phreaker0)
  [sanoid]    implemented adding of taken snapshots to the cache file and a new parameter for setting an custom cache expire time  (@phreaker0)
  [sanoid]    ignore duplicate template keys (@phreaker0)
  [packaging] fix debian packaging with debian 12 and ubuntu 24.04 (@phreaker0)
  [syncoid]   fix typo preventing resumed transfer with --sendoptions (@Deltik)
  [sanoid]    remove iszfsbusy check to boost performance (@sdettmer)
  [sanoid]    write cache files in an atomic way to prevent race conditions (@phreaker0)
  [sanoid]    improve performance (especially for monitor commands) by caching the dataset list (@phreaker0)
  [syncoid]   add zstdmt compress options (@0xFelix)
  [syncoid]   added missing status information about what is done and provide more details (@phreaker0)
  [syncoid]   rename ssh control socket to avoid problem with length limits and conflicts (@phreaker0)
  [syncoid]   support relative paths (@phreaker0)
  [syncoid]   regather snapshots on --delete-target-snapshots flag (@Adam Fulton)
  [sanoid]    allow monitor commands to be run without root by using only the cache file (@Pajkastare)
  [syncoid]   add --include-snaps and --exclude-snaps options (@mr-vinn, @phreaker0)
  [syncoid]   escape property key and value pair in case of property preservation (@phreaker0)
  [syncoid]   prevent destroying of root dataset which leads to infinite loop because it can't be destroyed (@phreaker0)
  [syncoid]   modify zfs-get argument order for portability (@Rantherhin)
  [sanoid]    trim config values (@phreaker0)

 -- Jim Salter <github@jrs-s.net>  Tue, 05 Jun 2025 22:47:00 +0200

sanoid (2.2.0) unstable; urgency=medium

  [overall]   documentation updates, small fixes (@azmodude, @deviantintegral, @jimsalterjrs, @alexhaydock, @cbreak-black, @kd8bny, @JavaScriptDude, @veeableful, @rsheasby, @Topslakr, @mavhc, @adam-stamand, @joelishness, @jsoref, @dodexahedron, @phreaker0)
  [syncoid]   implemented flag for preserving properties without the zfs -p flag (@phreaker0)
  [syncoid]   implemented target snapshot deletion (@mat813)
  [syncoid]   support bookmarks which are taken in the same second (@delxg, @phreaker0)
  [syncoid]   exit with an error if the specified src dataset doesn't exist (@phreaker0)
  [syncoid]   rollback is now done implicitly instead of explicit (@jimsalterjrs, @phreaker0)
  [syncoid]   append a rand int to the socket name to prevent collisions with parallel invocations (@Gryd3)
  [syncoid]   implemented support for ssh_config(5) files (@endreszabo)
  [syncoid]   snapshot hold/unhold support (@rbike)
  [sanoid]    handle duplicate key definitions gracefully (@phreaker0)
  [syncoid]   implemented removal of conflicting snapshots with force-delete option (@phreaker0)
  [sanoid]    implemented pre pruning script hook (@phreaker0)
  [syncoid]   implemented direct connection support (bypass ssh) for the actual data transfer (@phreaker0)

 -- Jim Salter <github@jrs-s.net>  Tue, 18 Jul 2023 10:04:00 +0200

sanoid (2.1.0) unstable; urgency=medium

  [overall]   documentation updates, small fixes (@HavardLine, @croadfeldt, @jimsalterjrs, @jim-perkins, @kr4z33, @phreaker0)
  [syncoid]   do not require user to be specified for syncoid (@aerusso)
  [syncoid]   implemented option for keeping sync snaps (@phreaker0)
  [syncoid]   use sudo if necessary for checking pool capabilities regarding resumable send (@phreaker0)
  [syncoid]   catch another case were the resume state isn't available anymore (@phreaker0)
  [syncoid]   check for an invalid argument combination (@phreaker0)
  [syncoid]   fix iszfsbusy check for similar dataset names (@phreaker0)
  [syncoid]   append timezone offset to the syncoid snapshot name to fix DST collisions (@phreaker0)
  [packaging] post install script for debian package to remove old unused snapshot cache file (@phreaker0)
  [syncoid]   implemented fallback for listing snapshots on solaris (@phreaker0)
  [sanoid]    remove invalid locks (@phreaker0)
  [packaging] removed debian dependency for systemd (@phreaker0)
  [sanoid]    move sanoid cache and lock files to subdirectories (@lopsided98)
  [sanoid]    remove 's in monitoring messages (@dlangille)
  [findoid]   reworked argument parsing and error out if file path is not provided (@phreaker0)
  [findoid]   also show current file version if available (@phreaker0)
  [findoid]   handle FileNotFound errors properly (@phreaker0)
  [findoid]   don't use hardcoded paths (@phreaker0)
  [findoid]   improve dataset detection by only including mounted datasets (@phreaker0)
  [sanoid]    pass more information to pre/post/prune scripts and execute them only once per dataset (@tiedotguy, @phreaker0)
  [syncoid]   implemented option for preserving recordsizes on initial replications (@phreaker0)
  [syncoid]   fixed send size estimation for latest FreeBSD versions (@phreaker0)
  [syncoid]   add ability to configure pv (@gdevenyi)
  [sanoid]    don't use hardcoded paths (@phreaker0)
  [syncoid]   gracefully handle error when source dataset disappeared (@mschout)

 -- Jim Salter <github@jrs-s.net>  Tue, 24 Nov 2020 11:47:00 +0100

sanoid (2.0.3) unstable; urgency=medium

  [sanoid]    reverted DST handling and improved it as quickfix (@phreaker0)

 -- Jim Salter <github@jrs-s.net>  Wed, 02 Oct 2019 17:00:00 +0100

sanoid (2.0.2) unstable; urgency=medium

  [overall]   documentation updates, new dependencies, small fixes, more warnings (@benyanke, @matveevandrey, @RulerOf, @klemens-u, @johnramsden, @danielewood, @g-a-c, @hartzell, @fryfrog, @phreaker0)
  [syncoid]   changed and simplified DST handling (@shodanshok)
  [syncoid]   reset partially resume state automatically (@phreaker0)
  [syncoid]   handle some zfs errors automatically by parsing the stderr outputs (@phreaker0)
  [syncoid]   fixed ordering of snapshots with the same creation timestamp (@phreaker0)
  [syncoid]   don't use hardcoded paths (@phreaker0)
  [syncoid]   fix for special setup with listsnapshots=on (@phreaker0)
  [syncoid]   check ssh connection on startup (@phreaker0)
  [syncoid]   fix edge case with initial send and no-stream option (@phreaker0)
  [syncoid]   fallback to normal replication if clone recreation fails (@phreaker0)
  [packaging] ebuild for gentoo (@thehaven)
  [syncoid]   support for zfs bookmark creation (@phreaker0)
  [syncoid]   fixed bookmark edge cases (@phreaker0)
  [syncoid]   handle invalid dataset paths nicely (@phreaker0)
  [syncoid]   fixed resume support check to be zpool based (@phreaker0)
  [sanoid]    added hotspare template  (@jimsalterjrs)
  [syncoid]   support for advanced zfs send/recv options (@clinta, @phreaker0)
  [syncoid]   option to change mbuffer size (@TerraTech)
  [tests]     fixes for FreeBSD (@phreaker0)
  [sanoid]    support for zfs recursion (@jMichaelA, @phreaker0)
  [syncoid]   fixed bookmark handling for volumens (@ppcontrib)
  [sanoid]    allow time units for monitoring warn/crit values (@phreaker0)

 -- Jim Salter <github@jrs-s.net>  Fri, 20 Sep 2019 23:01:00 +0100

sanoid (2.0.1) unstable; urgency=medium

  [sanoid]    fixed broken monthly warn/critical monitoring values in default template (@jimsalterjrs)
  [sanoid]    flag to force pruning while filesystem is in an active zfs send/recv (@shodanshok)
  [syncoid]   flags to disable rollbacks (@shodanshok)

 -- Jim Salter <github@jrs-s.net>  Fri, 14 Dec 2018 16:48:00 +0100

sanoid (2.0.0) unstable; urgency=medium

  [overall]   documentation updates, small fixes, more warnings (@sparky3387, @ljwobker, @phreaker0)
  [syncoid]   added force delete flag (@phreaker0)
  [sanoid]    removed sleeping between snapshot taking (@phreaker0)
  [syncoid]   added '--no-privilege-elevation' option to bypass root check (@lopsided98)
  [sanoid]    implemented weekly period (@phreaker0)
  [syncoid]   implemented support for zfs bookmarks as fallback (@phreaker0)
  [sanoid]    support for pre, post and prune snapshot scripts (@jouir, @darkbasic, @phreaker0)
  [sanoid]    ignore snapshots types that are set to 0 (@muff1nman)
  [packaging] split snapshot taking/pruning into separate systemd units for debian package (@phreaker0)
  [syncoid]   replicate clones (@phreaker0)
  [syncoid]   added compression algorithms: lz4, xz (@spheenik, @phreaker0)
  [sanoid]    added option to defer pruning based on the available pool capacity (@phreaker0)
  [sanoid]    implemented frequent snapshots with configurable period (@phreaker0)
  [syncoid]   prevent a perl warning on systems which doesn't output estimated send size information (@phreaker0)
  [packaging] dependency fixes (@rodgerd, mabushey)
  [syncoid]   implemented support for excluding children of a specific dataset (@phreaker0)
  [sanoid]    monitor-health command additionally checks vdev members for io and checksum errors (@phreaker0)
  [syncoid]   added ability to skip datasets by a custom dataset property 'syncoid:no-sync' (@attie)
  [syncoid]   don't die on some critical replication errors, but continue with the remaining datasets (@phreaker0)
  [syncoid]   return a non zero exit code if there was a problem replicating datasets (@phreaker0)
  [syncoid]   make local source bwlimit work (@phreaker0)
  [syncoid]   fix 'resume support' detection on FreeBSD (@pit3k)
  [sanoid]    updated INSTALL with missing dependency
  [sanoid]    fixed monitor-health command for pools containing cache and log devices (@phreaker0)
  [sanoid]    quiet flag suppresses all info output (@martinvw)
  [sanoid]    check for empty lockfile which lead to sanoid failing on start (@jasonblewis)
  [sanoid]    added dst handling to prevent multiple invalid snapshots on time shift (@phreaker0)
  [sanoid]    cache improvements, makes sanoid much faster with a huge amount of datasets/snapshots (@phreaker0)
  [sanoid]    implemented monitor-capacity flag for checking zpool capacity limits (@phreaker0)
  [syncoid]   Added support for ZStandard compression.(@danielewood)
  [syncoid]   implemented support for excluding datasets from replication with regular expressions (@phreaker0)
  [syncoid]   correctly parse zfs column output, fixes resumable send with datasets containing spaces (@phreaker0)
  [syncoid]   added option for using extra identification in the snapshot name for replication to multiple targets (@phreaker0)
  [syncoid]   added option for skipping the parent dataset in recursive replication (@phreaker0)
  [syncoid]   typos (@UnlawfulMonad, @jsavikko, @phreaker0)
  [sanoid]    use UTC by default in unit template and documentation (@phreaker0)
  [syncoid]   don't prune snapshots if instructed to not create them either (@phreaker0)
  [syncoid]   documented compatibility issues with (t)csh shells (@ecoutu)

 -- Jim Salter <github@jrs-s.net>  Wed, 04 Dec 2018 18:10:00 -0400

sanoid (1.4.18) unstable; urgency=medium

  implemented special character handling and support of ZFS resume/receive tokens by default in syncoid,
  thank you @phreaker0!

 -- Jim Salter <github@jrs-s.net>  Wed, 25 Apr 2018 16:24:00 -0400

sanoid (1.4.17) unstable; urgency=medium

  changed die to warn when unexpectedly unable to remove a snapshot - this
  allows sanoid to continue taking/removing other snapshots not affected by
  whatever lock prevented the first from being taken or removed

 -- Jim Salter <github@jrs-s.net>  Wed, 8 Nov 2017 15:25:00 -0400

sanoid (1.4.16) unstable; urgency=medium

  * merged @hrast01's extended fix to support -o option1=val,option2=val passthrough to SSH. merged @JakobR's
  * off-by-one fix to stop unnecessary extra snapshots being taken under certain conditions. merged @stardude900's
  * update to INSTALL for FreeBSD users re:symlinks. Implemented @LordAro's update to change DIE to WARN when
  * encountering a dataset with no snapshots and --no-sync-snap set during recursive replication. Implemented
  * @LordAro's update to sanoid.conf to add an ignore template which does not snap, prune, or monitor.

 -- Jim Salter <github@jrs-s.net>  Wed, 9 Aug 2017 12:28:49 -0400
