• 2.0.12 5e7d14e419

    witten released this 2025-11-26 23:31:04 +00:00 | 8 commits to main since this release

    • #1127: Fix for the database hooks not respecting the "working_directory" option.
    • #1181: Add an "ask_for_password" option to the KeePassXC credential hook for disabling
      KeePassXC's password prompt, e.g. if you're only using a key file to decrypt your database.
    • #1184: Fix the fish shell completion's detection of version mismatches.
    • #1186: Fix a regression in the Btrfs hook in which subvolume snapshots didn't get cleaned up
      until the start of the next borgmatic run.
    • In the SQLite database hook, run SQLite such that it exits upon encountering an error instead of,
      you know, not doing that.
    • Add documentation on repositories, including SSH, Rclone, S3, and B2:
      https://torsion.org/borgmatic/reference/configuration/repositories/
    • Improve documentation search results for individual configuration options.
    • Add borgmatic release artifacts (wheel and tarball) to each release on the releases page:
      https://projects.torsion.org/borgmatic-collective/borgmatic/releases
    • Move the tarball of borgmatic's HTML documentation from the packages page to the releases page.
    Downloads
  • 2.0.11 bddc82951e

    witten released this 2025-11-03 03:41:38 +00:00 | 31 commits to main since this release

    • #957: Document borgmatic's limitations around parallelism—both its own and Borg's. See the
      documentation for more information:
      https://torsion.org/borgmatic/how-to/make-per-application-backups/#limitations
    • #1165: Fix for when the systemd service directories (RuntimeDirectory and StateDirectory) each
      contain multiple paths.
    • #1168: Fix for the "list", "info", and "delete" options in "extra_borg_options" being ignored
      when "--archive" is omitted with Borg 1.x.
    • #1169: Fix for a regression in the ZFS, LVM, and Btrfs hooks in which partial excludes of
      snapshot paths were ignored.
    • #1170: Fix for an inconsistent log level for Borg's last output line before exiting.
    • #1172: Add an "environment" option to the Sentry monitoring hook.
    • #1176: Fix the "--repository" flag not applying to command hooks.
    • Add a "rename" option to "extra_borg_options" to support passing arbitrary flags to "borg
      rename".
    • Add documentation on patterns and excludes:
      https://torsion.org/borgmatic/reference/configuration/patterns-and-excludes/
    • Drop support for Python 3.9, which has been end-of-lifed.
    Downloads
  • 2.0.10 0777d40218

    borgmatic 2.0.10
    All checks were successful
    build / test (push) Successful in 8m18s
    build / docs (push) Successful in 1m52s
    Stable

    witten released this 2025-10-24 04:47:56 +00:00 | 57 commits to main since this release

    • #427: Expand the "extra_borg_options" option to support passing arbitrary Borg flags to every
      Borg sub-command that borgmatic uses. As part of this, deprecate the "init" option under
      "borg_extra_options" in favor of "repo_create".
    • #942: Factor reference material out of the documentation how-to guides. This means there's now a
      whole reference section in the docs! Check it out: https://torsion.org/borgmatic/
    • #973: For the MariaDB and MySQL database hooks, add a "skip_names" option to ignore particular
      databases when dumping "all".
    • #1150: Fix for a runtime directory error when the "create" action is used with the "--log-json"
      flag.
    • #1150: Fix for a runtime directory error when the configured patterns contain a global exclude.
    • #1161: Fix a traceback (TypeError) in the "check" action with Python 3.14.
    • #1166: Add a "borg_key_file" option for setting the Borg repository key file path.
    • Add documentation search.
    • Change the URL of the local documentation development server to be more like the production URL.
    Downloads
  • 2.0.9 2a5e202daf

    borgmatic 2.0.9
    All checks were successful
    build / test (push) Successful in 8m9s
    build / docs (push) Successful in 1m57s
    Stable

    witten released this 2025-10-07 16:55:41 +00:00 | 92 commits to main since this release

    • #1105: More accurately collect Btrfs subvolumes to snapshot. As part of this, the Btrfs hook no
      longer uses "findmnt" and the "findmnt_command" option is deprecated.
    • #1123: Add loading of systemd credentials even when running borgmatic outside of a systemd
      service.
    • #1149: Add support for Python 3.14.
    • #1149: Include automated tests in the source dist tarball uploaded to PyPI.
    • #1151: Fix snapshotting in the ZFS, Btrfs, and LVM hooks to play nicely with the Borg 1.4+
      "slashdot" hack within source directory paths.
    • #1152: Fix a regression in the Loki monitoring hook in which log messages weren't sending.
    • #1156: Fix snapshotting in the ZFS, Btrfs, and LVM hooks to snapshot both parent and child
      volumes/filesystems instead of just the parent. As part of this fix, borgmatic no longer
      deduplicates patterns except for those containing the borgmatic runtime directory.
    • Fix a traceback (TypeError) regression in the "spot" check when the "local_path" option isn't
      set.
    Downloads
  • 2.0.8 6d48ff95d2

    borgmatic 2.0.8
    All checks were successful
    build / test (push) Successful in 7m15s
    build / docs (push) Successful in 1m0s
    Stable

    witten released this 2025-09-20 00:32:13 +00:00 | 113 commits to main since this release

    • #1114: Document systemd configuration changes for the ZFS filesystem hook.
    • #1116: Add dumping of database containers via their container names, handy for backing up
      database containers from the host. See the documentation for more information:
      https://torsion.org/borgmatic/docs/how-to/backup-your-databases/#database-client-on-the-host
    • #1116: Add optional database labels to make it easier to find your dumps within a Borg archive.
    • #1118: Fix a bug in which Borg hangs during database backup when different filesystems are in
      use.
    • #1122: To prevent the user from inadvertently excluding the "bootstrap" action's manifest, always
      error and exit when the borgmatic runtime directory overlaps with the configured excludes.
    • #1125: Clarify documentation about ZFS, Btrfs, and LVM snapshotting when a separate
      filesystem is mounted in the source directory. (Spoiler: The separate filesystem doesn't get
      included in the snapshot.)
    • #1126: Create LVM snapshots as read-write to avoid an error when snapshotting ext4 filesystems
      with orphaned files that need recovery.
    • #1133: Fix the "spot" check to include borgmatic configuration files that were backed up to
      support the "bootstrap" action.
    • #1136: For all database hooks, record metadata about the dumps contained within an archive.
    • #1139: Set "borgmatic" as the user agent when connecting to monitoring services.
    • #1146: Fix a broken "create" action and "--archive latest" flag when multiple archives share the
      same name with Borg 2.
    • Treat configuration file permissions issues as errors instead of warnings.
    • When running tests, use Ruff for faster and more comprehensive code linting and formatting,
      replacing Flake8, Black, isort, etc.
    • Switch from pipx to uv for installing development tools, and added tox-uv for speeding up test
      environment creation. See the developer documentation for more information:
      https://torsion.org/borgmatic/docs/how-to/develop-on-borgmatic/
    Downloads
  • 2.0.7 1a33e5fa1e

    borgmatic 2.0.7
    All checks were successful
    build / test (push) Successful in 8m28s
    build / docs (push) Successful in 1m31s
    Stable

    witten released this 2025-07-01 01:04:06 +00:00 | 188 commits to main since this release

    • #1032: Fix a bug in which a Borg archive gets created even when a database hook fails.
    • #1043: Support Btrfs subvolume paths in "source_directories" even when the subvolume is mounted
      elsewhere.
    • #1048: Ignore Btrfs subvolumes whose read-only status can't be determined.
    • #1083: Add "debug_passphrase"/"display_passphrase" options and a "{unixtime}" placeholder in
      support of Borg 2 features.
    • #1099: Clarify documentation on command hooks order of execution.
    • #1100: Fix a bug in which "borg --version" failing isn't considered a "fail" state in a command
      hook.
    • #1108: Fix a bug in which quoted "extra_borg_options" values containing spaces are passed to Borg
      incorrectly.
    • #1108: Add a "--comment" flag to the "create" action for creating an archive with a comment.
    • Use the Bandit security analysis tool when running tests.
    • SECURITY: Add timeouts to all monitoring hooks to prevent hangs on network requests, e.g. due to
      a compromised monitoring server holding requests open.
    • SECURITY: For the "spot" check, use a more secure source of randomness when selecting paths to
      check.
    Downloads
  • 2.0.6 b208c5352a

    borgmatic 2.0.6
    All checks were successful
    build / test (push) Successful in 7m5s
    build / docs (push) Successful in 1m17s
    Stable

    witten released this 2025-05-15 04:16:33 +00:00 | 216 commits to main since this release

    • #1068: Fix a warning from LVM about leaked file descriptors.
    • #1086: Fix for the "spot" check breaking when the "--progress" flag is used.
    • #1089: Fix for the "spot" check erroring when a checksum command errors.
    • #1091: Fix for the "config generate" action generating invalid configuration when upgrading
      deprecated command hooks.
    • #1093: Fix for the LVM hook erroring when the "--dry-run" flag is used.
    • #1094: Fix incorrect documentation about customizing Borg exit codes:
      https://torsion.org/borgmatic/docs/how-to/customize-warnings-and-errors/
    • #1095: Fix for the "spot" check's "xxh64sum_command" option erroring on commands containing
      spaces.
    • Add support for Borg 2's "s3:" and "b2:" repository URLs, so you can backup to S3 or B2 cloud
      storage services even without using Rclone.
    • During the "spot" check, truncate log messages containing many file paths.
    Downloads
  • 2.0.5 cdbfe1c1e9

    borgmatic 2.0.5
    All checks were successful
    build / test (push) Successful in 7m17s
    build / docs (push) Successful in 1m29s
    Stable

    witten released this 2025-04-29 22:20:50 +00:00 | 235 commits to main since this release

    • #1033: Add a "password_transport" option to the MariaDB and MySQL database hooks for customizing
      how borgmatic transmits passwords to the database client.
    • #1078: Add "keep_3monthly" and "keep_13weekly" options for customizing "prune" action archive
      retention.
    • #1078: Add a "use_chunks_archive" option for controlling whether Borg uses its chunks cache
      directory.
    • #1078: For the "compact" action, pass "--dry-run" through to Borg.
    • #1085: Fix a regression in which the default monitoring verbosity is 0 (warnings only) instead of
      1 (info about steps borgmatic is taking). This prevented logs from showing up in monitoring
      services like Healthchecks unless you had an explicit monitoring verbosity set.
    • Move Mastodon social hosting from Fosstodon to FLOSS.social: https://floss.social/@borgmatic
    • The borgmatic project no longer accepts pull requests on GitHub. But see
      https://torsion.org/borgmatic/#contributing for how you can still submit pull requests. You can
      even use your GitHub account to login.
    Downloads
  • 2.0.4 5465b60d37

    borgmatic 2.0.4
    All checks were successful
    build / test (push) Successful in 6m41s
    build / docs (push) Successful in 1m3s
    Stable

    witten released this 2025-04-22 21:11:36 +00:00 | 257 commits to main since this release

    Downloads
  • 2.0.3 13d49fda9b

    borgmatic 2.0.3
    All checks were successful
    build / test (push) Successful in 6m45s
    build / docs (push) Successful in 1m19s
    Stable

    witten released this 2025-04-15 05:53:23 +00:00 | 264 commits to main since this release

    • #1065: Fix a regression in monitoring hooks in which an error pinged the finish state instead of
      the fail state.
    • #1066: Add a "states" option to command hooks, so you can optionally skip an "after" hook if
      borgmatic encounters an error.
    • #1071: Fix an error in the LVM hook when removing a snapshot directory.
    Downloads