Releases: borgmatic-collective/borgmatic
Releases · borgmatic-collective/borgmatic
borgmatic 1.9.1
- #928: Fix the user runtime directory location on macOS (and possibly Cygwin).
- #930: Fix an error with the sample systemd service when no credentials are configured.
- #931: Fix an error when implicitly upgrading the check state directory from ~/.borgmatic to
~/.local/state/borgmatic across filesystems.
borgmatic 1.9.0
- #609: Fix the glob expansion of "source_directories" values to respect the "working_directory"
option. - #609: BREAKING: Apply the "working_directory" option to all actions, not just "create". This
includes repository paths, destination paths, mount points, etc. - #562: Deprecate the "borgmatic_source_directory" option in favor of "user_runtime_directory"
and "user_state_directory". - #562: BREAKING: Move the default borgmatic streaming database dump and bootstrap metadata
directory from ~/.borgmatic to /run/user/$UID/borgmatic, which is more XDG-compliant. You can
override this location with the new "user_runtime_directory" option. Existing archives with
database dumps at the old location are still restorable. - #562, #638: Move the default check state directory from ~/.borgmatic to
~/.local/state/borgmatic. This is more XDG-compliant and also prevents these state files from
getting backed up (unless you explicitly include them). You can override this location with the
new "user_state_directory" option. After the first time you run the "check" action with borgmatic
1.9.0, you can safely delete the ~/.borgmatic directory. - #838: BREAKING: With Borg 1.4+, store database dumps and bootstrap metadata in a "/borgmatic"
directory within a backup archive, so the path doesn't depend on the current user. This means
that you can now backup as one user and restore or bootstrap as another user, among other use
cases. - #902: Add loading of encrypted systemd credentials. See the documentation for more information:
https://torsion.org/borgmatic/docs/how-to/provide-your-passwords/#using-systemd-service-credentials - #911: Add a "key change-passphrase" action to change the passphrase protecting a repository key.
- #914: Fix a confusing apparent hang when when the repository location changes, and instead
show a helpful error message. - #915: BREAKING: Rename repository actions like "rcreate" to more explicit names like
"repo-create" for compatibility with recent changes in Borg 2.0.0b10. - #918: BREAKING: When databases are configured, don't auto-enable the "one_file_system" option,
as existing auto-excludes of special files should be sufficient to prevent Borg from hanging on
them. But if this change causes problems for you, you can always enable "one_file_system"
explicitly. - #919: Clarify the command-line help for the "--config" flag.
- #919: Document a policy for versioning and breaking changes:
https://torsion.org/borgmatic/docs/how-to/upgrade/#versioning-and-breaking-changes - #921: BREAKING: Change soft failure command hooks to skip only the current repository rather than
all repositories in the configuration file. - #922: Replace setup.py (Python packaging metadata) with the more modern pyproject.toml.
- When using Borg 2, default the "archive_name_format" option to just "{hostname}", as Borg 2 does
not require unique archive names; identical archive names form a common "series" that can be
targeted together. See the Borg 2 documentation for more information:
https://borgbackup.readthedocs.io/en/2.0.0b13/changes.html#borg-1-2-x-1-4-x-to-borg-2-0 - Add support for Borg 2's "rclone:" repository URLs, so you can backup to 70+ cloud storage
services whether or not they support Borg explicitly. - Add support for Borg 2's "sftp://" repository URLs.
- Update the "--match-archives" and "--archive" flags to support Borg 2 series names or archive
hashes. - Add a "--match-archives" flag to the "prune" action.
- Add "--local-path" and "--remote-path" flags to the "config bootstrap" action for setting the
Borg executable paths used for bootstrapping. - Add a "--user-runtime-directory" flag to the "config bootstrap" action for helping borgmatic
locate the bootstrap metadata stored in an archive. - Add a Zabbix monitoring hook. See the documentation for more information:
https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/#zabbix-hook - Add a tarball of borgmatic's HTML documentation to the packages on the project page.
borgmatic 1.8.14
- #896: Fix an error in borgmatic rcreate/init on an empty repository directory with Borg 1.4.
- #898: Add glob ("*") support to the "--repository" flag. Just quote any values containing
globs so your shell doesn't interpret them. - #899: Fix for a "bad character" Borg error in which the "spot" check fed Borg an invalid pattern.
- #900: Fix for a potential traceback (TypeError) during the handling of another error.
- #904: Clarify the configuration reference about the "spot" check options:
https://torsion.org/borgmatic/docs/reference/configuration/ - #905: Fix the "source_directories_must_exist" option to work with relative "source_directories"
paths when a "working_directory" is set. - #906: Add documentation details for how to run custom database dump commands using binaries from
running containers:
https://torsion.org/borgmatic/docs/how-to/backup-your-databases/#containers - Fix a regression in which the "color" option had no effect.
- Add a recent contributors section to the documentation, because credit where credit's due! See:
https://torsion.org/borgmatic/#recent-contributors
borgmatic 1.8.13
- #298: Add "delete" and "rdelete" actions to delete archives or entire repositories.
- #785: Add an "only_run_on" option to consistency checks so you can limit a check to running on
particular days of the week. See the documentation for more information:
https://torsion.org/borgmatic/docs/how-to/deal-with-very-large-backups/#check-days - #885: Add an Uptime Kuma monitoring hook. See the documentation for more information:
https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/#uptime-kuma-hook - #886: Fix a PagerDuty hook traceback with Python < 3.10.
- #889: Fix the Healthchecks ping body size limit, restoring it to the documented 100,000 bytes.
borgmatic 1.8.12
- #817: Add a "--max-duration" flag to the "check" action and a "max_duration" option to the
repository check configuration. This tells Borg to interrupt a repository check after a certain
duration. - #860: Fix interaction between environment variable interpolation in constants and shell escaping.
- #863: When color output is disabled (explicitly or implicitly), don't prefix each log line with
the log level. - #865: Add an "upload_buffer_size" option to set the size of the upload buffer used in "create"
action. - #866: Fix "Argument list too long" error in the "spot" check when checking hundreds of thousands
of files at once. - #874: Add the configured repository label as "repository_label" to the interpolated variables
passed to before/after command hooks. - #881: Fix "Unrecognized argument" error when the same value is used with different command-line
flags. - In the "spot" check, don't try to hash symlinked directories.
borgmatic 1.8.11
- #815: Add optional Healthchecks auto-provisioning via "create_slug" option.
- #851: Fix lack of file extraction when using "extract --strip-components all" on a path with a
leading slash. - #854: Fix a traceback when the "data" consistency check is used.
- #857: Fix a traceback with "check --only spot" when the "spot" check is unconfigured.
borgmatic 1.8.10
- #656 (beta): Add a "spot" consistency check that compares file counts and contents between your
source files and the latest archive, ensuring they fall within configured tolerances. This can
catch problems like incorrect excludes, inadvertent deletes, files changed by malware, etc. See
the documentation for more information:
https://torsion.org/borgmatic/docs/how-to/deal-with-very-large-backups/#spot-check - #779: When "--match-archives *" is used with "check" action, don't skip Borg's orphaned objects
check. - #842: When a command hook exits with a soft failure, ping the log and finish states for any
configured monitoring hooks. - #843: Add documentation link to Loki dashboard for borgmatic:
https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/#loki-hook - #847: Fix "--json" error when Borg includes non-JSON warnings in JSON output.
- #848: SECURITY: Mask the password when logging a MongoDB dump or restore command.
- Fix handling of the NO_COLOR environment variable to ignore an empty value.
- Add documentation about backing up containerized databases by configuring borgmatic to exec into
a container to run a dump command:
https://torsion.org/borgmatic/docs/how-to/backup-your-databases/#containers
borgmatic 1.8.9
- #311: Add custom dump/restore command options for MySQL and MariaDB.
- #811: Add an "access_token" option to the ntfy monitoring hook for authenticating
without username/password. - #827: When the "--json" flag is given, suppress console escape codes so as not to
interfere with JSON output. - #829: Fix "--override" values containing deprecated section headers not actually overriding
configuration options under deprecated section headers. - #835: Add support for the NO_COLOR environment variable. See the documentation for more
information:
https://torsion.org/borgmatic/docs/how-to/set-up-backups/#colored-output - #839: Add log sending for the Apprise logging hook, enabled by default. See the documentation for
more information:
https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/#apprise-hook - #839: Document a potentially breaking shell quoting edge case within error hooks:
https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/#error-hooks - #840: When running the "rcreate" action and the repository already exists but with a different
encryption mode than requested, error. - Switch from Drone to Gitea Actions for continuous integration.
- Rename scripts/run-end-to-end-dev-tests to scripts/run-end-to-end-tests and use it in both dev
and CI for better dev-CI parity. - Clarify documentation about restoring a database: borgmatic does not create the database upon
restore.
borgmatic 1.8.8
- #370: For the PostgreSQL hook, pass the "PGSSLMODE" environment variable through to Borg when the
database's configuration omits the "ssl_mode" option. - #818: Allow the "--repository" flag to match across multiple configuration files.
- #820: Fix broken repository detection in the "rcreate" action with Borg 1.4. The issue did not
occur with other versions of Borg. - #822: Fix broken escaping logic in the PostgreSQL hook's "pg_dump_command" option.
- SECURITY: Prevent additional shell injection attacks within the PostgreSQL hook.
borgmatic 1.8.7
- #736: Store included configuration files within each backup archive in support of the "config
bootstrap" action. Previously, only top-level configuration files were stored. - #798: Elevate specific Borg warnings to errors or squash errors to
- warnings. See the documentation for more information:
https://torsion.org/borgmatic/docs/how-to/customize-warnings-and-errors/ - #810: SECURITY: Prevent shell injection attacks within the PostgreSQL hook, the MongoDB hook, the
SQLite hook, the "borgmatic borg" action, and command hook variable/constant interpolation. - #814: Fix a traceback when providing an invalid "--override" value for a list option.