| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637 | 
							- 2.0.0.dev0
 
-  * #262: Add a "default_actions" option that supports disabling default actions when borgmatic is
 
-    run without any command-line arguments.
 
-  * #303: Deprecate the "--override" flag in favor of direct command-line flags for every borgmatic
 
-    configuration option. See the documentation for more information:
 
-    https://torsion.org/borgmatic/docs/how-to/make-per-application-backups/#configuration-overrides
 
-  * #303: Add configuration options that serve as defaults for some (but not all) command-line
 
-    action flags. For example, each entry in "repositories:" now has an "encryption" option that
 
-    applies to the "repo-create" action, serving as a default for the "--encryption" flag. See the
 
-    documentation for more information: https://torsion.org/borgmatic/docs/reference/configuration/
 
-  * #345: Add a "key import" action to import a repository key from backup.
 
-  * #422: Add home directory expansion to file-based and KeePassXC credential hooks.
 
-  * #610: Add a "recreate" action for recreating archives, for instance for retroactively excluding
 
-    particular files from existing archives.
 
-  * #790, #821: Deprecate all "before_*", "after_*" and "on_error" command hooks in favor of more
 
-    flexible "commands:". See the documentation for more information:
 
-    https://torsion.org/borgmatic/docs/how-to/add-preparation-and-cleanup-steps-to-backups/
 
-  * #790: BREAKING: For both new and deprecated command hooks, run a configured "after" hook even if
 
-    an error occurs first. This allows you to perform cleanup steps that correspond to "before"
 
-    preparation commands—even when something goes wrong.
 
-  * #790: BREAKING: Run all command hooks (both new and deprecated) respecting the
 
-    "working_directory" option if configured, meaning that hook commands are run in that directory.
 
-  * #836: Add a custom command option for the SQLite hook.
 
-  * #837: Add custom command options for the MongoDB hook.
 
-  * #1010: When using Borg 2, don't pass the "--stats" flag to "borg prune".
 
-  * #1020: Document a database use case involving a temporary database client container:
 
-    https://torsion.org/borgmatic/docs/how-to/backup-your-databases/#containers
 
-  * #1037: Fix an error with the "extract" action when both a remote repository and a
 
-    "working_directory" are used.
 
-  * #1044: Fix an error in the systemd credential hook when the credential name contains a "."
 
-    character.
 
-  * #1048: Fix a "no such file or directory" error in ZFS, Btrfs, and LVM hooks with nested
 
-    directories that reside on separate devices/filesystems.
 
-  * #1050: Fix a failure in the "spot" check when the archive contains a symlink.
 
- 1.9.14
 
-  * #409: With the PagerDuty monitoring hook, send borgmatic logs to PagerDuty so they show up in the
 
-    incident UI. See the documentation for more information:
 
-    https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/#pagerduty-hook
 
-  * #936: Clarify Zabbix monitoring hook documentation about creating items:
 
-    https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/#zabbix-hook
 
-  * #1017: Fix a regression in which some MariaDB/MySQL passwords were not escaped correctly.
 
-  * #1021: Fix a regression in which the "exclude_patterns" option didn't expand "~" (the user's
 
-    home directory). This fix means that all "patterns" and "patterns_from" also now expand "~".
 
-  * #1023: Fix an error in the Btrfs hook when attempting to snapshot a read-only subvolume. Now,
 
-    read-only subvolumes are ignored since Btrfs can't actually snapshot them.
 
- 1.9.13
 
-  * #975: Add a "compression" option to the PostgreSQL database hook.
 
-  * #1001: Fix a ZFS error during snapshot cleanup.
 
-  * #1003: In the Zabbix monitoring hook, support Zabbix 7.2's authentication changes.
 
-  * #1009: Send database passwords to MariaDB and MySQL via anonymous pipe, which is more secure than
 
-    using an environment variable.
 
-  * #1013: Send database passwords to MongoDB via anonymous pipe, which is more secure than using
 
-    "--password" on the command-line!
 
-  * #1015: When ctrl-C is pressed, more strongly encourage Borg to actually exit.
 
-  * Add a "verify_tls" option to the Uptime Kuma monitoring hook for disabling TLS verification.
 
-  * Add "tls" options to the MariaDB and MySQL database hooks to enable or disable TLS encryption
 
-    between client and server.
 
- 1.9.12
 
-  * #1005: Fix the credential hooks to avoid using Python 3.12+ string features. Now borgmatic will
 
-    work with Python 3.9, 3.10, and 3.11 again.
 
- 1.9.11
 
-  * #795: Add credential loading from file, KeePassXC, and Docker/Podman secrets. See the
 
-    documentation for more information:
 
-    https://torsion.org/borgmatic/docs/how-to/provide-your-passwords/
 
-  * #996: Fix the "create" action to omit the repository label prefix from Borg's output when
 
-    databases are enabled.
 
-  * #998: Send the "encryption_passphrase" option to Borg via an anonymous pipe, which is more secure
 
-    than using an environment variable.
 
-  * #999: Fix a runtime directory error from a conflict between "extra_borg_options" and special file
 
-    detection.
 
-  * #1001: For the ZFS, Btrfs, and LVM hooks, only make snapshots for root patterns that come from
 
-    a borgmatic configuration option (e.g. "source_directories")—not from other hooks within
 
-    borgmatic.
 
-  * #1001: Fix a ZFS/LVM error due to colliding snapshot mount points for nested datasets or logical
 
-    volumes.
 
-  * #1001: Don't try to snapshot ZFS datasets that have the "canmount=off" property.
 
-  * Fix another error in the Btrfs hook when a subvolume mounted at "/" is configured in borgmatic's
 
-    source directories.
 
- 1.9.10
 
-  * #966: Add a "{credential ...}" syntax for loading systemd credentials into borgmatic
 
-    configuration files. See the documentation for more information:
 
-    https://torsion.org/borgmatic/docs/how-to/provide-your-passwords/
 
-  * #987: Fix a "list" action error when the "encryption_passcommand" option is set.
 
-  * #987: When both "encryption_passcommand" and "encryption_passphrase" are configured, prefer
 
-    "encryption_passphrase" even if it's an empty value.
 
-  * #988: With the "max_duration" option or the "--max-duration" flag, run the archives and
 
-    repository checks separately so they don't interfere with one another. Previously, borgmatic
 
-    refused to run checks in this situation.
 
-  * #989: Fix the log message code to avoid using Python 3.10+ logging features. Now borgmatic will
 
-    work with Python 3.9 again.
 
-  * Capture and delay any log records produced before logging is fully configured, so early log
 
-    records don't get lost.
 
-  * Add support for Python 3.13.
 
- 1.9.9
 
-  * #635: Log the repository path or label on every relevant log message, not just some logs.
 
-  * #961: When the "encryption_passcommand" option is set, call the command once from borgmatic to
 
-    collect the encryption passphrase and then pass it to Borg multiple times. See the documentation
 
-    for more information: https://torsion.org/borgmatic/docs/how-to/provide-your-passwords/
 
-  * #981: Fix a "spot" check file count delta error.
 
-  * #982: Fix for borgmatic "exclude_patterns" and "exclude_from" recursing into excluded
 
-    subdirectories.
 
-  * #983: Fix the Btrfs hook to support subvolumes with names like "@home" different from their
 
-    mount points.
 
-  * #985: Change the default value for the "--original-hostname" flag from "localhost" to no host
 
-    specified. This way, the "restore" action works without a hostname if there's a single matching
 
-    database dump.
 
- 1.9.8
 
-  * #979: Fix root patterns so they don't have an invalid "sh:" prefix before getting passed to Borg.
 
-  * Expand the recent contributors documentation section to include ticket submitters—not just code
 
-    contributors—because there are multiple ways to contribute to the project! See:
 
-    https://torsion.org/borgmatic/#recent-contributors
 
- 1.9.7
 
-  * #855: Add a Sentry monitoring hook. See the documentation for more information:
 
-    https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/#sentry-hook
 
-  * #968: Fix for a "spot" check error when a filename in the most recent archive contains a newline.
 
-  * #970: Fix for an error when there's a blank line in the configured patterns or excludes.
 
-  * #971: Fix for "exclude_from" files being completely ignored.
 
-  * #977: Fix for "exclude_patterns" and "exclude_from" not supporting explicit pattern styles (e.g.,
 
-    "sh:" or "re:").
 
- 1.9.6
 
-  * #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.
 
-  * #962: For the ZFS, Btrfs, and LVM hooks, perform path rewriting for excludes and patterns in
 
-    addition to the existing source directories rewriting.
 
-  * #962: Under the hood, merge all configured source directories, excludes, and patterns into a
 
-    unified temporary patterns file for passing to Borg. The borgmatic configuration options remain
 
-    unchanged.
 
-  * #962: For the LVM hook, add support for nested logical volumes.
 
-  * #965: Fix a borgmatic runtime directory error when running the "spot" check with a database hook
 
-    enabled.
 
-  * #969: Fix the "restore" action to work on database dumps without a port when a default port is
 
-    present in configuration.
 
-  * Fix the "spot" check to no longer consider pipe files within an archive for file comparisons.
 
-  * Fix the "spot" check to have a nicer error when there are no source paths to compare.
 
-  * 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.
 
-  * 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.
 
 
  |