• 1.7.9 bdfe4b61eb

    witten released this 1 week ago | 0 commits to since this release

    • #295: Add a SQLite database dump/restore hook.
    • #304: Change the default action order when no actions are specified on the command-line to:
      "create", "prune", "compact", "check". If you'd like to retain the old ordering ("prune" and
      "compact" first), then specify actions explicitly on the command-line.
    • #304: Run any command-line actions in the order specified instead of using a fixed ordering.
    • #564: Add "--repository" flag to all actions where it makes sense, so you can run borgmatic on
      a single configured repository instead of all of them.
    • #628: Add a Healthchecks "log" state to send borgmatic logs to Healthchecks without signalling
      success or failure.
    • #647: Add "--strip-components all" feature on the "extract" action to remove leading path
      components of files you extract. Must be used with the "--path" flag.
    • Add support for Python 3.11.
  • 1.7.8 b6cf7d2adc

    witten released this 3 weeks ago | 48 commits to since this release

    • #620: With the "create" action and the "--list" ("--files") flag, only show excluded files at
      verbosity 2.
    • #621: Add optional authentication to the ntfy monitoring hook.
    • With the "create" action, only one of "--list" ("--files") and "--progress" flags can be used.
      This lines up with the new behavior in Borg 2.0.0b5.
    • Internally support new Borg 2.0.0b5 "--filter" status characters / item flags for the "create"
    • Fix the "create" action with the "--dry-run" flag querying for databases when a PostgreSQL/MySQL
      "all" database is configured. Now, these queries are skipped due to the dry run.
    • Add "--repository" flag to the "rcreate" action to optionally select one configured repository to
    • Add "--progress" flag to the "transfer" action, new in Borg 2.0.0b5.
    • Add "checkpoint_volume" configuration option to creates checkpoints every specified number of
      bytes during a long-running backup, new in Borg 2.0.0b5.
  • 1.7.7 418ebc8843

    witten released this 1 month ago | 63 commits to since this release

    • #642: Add MySQL database hook "add_drop_database" configuration option to control whether dumped
      MySQL databases get dropped right before restore.
    • #643: Fix for potential data loss (data not getting backed up) when dumping large "directory"
      format PostgreSQL/MongoDB databases. Prior to the fix, these dumps would not finish writing to
      disk before Borg consumed them. Now, the dumping process completes before Borg starts. This only
      applies to "directory" format databases; other formats still stream to Borg without using
      temporary disk space.
    • Fix MongoDB "directory" format to work with mongodump/mongorestore without error. Prior to this
      fix, only the "archive" format worked.
  • 1.7.6 301b29ee11

    witten released this 2 months ago | 71 commits to since this release

    • #393, #438, #560: Optionally dump "all" PostgreSQL/MySQL databases to separate files instead of one
      combined dump file, allowing more convenient restores of individual databases. You can enable
      this by specifying the database dump "format" option when the database is named "all".
    • #602: Fix logs that interfere with JSON output by making warnings go to stderr instead of stdout.
    • #622: Fix traceback when include merging configuration files on ARM64.
    • #629: Skip warning about excluded special files when no special files have been excluded.
    • #630: Add configuration options for database command customization: "list_options",
      "restore_options", and "analyze_options" for PostgreSQL, "restore_options" for MySQL, and
      "restore_options" for MongoDB.
  • 1.7.5 f79286fc91

    witten released this 4 months ago | 91 commits to since this release

    • #311: Override PostgreSQL dump/restore commands via configuration options.
    • #604: Fix traceback when a configuration section is present but lacking any options.
    • #607: Clarify documentation examples for include merging and deep merging.
    • #611: Fix "data" consistency check to support "check_last" and consistency "prefix" options.
    • #613: Clarify documentation about multiple repositories and separate configuration files.
  • 1.7.4 9c42e7e817

    witten released this 5 months ago | 104 commits to since this release

    • #596: Fix special file detection erroring when broken symlinks are encountered.
    • #597, #598: Fix regression in which "check" action errored on certain systems ("Cannot determine
      Borg repository ID").
  • 1.7.3 e2002b5488

    witten released this 5 months ago | 106 commits to since this release

    • #357: Add "break-lock" action for removing any repository and cache locks leftover from Borg
    • #360: To prevent Borg hangs, unconditionally delete stale named pipes before dumping databases.
    • #587: When database hooks are enabled, auto-exclude special files from a "create" action to
      prevent Borg from hanging. You can override/prevent this behavior by explicitly setting the
      "read_special" option to true.
    • #587: Warn when ignoring a configured "read_special" value of false, as true is needed when
      database hooks are enabled.
    • #589: Update sample systemd service file to allow system "idle" (e.g. a video monitor turning
      off) while borgmatic is running.
    • #590: Fix for potential data loss (data not getting backed up) when the "patterns_from" option
      was used with "source_directories" (or the "~/.borgmatic" path existed, which got injected into
      "source_directories" implicitly). The fix is for borgmatic to convert "source_directories" into
      patterns whenever "patterns_from" is used, working around a Borg bug:
    • #590: In "borgmatic create --list" output, display which files get excluded from the backup due
      to patterns or excludes.
    • #591: Add support for Borg 2's "--match-archives" flag. This replaces "--glob-archives", which
      borgmatic now treats as an alias for "--match-archives". But note that the two flags have
      slightly different syntax. See the Borg 2 changelog for more information:
    • Fix for "borgmatic --archive latest" not finding the latest archive when a verbosity is set.
  • 1.7.2 276a27d485

    witten released this 7 months ago | 124 commits to since this release

    • #577: Fix regression in which "borgmatic info --archive ..." showed repository info instead of
      archive info with Borg 1.
    • #582: Fix hang when database hooks are enabled and "patterns" contains a parent directory of
  • 1.7.1 d1837cd1d3

    witten released this 7 months ago | 131 commits to since this release

    • #542: Make the "source_directories" option optional. This is useful for "check"-only setups or
      using "patterns" exclusively.
    • #574: Fix for potential data loss (data not getting backed up) when the "patterns" option was
      used with "source_directories" (or the "~/.borgmatic" path existed, which got injected into
      "source_directories" implicitly). The fix is for borgmatic to convert "source_directories" into
      patterns whenever "patterns" is used, working around a potential Borg bug:
  • 1.7.0 e7b7560477

    witten released this 7 months ago | 136 commits to since this release

    • #463: Add "before_actions" and "after_actions" command hooks that run before/after all the
      actions for each repository. These new hooks are a good place to run per-repository steps like
      mounting/unmounting a remote filesystem.
    • #463: Update documentation to cover per-repository configurations:
    • #557: Support for Borg 2 while still working with Borg 1. This includes new borgmatic actions
      like "rcreate" (replaces "init"), "rlist" (list archives in repository), "rinfo" (show repository
      info), and "transfer" (for upgrading Borg repositories). For the most part, borgmatic tries to
      smooth over differences between Borg 1 and 2 to make your upgrade process easier. However, there
      are still a few cases where Borg made breaking changes. See the Borg 2.0 changelog for more
      information: https://www.borgbackup.org/releases/borg-2.0.html
    • #557: If you install Borg 2, you'll need to manually upgrade your existing Borg 1 repositories
      before use. Note that Borg 2 stable is not yet released as of this borgmatic release, so don't
      use Borg 2 for production until it is! See the documentation for more information:
    • #557: Rename several configuration options to match Borg 2: "remote_rate_limit" is now
      "upload_rate_limit", "numeric_owner" is "numeric_ids", and "bsd_flags" is "flags". borgmatic
      still works with the old options.
    • #557: Remote repository paths without the "ssh://" syntax are deprecated but still supported for
      now. Remote repository paths containing "~" are deprecated in borgmatic and no longer work in
      Borg 2.
    • #557: Omitting the "--archive" flag on the "list" action is deprecated when using Borg 2. Use
      the new "rlist" action instead.
    • #557: The "--dry-run" flag can now be used with the "rcreate"/"init" action.
    • #565: Fix handling of "repository" and "data" consistency checks to prevent invalid Borg flags.
    • #566: Modify "mount" and "extract" actions to require the "--repository" flag when multiple
      repositories are configured.
    • #571: BREAKING: Remove old-style command-line action flags like "--create, "--list", etc. If
      you're already using actions like "create" and "list" instead, this change should not affect you.
    • #571: BREAKING: Rename "--files" flag on "prune" action to "--list", as it lists archives, not
    • #571: Add "--list" as alias for "--files" flag on "create" and "export-tar" actions.
    • Add support for disabling TLS verification in Healthchecks monitoring hook with "verify_tls"