Overview
This release introduces significant new features, fixes, and quality of life improvements. These include enhancements to the Difference Engine: support for multiple -s|--start-path arguments, cache fixes, better file type detection when not using --file-types, and improved move detection behaviour when multiple destinations exist, as well as support for plugin priorities in Manager and the in-tree plugins (for example, allowing the administrator to choose between lvm2-thin, and lvm2-cow snapshot providers where both can snapshot the same volume), better documentation for the Mount Manager in the User Guide, and a new, user-visible timeline categorization ("yearly", "monthly", "weekly", "daily", etc.) that is available for all snapshot sets. This release also includes a fix for the snapm / podman netns mount issue documented in earlier releases (#586) and stronger validation for schedule create name arguments (#906).
Users should upgrade to v0.7.0 as soon as possible to take advantage of these enhancements.
Notes
- It is now possible to specify the
-s|--startpath multiple times when invoking thesnapset diffandsnapset diffreportcommands. This allows the user to compare multiple independent subtrees in a singlediffoperation. - The path based file type detection has been improved to support more common file extensions, text and binary path locations, and categorisations.
- A new
BINARY_LOGfile type categorisation has been added to describe files such aswtmp, SAR logs, and the journal. - Plugins now support a
PluginPriorityconfiguration that specifies a positive integer priority level. The plugin with the greatest priority is chosen when multiple plugins can snapshot the same device. This allows the user to preferlvm2-cowsnapshots overlvm2-thinwhere both are possible and will in future allow support for file system level snapshots (for example, Btrfs). Refer tosnapm(8), andsnapm-plugins.d(5)for further information on configuring plugin priorities. - The Mount Manager is now described in the on-line and in-package User Guide.
- The Mount Manager now handles unmounting of duplicate
/run/netnsmounts via a targeted workaround. - The timeline classification algorithm used by the
Timelinegarbage collection policy has been generalised and is now available for all snapshot sets via the "Categories" snapshot set property and "categories" report field. - The static file type classifier now uses a broader set of rules for classifying likely text or binary content types.
- The
treeoutput format of thesnapset diffcommand now displays separate nodes for paths that have both been moved and modified (for example, a file that was backed up and then changed in-place).
What's Changed
- doc: add new snapm logo to README.md by @bmr-cymru in #823
- doc: update
README.mdanduser_guide.rstwith mount manager and difference engine by @bmr-cymru in #830 - snapm: btrfs plugin pre-requisite features and fixes by @bmr-cymru in #843
- Fixes for progress log interleaving and text-like best-guess file type detection by @bmr-cymru in #851
- fsdiff: add
BINARY_LOGfile type category and fixTEXT_FILE_PATHSprefixing by @bmr-cymru in #855 - fsdiff: ctrl char glitches when diff -o tree --color=always | less -R by @bmr-cymru in #857
- fsdiff: tolerate missing
python-file-magicand work aroundMagic.close()bug by @bmr-cymru in #859 - fsdiff: make
include_system_dirsmore robust and disable in next release by @bmr-cymru in #871 - fsdiff: implement cheap sibbling proximity heuristic for moves by @bmr-cymru in #874
- fsdiff: support
DiffOptions.from_pathas list by @bmr-cymru in #875) - plugins: bump plugin versions for prio support by @bmr-cymru in #876
- tests: improve
snapm.fsdiffcoverage by @bmr-cymru in #991 - snapm: lift timeline classification logic up to
SnapshotSetby @bmr-cymru in #885 - snapm: don't alpha sort categories in reports by @bmr-cymru in #892
- mounts: container mount workarounds by @bmr-cymru in #900
- snapm: schedule name checks by @bmr-cymru in #910
- fsdiff: add
DiffOptions.no_mem_check/--no-mem-checkoption by @bmr-cymru in #912 - snapm: broaden file type heuristics for suffix paths and support multiple change records in tree rendering by @bmr-cymru in #913
Full Changelog: v0.6.0..v0.7.0