-
borgmatic 2.1.5
Stablereleased this
2026-04-20 16:46:54 +00:00 | 12 commits to main since this release- #1229: Document the permissions needed for the PostgreSQL database hook:
https://torsion.org/borgmatic/reference/configuration/data-sources/postgresql/ - #1289: Add mutual TLS support for the Loki monitoring hook. See the documentation for more
information: https://torsion.org/borgmatic/reference/configuration/monitoring/loki/ - #1292: Fix a "source directories do not exist" regression when configuration paths are relative
symlinks and the bootstrap data source hook is enabled. - #1294: Fix a regression in which SSH warnings from remote repositories broke the "spot" check
and other actions as well. - #1295: Fix the ZFS hook to properly unmount snapshots for empty datasets.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
13 downloads
- #1229: Document the permissions needed for the PostgreSQL database hook:
-
borgmatic 2.1.4
Stablereleased this
2026-04-06 02:57:22 +00:00 | 24 commits to main since this release- #1266: Add a stand-alone borgmatic Linux binary to the release downloads to serve as another way
to install borgmatic. Consider this binary a beta feature. - #1286: Fix a regression in which running borgmatic with no arguments and no configuration files
doesn't error as expected. - #1257: Fix for the Loki monitoring hook not respecting the monitoring verbosity.
- #1264: Improve performance of the "info" and "repo-list" actions by eliminating a second "borg
info" call that supports a "no matching archives" warning. The warning still occurs; it's just
done now without the extra "borg info" call. - #1268: Fix the "spot" check, "extract" check, and all uses of the archive name "latest" to
respect the "match_archives" and "archives_name_format" options. This means that borgmatic now
uses the "latest" archive that also matches those options instead of the latest archive overall. - When Borg exits with a warning exit code, show a description of it, so you don't have to look up
the code. - Split out borgmatic installation documentation to its own page, so it's easier to find.
- Switch the default borgmatic installation method from pipx to uv, as uv is faster and used for
borgmatic development. If you'd like to switch, see the documentation for more information:
https://torsion.org/borgmatic/how-to/upgrade/ - Move the project tracker from Gitea to Forgejo.
- Fix a regression in which borgmatic didn't show an error message when run with no configuration.
- Fix a traceback in the "spot" check with Borg 2.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
30 downloads
- #1266: Add a stand-alone borgmatic Linux binary to the release downloads to serve as another way
-
borgmatic 2.1.3
Stablereleased this
2026-03-06 18:19:42 +00:00 | 50 commits to main since this release- #1175: Add a "files_changed" option for customizing Borg's file modification detection.
- #1175: Add a "msgpack_version_check" option to prevent Borg from validating msgpack's version.
- #1218: Add a "config show" action to display computed borgmatic configuration as YAML or JSON,
handy for fetching borgmatic configuration from external scripts. See the documentation for more
information:
https://torsion.org/borgmatic/reference/command-line/actions/config-show/ - #1228: Adjust the "spot" check so error output includes more information about what failed.
- #1236: Fix the "spot" check to skip hard links, as Borg doesn't produces hashes for them.
- #1243: Add a "diff" action for viewing the difference between the contents of two archives.
- #1248: Go back to treating Borg "file not found" warnings (exit code 107) as
warnings instead of errors. Otherwise, borgmatic can error on files that a user intentionally
deletes while a backup is running. 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/ - #1248: Un-deprecate the "source_directories_must_exist" option and default it to true, to
compensate for Borg "file not found" warnings no longer being treated as errors. - #1269: Fix the ZFS hook to support datasets with a "canmount" property of "noauto".
- #1270: Follow symlinks when backing up borgmatic configuration files to support the "bootstrap"
action. - #1274: Add an optional override for the documentation development listen port and use Podman
Compose if present. - #1281: Fix a unicode error when backing up a non-UTF-8 source filename with a
corresponding system locale. - Add a policy about the use of generative AI in the borgmatic codebase:
https://torsion.org/borgmatic/how-to/develop-on-borgmatic/#use-of-generative-ai
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
8 downloads
-
borgmatic 2.1.2
Stablereleased this
2026-02-06 20:53:27 +00:00 | 99 commits to main since this release- #1231: If a source file is deleted during a "spot" check, consider the file as non-matching
and move on instead of immediately failing the entire check. - #1250: Fix a regression in which the "--stats" flag hides statistics at default verbosity.
- #1251: Fix a regression in the ntfy monitoring hook in which borgmatic sends tags incorrectly,
resulting in "400 Bad Request" from ntfy. - #1258: Fix a "codec can't decode byte" error when running commands that output multi-byte unicode
characters. - #1260: Fix for SSH warnings from Borg showing up as JSON logs even without the "--log-json" flag.
- #1252: Work around Borg returning a warning exit code when a repository/archive check fails. Now,
borgmatic interprets such failures as errors. - Deduplicate overlapping source directories and patterns so they don't throw off "spot" check file
counts and cause spurious check failures.
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
3 downloads
- #1231: If a source file is deleted during a "spot" check, consider the file as non-matching
-
borgmatic 2.1.1 Stable
released this
2026-01-27 21:09:10 +00:00 | 114 commits to main since this release- #1241: For the "recreate" action, actually pass the "--dry-run" flag through to Borg instead of
just skipping the Borg call. - #1242: Fix a regression in which the "spot" check hung while collecting archive contents.
- #1244: When the "unsafe_skip_path_validation_before_create" option is enabled, don't log a
warning about it. - #1245: Fix a regression in which the KeePassXC credential hook password prompt was invisible.
- #1246: Fix a regression in which the ntfy monitoring hook failed to send a ping when the
"priority" option was set.
Downloads
-
Source code (ZIP)
9 downloads
-
Source code (TAR.GZ)
1 download
- #1241: For the "recreate" action, actually pass the "--dry-run" flag through to Borg instead of
-
borgmatic 2.1.0
Stablereleased this
2026-01-16 20:42:25 +00:00 | 133 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
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
borgmatic 2.0.13 Stable
released this
2025-12-21 01:16:51 +00:00 | 222 commits to main since this release- #1054: Allow the Btrfs hook to create and delete snapshots even when running
as a non-root user. See the documentation for more information:
https://torsion.org/borgmatic/reference/configuration/data-sources/btrfs/#non-root-user - #1179: Add a "file_list_format" option for setting the "list" action's output format and an
"archive_list_format" option for setting the "repo-list" action's format. - #1192: Fix for over-aggressive deduplication of source directories that contain the borgmatic
runtime directory, potentially resulting in data loss (data not getting backed up) when
snapshotting these source directories. - #1192, #1163: Document potential interactions between security settings in borgmatic's sample
systemd service file and the ZFS, LVM, and Btrfs hooks. - #1193: In the documentation for the MariaDB/MySQL database hooks, clarify how to set custom
command-line flags for database commands. - #1193: For the MariaDB and MySQL database hooks, add a "socket_path" option for Unix socket
database connections. - #1193: For the MariaDB and MySQL database hooks, creates a consistent snapshot by dumping all
tables in a single transaction. - #1194: Fix for an incorrect diff command shown when running the "generate config" action with a
source configuration file. - #1195: Fix a regression in the ZFS, LVM, and Btrfs hooks in which snapshotted paths ignored
global excludes. - #1201: Document a problematic interaction between borgmatic and systemd-tmpfiles:
https://torsion.org/borgmatic/reference/configuration/runtime-directory/#systemd-tmpfiles - #1203: Fix that errors and exits when the borgmatic runtime directory is partially excluded by
configured excludes. Previously, borgmatic only errored when the runtime directory was completely
excluded. - #1206: Adjust Btrfs snapshot paths so that Borg 1.x gets file cache hits when backing them up,
improving performance. - Update the sample systemd timer with a shorter random delay when catching up on a missed run.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
4 downloads
- #1054: Allow the Btrfs hook to create and delete snapshots even when running
-
borgmatic 2.0.12 Stable
released this
2025-11-26 23:31:04 +00:00 | 255 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
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
borgmatic 2.0.11 Stable
released this
2025-11-03 03:41:38 +00:00 | 278 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
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
1 download
- #957: Document borgmatic's limitations around parallelism—both its own and Borg's. See the
-
borgmatic 2.0.10
Stablereleased this
2025-10-24 04:47:56 +00:00 | 304 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
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- #427: Expand the "extra_borg_options" option to support passing arbitrary Borg flags to every