Releases: borgmatic-collective/borgmatic
Releases · borgmatic-collective/borgmatic
borgmatic 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.
borgmatic 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.
borgmatic 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.
borgmatic 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.
borgmatic 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.
borgmatic 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.
borgmatic 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.
borgmatic 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.
borgmatic 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.
borgmatic 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.