A wrapper script for Borg backup software that creates and prunes backups
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

289 lines
12KB

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