|
|
|
@ -1,746 +1,4 @@
|
|
|
|
|
1.9.6.dev0
|
|
|
|
|
* #959: Fix an error in the Btrfs hook when a subvolume mounted at "/" is configured in borgmatic's
|
|
|
|
|
source directories.
|
|
|
|
|
* #960: Fix for archives storing relative source directory paths such that they contain the working
|
|
|
|
|
directory.
|
|
|
|
|
* #960: Fix the "spot" check to support relative source directory paths.
|
|
|
|
|
* #965: Fix a borgmatic runtime directory error when running the "spot" check with a database hook
|
|
|
|
|
enabled.
|
|
|
|
|
* Fix the "spot" check to no longer consider pipe files within an archive for file comparisons.
|
|
|
|
|
* Fix auto-excluding of special files (when databases are configured) to support relative source
|
|
|
|
|
directory paths.
|
|
|
|
|
* Drop support for Python 3.8, which has been end-of-lifed.
|
|
|
|
|
|
|
|
|
|
1.9.5
|
|
|
|
|
* #418: Backup and restore databases that have the same name but with different ports, hostnames,
|
|
|
|
|
or hooks.
|
|
|
|
|
* #947: To avoid a hang in the database hooks, error and exit when the borgmatic runtime
|
|
|
|
|
directory overlaps with the configured excludes.
|
|
|
|
|
* #954: Fix a findmnt command error in the Btrfs hook by switching to parsing JSON output.
|
|
|
|
|
* #956: Fix the printing of a color reset code even when color is disabled.
|
|
|
|
|
* #958: Drop colorama as a library dependency.
|
|
|
|
|
* When the ZFS, Btrfs, or LVM hooks aren't configured, don't try to cleanup snapshots for them.
|
|
|
|
|
|
|
|
|
|
1.9.4
|
|
|
|
|
* #80 (beta): Add an LVM hook for snapshotting and backing up LVM logical volumes. See the
|
|
|
|
|
documentation for more information:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/snapshot-your-filesystems/
|
|
|
|
|
* #251 (beta): Add a Btrfs hook for snapshotting and backing up Btrfs subvolumes. See the
|
|
|
|
|
documentation for more information:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/snapshot-your-filesystems/
|
|
|
|
|
* #926: Fix a library error when running within a PyInstaller bundle.
|
|
|
|
|
* #950: Fix a snapshot unmount error in the ZFS hook when using nested datasets.
|
|
|
|
|
* Update the ZFS hook to discover and snapshot ZFS datasets even if they are parent/grandparent
|
|
|
|
|
directories of your source directories.
|
|
|
|
|
* Reorganize data source and monitoring hooks to make developing new hooks easier.
|
|
|
|
|
|
|
|
|
|
1.9.3
|
|
|
|
|
* #261 (beta): Add a ZFS hook for snapshotting and backing up ZFS datasets. See the documentation
|
|
|
|
|
for more information: https://torsion.org/borgmatic/docs/how-to/snapshot-your-filesystems/
|
|
|
|
|
* Remove any temporary copies of the manifest file created in support of the "bootstrap" action.
|
|
|
|
|
* Deprecate the "store_config_files" option at the global scope and move it under the "bootstrap"
|
|
|
|
|
hook. See the documentation for more information:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/extract-a-backup/#extract-the-configuration-files-used-to-create-an-archive
|
|
|
|
|
* Require the runtime directory to be an absolute path.
|
|
|
|
|
* Add a "--deleted" flag to the "repo-list" action for listing deleted archives that haven't
|
|
|
|
|
yet been compacted (Borg 2 only).
|
|
|
|
|
* Promote the "spot" check from a beta feature to stable.
|
|
|
|
|
|
|
|
|
|
1.9.2
|
|
|
|
|
* #441: Apply the "umask" option to all relevant actions, not just some of them.
|
|
|
|
|
* #722: Remove the restriction that the "extract" and "mount" actions must match a single
|
|
|
|
|
repository. Now they work more like other actions, where each repository is applied in turn.
|
|
|
|
|
* #932: Fix the missing build backend setting in pyproject.toml to allow Fedora builds.
|
|
|
|
|
* #934: Update the logic that probes for the borgmatic streaming database dump, bootstrap
|
|
|
|
|
metadata, and check state directories to support more platforms and use cases. See the
|
|
|
|
|
documentation for more information:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/backup-your-databases/#runtime-directory
|
|
|
|
|
* #934: Add the "RuntimeDirectory" and "StateDirectory" options to the sample systemd service
|
|
|
|
|
file to support the new runtime and state directory logic.
|
|
|
|
|
* #939: Fix borgmatic ignoring the "BORG_RELOCATED_REPO_ACCESS_IS_OK" and
|
|
|
|
|
"BORG_UNKNOWN_UNENCRYPTED_REPO_ACCESS_IS_OK" environment variables.
|
|
|
|
|
* Add a Pushover monitoring hook. See the documentation for more information:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/#pushover-hook
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
1.8.6
|
|
|
|
|
* #767: Add an "--ssh-command" flag to the "config bootstrap" action for setting a custom SSH
|
|
|
|
|
command, as no configuration is available (including the "ssh_command" option) until
|
|
|
|
|
bootstrapping completes.
|
|
|
|
|
* #794: Fix a traceback when the "repositories" option contains both strings and key/value pairs.
|
|
|
|
|
* #800: Add configured repository labels to the JSON output for all actions.
|
|
|
|
|
* #802: The "check --force" flag now runs checks even if "check" is in "skip_actions".
|
|
|
|
|
* #804: Validate the configured action names in the "skip_actions" option.
|
|
|
|
|
* #807: Stream SQLite databases directly to Borg instead of dumping to an intermediate file.
|
|
|
|
|
* When logging commands that borgmatic executes, log the environment variables that
|
|
|
|
|
borgmatic sets for those commands. (But don't log their values, since they often contain
|
|
|
|
|
passwords.)
|
|
|
|
|
|
|
|
|
|
1.8.5
|
|
|
|
|
* #701: Add a "skip_actions" option to skip running particular actions, handy for append-only or
|
|
|
|
|
checkless configurations. See the documentation for more information:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/set-up-backups/#skipping-actions
|
|
|
|
|
* #701: Deprecate the "disabled" value for the "checks" option in favor of the new "skip_actions"
|
|
|
|
|
option.
|
|
|
|
|
* #745: Constants now apply to included configuration, not just the file doing the includes. As a
|
|
|
|
|
side effect of this change, constants no longer apply to option names and only substitute into
|
|
|
|
|
configuration values.
|
|
|
|
|
* #779: Add a "--match-archives" flag to the "check" action for selecting the archives to check,
|
|
|
|
|
overriding the existing "archive_name_format" and "match_archives" options in configuration.
|
|
|
|
|
* #779: Only parse "--override" values as complex data types when they're for options of those
|
|
|
|
|
types.
|
|
|
|
|
* #782: Fix environment variable interpolation within configured repository paths.
|
|
|
|
|
* #782: Add configuration constant overriding via the existing "--override" flag.
|
|
|
|
|
* #783: Upgrade ruamel.yaml dependency to support version 0.18.x.
|
|
|
|
|
* #784: Drop support for Python 3.7, which has been end-of-lifed.
|
|
|
|
|
|
|
|
|
|
1.8.4
|
|
|
|
|
* #715: Add a monitoring hook for sending backup status to a variety of monitoring services via the
|
|
|
|
|
Apprise library. See the documentation for more information:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/#apprise-hook
|
|
|
|
|
* #748: When an archive filter causes no matching archives for the "rlist" or "info"
|
|
|
|
|
actions, warn the user and suggest how to remove the filter.
|
|
|
|
|
* #768: Fix a traceback when an invalid command-line flag or action is used.
|
|
|
|
|
* #771: Fix normalization of deprecated sections ("location:", "storage:", "hooks:", etc.) to
|
|
|
|
|
support empty sections without erroring.
|
|
|
|
|
* #774: Disallow the "--dry-run" flag with the "borg" action, as borgmatic can't guarantee the Borg
|
|
|
|
|
command won't have side effects.
|
|
|
|
|
|
|
|
|
|
1.8.3
|
|
|
|
|
* #665: BREAKING: Simplify logging logic as follows: Syslog verbosity is now disabled by
|
|
|
|
|
default, but setting the "--syslog-verbosity" flag enables it regardless of whether you're at an
|
|
|
|
|
interactive console. Additionally, "--log-file-verbosity" and "--monitoring-verbosity" now
|
|
|
|
|
default to 1 (info about steps borgmatic is taking) instead of 0. And both syslog logging and
|
|
|
|
|
file logging can be enabled simultaneously.
|
|
|
|
|
* #743: Add a monitoring hook for sending backup status and logs to Grafana Loki. See the
|
|
|
|
|
documentation for more information:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/#loki-hook
|
|
|
|
|
* #753: When "archive_name_format" is not set, filter archives using the default archive name
|
|
|
|
|
format.
|
|
|
|
|
* #754: Fix error handling to log command output as one record per line instead of truncating
|
|
|
|
|
too-long output and swallowing the end of some Borg error messages.
|
|
|
|
|
* #757: Update documentation so "sudo borgmatic" works for pipx borgmatic installations.
|
|
|
|
|
* #761: Fix for borgmatic not stopping Borg immediately when the user presses ctrl-C.
|
|
|
|
|
* Update documentation to recommend installing/upgrading borgmatic with pipx instead of pip. See the
|
|
|
|
|
documentation for more information:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/set-up-backups/#installation
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/upgrade/#upgrading-borgmatic
|
|
|
|
|
|
|
|
|
|
1.8.2
|
|
|
|
|
* #345: Add "key export" action to export a copy of the repository key for safekeeping in case
|
|
|
|
|
the original goes missing or gets damaged.
|
|
|
|
|
* #727: Add a MariaDB database hook that uses native MariaDB commands instead of the deprecated
|
|
|
|
|
MySQL ones. Be aware though that any existing backups made with the "mysql_databases:" hook are
|
|
|
|
|
only restorable with a "mysql_databases:" configuration.
|
|
|
|
|
* #738: Fix for potential data loss (data not getting restored) in which the database "restore"
|
|
|
|
|
action didn't actually restore anything and indicated success anyway.
|
|
|
|
|
* Remove the deprecated use of the MongoDB hook's "--db" flag for database restoration.
|
|
|
|
|
* Add source code reference documentation for getting oriented with the borgmatic code as a
|
|
|
|
|
developer: https://torsion.org/borgmatic/docs/reference/source-code/
|
|
|
|
|
|
|
|
|
|
1.8.1
|
|
|
|
|
* #326: Add documentation for restoring a database to an alternate host:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/backup-your-databases/#restore-to-an-alternate-host
|
|
|
|
|
* #697: Add documentation for "bootstrap" action:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/extract-a-backup/#extract-the-configuration-files-used-to-create-an-archive
|
|
|
|
|
* #725: Add "store_config_files" option for disabling the automatic backup of configuration files
|
|
|
|
|
used by the "config bootstrap" action.
|
|
|
|
|
* #728: Fix for "prune" action error when using the "keep_exclude_tags" option.
|
|
|
|
|
* #730: Fix for Borg's interactive prompt on the "check --repair" action automatically getting
|
|
|
|
|
answered "NO" even when the "check_i_know_what_i_am_doing" option isn't set.
|
|
|
|
|
* #732: Include multiple configuration files with a single "!include". See the documentation for
|
|
|
|
|
more information:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/make-per-application-backups/#multiple-merge-includes
|
|
|
|
|
* #734: Omit "--glob-archives" or "--match-archives" Borg flag when its value would be "*" (meaning
|
|
|
|
|
all archives).
|
|
|
|
|
|
|
|
|
|
1.8.0
|
|
|
|
|
* #575: BREAKING: For the "borgmatic borg" action, instead of implicitly injecting
|
|
|
|
|
repository/archive into the resulting Borg command-line, pass repository to Borg via an
|
|
|
|
|
environment variable and make archive available for explicit use in your commands. See the
|
|
|
|
|
documentation for more information:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/run-arbitrary-borg-commands/
|
|
|
|
|
* #719: Fix an error when running "borg key export" through borgmatic.
|
|
|
|
|
* #720: Fix an error when dumping a database and the "exclude_nodump" option is set.
|
|
|
|
|
* #724: Add "check_i_know_what_i_am_doing" option to bypass Borg confirmation prompt when running
|
|
|
|
|
"check --repair".
|
|
|
|
|
* When merging two configuration files, error gracefully if the two files do not adhere to the same
|
|
|
|
|
format.
|
|
|
|
|
* #721: Remove configuration sections ("location:", "storage:", "hooks:", etc.), while still
|
|
|
|
|
keeping deprecated support for them. Now, all options are at the same level, and you don't need
|
|
|
|
|
to worry about commenting/uncommenting section headers when you change an option (if you remove
|
|
|
|
|
your sections first).
|
|
|
|
|
* #721: BREAKING: The retention prefix and the consistency prefix can no longer have different
|
|
|
|
|
values (unless one is not set).
|
|
|
|
|
* #721: BREAKING: The storage umask and the hooks umask can no longer have different values (unless
|
|
|
|
|
one is not set).
|
|
|
|
|
* BREAKING: Flags like "--config" that previously took multiple values now need to be given once
|
|
|
|
|
per value, e.g. "--config first.yaml --config second.yaml" instead of "--config first.yaml
|
|
|
|
|
second.yaml". This prevents argument parsing errors on ambiguous commands.
|
|
|
|
|
* BREAKING: Remove the deprecated (and silently ignored) "--successful" flag on the "list" action,
|
|
|
|
|
as newer versions of Borg list successful (non-checkpoint) archives by default.
|
|
|
|
|
* All deprecated configuration option values now generate warning logs.
|
|
|
|
|
* Remove the deprecated (and non-functional) "--excludes" flag in favor of excludes within
|
|
|
|
|
configuration.
|
|
|
|
|
* Fix an error when logging too-long command output during error handling. Now, long command output
|
|
|
|
|
is truncated before logging.
|
|
|
|
|
|
|
|
|
|
1.7.15
|
|
|
|
|
* #326: Add configuration options and command-line flags for backing up a database from one
|
|
|
|
|
location while restoring it somewhere else.
|
|
|
|
|
* #399: Add a documentation troubleshooting note for MySQL/MariaDB authentication errors.
|
|
|
|
|
* #529: Remove upgrade-borgmatic-config command for upgrading borgmatic 1.1.0 INI-style
|
|
|
|
|
configuration.
|
|
|
|
|
* #529: Deprecate generate-borgmatic-config in favor of new "config generate" action.
|
|
|
|
|
* #529: Deprecate validate-borgmatic-config in favor of new "config validate" action.
|
|
|
|
|
* #697, #712, #716: Extract borgmatic configuration from backup via new "config bootstrap"
|
|
|
|
|
action—even when borgmatic has no configuration yet!
|
|
|
|
|
* #669: Add sample systemd user service for running borgmatic as a non-root user.
|
|
|
|
|
* #711, #713: Fix an error when "data" check time files are accessed without getting upgraded
|
|
|
|
|
first.
|
|
|
|
|
|
|
|
|
|
1.7.14
|
|
|
|
|
* #484: Add a new verbosity level (-2) to disable output entirely (for console, syslog, log file,
|
|
|
|
|
or monitoring), so not even errors are shown.
|
|
|
|
|
* #688: Tweak archive check probing logic to use the newest timestamp found when multiple exist.
|
|
|
|
|
* #659: Add Borg 2 date-based matching flags to various actions for archive selection.
|
|
|
|
|
* #703: Fix an error when loading the configuration schema on Fedora Linux.
|
|
|
|
|
* #704: Fix "check" action error when repository and archive checks are configured but the archive
|
|
|
|
|
check gets skipped due to the configured frequency.
|
|
|
|
|
* #706: Fix "--archive latest" on "list" and "info" actions that only worked on the first of
|
|
|
|
|
multiple configured repositories.
|
|
|
|
|
|
|
|
|
|
1.7.13
|
|
|
|
|
* #375: Restore particular PostgreSQL schemas from a database dump via "borgmatic restore --schema"
|
|
|
|
|
flag. See the documentation for more information:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/backup-your-databases/#restore-particular-schemas
|
|
|
|
|
* #678: Fix error from PostgreSQL when dumping a database with a "format" of "plain".
|
|
|
|
|
* #678: Fix PostgreSQL hook to support "psql_command" and "pg_restore_command" options containing
|
|
|
|
|
commands with arguments.
|
|
|
|
|
* #678: Fix calls to psql in PostgreSQL hook to ignore "~/.psqlrc", whose settings can break
|
|
|
|
|
database dumping.
|
|
|
|
|
* #680: Add support for logging each log line as a JSON object via global "--log-json" flag.
|
|
|
|
|
* #682: Fix "source_directories_must_exist" option to expand globs and tildes in source directories.
|
|
|
|
|
* #684: Rename "master" development branch to "main" to use more inclusive language. You'll need to
|
|
|
|
|
update your development checkouts accordingly.
|
|
|
|
|
* #686: Add fish shell completion script so you can tab-complete on the borgmatic command-line. See
|
|
|
|
|
the documentation for more information:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/set-up-backups/#shell-completion
|
|
|
|
|
* #687: Fix borgmatic error when not finding the configuration schema for certain "pip install
|
|
|
|
|
--editable" development installs.
|
|
|
|
|
* #688: Fix archive checks being skipped even when particular archives haven't been checked
|
|
|
|
|
recently. This occurred when using multiple borgmatic configuration files with different
|
|
|
|
|
"archive_name_format"s, for instance.
|
|
|
|
|
* #691: Fix error in "borgmatic restore" action when the configured repository path is relative
|
|
|
|
|
instead of absolute.
|
|
|
|
|
* #694: Run "borgmatic borg" action without capturing output so interactive prompts and flags like
|
|
|
|
|
"--progress" still work.
|
|
|
|
|
|
|
|
|
|
1.7.12
|
|
|
|
|
* #413: Add "log_file" context to command hooks so your scripts can consume the borgmatic log file.
|
|
|
|
|
See the documentation for more information:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/add-preparation-and-cleanup-steps-to-backups/
|
|
|
|
|
* #666, #670: Fix error when running the "info" action with the "--match-archives" or "--archive"
|
|
|
|
|
flags. Also fix the "--match-archives"/"--archive" flags to correctly override the
|
|
|
|
|
"match_archives" configuration option for the "transfer", "list", "rlist", and "info" actions.
|
|
|
|
|
* #668: Fix error when running the "prune" action with both "archive_name_format" and "prefix"
|
|
|
|
|
options set.
|
|
|
|
|
* #672: Selectively shallow merge certain mappings or sequences when including configuration files.
|
|
|
|
|
See the documentation for more information:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/make-per-application-backups/#shallow-merge
|
|
|
|
|
* #672: Selectively omit list values when including configuration files. See the documentation for
|
|
|
|
|
more information:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/make-per-application-backups/#list-merge
|
|
|
|
|
* #673: View the results of configuration file merging via "validate-borgmatic-config --show" flag.
|
|
|
|
|
See the documentation for more information:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/make-per-application-backups/#debugging-includes
|
|
|
|
|
* Add optional support for running end-to-end tests and building documentation with rootless Podman
|
|
|
|
|
instead of Docker.
|
|
|
|
|
|
|
|
|
|
1.7.11
|
|
|
|
|
* #479, #588: BREAKING: Automatically use the "archive_name_format" option to filter which archives
|
|
|
|
|
get used for borgmatic actions that operate on multiple archives. Override this behavior with the
|
|
|
|
|
new "match_archives" option in the storage section. This change is "breaking" in that it silently
|
|
|
|
|
changes which archives get considered for "rlist", "prune", "check", etc. See the documentation
|
|
|
|
|
for more information:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/make-per-application-backups/#archive-naming
|
|
|
|
|
* #479, #588: The "prefix" options have been deprecated in favor of the new "archive_name_format"
|
|
|
|
|
auto-matching behavior and the "match_archives" option.
|
|
|
|
|
* #658: Add "--log-file-format" flag for customizing the log message format. See the documentation
|
|
|
|
|
for more information:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/inspect-your-backups/#logging-to-file
|
|
|
|
|
* #662: Fix regression in which the "check_repositories" option failed to match repositories.
|
|
|
|
|
* #663: Fix regression in which the "transfer" action produced a traceback.
|
|
|
|
|
* Add spellchecking of source code during test runs.
|
|
|
|
|
|
|
|
|
|
1.7.10
|
|
|
|
|
* #396: When a database command errors, display and log the error message instead of swallowing it.
|
|
|
|
|
* #501: Optionally error if a source directory does not exist via "source_directories_must_exist"
|
|
|
|
|
option in borgmatic's location configuration.
|
|
|
|
|
* #576: Add support for "file://" paths within "repositories" option.
|
|
|
|
|
* #612: Define and use custom constants in borgmatic configuration files. See the documentation for
|
|
|
|
|
more information:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/make-per-application-backups/#constant-interpolation
|
|
|
|
|
* #618: Add support for BORG_FILES_CACHE_TTL environment variable via "borg_files_cache_ttl" option
|
|
|
|
|
in borgmatic's storage configuration.
|
|
|
|
|
* #623: Fix confusing message when an error occurs running actions for a configuration file.
|
|
|
|
|
* #635: Add optional repository labels so you can select a repository via "--repository yourlabel"
|
|
|
|
|
at the command-line. See the configuration reference for more information:
|
|
|
|
|
https://torsion.org/borgmatic/docs/reference/configuration/
|
|
|
|
|
* #649: Add documentation on backing up a database running in a container:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/backup-your-databases/#containers
|
|
|
|
|
* #655: Fix error when databases are configured and a source directory doesn't exist.
|
|
|
|
|
* Add code style plugins to enforce use of Python f-strings and prevent single-letter variables.
|
|
|
|
|
To join in the pedantry, refresh your test environment with "tox --recreate".
|
|
|
|
|
* Rename scripts/run-full-dev-tests to scripts/run-end-to-end-dev-tests and make it run end-to-end
|
|
|
|
|
tests only. Continue using tox to run unit and integration tests.
|
|
|
|
|
|
|
|
|
|
1.7.9
|
|
|
|
|
* #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
|
|
|
|
|
* #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"
|
|
|
|
|
action.
|
|
|
|
|
* 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
|
|
|
|
|
create.
|
|
|
|
|
* 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
|
|
|
|
|
* #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
|
|
|
|
|
* #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
|
|
|
|
|
* #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
|
|
|
|
|
* #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
|
|
|
|
|
* #357: Add "break-lock" action for removing any repository and cache locks leftover from Borg
|
|
|
|
|
aborting.
|
|
|
|
|
* #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:
|
|
|
|
|
https://github.com/borgbackup/borg/issues/6994
|
|
|
|
|
* #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:
|
|
|
|
|
https://borgbackup.readthedocs.io/en/2.0.0b3/changes.html#version-2-0-0b3-2022-10-02
|
|
|
|
|
* Fix for "borgmatic --archive latest" not finding the latest archive when a verbosity is set.
|
|
|
|
|
|
|
|
|
|
1.7.2
|
|
|
|
|
* #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
|
|
|
|
|
"~/.borgmatic".
|
|
|
|
|
|
|
|
|
|
1.7.1
|
|
|
|
|
* #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 Borg bug:
|
|
|
|
|
https://github.com/borgbackup/borg/issues/6994
|
|
|
|
|
|
|
|
|
|
1.7.0
|
|
|
|
|
* #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:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/make-per-application-backups/
|
|
|
|
|
* #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:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/upgrade/#upgrading-borg
|
|
|
|
|
* #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
|
|
|
|
|
files.
|
|
|
|
|
* #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"
|
|
|
|
|
option.
|
|
|
|
|
|
|
|
|
|
1.6.6
|
|
|
|
|
* #559: Update documentation about configuring multiple consistency checks or multiple databases.
|
|
|
|
|
* #560: Fix all database hooks to error when the requested database to restore isn't present in the
|
|
|
|
|
Borg archive.
|
|
|
|
|
* #561: Fix command-line "--override" flag to continue supporting old configuration file formats.
|
|
|
|
|
* #563: Fix traceback with "create" action and "--json" flag when a database hook is configured.
|
|
|
|
|
|
|
|
|
|
1.6.5
|
|
|
|
|
* #553: Fix logging to include the full traceback when Borg experiences an internal error, not just
|
|
|
|
|
the first few lines.
|
|
|
|
|
* #554: Fix all monitoring hooks to warn if the server returns an HTTP 4xx error. This can happen
|
|
|
|
|
with Healthchecks, for instance, when using an invalid ping URL.
|
|
|
|
|
* #555: Fix environment variable plumbing so options like "encryption_passphrase" and
|
|
|
|
|
"encryption_passcommand" in one configuration file aren't used for other configuration files.
|
|
|
|
|
|
|
|
|
|
1.6.4
|
|
|
|
|
* #546, #382: Keep your repository passphrases and database passwords outside of borgmatic's
|
|
|
|
|
configuration file with environment variable interpolation. See the documentation for more
|
|
|
|
|
information: https://torsion.org/borgmatic/docs/how-to/provide-your-passwords/
|
|
|
|
|
|
|
|
|
|
1.6.3
|
|
|
|
|
* #541: Add "borgmatic list --find" flag for searching for files across multiple archives, useful
|
|
|
|
|
for hunting down that file you accidentally deleted so you can extract it. See the documentation
|
|
|
|
|
for more information:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/inspect-your-backups/#searching-for-a-file
|
|
|
|
|
* #543: Add a monitoring hook for sending push notifications via ntfy. See the documentation for
|
|
|
|
|
more information: https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/#ntfy-hook
|
|
|
|
|
* Fix Bash completion script to no longer alter your shell's settings (complain about unset
|
|
|
|
|
variables or error on pipe failures).
|
|
|
|
|
* Deprecate "borgmatic list --successful" flag, as listing only non-checkpoint (successful)
|
|
|
|
|
archives is now the default in newer versions of Borg.
|
|
|
|
|
|
|
|
|
|
1.6.2
|
|
|
|
|
* #523: Reduce the default consistency check frequency and support configuring the frequency
|
|
|
|
|
independently for each check. Also add "borgmatic check --force" flag to ignore configured
|
|
|
|
|
frequencies. See the documentation for more information:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/deal-with-very-large-backups/#check-frequency
|
|
|
|
|
* #536: Fix generate-borgmatic-config to support more complex schema changes like the new
|
|
|
|
|
Healthchecks configuration options when the "--source" flag is used.
|
|
|
|
|
* #538: Add support for "borgmatic borg debug" command.
|
|
|
|
|
* #539: Add "generate-borgmatic-config --overwrite" flag to replace an existing destination file.
|
|
|
|
|
* Add Bash completion script so you can tab-complete the borgmatic command-line. See the
|
|
|
|
|
documentation for more information:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/set-up-backups/#shell-completion
|
|
|
|
|
|
|
|
|
|
1.6.1
|
|
|
|
|
* #294: Add Healthchecks monitoring hook "ping_body_limit" option to configure how many bytes of
|
|
|
|
|
logs to send to the Healthchecks server.
|
|
|
|
|
* #402: Remove the error when "archive_name_format" is specified but a retention prefix isn't.
|
|
|
|
|
* #420: Warn when an unsupported variable is used in a hook command.
|
|
|
|
|
* #439: Change connection failures for monitoring hooks (Healthchecks, Cronitor, PagerDuty, and
|
|
|
|
|
Cronhub) to be warnings instead of errors. This way, the monitoring system failing does not block
|
|
|
|
|
backups.
|
|
|
|
|
* #460: Add Healthchecks monitoring hook "send_logs" option to enable/disable sending borgmatic
|
|
|
|
|
logs to the Healthchecks server.
|
|
|
|
|
* #525: Add Healthchecks monitoring hook "states" option to only enable pinging for particular
|
|
|
|
|
monitoring states (start, finish, fail).
|
|
|
|
|
* #528: Improve the error message when a configuration override contains an invalid value.
|
|
|
|
|
* #531: BREAKING: When deep merging common configuration, merge colliding list values by appending
|
|
|
|
|
them. Previously, one list replaced the other.
|
|
|
|
|
* #532: When a configuration include is a relative path, load it from either the current working
|
|
|
|
|
directory or from the directory containing the file doing the including. Previously, only the
|
|
|
|
|
working directory was used.
|
|
|
|
|
* Add a randomized delay to the sample systemd timer to spread out the load on a server.
|
|
|
|
|
* Change the configuration format for borgmatic monitoring hooks (Healthchecks, Cronitor,
|
|
|
|
|
PagerDuty, and Cronhub) to specify the ping URL / integration key as a named option. The intent
|
|
|
|
|
is to support additional options (some in this release). This change is backwards-compatible.
|
|
|
|
|
* Add emojis to documentation table of contents to make it easier to find particular how-to and
|
|
|
|
|
reference guides at a glance.
|
|
|
|
|
|
|
|
|
|
1.6.0
|
|
|
|
|
* #381: BREAKING: Greatly simplify configuration file reuse by deep merging when including common
|
|
|
|
|
configuration. See the documentation for more information:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/make-per-application-backups/#include-merging
|
|
|
|
|
* #473: BREAKING: Instead of executing "before" command hooks before all borgmatic actions run (and
|
|
|
|
|
"after" hooks after), execute these hooks right before/after the corresponding action. E.g.,
|
|
|
|
|
"before_check" now runs immediately before the "check" action. This better supports running
|
|
|
|
|
timing-sensitive tasks like pausing containers. Side effect: before/after command hooks now run
|
|
|
|
|
once for each configured repository instead of once per configuration file. Additionally, the
|
|
|
|
|
"repositories" interpolated variable has been changed to "repository", containing the path to the
|
|
|
|
|
current repository for the hook. See the documentation for more information:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/add-preparation-and-cleanup-steps-to-backups/
|
|
|
|
|
* #513: Add mention of sudo's "secure_path" option to borgmatic installation documentation.
|
|
|
|
|
* #515: Fix "borgmatic borg key ..." to pass parameters to Borg in the correct order.
|
|
|
|
|
* #516: Fix handling of TERM signal to exit borgmatic, not just forward the signal to Borg.
|
|
|
|
|
* #517: Fix borgmatic exit code (so it's zero) when initial Borg calls fail but later retries
|
|
|
|
|
succeed.
|
|
|
|
|
* Change Healthchecks logs truncation size from 10k bytes to 100k bytes, corresponding to that
|
|
|
|
|
same change on Healthchecks.io.
|
|
|
|
|
|
|
|
|
|
1.5.24
|
|
|
|
|
* #431: Add "working_directory" option to support source directories with relative paths.
|
|
|
|
|
* #444: When loading a configuration file that is unreadable due to file permissions, warn instead
|
|
|
|
|
of erroring. This supports running borgmatic as a non-root user with configuration in ~/.config
|
|
|
|
|
even if there is an unreadable global configuration file in /etc.
|
|
|
|
|
* #469: Add "repositories" context to "before_*" and "after_*" command action hooks. See the
|
|
|
|
|
documentation for more information:
|
|
|
|
|
https://torsion.org/borgmatic/docs/how-to/add-preparation-and-cleanup-steps-to-backups/
|
|
|
|
|
* #486: Fix handling of "patterns_from" and "exclude_from" options to error instead of warning when
|
|
|
|
|
referencing unreadable files and "create" action is run.
|
|
|
|
|
* #507: Fix Borg usage error in the "compact" action when running "borgmatic --dry-run". Now, skip
|
|
|
|
|
"compact" entirely during a dry run.
|
|
|
|
|
|
|
|
|
|
1.5.23
|
|
|
|
|
* #394: Compact repository segments and free space with new "borgmatic compact" action. Borg 1.2+
|
|
|
|
|
only. Also run "compact" by default when no actions are specified, as "prune" in Borg 1.2 no
|
|
|
|
|
longer frees up space unless "compact" is run.
|
|
|
|
|
* #394: When using the "atime", "bsd_flags", "numeric_owner", or "remote_rate_limit" options,
|
|
|
|
|
tailor the flags passed to Borg depending on the Borg version.
|
|
|
|
|
* #480, #482: Fix traceback when a YAML validation error occurs.
|
|
|
|
|
|
|
|
|
|
1.5.22
|
|
|
|
|
* #288: Add database dump hook for MongoDB.
|
|
|
|
|
* #470: Move mysqldump options to the beginning of the command due to MySQL bug 30994.
|
|
|
|
|
* #471: When command-line configuration override produces a parse error, error cleanly instead of
|
|
|
|
|
tracebacking.
|
|
|
|
|
* #476: Fix unicode error when restoring particular MySQL databases.
|
|
|
|
|
* Drop support for Python 3.6, which has been end-of-lifed.
|
|
|
|
|
* Add support for Python 3.10.
|
|
|
|
|
|
|
|
|
|
1.5.21
|
|
|
|
|
* #28: Optionally retry failing backups via "retries" and "retry_wait" configuration options.
|
|
|
|
|
* #306: Add "list_options" MySQL configuration option for passing additional arguments to MySQL
|
|
|
|
|
list command.
|
|
|
|
|
* #459: Add support for old version (2.x) of jsonschema library.
|
|
|
|
|
|
|
|
|
|
1.5.20
|
|
|
|
|
* Re-release with correct version without dev0 tag.
|
|
|
|
|
|
|
|
|
|
1.5.19
|
|
|
|
|
* #387: Fix error when configured source directories are not present on the filesystem at the time
|
|
|
|
|
of backup. Now, Borg will complain, but the backup will still continue.
|
|
|
|
|
* #455: Mention changing borgmatic path in cron documentation.
|
|
|
|
|
* Update sample systemd service file with more granular read-only filesystem settings.
|
|
|
|
|
1.5.19.dev0
|
|
|
|
|
* Move Gitea and GitHub hosting from a personal namespace to an organization for better
|
|
|
|
|
collaboration with related projects.
|
|
|
|
|
* 1k ★s on GitHub!
|
|
|
|
@ -773,7 +31,7 @@
|
|
|
|
|
* #398: Clarify canonical home of borgmatic in documentation.
|
|
|
|
|
* #406: Clarify that spaces in path names should not be backslashed in path names.
|
|
|
|
|
* #423: Fix error handling to error loudly when Borg gets killed due to running out of memory!
|
|
|
|
|
* Fix build so as not to attempt to build and push documentation for a non-main branch.
|
|
|
|
|
* Fix build so as not to attempt to build and push documentation for a non-master branch.
|
|
|
|
|
* "Fix" build failure with Alpine Edge by switching from Edge to Alpine 3.13.
|
|
|
|
|
* Move #borgmatic IRC channel from Freenode to Libera Chat due to Freenode takeover drama.
|
|
|
|
|
IRC connection info: https://torsion.org/borgmatic/#issues
|
|
|
|
@ -836,7 +94,7 @@
|
|
|
|
|
configuration schema descriptions.
|
|
|
|
|
|
|
|
|
|
1.5.6
|
|
|
|
|
* #292: Allow before_backup and similar hooks to exit with a soft failure without altering the
|
|
|
|
|
* #292: Allow before_backup and similiar hooks to exit with a soft failure without altering the
|
|
|
|
|
monitoring status on Healthchecks or other providers. Support this by waiting to ping monitoring
|
|
|
|
|
services with a "start" status until after before_* hooks finish. Failures in before_* hooks
|
|
|
|
|
still trigger a monitoring "fail" status.
|
|
|
|
@ -905,7 +163,7 @@
|
|
|
|
|
* For "list" and "info" actions, show repository names even at verbosity 0.
|
|
|
|
|
|
|
|
|
|
1.4.22
|
|
|
|
|
* #276, #285: Disable colored output when "--json" flag is used, so as to produce valid JSON output.
|
|
|
|
|
* #276, #285: Disable colored output when "--json" flag is used, so as to produce valid JSON ouput.
|
|
|
|
|
* After a backup of a database dump in directory format, properly remove the dump directory.
|
|
|
|
|
* In "borgmatic --help", don't expand $HOME in listing of default "--config" paths.
|
|
|
|
|
|
|
|
|
@ -1277,7 +535,7 @@
|
|
|
|
|
* #77: Skip non-"*.yaml" config filenames in /etc/borgmatic.d/ so as not to parse backup files,
|
|
|
|
|
editor swap files, etc.
|
|
|
|
|
* #81: Document user-defined hooks run before/after backup, or on error.
|
|
|
|
|
* Add code style guidelines to the documentation.
|
|
|
|
|
* Add code style guidelines to the documention.
|
|
|
|
|
|
|
|
|
|
1.2.0
|
|
|
|
|
* #61: Support for Borg --list option via borgmatic command-line to list all archives.
|
|
|
|
|