• 2.1.0 486a5fb6b5

    borgmatic 2.1.0
    All checks were successful
    build / test (push) Successful in 9m20s
    build / docs (push) Successful in 1m40s
    Stable

    witten released this 2026-01-16 20:42:25 +00:00 | 4 commits to main since this release

    • 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.
    Downloads