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.

620 lines
27 KiB

  1. 1.5.1.dev0
  2. * #289: Tired of looking up the latest successful archive name in order to pass it to borgmatic
  3. actions? Me too. Now you can specify "--archive latest" to all actions that accept an archive
  4. flag.
  5. * #290: Fix the "--stats" and "--files" flags so that they yield output at verbosity 0.
  6. * Reduce the default verbosity of borgmatic logs sent to Healthchecks monitoring hook. Now, it's
  7. warnings and errors only. You can increase the verbosity via the "--monitoring-verbosity" flag.
  8. * Add security policy documentation in SECURITY.md.
  9. 1.5.0
  10. * #245: Monitor backups with PagerDuty hook integration. See the documentation for more
  11. information: https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/#pagerduty-hook
  12. * #255: Add per-action hooks: "before_prune", "after_prune", "before_check", and "after_check".
  13. * #274: Add ~/.config/borgmatic.d as another configuration directory default.
  14. * #277: Customize Healthchecks log level via borgmatic "--monitoring-verbosity" flag.
  15. * #280: Change "exclude_if_present" option to support multiple filenames that indicate a directory
  16. should be excluded from backups, rather than just a single filename.
  17. * #284: Backup to a removable drive or intermittent server via "soft failure" feature. See the
  18. documentation for more information:
  19. https://torsion.org/borgmatic/docs/how-to/backup-to-a-removable-drive-or-an-intermittent-server/
  20. * #287: View consistency check progress via "--progress" flag for "check" action.
  21. * For "create" and "prune" actions, no longer list files or show detailed stats at any verbosities
  22. by default. You can opt back in with "--files" or "--stats" flags.
  23. * For "list" and "info" actions, show repository names even at verbosity 0.
  24. 1.4.22
  25. * #276, #285: Disable colored output when "--json" flag is used, so as to produce valid JSON ouput.
  26. * After a backup of a database dump in directory format, properly remove the dump directory.
  27. * In "borgmatic --help", don't expand $HOME in listing of default "--config" paths.
  28. 1.4.21
  29. * #268: Override particular configuration options from the command-line via "--override" flag. See
  30. the documentation for more information:
  31. https://torsion.org/borgmatic/docs/how-to/make-per-application-backups/#configuration-overrides
  32. * #270: Only trigger "on_error" hooks and monitoring failures for "prune", "create", and "check"
  33. actions, and not for other actions.
  34. * When pruning with verbosity level 1, list pruned and kept archives. Previously, this information
  35. was only shown at verbosity level 2.
  36. 1.4.20
  37. * Fix repository probing during "borgmatic init" to respect verbosity flag and remote_path option.
  38. * #249: Update Healthchecks/Cronitor/Cronhub monitoring integrations to fire for "check" and
  39. "prune" actions, not just "create".
  40. 1.4.19
  41. * #259: Optionally change the internal database dump path via "borgmatic_source_directory" option
  42. in location configuration section.
  43. * #271: Support piping "borgmatic list" output to grep by logging certain log levels to console
  44. stdout and others to stderr.
  45. * Retain colored output when piping or redirecting in an interactive terminal.
  46. * Add end-to-end tests for database dump and restore. These are run on developer machines with
  47. Docker Compose for approximate parity with continuous integration tests.
  48. 1.4.18
  49. * Fix "--repository" flag to accept relative paths.
  50. * Fix "borgmatic umount" so it only runs Borg once instead of once per repository / configuration
  51. file.
  52. * #253: Mount whole repositories via "borgmatic mount" without any "--archive" flag.
  53. * #269: Filter listed paths via "borgmatic list --path" flag.
  54. 1.4.17
  55. * #235: Pass extra options directly to particular Borg commands, handy for Borg options that
  56. borgmatic does not yet support natively. Use "extra_borg_options" in the storage configuration
  57. section.
  58. * #266: Attempt to repair any inconsistencies found during a consistency check via
  59. "borgmatic check --repair" flag.
  60. 1.4.16
  61. * #256: Fix for "before_backup" hook not triggering an error when the command contains "borg" and
  62. has an exit code of 1.
  63. * #257: Fix for garbled Borg file listing when using "borgmatic create --progress" with
  64. verbosity level 1 or 2.
  65. * #260: Fix for missing Healthchecks monitoring payload or HTTP 500 due to incorrect unicode
  66. encoding.
  67. 1.4.15
  68. * Fix for database dump removal incorrectly skipping some database dumps.
  69. * #123: Support for mounting an archive as a FUSE filesystem via "borgmatic mount" action, and
  70. unmounting via "borgmatic umount". See the documentation for more information:
  71. https://torsion.org/borgmatic/docs/how-to/extract-a-backup/#mount-a-filesystem
  72. 1.4.14
  73. * Show summary log errors regardless of verbosity level, and log the "summary:" header with a log
  74. level based on the contained summary logs.
  75. 1.4.13
  76. * Show full error logs at "--verbosity 0" so you can see command output without upping the
  77. verbosity level.
  78. 1.4.12
  79. * #247: With "borgmatic check", consider Borg warnings as errors.
  80. * Dial back the display of inline error logs a bit, so failed command output doesn't appear
  81. multiple times in the logs (well, except for the summary).
  82. 1.4.11
  83. * #241: When using the Healthchecks monitoring hook, include borgmatic logs in the payloads for
  84. completion and failure pings.
  85. * With --verbosity level 1 or 2, show error logs both inline when they occur and in the summary
  86. logs at the bottom. With lower verbosity levels, suppress the summary and show error logs when
  87. they occur.
  88. 1.4.10
  89. * #246: Fix for "borgmatic restore" showing success and incorrectly extracting archive files, even
  90. when no databases are configured to restore. As this can overwrite files from the archive and
  91. lead to data loss, please upgrade to get the fix before using "borgmatic restore".
  92. * Reopen the file given by "--log-file" flag if an external program rotates the log file while
  93. borgmatic is running.
  94. 1.4.9
  95. * #228: Database dump hooks for MySQL/MariaDB, so you can easily dump your databases before backups
  96. run.
  97. * #243: Fix repository does not exist error with "borgmatic extract" when repository is remote.
  98. 1.4.8
  99. * Monitor backups with Cronhub hook integration. See the documentation for more information:
  100. https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/#cronhub-hook
  101. * Fix Healthchecks/Cronitor hooks to skip actions when the borgmatic "--dry-run" flag is used.
  102. 1.4.7
  103. * #238: In documentation, clarify when Healthchecks/Cronitor hooks fire in relation to other hooks.
  104. * #239: Upgrade your borgmatic configuration to get new options and comments via
  105. "generate-borgmatic-config --source". See the documentation for more information:
  106. https://torsion.org/borgmatic/docs/how-to/upgrade/#upgrading-your-configuration
  107. 1.4.6
  108. * Verbosity level "-1" for even quieter output: Errors only (#236).
  109. 1.4.5
  110. * Log to file instead of syslog via command-line "--log-file" flag (#233).
  111. 1.4.4
  112. * #234: Support for Borg --keep-exclude-tags and --exclude-nodump options.
  113. 1.4.3
  114. * Monitor backups with Cronitor hook integration. See the documentation for more information:
  115. https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/#cronitor-hook
  116. 1.4.2
  117. * Extract files to a particular directory via "borgmatic extract --destination" flag.
  118. * Rename "borgmatic extract --restore-path" flag to "--path" to reduce confusion with the separate
  119. "borgmatic restore" action. Any uses of "--restore-path" will continue working.
  120. 1.4.1
  121. * #229: Restore backed up PostgreSQL databases via "borgmatic restore" action. See the
  122. documentation for more information:
  123. https://torsion.org/borgmatic/docs/how-to/backup-your-databases/
  124. * Documentation on how to develop borgmatic's documentation:
  125. https://torsion.org/borgmatic/docs/how-to/develop-on-borgmatic/#documentation-development
  126. 1.4.0
  127. * #225: Database dump hooks for PostgreSQL, so you can easily dump your databases before backups
  128. run.
  129. * #230: Rename "borgmatic list --pattern-from" flag to "--patterns-from" to match Borg.
  130. 1.3.26
  131. * #224: Fix "borgmatic list --successful" with a slightly better heuristic for listing successful
  132. (non-checkpoint) archives.
  133. 1.3.25
  134. * #223: Dead man's switch to detect when backups start failing silently, implemented via
  135. healthchecks.io hook integration. See the documentation for more information:
  136. https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/#healthchecks-hook
  137. * Documentation on monitoring and alerting options for borgmatic backups:
  138. https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/
  139. * Automatically rewrite links when developing on documentation locally.
  140. 1.3.24
  141. * #86: Add "borgmatic list --successful" flag to only list successful (non-checkpoint) archives.
  142. * Add a suggestion form to all documentation pages, so users can submit ideas for improving the
  143. documentation.
  144. * Update documentation link to community Arch Linux borgmatic package.
  145. 1.3.23
  146. * #174: More detailed error alerting via runtime context available in "on_error" hook.
  147. 1.3.22
  148. * #144: When backups to one of several repositories fails, keep backing up to the other
  149. repositories and report errors afterwards.
  150. 1.3.21
  151. * #192: User-defined hooks for global setup or cleanup that run before/after all actions. See the
  152. documentation for more information:
  153. https://torsion.org/borgmatic/docs/how-to/add-preparation-and-cleanup-steps-to-backups/
  154. 1.3.20
  155. * #205: More robust sample systemd service: boot delay, network dependency, lowered CPU/IO
  156. priority, etc.
  157. * #221: Fix "borgmatic create --progress" output so that it updates on the console in real-time.
  158. 1.3.19
  159. * #219: Fix visibility of "borgmatic prune --stats" output.
  160. 1.3.18
  161. * #220: Fix regression of argument parsing for default actions.
  162. 1.3.17
  163. * #217: Fix error with "borgmatic check --only" command-line flag with "extract" consistency check.
  164. 1.3.16
  165. * #210: Support for Borg check --verify-data flag via borgmatic "data" consistency check.
  166. * #210: Override configured consistency checks via "borgmatic check --only" command-line flag.
  167. * When generating sample configuration with generate-borgmatic-config, add a space after each "#"
  168. comment indicator.
  169. 1.3.15
  170. * #208: Fix for traceback when the "checks" option has an empty value.
  171. * #209: Bypass Borg error about a moved repository via "relocated_repo_access_is_ok" option in
  172. borgmatic storage configuration section.
  173. * #213: Reorder arguments passed to Borg to fix duplicate directories when using Borg patterns.
  174. * #214: Fix for hook erroring with exit code 1 not being interpreted as an error.
  175. 1.3.14
  176. * #204: Do not treat Borg warnings (exit code 1) as failures.
  177. * When validating configuration files, require strings instead of allowing any scalar type.
  178. 1.3.13
  179. * #199: Add note to documentation about using spaces instead of tabs for indentation, as YAML does
  180. not allow tabs.
  181. * #203: Fix compatibility with ruamel.yaml 0.16.x.
  182. * If a "prefix" option in borgmatic's configuration has an empty value (blank or ""), then disable
  183. default prefix.
  184. 1.3.12
  185. * Only log to syslog when run from a non-interactive console (e.g. a cron job).
  186. * Remove unicode byte order mark from syslog output so it doesn't show up as a literal in rsyslog
  187. output. See discussion on #197.
  188. 1.3.11
  189. * #193: Pass through several "borg list" and "borg info" flags like --short, --format, --sort-by,
  190. --first, --last, etc. via borgmatic command-line flags.
  191. * Add borgmatic info --repository and --archive command-line flags to display info for individual
  192. repositories or archives.
  193. * Support for Borg --noatime, --noctime, and --nobirthtime flags via corresponding options in
  194. borgmatic configuration location section.
  195. 1.3.10
  196. * #198: Fix for Borg create error output not showing up at borgmatic verbosity level zero.
  197. 1.3.9
  198. * #195: Switch to command-line actions as more traditional sub-commands, e.g. "borgmatic create",
  199. "borgmatic prune", etc. However, the classic dashed options like "--create" still work!
  200. 1.3.8
  201. * #191: Disable console color via "color" option in borgmatic configuration output section.
  202. 1.3.7
  203. * #196: Fix for unclear error message for invalid YAML merge include.
  204. * #197: Don't color syslog output.
  205. * Change default syslog verbosity to show errors only.
  206. 1.3.6
  207. * #53: Log to syslog in addition to existing console logging. Add --syslog-verbosity flag to
  208. customize the log level. See the documentation for more information:
  209. https://torsion.org/borgmatic/docs/how-to/inspect-your-backups/
  210. * #178: Look for .yml configuration file extension in addition to .yaml.
  211. * #189: Set umask used when executing hooks via "umask" option in borgmatic hooks section.
  212. * Remove Python cache files before each Tox run.
  213. * Add #borgmatic Freenode IRC channel to documentation.
  214. * Add Borg/borgmatic hosting providers section to documentation.
  215. * Add files for building documentation into a Docker image for web serving.
  216. * Upgrade project build server from Drone 0.8 to 1.1.
  217. * Build borgmatic documentation during continuous integration.
  218. * We're nearly at 500 ★s on GitHub. We can do this!
  219. 1.3.5
  220. * #153: Support for various Borg directory environment variables (BORG_CONFIG_DIR, BORG_CACHE_DIR,
  221. etc.) via options in borgmatic's storage configuration.
  222. * #177: Fix for regression with missing verbose log entries.
  223. 1.3.4
  224. * Part of #125: Color borgmatic (but not Borg) output when using an interactive terminal.
  225. * #166: Run tests for all installed versions of Python.
  226. * #168: Update README with continuous integration badge.
  227. * #169: Automatically sort Python imports in code.
  228. * Document installing borgmatic with pip install --user instead of a system Python install.
  229. * Get more reproducible builds by pinning the versions of pip and tox used to run tests.
  230. * Factor out build/test configuration from tox.ini file.
  231. 1.3.3
  232. * Add validate-borgmatic-config command, useful for validating borgmatic config generated by
  233. configuration management or even edited by hand.
  234. 1.3.2
  235. * #160: Fix for hooks executing when using --dry-run. Now hooks are skipped during a dry run.
  236. 1.3.1
  237. * #155: Fix for invalid JSON output when using multiple borgmatic configuration files.
  238. * #157: Fix for seemingly random filename ordering when running through a directory of
  239. configuration files.
  240. * Fix for empty JSON output when using --create --json.
  241. * Now capturing Borg output only when --json flag is used. Previously, borgmatic delayed Borg
  242. output even without the --json flag.
  243. 1.3.0
  244. * #148: Configuration file includes and merging via "!include" tag to support reuse of common
  245. options across configuration files.
  246. 1.2.18
  247. * #147: Support for Borg create/extract --numeric-owner flag via "numeric_owner" option in
  248. borgmatic's location section.
  249. 1.2.17
  250. * #140: List the files within an archive via --list --archive option.
  251. 1.2.16
  252. * #119: Include a sample borgmatic configuration file in the documentation.
  253. * #123: Support for Borg archive restoration via borgmatic --extract command-line flag.
  254. * Refactor documentation into multiple separate pages for clarity and findability.
  255. * Organize options within command-line help into logical groups.
  256. * Exclude tests from distribution packages.
  257. 1.2.15
  258. * #127: Remove date echo from schema example, as it's not a substitute for real logging.
  259. * #132: Leave exclude_patterns glob expansion to Borg, since doing it in borgmatic leads to
  260. confusing behavior.
  261. * #136: Handle and format validation errors raised during argument parsing.
  262. * #138: Allow use of --stats flag when --create or --prune flags are implied.
  263. 1.2.14
  264. * #103: When generating sample configuration with generate-borgmatic-config, document the defaults
  265. for each option.
  266. * #116: When running multiple configuration files, attempt all configuration files even if one of
  267. them errors. Log a summary of results at the end.
  268. * Add borgmatic --version command-line flag to get the current installed version number.
  269. 1.2.13
  270. * #100: Support for --stats command-line flag independent of --verbosity.
  271. * #117: With borgmatic --init command-line flag, proceed without erroring if a repository already
  272. exists.
  273. 1.2.12
  274. * #110: Support for Borg repository initialization via borgmatic --init command-line flag.
  275. * #111: Update Borg create --filter values so a dry run lists files to back up.
  276. * #113: Update README with link to a new/forked Docker image.
  277. * Prevent deprecated --excludes command-line option from being used.
  278. * Refactor README a bit to flow better for first-time users.
  279. * Update README with a few additional borgmatic packages (Debian and Ubuntu).
  280. 1.2.11
  281. * #108: Support for Borg create --progress via borgmatic command-line flag.
  282. 1.2.10
  283. * #105: Support for Borg --chunker-params create option via "chunker_params" option in borgmatic's
  284. storage section.
  285. 1.2.9
  286. * #102: Fix for syntax error that occurred in Python 3.5 and below.
  287. * Make automated tests support running in Python 3.5.
  288. 1.2.8
  289. * #73: Enable consistency checks for only certain repositories via "check_repositories" option in
  290. borgmatic's consistency configuration. Handy for large repositories that take forever to check.
  291. * Include link to issue tracker within various command output.
  292. * Run continuous integration tests on a matrix of Python and Borg versions.
  293. 1.2.7
  294. * #98: Support for Borg --keep-secondly prune option.
  295. * Use Black code formatter and Flake8 code checker as part of running automated tests.
  296. * Add an end-to-end automated test that actually integrates with Borg.
  297. * Set up continuous integration for borgmatic automated tests on projects.evoworx.org.
  298. 1.2.6
  299. * Fix generated configuration to also include a "keep_daily" value so pruning works out of the
  300. box.
  301. 1.2.5
  302. * #57: When generating sample configuration with generate-borgmatic-config, comment out all
  303. optional configuration so as to streamline the initial configuration process.
  304. 1.2.4
  305. * Fix for archive checking traceback due to parameter mismatch.
  306. 1.2.3
  307. * #64, #90, #92: Rewrite of logging system. Now verbosity flags passed to Borg are derived from
  308. borgmatic's log level. Note that the output of borgmatic might slightly change.
  309. * Part of #80: Support for Borg create --read-special via "read_special" option in borgmatic's
  310. location configuration.
  311. * #87: Support for Borg create --checkpoint-interval via "checkpoint_interval" option in
  312. borgmatic's storage configuration.
  313. * #88: Fix declared pykwalify compatibility version range in setup.py to prevent use of ancient
  314. versions of pykwalify with large version numbers.
  315. * #89: Pass --show-rc option to Borg when at highest verbosity level.
  316. * #94: Support for Borg --json option via borgmatic command-line to --create archives.
  317. 1.2.2
  318. * #85: Fix compatibility issue between pykwalify and ruamel.yaml 0.15.52, which manifested in
  319. borgmatic as a pykwalify RuleError.
  320. 1.2.1
  321. * Skip before/after backup hooks when only doing --prune, --check, --list, and/or --info.
  322. * #71: Support for XDG_CONFIG_HOME environment variable for specifying alternate user ~/.config/
  323. path.
  324. * #74, #83: Support for Borg --json option via borgmatic command-line to --list archives or show
  325. archive --info in JSON format, ideal for programmatic consumption.
  326. * #38, #76: Upgrade ruamel.yaml compatibility version range and fix support for Python 3.7.
  327. * #77: Skip non-"*.yaml" config filenames in /etc/borgmatic.d/ so as not to parse backup files,
  328. editor swap files, etc.
  329. * #81: Document user-defined hooks run before/after backup, or on error.
  330. * Add code style guidelines to the documention.
  331. 1.2.0
  332. * #61: Support for Borg --list option via borgmatic command-line to list all archives.
  333. * #61: Support for Borg --info option via borgmatic command-line to display summary information.
  334. * #62: Update README to mention other ways of installing borgmatic.
  335. * Support for Borg --prefix option for consistency checks via "prefix" option in borgmatic's
  336. consistency configuration.
  337. * Add introductory screencast link to documentation.
  338. * #59: Ignore "check_last" and consistency "prefix" when "archives" not in consistency checks.
  339. * #60: Add "Persistent" flag to systemd timer example.
  340. * #63: Support for Borg --nobsdflags option to skip recording bsdflags (e.g. NODUMP, IMMUTABLE) in
  341. archive.
  342. * #69: Support for Borg prune --umask option using value of existing "umask" option in borgmatic's
  343. storage configuration.
  344. * Update tox.ini to only assume Python 3.x instead of Python 3.4 specifically.
  345. * Add ~/.config/borgmatic/config.yaml to default configuration path probing.
  346. * Document how to develop on and contribute to borgmatic.
  347. 1.1.15
  348. * Support for Borg BORG_PASSCOMMAND environment variable to read a password from an external file.
  349. * Fix for Borg create error when using borgmatic's --dry-run and --verbosity options together.
  350. Work-around for behavior introduced in Borg 1.1.3: https://github.com/borgbackup/borg/issues/3298
  351. * #55: Fix for missing tags/releases on Gitea and GitHub project hosting.
  352. * #56: Support for Borg --lock-wait option for the maximum wait for a repository/cache lock.
  353. * #58: Support for using tilde in exclude_patterns to reference home directory.
  354. 1.1.14
  355. * #49: Fix for typo in --patterns-from option.
  356. * #47: Support for Borg --dry-run option via borgmatic command-line.
  357. 1.1.13
  358. * #54: Fix for incorrect consistency check flags passed to Borg when all three checks ("repository",
  359. "archives", and "extract") are specified in borgmatic configuration.
  360. * #48: Add "local_path" to configuration for specifying an alternative Borg executable path.
  361. * #49: Support for Borg experimental --patterns-from and --patterns options for specifying mixed
  362. includes/excludes.
  363. * Moved issue tracker from Taiga to integrated Gitea tracker at
  364. https://projects.torsion.org/witten/borgmatic/issues
  365. 1.1.12
  366. * #46: Declare dependency on pykwalify 1.6 or above, as older versions yield "Unknown key: version"
  367. rule errors.
  368. * Support for Borg --keep-minutely prune option.
  369. 1.1.11
  370. * #26: Add "ssh_command" to configuration for specifying a custom SSH command or options.
  371. * Fix for incorrect /etc/borgmatic.d/ configuration path probing on macOS. This problem manifested
  372. as an error on startup: "[Errno 2] No such file or directory: '/etc/borgmatic.d'".
  373. 1.1.10
  374. * Pass several Unix signals through to child processes like Borg. This means that Borg now properly
  375. shuts down if borgmatic is terminated (e.g. due to a system suspend).
  376. * #30: Support for using tilde in repository paths to reference home directory.
  377. * #43: Support for Borg --files-cache option for setting the files cache operation mode.
  378. * #45: Support for Borg --remote-ratelimit option for limiting upload rate.
  379. * Log invoked Borg commands when at highest verbosity level.
  380. 1.1.9
  381. * #17, #39: Support for user-defined hooks before/after backup, or on error.
  382. * #34: Improve clarity of logging spew at high verbosity levels.
  383. * #30: Support for using tilde in source directory path to reference home directory.
  384. * Require "prefix" in retention section when "archive_name_format" is set. This is to avoid
  385. accidental pruning of archives with a different archive name format. For similar reasons, default
  386. "prefix" to "{hostname}-" if not specified.
  387. * Convert main source repository from Mercurial to Git.
  388. * Update dead links to Borg documentation.
  389. 1.1.8
  390. * #40: Fix to make /etc/borgmatic/config.yaml optional rather than required when using the default
  391. config paths.
  392. 1.1.7
  393. * #29: Add "archive_name_format" to configuration for customizing archive names.
  394. * Fix for traceback when "exclude_from" value is empty in configuration file.
  395. * When pruning, make highest verbosity level list archives kept and pruned.
  396. * Clarification of Python 3 pip usage in documentation.
  397. 1.1.6
  398. * #13, #36: Support for Borg --exclude-from, --exclude-caches, and --exclude-if-present options.
  399. 1.1.5
  400. * #35: New "extract" consistency check that performs a dry-run extraction of the most recent
  401. archive.
  402. 1.1.4
  403. * #18: Added command-line flags for performing a borgmatic run with only pruning, creating, or
  404. checking enabled. This supports use cases like running consistency checks from a different cron
  405. job with a different frequency, or running pruning with a different verbosity level.
  406. 1.1.3
  407. * #15: Support for running multiple config files in /etc/borgmatic.d/ from a single borgmatic run.
  408. * Fix for generate-borgmatic-config writing config with invalid one_file_system value.
  409. 1.1.2
  410. * #33: Fix for passing check_last as integer to subprocess when calling Borg.
  411. 1.1.1
  412. * Part of #33: Fix for upgrade-borgmatic-config converting check_last option as a string instead of
  413. an integer.
  414. * Fix for upgrade-borgmatic-config erroring when consistency checks option is not present.
  415. 1.1.0
  416. * Switched config file format to YAML. Run upgrade-borgmatic-config to upgrade.
  417. * Added generate-borgmatic-config command for initial config creation.
  418. * Dropped Python 2 support. Now Python 3 only.
  419. * #19: Fix for README mention of sample files not included in package.
  420. * #23: Sample files for triggering borgmatic from a systemd timer.
  421. * Support for backing up to multiple repositories.
  422. * To free up space, now pruning backups prior to creating a new backup.
  423. * Enabled test coverage output during tox runs.
  424. * Added logo.
  425. 1.0.3
  426. * #22: Fix for verbosity flag not actually causing verbose output.
  427. 1.0.2
  428. * #21: Fix for traceback when remote_path option is missing.
  429. 1.0.1
  430. * #20: Support for Borg's --remote-path option to use an alternate Borg
  431. executable. See sample/config.
  432. 1.0.0
  433. * Attic is no longer supported, as there hasn't been any recent development on
  434. it. Dropping Attic support will allow faster iteration on Borg-specific
  435. features. If you're still using Attic, this is a good time to switch to Borg!
  436. * Project renamed from atticmatic to borgmatic. See the borgmatic README for
  437. information on upgrading.
  438. 0.1.8
  439. * Fix for handling of spaces in source_directories which resulted in backup up everything.
  440. * Fix for broken links to Borg documentation.
  441. * At verbosity zero, suppressing Borg check stderr spew about "Checking segments".
  442. * Support for Borg --one-file-system.
  443. * Support for Borg create --umask.
  444. * Support for file globs in source_directories.
  445. 0.1.7
  446. * #12: Fixed parsing of punctuation in configuration file.
  447. * Better error message when configuration file is missing.
  448. 0.1.6
  449. * #10: New configuration option for the encryption passphrase.
  450. * #11: Support for Borg's new archive compression feature.
  451. 0.1.5
  452. * Changes to support release on PyPI. Now pip installable by name!
  453. 0.1.4
  454. * Adding test that setup.py version matches release version.
  455. 0.1.3
  456. * #2: Add support for "borg check --last N" to Borg backend.
  457. 0.1.2
  458. * As a convenience to new users, allow a missing default excludes file.
  459. * New issue tracker, linked from documentation.
  460. 0.1.1
  461. * Adding borgmatic cron example, and updating documentation to refer to it.
  462. 0.1.0
  463. * New "borgmatic" command to support Borg backup software, a fork of Attic.
  464. 0.0.7
  465. * Flag for multiple levels of verbosity: some, and lots.
  466. * Improved mocking of Python builtins in unit tests.
  467. 0.0.6
  468. * New configuration section for customizing which Attic consistency checks run, if any.
  469. 0.0.5
  470. * Fixed regression with --verbose output being buffered. This means dropping the helpful error
  471. message introduced in 0.0.4.
  472. 0.0.4
  473. * Now using tox to run tests against multiple versions of Python in one go.
  474. * Helpful error message about how to create a repository if one is missing.
  475. * Troubleshooting section with steps to deal with broken pipes.
  476. * Nosetests config file (setup.cfg) with defaults.
  477. 0.0.3
  478. * After pruning, run attic's consistency checks on all archives.
  479. * Integration tests for argument parsing.
  480. * Documentation updates about repository encryption.
  481. 0.0.2
  482. * Configuration support for additional attic prune flags: keep_within, keep_hourly, keep_yearly,
  483. and prefix.
  484. 0.0.1
  485. * Initial release.