• 1.8.3 cacb81f086

    witten released this 2023-09-30 20:37:10 +00:00 | -1 commits to main since this release

    • #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 to Grafana Loki. See the
      documentation for more information:
    • #753: When "archive_name_format" is not set, filter archives using the default archive name
    • #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:
  • 1.8.2 962daaa8b9

    witten released this 2023-08-14 19:54:38 +00:00 | 23 commits to main since this release

    • #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 3c8f6040e2

    witten released this 2023-08-04 04:56:26 +00:00 | 32 commits to main since this release

  • 1.8.0 0ad7b4f408

    witten released this 2023-07-19 05:50:09 +00:00 | 55 commits to main since this release

    • #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:
    • #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
    • #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
    • Fix an error when logging too-long command output during error handling. Now, long command output
      is truncated before logging.
  • 1.7.15 37a0a0c421

    witten released this 2023-06-25 05:23:01 +00:00 | 95 commits to main since this release

    • #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
    • #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
  • 1.7.14 e80f27f922

    witten released this 2023-06-04 05:14:21 +00:00 | 180 commits to main since this release

    • #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 79b094d035

    witten released this 2023-05-16 16:59:09 +00:00 | 225 commits to main since this release

    • #375: Restore particular PostgreSQL schemas from a database dump via "borgmatic restore --schema"
      flag. See the documentation for more information:
    • #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:
    • #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 613f6c602c

    witten released this 2023-04-13 22:12:19 +00:00 | 355 commits to main since this release

  • 1.7.11 00d1dea94e

    witten released this 2023-04-03 23:11:25 +00:00 | 373 commits to main since this release

    • #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:
    • #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:
    • #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 c5ffb76dfa

    witten released this 2023-03-27 22:56:49 +00:00 | 409 commits to main since this release

    • #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:
    • #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:
    • #649: Add documentation on backing up a database running in a container:
    • #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.