12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115 |
- 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.
- * Move Gitea and GitHub hosting from a personal namespace to an organization for better
- collaboration with related projects.
- * 1k ★s on GitHub!
- 1.5.18
- * #389: Fix "message too long" error when logging to rsyslog.
- * #440: Fix traceback that can occur when dumping a database.
- 1.5.17
- * #437: Fix error when configuration file contains "umask" option.
- * Remove test dependency on vim and /dev/urandom.
- 1.5.16
- * #379: Suppress console output in sample crontab and systemd service files.
- * #407: Fix syslog logging on FreeBSD.
- * #430: Fix hang when restoring a PostgreSQL "tar" format database dump.
- * Better error messages! Switch the library used for validating configuration files (from pykwalify
- to jsonschema).
- * Link borgmatic Ansible role from installation documentation:
- https://torsion.org/borgmatic/docs/how-to/set-up-backups/#other-ways-to-install
- 1.5.15
- * #419: Document use case of running backups conditionally based on laptop power level:
- https://torsion.org/borgmatic/docs/how-to/backup-to-a-removable-drive-or-an-intermittent-server/
- * #425: Run arbitrary Borg commands with new "borgmatic borg" action. See the documentation for
- more information: https://torsion.org/borgmatic/docs/how-to/run-arbitrary-borg-commands/
- 1.5.14
- * #390: Add link to Hetzner storage offering from the documentation.
- * #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 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
- 1.5.13
- * #373: Document that passphrase is used for Borg keyfile encryption, not just repokey encryption.
- * #404: Add support for ruamel.yaml 0.17.x YAML parsing library.
- * Update systemd service example to return a permission error when a system call isn't permitted
- (instead of terminating borgmatic outright).
- * Drop support for Python 3.5, which has been end-of-lifed.
- * Add support for Python 3.9.
- * Update versions of test dependencies (test_requirements.txt and test containers).
- * Only support black code formatter on Python 3.8+. New black dependencies make installation
- difficult on older versions of Python.
- * Replace "improve this documentation" form with link to support and ticket tracker.
- 1.5.12
- * Fix for previous release with incorrect version suffix in setup.py. No other changes.
- 1.5.11
- * #341: Add "temporary_directory" option for changing Borg's temporary directory.
- * #352: Lock down systemd security settings in sample systemd service file.
- * #355: Fix traceback when a database hook value is null in a configuration file.
- * #361: Merge override values when specifying the "--override" flag multiple times. The previous
- behavior was to take the value of the last "--override" flag only.
- * #367: Fix traceback when upgrading old INI-style configuration with upgrade-borgmatic-config.
- * #368: Fix signal forwarding from borgmatic to Borg resulting in recursion traceback.
- * #369: Document support for Borg placeholders in repository names.
- 1.5.10
- * #347: Add hooks that run for the "extract" action: "before_extract" and "after_extract".
- * #350: Fix traceback when a configuration directory is non-readable due to directory permissions.
- * Add documentation navigation links on left side of all documentation pages.
- * Clarify documentation on configuration overrides, specifically the portion about list syntax:
- http://torsion.org/borgmatic/docs/how-to/make-per-application-backups/#configuration-overrides
- * Clarify documentation overview of monitoring options:
- http://torsion.org/borgmatic/docs/how-to/monitor-your-backups/
- 1.5.9
- * #300: Add "borgmatic export-tar" action to export an archive to a tar-formatted file or stream.
- * #339: Fix for intermittent timing-related test failure of logging function.
- * Clarify database documentation about excluding named pipes and character/block devices to prevent
- hangs.
- * Add documentation on how to make backups redundant with multiple repositories:
- https://torsion.org/borgmatic/docs/how-to/make-backups-redundant/
- 1.5.8
- * #336: Fix for traceback when running Cronitor, Cronhub, and PagerDuty monitor hooks.
- 1.5.7
- * #327: Fix broken pass-through of BORG_* environment variables to Borg.
- * #328: Fix duplicate logging to Healthchecks and send "after_*" hooks output to Healthchecks.
- * #331: Add SSL support to PostgreSQL database configuration.
- * #333: Fix for potential data loss (data not getting backed up) when borgmatic omitted configured
- source directories in certain situations. Specifically, this occurred when two source directories
- on different filesystems were related by parentage (e.g. "/foo" and "/foo/bar/baz") and the
- one_file_system option was enabled.
- * Update documentation code fragments theme to better match the rest of the page.
- * Improve configuration reference documentation readability via more aggressive word-wrapping in
- configuration schema descriptions.
- 1.5.6
- * #292: Allow before_backup and similar 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.
- * #316: Fix hang when a stale database dump named pipe from an aborted borgmatic run remains on
- disk.
- * #323: Fix for certain configuration options like ssh_command impacting Borg invocations for
- separate configuration files.
- * #324: Add "borgmatic extract --strip-components" flag to remove leading path components when
- extracting an archive.
- * Tweak comment indentation in generated configuration file for clarity.
- * Link to Borgmacator GNOME AppIndicator from monitoring documentation.
- 1.5.5
- * #314: Fix regression in support for PostgreSQL's "directory" dump format. Unlike other dump
- formats, the "directory" dump format does not stream directly to/from Borg.
- * #315: Fix enabled database hooks to implicitly set one_file_system configuration option to true.
- This prevents Borg from reading devices like /dev/zero and hanging.
- * #316: Fix hang when streaming a database dump to Borg with implicit duplicate source directories
- by deduplicating them first.
- * #319: Fix error message when there are no MySQL databases to dump for "all" databases.
- * Improve documentation around the installation process. Specifically, making borgmatic commands
- runnable via the system PATH and offering a global install option.
- 1.5.4
- * #310: Fix legitimate database dump command errors (exit code 1) not being treated as errors by
- borgmatic.
- * For database dumps, replace the named pipe on every borgmatic run. This prevent hangs on stale
- pipes left over from previous runs.
- * Fix error handling to handle more edge cases when executing commands.
- 1.5.3
- * #258: Stream database dumps and restores directly to/from Borg without using any additional
- filesystem space. This feature is automatic, and works even on restores from archives made with
- previous versions of borgmatic.
- * #293: Documentation on macOS launchd permissions issues with work-around for Full Disk Access.
- * Remove "borgmatic restore --progress" flag, as it now conflicts with streaming database restores.
- 1.5.2
- * #301: Fix MySQL restore error on "all" database dump by excluding system tables.
- * Fix PostgreSQL restore error on "all" database dump by using "psql" for the restore instead of
- "pg_restore".
- 1.5.1
- * #289: Tired of looking up the latest successful archive name in order to pass it to borgmatic
- actions? Me too. Now you can specify "--archive latest" to all actions that accept an archive
- flag.
- * #290: Fix the "--stats" and "--files" flags so that they yield output at verbosity 0.
- * Reduce the default verbosity of borgmatic logs sent to Healthchecks monitoring hook. Now, it's
- warnings and errors only. You can increase the verbosity via the "--monitoring-verbosity" flag.
- * Add security policy documentation in SECURITY.md.
- 1.5.0
- * #245: Monitor backups with PagerDuty hook integration. See the documentation for more
- information: https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/#pagerduty-hook
- * #255: Add per-action hooks: "before_prune", "after_prune", "before_check", and "after_check".
- * #274: Add ~/.config/borgmatic.d as another configuration directory default.
- * #277: Customize Healthchecks log level via borgmatic "--monitoring-verbosity" flag.
- * #280: Change "exclude_if_present" option to support multiple filenames that indicate a directory
- should be excluded from backups, rather than just a single filename.
- * #284: Backup to a removable drive or intermittent server via "soft failure" feature. See the
- documentation for more information:
- https://torsion.org/borgmatic/docs/how-to/backup-to-a-removable-drive-or-an-intermittent-server/
- * #287: View consistency check progress via "--progress" flag for "check" action.
- * For "create" and "prune" actions, no longer list files or show detailed stats at any verbosities
- by default. You can opt back in with "--files" or "--stats" flags.
- * 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.
- * 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.
- 1.4.21
- * #268: Override particular configuration options from the command-line via "--override" flag. See
- the documentation for more information:
- https://torsion.org/borgmatic/docs/how-to/make-per-application-backups/#configuration-overrides
- * #270: Only trigger "on_error" hooks and monitoring failures for "prune", "create", and "check"
- actions, and not for other actions.
- * When pruning with verbosity level 1, list pruned and kept archives. Previously, this information
- was only shown at verbosity level 2.
- 1.4.20
- * Fix repository probing during "borgmatic init" to respect verbosity flag and remote_path option.
- * #249: Update Healthchecks/Cronitor/Cronhub monitoring integrations to fire for "check" and
- "prune" actions, not just "create".
- 1.4.19
- * #259: Optionally change the internal database dump path via "borgmatic_source_directory" option
- in location configuration section.
- * #271: Support piping "borgmatic list" output to grep by logging certain log levels to console
- stdout and others to stderr.
- * Retain colored output when piping or redirecting in an interactive terminal.
- * Add end-to-end tests for database dump and restore. These are run on developer machines with
- Docker Compose for approximate parity with continuous integration tests.
- 1.4.18
- * Fix "--repository" flag to accept relative paths.
- * Fix "borgmatic umount" so it only runs Borg once instead of once per repository / configuration
- file.
- * #253: Mount whole repositories via "borgmatic mount" without any "--archive" flag.
- * #269: Filter listed paths via "borgmatic list --path" flag.
- 1.4.17
- * #235: Pass extra options directly to particular Borg commands, handy for Borg options that
- borgmatic does not yet support natively. Use "extra_borg_options" in the storage configuration
- section.
- * #266: Attempt to repair any inconsistencies found during a consistency check via
- "borgmatic check --repair" flag.
- 1.4.16
- * #256: Fix for "before_backup" hook not triggering an error when the command contains "borg" and
- has an exit code of 1.
- * #257: Fix for garbled Borg file listing when using "borgmatic create --progress" with
- verbosity level 1 or 2.
- * #260: Fix for missing Healthchecks monitoring payload or HTTP 500 due to incorrect unicode
- encoding.
- 1.4.15
- * Fix for database dump removal incorrectly skipping some database dumps.
- * #123: Support for mounting an archive as a FUSE filesystem via "borgmatic mount" action, and
- unmounting via "borgmatic umount". See the documentation for more information:
- https://torsion.org/borgmatic/docs/how-to/extract-a-backup/#mount-a-filesystem
- 1.4.14
- * Show summary log errors regardless of verbosity level, and log the "summary:" header with a log
- level based on the contained summary logs.
- 1.4.13
- * Show full error logs at "--verbosity 0" so you can see command output without upping the
- verbosity level.
- 1.4.12
- * #247: With "borgmatic check", consider Borg warnings as errors.
- * Dial back the display of inline error logs a bit, so failed command output doesn't appear
- multiple times in the logs (well, except for the summary).
- 1.4.11
- * #241: When using the Healthchecks monitoring hook, include borgmatic logs in the payloads for
- completion and failure pings.
- * With --verbosity level 1 or 2, show error logs both inline when they occur and in the summary
- logs at the bottom. With lower verbosity levels, suppress the summary and show error logs when
- they occur.
- 1.4.10
- * #246: Fix for "borgmatic restore" showing success and incorrectly extracting archive files, even
- when no databases are configured to restore. As this can overwrite files from the archive and
- lead to data loss, please upgrade to get the fix before using "borgmatic restore".
- * Reopen the file given by "--log-file" flag if an external program rotates the log file while
- borgmatic is running.
- 1.4.9
- * #228: Database dump hooks for MySQL/MariaDB, so you can easily dump your databases before backups
- run.
- * #243: Fix repository does not exist error with "borgmatic extract" when repository is remote.
- 1.4.8
- * Monitor backups with Cronhub hook integration. See the documentation for more information:
- https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/#cronhub-hook
- * Fix Healthchecks/Cronitor hooks to skip actions when the borgmatic "--dry-run" flag is used.
- 1.4.7
- * #238: In documentation, clarify when Healthchecks/Cronitor hooks fire in relation to other hooks.
- * #239: Upgrade your borgmatic configuration to get new options and comments via
- "generate-borgmatic-config --source". See the documentation for more information:
- https://torsion.org/borgmatic/docs/how-to/upgrade/#upgrading-your-configuration
- 1.4.6
- * Verbosity level "-1" for even quieter output: Errors only (#236).
- 1.4.5
- * Log to file instead of syslog via command-line "--log-file" flag (#233).
- 1.4.4
- * #234: Support for Borg --keep-exclude-tags and --exclude-nodump options.
- 1.4.3
- * Monitor backups with Cronitor hook integration. See the documentation for more information:
- https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/#cronitor-hook
- 1.4.2
- * Extract files to a particular directory via "borgmatic extract --destination" flag.
- * Rename "borgmatic extract --restore-path" flag to "--path" to reduce confusion with the separate
- "borgmatic restore" action. Any uses of "--restore-path" will continue working.
- 1.4.1
- * #229: Restore backed up PostgreSQL databases via "borgmatic restore" action. See the
- documentation for more information:
- https://torsion.org/borgmatic/docs/how-to/backup-your-databases/
- * Documentation on how to develop borgmatic's documentation:
- https://torsion.org/borgmatic/docs/how-to/develop-on-borgmatic/#documentation-development
- 1.4.0
- * #225: Database dump hooks for PostgreSQL, so you can easily dump your databases before backups
- run.
- * #230: Rename "borgmatic list --pattern-from" flag to "--patterns-from" to match Borg.
- 1.3.26
- * #224: Fix "borgmatic list --successful" with a slightly better heuristic for listing successful
- (non-checkpoint) archives.
- 1.3.25
- * #223: Dead man's switch to detect when backups start failing silently, implemented via
- healthchecks.io hook integration. See the documentation for more information:
- https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/#healthchecks-hook
- * Documentation on monitoring and alerting options for borgmatic backups:
- https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/
- * Automatically rewrite links when developing on documentation locally.
- 1.3.24
- * #86: Add "borgmatic list --successful" flag to only list successful (non-checkpoint) archives.
- * Add a suggestion form to all documentation pages, so users can submit ideas for improving the
- documentation.
- * Update documentation link to community Arch Linux borgmatic package.
- 1.3.23
- * #174: More detailed error alerting via runtime context available in "on_error" hook.
- 1.3.22
- * #144: When backups to one of several repositories fails, keep backing up to the other
- repositories and report errors afterwards.
- 1.3.21
- * #192: User-defined hooks for global setup or cleanup that run before/after all actions. See the
- documentation for more information:
- https://torsion.org/borgmatic/docs/how-to/add-preparation-and-cleanup-steps-to-backups/
- 1.3.20
- * #205: More robust sample systemd service: boot delay, network dependency, lowered CPU/IO
- priority, etc.
- * #221: Fix "borgmatic create --progress" output so that it updates on the console in real-time.
- 1.3.19
- * #219: Fix visibility of "borgmatic prune --stats" output.
- 1.3.18
- * #220: Fix regression of argument parsing for default actions.
- 1.3.17
- * #217: Fix error with "borgmatic check --only" command-line flag with "extract" consistency check.
- 1.3.16
- * #210: Support for Borg check --verify-data flag via borgmatic "data" consistency check.
- * #210: Override configured consistency checks via "borgmatic check --only" command-line flag.
- * When generating sample configuration with generate-borgmatic-config, add a space after each "#"
- comment indicator.
- 1.3.15
- * #208: Fix for traceback when the "checks" option has an empty value.
- * #209: Bypass Borg error about a moved repository via "relocated_repo_access_is_ok" option in
- borgmatic storage configuration section.
- * #213: Reorder arguments passed to Borg to fix duplicate directories when using Borg patterns.
- * #214: Fix for hook erroring with exit code 1 not being interpreted as an error.
- 1.3.14
- * #204: Do not treat Borg warnings (exit code 1) as failures.
- * When validating configuration files, require strings instead of allowing any scalar type.
- 1.3.13
- * #199: Add note to documentation about using spaces instead of tabs for indentation, as YAML does
- not allow tabs.
- * #203: Fix compatibility with ruamel.yaml 0.16.x.
- * If a "prefix" option in borgmatic's configuration has an empty value (blank or ""), then disable
- default prefix.
- 1.3.12
- * Only log to syslog when run from a non-interactive console (e.g. a cron job).
- * Remove unicode byte order mark from syslog output so it doesn't show up as a literal in rsyslog
- output. See discussion on #197.
- 1.3.11
- * #193: Pass through several "borg list" and "borg info" flags like --short, --format, --sort-by,
- --first, --last, etc. via borgmatic command-line flags.
- * Add borgmatic info --repository and --archive command-line flags to display info for individual
- repositories or archives.
- * Support for Borg --noatime, --noctime, and --nobirthtime flags via corresponding options in
- borgmatic configuration location section.
- 1.3.10
- * #198: Fix for Borg create error output not showing up at borgmatic verbosity level zero.
- 1.3.9
- * #195: Switch to command-line actions as more traditional sub-commands, e.g. "borgmatic create",
- "borgmatic prune", etc. However, the classic dashed options like "--create" still work!
- 1.3.8
- * #191: Disable console color via "color" option in borgmatic configuration output section.
- 1.3.7
- * #196: Fix for unclear error message for invalid YAML merge include.
- * #197: Don't color syslog output.
- * Change default syslog verbosity to show errors only.
- 1.3.6
- * #53: Log to syslog in addition to existing console logging. Add --syslog-verbosity flag to
- customize the log level. See the documentation for more information:
- https://torsion.org/borgmatic/docs/how-to/inspect-your-backups/
- * #178: Look for .yml configuration file extension in addition to .yaml.
- * #189: Set umask used when executing hooks via "umask" option in borgmatic hooks section.
- * Remove Python cache files before each Tox run.
- * Add #borgmatic Freenode IRC channel to documentation.
- * Add Borg/borgmatic hosting providers section to documentation.
- * Add files for building documentation into a Docker image for web serving.
- * Upgrade project build server from Drone 0.8 to 1.1.
- * Build borgmatic documentation during continuous integration.
- * We're nearly at 500 ★s on GitHub. We can do this!
- 1.3.5
- * #153: Support for various Borg directory environment variables (BORG_CONFIG_DIR, BORG_CACHE_DIR,
- etc.) via options in borgmatic's storage configuration.
- * #177: Fix for regression with missing verbose log entries.
- 1.3.4
- * Part of #125: Color borgmatic (but not Borg) output when using an interactive terminal.
- * #166: Run tests for all installed versions of Python.
- * #168: Update README with continuous integration badge.
- * #169: Automatically sort Python imports in code.
- * Document installing borgmatic with pip install --user instead of a system Python install.
- * Get more reproducible builds by pinning the versions of pip and tox used to run tests.
- * Factor out build/test configuration from tox.ini file.
- 1.3.3
- * Add validate-borgmatic-config command, useful for validating borgmatic config generated by
- configuration management or even edited by hand.
- 1.3.2
- * #160: Fix for hooks executing when using --dry-run. Now hooks are skipped during a dry run.
- 1.3.1
- * #155: Fix for invalid JSON output when using multiple borgmatic configuration files.
- * #157: Fix for seemingly random filename ordering when running through a directory of
- configuration files.
- * Fix for empty JSON output when using --create --json.
- * Now capturing Borg output only when --json flag is used. Previously, borgmatic delayed Borg
- output even without the --json flag.
- 1.3.0
- * #148: Configuration file includes and merging via "!include" tag to support reuse of common
- options across configuration files.
- 1.2.18
- * #147: Support for Borg create/extract --numeric-owner flag via "numeric_owner" option in
- borgmatic's location section.
- 1.2.17
- * #140: List the files within an archive via --list --archive option.
- 1.2.16
- * #119: Include a sample borgmatic configuration file in the documentation.
- * #123: Support for Borg archive restoration via borgmatic --extract command-line flag.
- * Refactor documentation into multiple separate pages for clarity and findability.
- * Organize options within command-line help into logical groups.
- * Exclude tests from distribution packages.
- 1.2.15
- * #127: Remove date echo from schema example, as it's not a substitute for real logging.
- * #132: Leave exclude_patterns glob expansion to Borg, since doing it in borgmatic leads to
- confusing behavior.
- * #136: Handle and format validation errors raised during argument parsing.
- * #138: Allow use of --stats flag when --create or --prune flags are implied.
- 1.2.14
- * #103: When generating sample configuration with generate-borgmatic-config, document the defaults
- for each option.
- * #116: When running multiple configuration files, attempt all configuration files even if one of
- them errors. Log a summary of results at the end.
- * Add borgmatic --version command-line flag to get the current installed version number.
- 1.2.13
- * #100: Support for --stats command-line flag independent of --verbosity.
- * #117: With borgmatic --init command-line flag, proceed without erroring if a repository already
- exists.
- 1.2.12
- * #110: Support for Borg repository initialization via borgmatic --init command-line flag.
- * #111: Update Borg create --filter values so a dry run lists files to back up.
- * #113: Update README with link to a new/forked Docker image.
- * Prevent deprecated --excludes command-line option from being used.
- * Refactor README a bit to flow better for first-time users.
- * Update README with a few additional borgmatic packages (Debian and Ubuntu).
- 1.2.11
- * #108: Support for Borg create --progress via borgmatic command-line flag.
- 1.2.10
- * #105: Support for Borg --chunker-params create option via "chunker_params" option in borgmatic's
- storage section.
- 1.2.9
- * #102: Fix for syntax error that occurred in Python 3.5 and below.
- * Make automated tests support running in Python 3.5.
- 1.2.8
- * #73: Enable consistency checks for only certain repositories via "check_repositories" option in
- borgmatic's consistency configuration. Handy for large repositories that take forever to check.
- * Include link to issue tracker within various command output.
- * Run continuous integration tests on a matrix of Python and Borg versions.
- 1.2.7
- * #98: Support for Borg --keep-secondly prune option.
- * Use Black code formatter and Flake8 code checker as part of running automated tests.
- * Add an end-to-end automated test that actually integrates with Borg.
- * Set up continuous integration for borgmatic automated tests on projects.evoworx.org.
- 1.2.6
- * Fix generated configuration to also include a "keep_daily" value so pruning works out of the
- box.
- 1.2.5
- * #57: When generating sample configuration with generate-borgmatic-config, comment out all
- optional configuration so as to streamline the initial configuration process.
- 1.2.4
- * Fix for archive checking traceback due to parameter mismatch.
- 1.2.3
- * #64, #90, #92: Rewrite of logging system. Now verbosity flags passed to Borg are derived from
- borgmatic's log level. Note that the output of borgmatic might slightly change.
- * Part of #80: Support for Borg create --read-special via "read_special" option in borgmatic's
- location configuration.
- * #87: Support for Borg create --checkpoint-interval via "checkpoint_interval" option in
- borgmatic's storage configuration.
- * #88: Fix declared pykwalify compatibility version range in setup.py to prevent use of ancient
- versions of pykwalify with large version numbers.
- * #89: Pass --show-rc option to Borg when at highest verbosity level.
- * #94: Support for Borg --json option via borgmatic command-line to --create archives.
- 1.2.2
- * #85: Fix compatibility issue between pykwalify and ruamel.yaml 0.15.52, which manifested in
- borgmatic as a pykwalify RuleError.
- 1.2.1
- * Skip before/after backup hooks when only doing --prune, --check, --list, and/or --info.
- * #71: Support for XDG_CONFIG_HOME environment variable for specifying alternate user ~/.config/
- path.
- * #74, #83: Support for Borg --json option via borgmatic command-line to --list archives or show
- archive --info in JSON format, ideal for programmatic consumption.
- * #38, #76: Upgrade ruamel.yaml compatibility version range and fix support for Python 3.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.
- 1.2.0
- * #61: Support for Borg --list option via borgmatic command-line to list all archives.
- * #61: Support for Borg --info option via borgmatic command-line to display summary information.
- * #62: Update README to mention other ways of installing borgmatic.
- * Support for Borg --prefix option for consistency checks via "prefix" option in borgmatic's
- consistency configuration.
- * Add introductory screencast link to documentation.
- * #59: Ignore "check_last" and consistency "prefix" when "archives" not in consistency checks.
- * #60: Add "Persistent" flag to systemd timer example.
- * #63: Support for Borg --nobsdflags option to skip recording bsdflags (e.g. NODUMP, IMMUTABLE) in
- archive.
- * #69: Support for Borg prune --umask option using value of existing "umask" option in borgmatic's
- storage configuration.
- * Update tox.ini to only assume Python 3.x instead of Python 3.4 specifically.
- * Add ~/.config/borgmatic/config.yaml to default configuration path probing.
- * Document how to develop on and contribute to borgmatic.
- 1.1.15
- * Support for Borg BORG_PASSCOMMAND environment variable to read a password from an external file.
- * Fix for Borg create error when using borgmatic's --dry-run and --verbosity options together.
- Work-around for behavior introduced in Borg 1.1.3: https://github.com/borgbackup/borg/issues/3298
- * #55: Fix for missing tags/releases on Gitea and GitHub project hosting.
- * #56: Support for Borg --lock-wait option for the maximum wait for a repository/cache lock.
- * #58: Support for using tilde in exclude_patterns to reference home directory.
- 1.1.14
- * #49: Fix for typo in --patterns-from option.
- * #47: Support for Borg --dry-run option via borgmatic command-line.
- 1.1.13
- * #54: Fix for incorrect consistency check flags passed to Borg when all three checks ("repository",
- "archives", and "extract") are specified in borgmatic configuration.
- * #48: Add "local_path" to configuration for specifying an alternative Borg executable path.
- * #49: Support for Borg experimental --patterns-from and --patterns options for specifying mixed
- includes/excludes.
- * Moved issue tracker from Taiga to integrated Gitea tracker at
- https://projects.torsion.org/borgmatic-collective/borgmatic/issues
- 1.1.12
- * #46: Declare dependency on pykwalify 1.6 or above, as older versions yield "Unknown key: version"
- rule errors.
- * Support for Borg --keep-minutely prune option.
- 1.1.11
- * #26: Add "ssh_command" to configuration for specifying a custom SSH command or options.
- * Fix for incorrect /etc/borgmatic.d/ configuration path probing on macOS. This problem manifested
- as an error on startup: "[Errno 2] No such file or directory: '/etc/borgmatic.d'".
- 1.1.10
- * Pass several Unix signals through to child processes like Borg. This means that Borg now properly
- shuts down if borgmatic is terminated (e.g. due to a system suspend).
- * #30: Support for using tilde in repository paths to reference home directory.
- * #43: Support for Borg --files-cache option for setting the files cache operation mode.
- * #45: Support for Borg --remote-ratelimit option for limiting upload rate.
- * Log invoked Borg commands when at highest verbosity level.
- 1.1.9
- * #17, #39: Support for user-defined hooks before/after backup, or on error.
- * #34: Improve clarity of logging spew at high verbosity levels.
- * #30: Support for using tilde in source directory path to reference home directory.
- * Require "prefix" in retention section when "archive_name_format" is set. This is to avoid
- accidental pruning of archives with a different archive name format. For similar reasons, default
- "prefix" to "{hostname}-" if not specified.
- * Convert main source repository from Mercurial to Git.
- * Update dead links to Borg documentation.
- 1.1.8
- * #40: Fix to make /etc/borgmatic/config.yaml optional rather than required when using the default
- config paths.
- 1.1.7
- * #29: Add "archive_name_format" to configuration for customizing archive names.
- * Fix for traceback when "exclude_from" value is empty in configuration file.
- * When pruning, make highest verbosity level list archives kept and pruned.
- * Clarification of Python 3 pip usage in documentation.
- 1.1.6
- * #13, #36: Support for Borg --exclude-from, --exclude-caches, and --exclude-if-present options.
- 1.1.5
- * #35: New "extract" consistency check that performs a dry-run extraction of the most recent
- archive.
- 1.1.4
- * #18: Added command-line flags for performing a borgmatic run with only pruning, creating, or
- checking enabled. This supports use cases like running consistency checks from a different cron
- job with a different frequency, or running pruning with a different verbosity level.
- 1.1.3
- * #15: Support for running multiple config files in /etc/borgmatic.d/ from a single borgmatic run.
- * Fix for generate-borgmatic-config writing config with invalid one_file_system value.
- 1.1.2
- * #33: Fix for passing check_last as integer to subprocess when calling Borg.
- 1.1.1
- * Part of #33: Fix for upgrade-borgmatic-config converting check_last option as a string instead of
- an integer.
- * Fix for upgrade-borgmatic-config erroring when consistency checks option is not present.
- 1.1.0
- * Switched config file format to YAML. Run upgrade-borgmatic-config to upgrade.
- * Added generate-borgmatic-config command for initial config creation.
- * Dropped Python 2 support. Now Python 3 only.
- * #19: Fix for README mention of sample files not included in package.
- * #23: Sample files for triggering borgmatic from a systemd timer.
- * Support for backing up to multiple repositories.
- * To free up space, now pruning backups prior to creating a new backup.
- * Enabled test coverage output during tox runs.
- * Added logo.
- 1.0.3
- * #22: Fix for verbosity flag not actually causing verbose output.
- 1.0.2
- * #21: Fix for traceback when remote_path option is missing.
- 1.0.1
- * #20: Support for Borg's --remote-path option to use an alternate Borg
- executable. See sample/config.
- 1.0.0
- * Attic is no longer supported, as there hasn't been any recent development on
- it. Dropping Attic support will allow faster iteration on Borg-specific
- features. If you're still using Attic, this is a good time to switch to Borg!
- * Project renamed from atticmatic to borgmatic. See the borgmatic README for
- information on upgrading.
- 0.1.8
- * Fix for handling of spaces in source_directories which resulted in backup up everything.
- * Fix for broken links to Borg documentation.
- * At verbosity zero, suppressing Borg check stderr spew about "Checking segments".
- * Support for Borg --one-file-system.
- * Support for Borg create --umask.
- * Support for file globs in source_directories.
- 0.1.7
- * #12: Fixed parsing of punctuation in configuration file.
- * Better error message when configuration file is missing.
- 0.1.6
- * #10: New configuration option for the encryption passphrase.
- * #11: Support for Borg's new archive compression feature.
- 0.1.5
- * Changes to support release on PyPI. Now pip installable by name!
- 0.1.4
- * Adding test that setup.py version matches release version.
- 0.1.3
- * #2: Add support for "borg check --last N" to Borg backend.
- 0.1.2
- * As a convenience to new users, allow a missing default excludes file.
- * New issue tracker, linked from documentation.
- 0.1.1
- * Adding borgmatic cron example, and updating documentation to refer to it.
- 0.1.0
- * New "borgmatic" command to support Borg backup software, a fork of Attic.
- 0.0.7
- * Flag for multiple levels of verbosity: some, and lots.
- * Improved mocking of Python builtins in unit tests.
- 0.0.6
- * New configuration section for customizing which Attic consistency checks run, if any.
- 0.0.5
- * Fixed regression with --verbose output being buffered. This means dropping the helpful error
- message introduced in 0.0.4.
- 0.0.4
- * Now using tox to run tests against multiple versions of Python in one go.
- * Helpful error message about how to create a repository if one is missing.
- * Troubleshooting section with steps to deal with broken pipes.
- * Nosetests config file (setup.cfg) with defaults.
- 0.0.3
- * After pruning, run attic's consistency checks on all archives.
- * Integration tests for argument parsing.
- * Documentation updates about repository encryption.
- 0.0.2
- * Configuration support for additional attic prune flags: keep_within, keep_hourly, keep_yearly,
- and prefix.
- 0.0.1
- * Initial release.
|