A wrapper script for Borg backup software that creates and prunes backups
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

NEWS 9.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  1. 1.2.4
  2. * Fix for archive checking traceback due to parameter mismatch.
  3. 1.2.3
  4. * #64, #90, #92: Rewrite of logging system. Now verbosity flags passed to Borg are derived from
  5. borgmatic's log level. Note that the output of borgmatic might slightly change.
  6. * Part of #80: Support for Borg create --read-special via "read_special" option in borgmatic's
  7. location configuration.
  8. * #87: Support for Borg create --checkpoint-interval via "checkpoint_interval" option in
  9. borgmatic's storage configuration.
  10. * #88: Fix declared pykwalify compatibility version range in setup.py to prevent use of ancient
  11. versions of pykwalify with large version numbers.
  12. * #89: Pass --show-rc option to Borg when at highest verbosity level.
  13. * #94: Support for Borg --json option via borgmatic command-line to --create archives.
  14. 1.2.2
  15. * #85: Fix compatibility issue between pykwalify and ruamel.yaml 0.15.52, which manifested in
  16. borgmatic as a pykwalify RuleError.
  17. 1.2.1
  18. * Skip before/after backup hooks when only doing --prune, --check, --list, and/or --info.
  19. * #71: Support for XDG_CONFIG_HOME environment variable for specifying alternate user ~/.config/
  20. path.
  21. * #74, #83: Support for Borg --json option via borgmatic command-line to --list archives or show
  22. archive --info in JSON format, ideal for programmatic consumption.
  23. * #38, #76: Upgrade ruamel.yaml compatibility version range and fix support for Python 3.7.
  24. * #77: Skip non-"*.yaml" config filenames in /etc/borgmatic.d/ so as not to parse backup files,
  25. editor swap files, etc.
  26. * #81: Document user-defined hooks run before/after backup, or on error.
  27. * Add code style guidelines to the documention.
  28. 1.2.0
  29. * #61: Support for Borg --list option via borgmatic command-line to list all archives.
  30. * #61: Support for Borg --info option via borgmatic command-line to display summary information.
  31. * #62: Update README to mention other ways of installing borgmatic.
  32. * Support for Borg --prefix option for consistency checks via "prefix" option in borgmatic's
  33. consistency configuration.
  34. * Add introductory screencast link to documentation.
  35. * #59: Ignore "check_last" and consistency "prefix" when "archives" not in consistency checks.
  36. * #60: Add "Persistent" flag to systemd timer example.
  37. * #63: Support for Borg --nobsdflags option to skip recording bsdflags (e.g. NODUMP, IMMUTABLE) in
  38. archive.
  39. * #69: Support for Borg prune --umask option using value of existing "umask" option in borgmatic's
  40. storage configuration.
  41. * Update tox.ini to only assume Python 3.x instead of Python 3.4 specifically.
  42. * Add ~/.config/borgmatic/config.yaml to default configuration path probing.
  43. * Document how to develop on and contribute to borgmatic.
  44. 1.1.15
  45. * Support for Borg BORG_PASSCOMMAND environment variable to read a password from an external file.
  46. * Fix for Borg create error when using borgmatic's --dry-run and --verbosity options together.
  47. Work-around for behavior introduced in Borg 1.1.3: https://github.com/borgbackup/borg/issues/3298
  48. * #55: Fix for missing tags/releases on Gitea and GitHub project hosting.
  49. * #56: Support for Borg --lock-wait option for the maximum wait for a repository/cache lock.
  50. * #58: Support for using tilde in exclude_patterns to reference home directory.
  51. 1.1.14
  52. * #49: Fix for typo in --patterns-from option.
  53. * #47: Support for Borg --dry-run option via borgmatic command-line.
  54. 1.1.13
  55. * #54: Fix for incorrect consistency check flags passed to Borg when all three checks ("repository",
  56. "archives", and "extract") are specified in borgmatic configuration.
  57. * #48: Add "local_path" to configuration for specifying an alternative Borg executable path.
  58. * #49: Support for Borg experimental --patterns-from and --patterns options for specifying mixed
  59. includes/excludes.
  60. * Moved issue tracker from Taiga to integrated Gitea tracker at
  61. https://projects.torsion.org/witten/borgmatic/issues
  62. 1.1.12
  63. * #46: Declare dependency on pykwalify 1.6 or above, as older versions yield "Unknown key: version"
  64. rule errors.
  65. * Support for Borg --keep-minutely prune option.
  66. 1.1.11
  67. * #26: Add "ssh_command" to configuration for specifying a custom SSH command or options.
  68. * Fix for incorrect /etc/borgmatic.d/ configuration path probing on macOS. This problem manifested
  69. as an error on startup: "[Errno 2] No such file or directory: '/etc/borgmatic.d'".
  70. 1.1.10
  71. * Pass several Unix signals through to child processes like Borg. This means that Borg now properly
  72. shuts down if borgmatic is terminated (e.g. due to a system suspend).
  73. * #30: Support for using tilde in repository paths to reference home directory.
  74. * #43: Support for Borg --files-cache option for setting the files cache operation mode.
  75. * #45: Support for Borg --remote-ratelimit option for limiting upload rate.
  76. * Log invoked Borg commands when at highest verbosity level.
  77. 1.1.9
  78. * #17, #39: Support for user-defined hooks before/after backup, or on error.
  79. * #34: Improve clarity of logging spew at high verbosity levels.
  80. * #30: Support for using tilde in source directory path to reference home directory.
  81. * Require "prefix" in retention section when "archive_name_format" is set. This is to avoid
  82. accidental pruning of archives with a different archive name format. For similar reasons, default
  83. "prefix" to "{hostname}-" if not specified.
  84. * Convert main source repository from Mercurial to Git.
  85. * Update dead links to Borg documentation.
  86. 1.1.8
  87. * #40: Fix to make /etc/borgmatic/config.yaml optional rather than required when using the default
  88. config paths.
  89. 1.1.7
  90. * #29: Add "archive_name_format" to configuration for customizing archive names.
  91. * Fix for traceback when "exclude_from" value is empty in configuration file.
  92. * When pruning, make highest verbosity level list archives kept and pruned.
  93. * Clarification of Python 3 pip usage in documentation.
  94. 1.1.6
  95. * #13, #36: Support for Borg --exclude-from, --exclude-caches, and --exclude-if-present options.
  96. 1.1.5
  97. * #35: New "extract" consistency check that performs a dry-run extraction of the most recent
  98. archive.
  99. 1.1.4
  100. * #18: Added command-line flags for performing a borgmatic run with only pruning, creating, or
  101. checking enabled. This supports use cases like running consistency checks from a different cron
  102. job with a different frequency, or running pruning with a different verbosity level.
  103. 1.1.3
  104. * #15: Support for running multiple config files in /etc/borgmatic.d/ from a single borgmatic run.
  105. * Fix for generate-borgmatic-config writing config with invalid one_file_system value.
  106. 1.1.2
  107. * #33: Fix for passing check_last as integer to subprocess when calling Borg.
  108. 1.1.1
  109. * Part of #33: Fix for upgrade-borgmatic-config converting check_last option as a string instead of
  110. an integer.
  111. * Fix for upgrade-borgmatic-config erroring when consistency checks option is not present.
  112. 1.1.0
  113. * Switched config file format to YAML. Run upgrade-borgmatic-config to upgrade.
  114. * Added generate-borgmatic-config command for initial config creation.
  115. * Dropped Python 2 support. Now Python 3 only.
  116. * #19: Fix for README mention of sample files not included in package.
  117. * #23: Sample files for triggering borgmatic from a systemd timer.
  118. * Support for backing up to multiple repositories.
  119. * To free up space, now pruning backups prior to creating a new backup.
  120. * Enabled test coverage output during tox runs.
  121. * Added logo.
  122. 1.0.3
  123. * #22: Fix for verbosity flag not actually causing verbose output.
  124. 1.0.2
  125. * #21: Fix for traceback when remote_path option is missing.
  126. 1.0.1
  127. * #20: Support for Borg's --remote-path option to use an alternate Borg
  128. executable. See sample/config.
  129. 1.0.0
  130. * Attic is no longer supported, as there hasn't been any recent development on
  131. it. Dropping Attic support will allow faster iteration on Borg-specific
  132. features. If you're still using Attic, this is a good time to switch to Borg!
  133. * Project renamed from atticmatic to borgmatic. See the borgmatic README for
  134. information on upgrading.
  135. 0.1.8
  136. * Fix for handling of spaces in source_directories which resulted in backup up everything.
  137. * Fix for broken links to Borg documentation.
  138. * At verbosity zero, suppressing Borg check stderr spew about "Checking segments".
  139. * Support for Borg --one-file-system.
  140. * Support for Borg create --umask.
  141. * Support for file globs in source_directories.
  142. 0.1.7
  143. * #12: Fixed parsing of punctuation in configuration file.
  144. * Better error message when configuration file is missing.
  145. 0.1.6
  146. * #10: New configuration option for the encryption passphrase.
  147. * #11: Support for Borg's new archive compression feature.
  148. 0.1.5
  149. * Changes to support release on PyPI. Now pip installable by name!
  150. 0.1.4
  151. * Adding test that setup.py version matches release version.
  152. 0.1.3
  153. * #2: Add support for "borg check --last N" to Borg backend.
  154. 0.1.2
  155. * As a convenience to new users, allow a missing default excludes file.
  156. * New issue tracker, linked from documentation.
  157. 0.1.1
  158. * Adding borgmatic cron example, and updating documentation to refer to it.
  159. 0.1.0
  160. * New "borgmatic" command to support Borg backup software, a fork of Attic.
  161. 0.0.7
  162. * Flag for multiple levels of verbosity: some, and lots.
  163. * Improved mocking of Python builtins in unit tests.
  164. 0.0.6
  165. * New configuration section for customizing which Attic consistency checks run, if any.
  166. 0.0.5
  167. * Fixed regression with --verbose output being buffered. This means dropping the helpful error
  168. message introduced in 0.0.4.
  169. 0.0.4
  170. * Now using tox to run tests against multiple versions of Python in one go.
  171. * Helpful error message about how to create a repository if one is missing.
  172. * Troubleshooting section with steps to deal with broken pipes.
  173. * Nosetests config file (setup.cfg) with defaults.
  174. 0.0.3
  175. * After pruning, run attic's consistency checks on all archives.
  176. * Integration tests for argument parsing.
  177. * Documentation updates about repository encryption.
  178. 0.0.2
  179. * Configuration support for additional attic prune flags: keep_within, keep_hourly, keep_yearly,
  180. and prefix.
  181. 0.0.1
  182. * Initial release.