- TL;DR: Many logging, memory, and performance improvements. Mind those breaking changes!
- #485: When running commands (database clients, command hooks, etc.), elevate stderr output to
show up as borgmatic error logs. - #858: With the "--log-json" flag, log borgmatic's own logs as JSON, not just Borg's.
- #1092: BREAKING: Treat most Borg warnings as errors by default, so for instance backups now fail
when source directories are missing. You can still override this behavior with the
"borg_exit_codes" option. See the documentation for more information:
https://torsion.org/borgmatic/how-to/customize-warnings-and-errors/ - #1092: Deprecate the "source_directories_must_exist" option, as borgmatic now treats "backup file
not found" warnings from Borg as errors, which accomplishes the same thing. - #1132: BREAKING/SECURITY: For the Healthchecks, Apprise, Pagerduty, and Loki monitoring hooks,
disable log sending when not explicitly enabled. This avoids revealing private log information to
third-party services. To send logs anyway, set the monitoring hook's "send_logs" option to
"true". - #1204: When verbosity levels differ between console/monitoring/syslog/file, log Borg's output to
each one at a different level. Previously, it was logged at the maximum level of all the
verbosities. - #1208: Fix for the "restore" action incorrectly extracting more database dumps than the
"--database" flag specifies. - #1210: Fix an error when running the "spot" check or "extract" action with the "progress" option
or "--progress" flag. - #1211: Fix an error about the runtime directory getting excluded by tweaking its logic and
lowering the error to a warning. - #1212: Fix an error when restoring multiple directory-format database dumps at once.
- #1213: BREAKING: Support disabling both constant and variable interpolation by escaping with
backslashes. For instance, interpret "\{name\}" as literally "{name}" instead of trying to
resolve it as a constant/variable. - #1220: Cleanup snapshots immediately after ZFS, LVM, or Btrfs hooks error—rather than waiting
until the next time borgmatic runs. - #1221: Add an "unsafe_skip_path_validation_before_create" option to skip pre-backup safety
validation so as to reduce backup times on large filesystems. - #1224: When running an "extract" check with the "--progress" flag, show file extraction progress.
- #1225: Improve performance and greatly reduce memory usage during pre-backup safety validation on
large filesystems. - #1230: Fix another warning from LVM about leaked file descriptors, this time when calling
"lvcreate" from a command hook. - #1234: Fix for the ntfy monitoring hook erroring on emojis in the "title" option.
- When syslog verbosity is enabled, log to systemd's journal (if present) with
structured data. See the documentation for more information:
https://torsion.org/borgmatic/reference/command-line/logging/#systemd-journal - SECURITY: Prevent shell injection attacks via constant interpolation in command hooks. (This was
already implemented for deprecated "before_*"/"after_*" command hooks.) - Fix for an error in the "key import" action when importing a key from stdin.
- Fix the "recreate" action to include borgmatic-specific paths (database dumps, etc.) in recreated
archives. - Update the "list" action to support the "--json" flag when the "--archive" flag is also used.
- Promote the ZFS, LVM, and Btrfs hooks from beta features to stable.