borgbackup 1.4.0b2__tar.gz → 1.4.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (331) hide show
  1. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/CHANGES.rst +127 -5
  2. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/LICENSE +1 -1
  3. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/PKG-INFO +6 -3
  4. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/SECURITY.md +6 -6
  5. borgbackup-1.4.1/docs/_templates/layout.html +173 -0
  6. borgbackup-1.4.1/docs/binaries/00_README.txt +87 -0
  7. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/borg_theme/css/borg.css +1 -2
  8. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/changes.rst +127 -5
  9. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/conf.py +4 -1
  10. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/deployment/automated-local.rst +6 -6
  11. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/deployment/central-backup-server.rst +4 -4
  12. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/development.rst +1 -1
  13. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/faq.rst +61 -59
  14. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/global.rst.inc +1 -0
  15. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/installation.rst +35 -47
  16. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/internals/data-structures.rst +1 -1
  17. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-benchmark-crud.1 +3 -5
  18. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-benchmark.1 +1 -1
  19. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-break-lock.1 +1 -1
  20. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-check.1 +2 -2
  21. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-common.1 +1 -1
  22. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-compact.1 +7 -6
  23. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-compression.1 +25 -18
  24. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-config.1 +5 -7
  25. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-create.1 +9 -15
  26. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-delete.1 +4 -6
  27. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-diff.1 +4 -6
  28. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-export-tar.1 +4 -6
  29. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-extract.1 +4 -6
  30. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-import-tar.1 +2 -2
  31. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-info.1 +4 -6
  32. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-init.1 +11 -18
  33. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-key-change-passphrase.1 +5 -9
  34. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-key-export.1 +4 -6
  35. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-key-import.1 +2 -2
  36. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-key-migrate-to-repokey.1 +1 -1
  37. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-key.1 +1 -1
  38. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-list.1 +8 -11
  39. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-mount.1 +27 -8
  40. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-patterns.1 +27 -28
  41. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-placeholders.1 +9 -11
  42. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-prune.1 +19 -10
  43. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-recreate.1 +5 -7
  44. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-rename.1 +3 -5
  45. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-serve.1 +10 -15
  46. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-umount.1 +12 -9
  47. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-upgrade.1 +7 -11
  48. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-version.1 +3 -5
  49. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-with-lock.1 +3 -5
  50. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg.1 +75 -93
  51. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borgfs.1 +27 -8
  52. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/misc/prune-example.txt +24 -0
  53. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/quickstart.rst +17 -22
  54. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/check.rst.inc +2 -2
  55. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/compact.rst.inc +7 -4
  56. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/config.rst.inc +3 -3
  57. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/create.rst.inc +2 -2
  58. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/delete.rst.inc +2 -2
  59. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/diff.rst.inc +2 -2
  60. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/export-tar.rst.inc +2 -2
  61. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/extract.rst.inc +2 -2
  62. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/general/environment.rst.inc +3 -0
  63. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/general/repository-urls.rst.inc +12 -12
  64. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/general/return-codes.rst.inc +2 -0
  65. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/help.rst.inc +21 -1
  66. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/import-tar.rst.inc +2 -2
  67. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/info.rst.inc +2 -2
  68. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/init.rst.inc +2 -2
  69. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/key_export.rst.inc +2 -2
  70. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/key_import.rst.inc +2 -2
  71. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/list.rst.inc +2 -2
  72. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/mount.rst +7 -0
  73. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/mount.rst.inc +23 -8
  74. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/prune.rst.inc +15 -5
  75. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/recreate.rst.inc +2 -2
  76. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/serve.rst +2 -0
  77. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/serve.rst.inc +2 -2
  78. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/upgrade.rst.inc +2 -2
  79. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/pyproject.toml +2 -1
  80. borgbackup-1.4.1/requirements.d/development.lock.txt +12 -0
  81. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/requirements.d/docs.txt +1 -0
  82. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/scripts/fetch-binaries +6 -5
  83. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/setup.py +9 -2
  84. borgbackup-1.4.1/src/borg/_version.py +1 -0
  85. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/algorithms/checksums.c +882 -879
  86. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/archive.py +55 -22
  87. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/archiver.py +100 -26
  88. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/cache.py +30 -9
  89. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/chunker.c +1415 -1413
  90. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/compress.c +2178 -1345
  91. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/compress.pyx +19 -1
  92. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/crypto/key.py +2 -0
  93. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/crypto/keymanager.py +1 -1
  94. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/crypto/low_level.c +1076 -1057
  95. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/hashindex.c +733 -698
  96. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/helpers/misc.py +55 -9
  97. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/helpers/msgpack.py +1 -1
  98. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/helpers/parseformat.py +1 -0
  99. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/helpers/yes.py +8 -1
  100. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/item.c +564 -537
  101. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/logger.py +6 -0
  102. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/platform/__init__.py +13 -0
  103. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/platform/darwin.c +1941 -1338
  104. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/platform/darwin.pyx +38 -0
  105. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/platform/freebsd.c +734 -731
  106. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/platform/freebsd.pyx +1 -1
  107. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/platform/linux.c +1036 -1019
  108. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/platform/posix.c +488 -478
  109. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/platform/syncfilerange.c +423 -428
  110. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/platform/windows.c +634 -642
  111. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/remote.py +25 -12
  112. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/__init__.py +3 -0
  113. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/archiver.py +181 -13
  114. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/compress.py +31 -0
  115. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/conftest.py +1 -1
  116. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/helpers.py +28 -17
  117. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/xattr.py +1 -1
  118. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borgbackup.egg-info/PKG-INFO +6 -3
  119. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borgbackup.egg-info/SOURCES.txt +2 -3
  120. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borgbackup.egg-info/requires.txt +1 -1
  121. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/tox.ini +1 -1
  122. borgbackup-1.4.0b2/docs/3rd_party/README +0 -5
  123. borgbackup-1.4.0b2/docs/3rd_party/lz4/LICENSE +0 -24
  124. borgbackup-1.4.0b2/docs/3rd_party/zstd/LICENSE +0 -30
  125. borgbackup-1.4.0b2/requirements.d/development.lock.txt +0 -12
  126. borgbackup-1.4.0b2/src/borg/_version.py +0 -1
  127. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/.coveragerc +0 -0
  128. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/.pre-commit-config.yaml +0 -0
  129. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/.readthedocs.yaml +0 -0
  130. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/AUTHORS +0 -0
  131. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/Brewfile +0 -0
  132. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/MANIFEST.in +0 -0
  133. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/README.rst +0 -0
  134. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/README_WINDOWS.rst +0 -0
  135. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/Makefile +0 -0
  136. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/_static/Makefile +0 -0
  137. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/_static/favicon.ico +0 -0
  138. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/_static/logo.pdf +0 -0
  139. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/_static/logo.png +0 -0
  140. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/_static/logo.svg +0 -0
  141. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/_static/logo_font.txt +0 -0
  142. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/_templates/globaltoc.html +0 -0
  143. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/_templates/logo-text.html +0 -0
  144. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/authors.rst +0 -0
  145. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/book.rst +0 -0
  146. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/deployment/hosting-repositories.rst +0 -0
  147. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/deployment/image-backup.rst +0 -0
  148. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/deployment/non-root-user.rst +0 -0
  149. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/deployment/pull-backup.rst +0 -0
  150. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/deployment.rst +0 -0
  151. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/index.rst +0 -0
  152. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/internals/compaction.png +0 -0
  153. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/internals/compaction.vsd +0 -0
  154. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/internals/encryption.png +0 -0
  155. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/internals/encryption.vsd +0 -0
  156. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/internals/frontends.rst +0 -0
  157. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/internals/object-graph.png +0 -0
  158. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/internals/object-graph.vsd +0 -0
  159. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/internals/security.rst +0 -0
  160. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/internals/structure.png +0 -0
  161. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/internals/structure.vsd +0 -0
  162. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/internals.rst +0 -0
  163. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/introduction.rst +0 -0
  164. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man/borg-change-passphrase.1 +0 -0
  165. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/man_intro.rst +0 -0
  166. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/misc/asciinema/README +0 -0
  167. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/misc/asciinema/Vagrantfile +0 -0
  168. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/misc/asciinema/advanced.json +0 -0
  169. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/misc/asciinema/advanced.tcl +0 -0
  170. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/misc/asciinema/basic.json +0 -0
  171. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/misc/asciinema/basic.tcl +0 -0
  172. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/misc/asciinema/install.json +0 -0
  173. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/misc/asciinema/install.tcl +0 -0
  174. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/misc/asciinema/sample-wallpapers.txt +0 -0
  175. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/misc/benchmark-crud.txt +0 -0
  176. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/misc/borg-data-flow.png +0 -0
  177. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/misc/borg-data-flow.vsd +0 -0
  178. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/misc/create_chunker-params.txt +0 -0
  179. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/misc/internals-picture.txt +0 -0
  180. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/misc/logging.conf +0 -0
  181. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/quickstart_example.rst.inc +0 -0
  182. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/support.rst +0 -0
  183. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/benchmark.rst +0 -0
  184. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/benchmark_crud.rst.inc +0 -0
  185. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/borgfs.rst +0 -0
  186. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/borgfs.rst.inc +0 -0
  187. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/break-lock.rst.inc +0 -0
  188. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/change-passphrase.rst.inc +0 -0
  189. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/check.rst +0 -0
  190. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/common-options.rst.inc +0 -0
  191. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/compact.rst +0 -0
  192. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/config.rst +0 -0
  193. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/create.rst +0 -0
  194. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/debug.rst +0 -0
  195. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/delete.rst +0 -0
  196. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/diff.rst +0 -0
  197. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/extract.rst +0 -0
  198. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/general/date-time.rst.inc +0 -0
  199. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/general/file-metadata.rst.inc +0 -0
  200. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/general/file-systems.rst.inc +0 -0
  201. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/general/logging.rst.inc +0 -0
  202. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/general/positional-arguments.rst.inc +0 -0
  203. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/general/repository-locations.rst.inc +0 -0
  204. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/general/resources.rst.inc +0 -0
  205. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/general/units.rst.inc +0 -0
  206. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/general.rst +0 -0
  207. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/help.rst +0 -0
  208. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/info.rst +0 -0
  209. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/init.rst +0 -0
  210. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/key.rst +0 -0
  211. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/key_change-passphrase.rst.inc +0 -0
  212. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/key_migrate-to-repokey.rst.inc +0 -0
  213. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/list.rst +0 -0
  214. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/lock.rst +0 -0
  215. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/notes.rst +0 -0
  216. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/prune.rst +0 -0
  217. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/recreate.rst +0 -0
  218. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/rename.rst +0 -0
  219. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/rename.rst.inc +0 -0
  220. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/tar.rst +0 -0
  221. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/umount.rst.inc +0 -0
  222. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/upgrade.rst +0 -0
  223. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/usage_general.rst.inc +0 -0
  224. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/version.rst +0 -0
  225. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/version.rst.inc +0 -0
  226. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage/with-lock.rst.inc +0 -0
  227. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage.rst +0 -0
  228. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/docs/usage_general.rst.inc +0 -0
  229. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/requirements.d/development.txt +0 -0
  230. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/scripts/borg.exe.spec +0 -0
  231. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/scripts/errorlist.py +0 -0
  232. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/scripts/fuzz-cache-sync/HOWTO +0 -0
  233. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/scripts/fuzz-cache-sync/main.c +0 -0
  234. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/scripts/fuzz-cache-sync/testcase_dir/test_simple +0 -0
  235. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/scripts/glibc_check.py +0 -0
  236. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/scripts/hash_sizes.py +0 -0
  237. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/scripts/make.py +0 -0
  238. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/scripts/msys2-build +0 -0
  239. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/scripts/msys2-install-deps +0 -0
  240. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/scripts/sdist-sign +0 -0
  241. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/scripts/shell_completions/bash/borg +0 -0
  242. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/scripts/shell_completions/fish/borg.fish +0 -0
  243. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/scripts/shell_completions/zsh/_borg +0 -0
  244. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/scripts/sign-binaries +0 -0
  245. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/scripts/upload-pypi +0 -0
  246. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/setup.cfg +0 -0
  247. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/__init__.py +0 -0
  248. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/__main__.py +0 -0
  249. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/_chunker.c +0 -0
  250. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/_endian.h +0 -0
  251. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/_hashindex.c +0 -0
  252. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/_item.c +0 -0
  253. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/algorithms/__init__.py +0 -0
  254. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/algorithms/checksums.pyx +0 -0
  255. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/algorithms/crc32_clmul.c +0 -0
  256. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/algorithms/crc32_dispatch.c +0 -0
  257. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/algorithms/crc32_slice_by_8.c +0 -0
  258. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/cache_sync/cache_sync.c +0 -0
  259. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/cache_sync/sysdep.h +0 -0
  260. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/cache_sync/unpack.h +0 -0
  261. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/cache_sync/unpack_define.h +0 -0
  262. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/cache_sync/unpack_template.h +0 -0
  263. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/chunker.pyx +0 -0
  264. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/constants.py +0 -0
  265. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/crypto/__init__.py +0 -0
  266. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/crypto/_crypto_helpers.c +0 -0
  267. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/crypto/_crypto_helpers.h +0 -0
  268. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/crypto/file_integrity.py +0 -0
  269. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/crypto/low_level.pyx +0 -0
  270. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/crypto/nonces.py +0 -0
  271. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/fuse.py +0 -0
  272. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/fuse_impl.py +0 -0
  273. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/hashindex.pyx +0 -0
  274. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/helpers/__init__.py +0 -0
  275. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/helpers/checks.py +0 -0
  276. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/helpers/datastruct.py +0 -0
  277. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/helpers/errors.py +0 -0
  278. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/helpers/fs.py +0 -0
  279. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/helpers/manifest.py +0 -0
  280. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/helpers/process.py +0 -0
  281. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/helpers/progress.py +0 -0
  282. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/helpers/time.py +0 -0
  283. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/item.pyx +0 -0
  284. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/locking.py +0 -0
  285. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/lrucache.py +0 -0
  286. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/nanorst.py +0 -0
  287. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/paperkey.html +0 -0
  288. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/patterns.py +0 -0
  289. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/platform/base.py +0 -0
  290. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/platform/linux.pyx +0 -0
  291. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/platform/posix.pyx +0 -0
  292. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/platform/syncfilerange.pyx +0 -0
  293. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/platform/windows.pyx +0 -0
  294. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/platform/xattr.py +0 -0
  295. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/platformflags.py +0 -0
  296. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/repository.py +0 -0
  297. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/selftest.py +0 -0
  298. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/shellpattern.py +0 -0
  299. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/archive.py +0 -0
  300. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/attic.tar.gz +0 -0
  301. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/benchmark.py +0 -0
  302. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/cache.py +0 -0
  303. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/checksums.py +0 -0
  304. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/chunker.py +0 -0
  305. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/chunker_pytest.py +0 -0
  306. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/chunker_slow.py +0 -0
  307. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/crypto.py +0 -0
  308. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/efficient_collection_queue.py +0 -0
  309. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/file_integrity.py +0 -0
  310. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/hashindex.py +0 -0
  311. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/hashindex_stress.py +0 -0
  312. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/item.py +0 -0
  313. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/key.py +0 -0
  314. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/locking.py +0 -0
  315. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/logger.py +0 -0
  316. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/lrucache.py +0 -0
  317. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/nanorst.py +0 -0
  318. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/nonces.py +0 -0
  319. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/patterns.py +0 -0
  320. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/platform.py +0 -0
  321. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/remote.py +0 -0
  322. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/repository.py +0 -0
  323. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/shellpattern.py +0 -0
  324. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/upgrader.py +0 -0
  325. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/testsuite/version.py +0 -0
  326. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/upgrader.py +0 -0
  327. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/version.py +0 -0
  328. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borg/xattr.py +0 -0
  329. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borgbackup.egg-info/dependency_links.txt +0 -0
  330. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borgbackup.egg-info/entry_points.txt +0 -0
  331. {borgbackup-1.4.0b2 → borgbackup-1.4.1}/src/borgbackup.egg-info/top_level.txt +0 -0
@@ -311,8 +311,11 @@ Upgrade Notes
311
311
  borg 1.2.x to 1.4.x
312
312
  -------------------
313
313
 
314
- Coming from borg 1.2 there are no upgrade steps needed - just make sure you
315
- already have done the previous upgrade steps up to 1.2.7.
314
+ If you currently use borg 1.2.5+: no upgrade steps needed (if you already did
315
+ them when upgrading to that version, otherwise see below).
316
+
317
+ If you currently use borg 1.2.0 .. 1.2.4, read and follow "Pre-1.2.5 archives
318
+ spoofing vulnerability (CVE-2023-36811)" section, see the top of this changelog.
316
319
 
317
320
  Compatibility notes:
318
321
 
@@ -411,13 +414,132 @@ Compatibility notes:
411
414
  Change Log
412
415
  ==========
413
416
 
414
-
415
- Version 1.4.0b2 (2024-03-31)
416
- ----------------------------
417
+ Version 1.4.1 (2025-04-19)
418
+ --------------------------
417
419
 
418
420
  For upgrade and compatibility hints, please also read the section "Upgrade Notes"
419
421
  above.
420
422
 
423
+ New features:
424
+
425
+ - prune: add 13weekly and 3monthly quarterly pruning strategies, #8337
426
+ - add BORG_USE_CHUNKS_ARCHIVE env var as a cleaner way to control whether
427
+ borg shall use chunks.archive.d/ cache directory. the previous "hack" to
428
+ create a non-directory file at that place is still supported.
429
+ - compact: support --dry-run (do nothing) to simplify scripting, #8300
430
+ - add {unixtime} placeholder, #8522
431
+ - macOS: retrieve birthtime in nanosecond precision via system call, #8724
432
+ - implement padme chunk size obfuscation (SPEC 250), #8705
433
+
434
+ Fixes:
435
+
436
+ - borg exits when assertions are disabled with Python optimizations, #8649
437
+ - fix remote repository exception handling / modern exit codes, #8631
438
+ - config: fix acceptance of storage_quota 0, #8499
439
+ - config: reject additional_free_space < 10M (but accept 0), #6066
440
+ - check: more consistent messaging considering --repair, #8533
441
+ - yes: deal with UnicodeDecodeError in input(), #6984
442
+ - fix WORKAROUNDS=authenticated_no_key support for archive TAM authentication,
443
+ #8400
444
+ - diff: do not assert on diff if hard link sources are not found due to
445
+ exclusions, #8344
446
+ - diff:
447
+
448
+ - suppress modified changes for files which weren't actually modified in JSON
449
+ output, #8334
450
+ - ensure that 0B changes are hidden from text diffs, too.
451
+ - remove 0-added,0-removed modified entries from JSON output.
452
+ - try to rebuild cache if an exception is raised, #5213
453
+ - freebsd: fix nfs4 acl processing, #8756.
454
+ This issue only affected borg extract --numeric-ids when processing NFS4
455
+ ACLs, it didn't affect POSIX ACL processing.
456
+
457
+ Other changes:
458
+
459
+ - support and test on Python 3.13
460
+ - use Cython 3.0.12
461
+ - filter LibreSSL related warnings on OpenBSD
462
+ - docs:
463
+
464
+ - update install docs, nothing bundled anymore, #8342
465
+ - clarify excluded and included flags for dry-run, #8556
466
+ - small changes regarding compression, #8542
467
+ - clean up entries regarding SSH settings, link to recommended ones, #8542
468
+ - borg/borgfs detects internally under which name it was invoked, #8207
469
+ - binary: using the directory build is faster, #8008
470
+ - add readme of the binaries
471
+ - mount: document on-demand loading, perf tips, #7173
472
+ - better link modern return codes, #8370
473
+ - update repository URLs in docs to use new syntax, #8361
474
+ - align /etc/backups path references in automated backups deployment guide
475
+ - mount docs: apply jdchristensen's suggestion, better phrasing.
476
+ - FAQ: Why is backing up an unmodified FAT filesystem slow on Linux?
477
+ - FAQ: Why are backups slow on a Linux server that is a member of a windows domain?
478
+ - FAQ: add entry about pure-python msgpack warning, #8323
479
+ - modify docs for automated backup to append to SYSTEMD_WANTS rather than overwrite, #8641
480
+ - fix udev rule priority in automated-local.rst, #8639
481
+ - clarify requirements when using command line options with special characters within a shell, #8628
482
+ - work around sudden failure of sphinx ini lexer
483
+ - readthedocs theme fixes
484
+
485
+ - bring back highlighted content preview in search results.
486
+ - fix erroneous warning about missing javascript support.
487
+ - tests:
488
+
489
+ - github CI: windows msys2 build: broken, disable it for now, #8264
490
+ - improve borg check --repair healing tests, #8302
491
+ - fix hourly prune test failure due to local timezone
492
+ - ignore `com.apple.provenance` xattr (macOS specific)
493
+ - vagrant:
494
+
495
+ - pyenv: only use Python 3.11.12, use this for binary build
496
+ - macos: give more memory
497
+ - install rust on BSD
498
+ - add FreeBSD 13 box, for #8266
499
+ - fix OpenBSD box, #8506
500
+ - use a bento/ubuntu-24.04 box for now
501
+
502
+
503
+ Version 1.4.0 (2024-07-03)
504
+ --------------------------
505
+
506
+ Other changes:
507
+
508
+ - vagrant: revive the buster64 box, RHEL8 has same glibc
509
+ - tests: fix pytest_report_header, #8232
510
+ - docs:
511
+
512
+ - mount: add examples using :: positional argument, #8255
513
+ - Installation: update Arch Linux repo name
514
+ - update standalone binary section
515
+
516
+
517
+ Version 1.4.0rc1 (2024-05-26)
518
+ -----------------------------
519
+
520
+ Fixes:
521
+
522
+ - setup.py: fix import error reporting for cythonize import, #8208
523
+ - setup.py: detect noexec build fs issue, #8208
524
+
525
+ Other changes:
526
+
527
+ - changed insufficiently reserved length for log message, #8152
528
+ - use Python 3.11.9, Cython 3.0.10 and PyInstaller 6.7.0 for binary builds
529
+ - docs:
530
+
531
+ - use python 3.9 in cygwin install docs, fixes #8196
532
+ - recreate: remove experimental status
533
+ - github CI: fix PKG_CONFIG_PATH for openssl 3.0
534
+ - vagrant:
535
+
536
+ - add a ubuntu noble (24.04) VM
537
+ - drop buster VM, fixes #8171
538
+
539
+
540
+ Version 1.4.0b2 (2024-03-31)
541
+ ----------------------------
542
+
421
543
  Fixes:
422
544
 
423
545
  - check: fix return code for index entry value discrepancies
@@ -1,4 +1,4 @@
1
- Copyright (C) 2015-2024 The Borg Collective (see AUTHORS file)
1
+ Copyright (C) 2015-2025 The Borg Collective (see AUTHORS file)
2
2
  Copyright (C) 2010-2014 Jonas Borgström <jonas@borgstrom.se>
3
3
  All rights reserved.
4
4
 
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: borgbackup
3
- Version: 1.4.0b2
3
+ Version: 1.4.1
4
4
  Summary: Deduplicated, encrypted, authenticated and compressed backups
5
5
  Author: The Borg Collective (see AUTHORS file)
6
6
  Maintainer-email: Thomas Waldmann <tw@waldmann-edv.de>
@@ -26,18 +26,21 @@ Classifier: Programming Language :: Python :: 3.9
26
26
  Classifier: Programming Language :: Python :: 3.10
27
27
  Classifier: Programming Language :: Python :: 3.11
28
28
  Classifier: Programming Language :: Python :: 3.12
29
+ Classifier: Programming Language :: Python :: 3.13
29
30
  Classifier: Topic :: Security :: Cryptography
30
31
  Classifier: Topic :: System :: Archiving :: Backup
31
32
  Requires-Python: >=3.9
32
33
  License-File: LICENSE
33
34
  License-File: AUTHORS
34
- Requires-Dist: msgpack<=1.0.8,>=1.0.3
35
+ Requires-Dist: msgpack<=1.1.0,>=1.0.3
35
36
  Requires-Dist: packaging
36
37
  Provides-Extra: llfuse
37
38
  Requires-Dist: llfuse>=1.3.8; extra == "llfuse"
38
39
  Provides-Extra: pyfuse3
39
40
  Requires-Dist: pyfuse3>=3.1.1; extra == "pyfuse3"
40
41
  Provides-Extra: nofuse
42
+ Dynamic: description
43
+ Dynamic: license-file
41
44
 
42
45
 
43
46
  What is BorgBackup?
@@ -4,12 +4,12 @@
4
4
 
5
5
  These borg releases are currently supported with security updates.
6
6
 
7
- | Version | Supported |
8
- |---------|------------------------|
9
- | 1.4.x | :x: (not released yet) |
10
- | 1.2.x | :white_check_mark: |
11
- | 1.1.x | :x: |
12
- | < 1.1 | :x: |
7
+ | Version | Supported |
8
+ |---------|--------------------|
9
+ | 1.4.x | :white_check_mark: |
10
+ | 1.2.x | :white_check_mark: |
11
+ | 1.1.x | :x: |
12
+ | < 1.1 | :x: |
13
13
 
14
14
  ## Reporting a Vulnerability
15
15
 
@@ -0,0 +1,173 @@
1
+ {%- extends "basic/layout.html" %}
2
+
3
+ {# Do this so that bootstrap is included before the main css file #}
4
+ {%- block htmltitle %}
5
+ {% set script_files = script_files + ["_static/myscript.js"] %}
6
+ <!-- Licensed under the Apache 2.0 License -->
7
+ <link rel="stylesheet" type="text/css" href="{{ pathto('_static/fonts/open-sans/stylesheet.css', 1) }}" />
8
+ <!-- Licensed under the SIL Open Font License -->
9
+ <link rel="stylesheet" type="text/css" href="{{ pathto('_static/fonts/source-serif-pro/source-serif-pro.css', 1) }}" />
10
+ <link rel="stylesheet" type="text/css" href="{{ pathto('_static/css/bootstrap.min.css', 1) }}" />
11
+ <link rel="stylesheet" type="text/css" href="{{ pathto('_static/css/bootstrap-theme.min.css', 1) }}" />
12
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
13
+ {{ super() }}
14
+ {%- endblock %}
15
+
16
+ {%- block extrahead %}
17
+ {% if theme_touch_icon %}
18
+ <link rel="apple-touch-icon" href="{{ pathto('_static/' ~ theme_touch_icon, 1) }}" />
19
+ {% endif %}
20
+ {{ super() }}
21
+ {% endblock %}
22
+
23
+ {# Displays the URL for the homepage if it's set or the master_doc if it is not #}
24
+ {% macro homepage() -%}
25
+ {%- if theme_homepage %}
26
+ {%- if hasdoc(theme_homepage) %}
27
+ {{ pathto(theme_homepage) }}
28
+ {%- else %}
29
+ {{ theme_homepage }}
30
+ {%- endif %}
31
+ {%- else %}
32
+ {{ pathto(master_doc) }}
33
+ {%- endif %}
34
+ {%- endmacro %}
35
+
36
+ {# Displays the URL for the tospage if it's set or falls back to homepage macro #}
37
+ {% macro tospage() -%}
38
+ {%- if theme_tospage %}
39
+ {%- if hasdoc(theme_tospage) %}
40
+ {{ pathto(theme_tospage) }}
41
+ {%- else %}
42
+ {{ theme_tospage }}
43
+ {%- endif %}
44
+ {%- else %}
45
+ {{ homepage() }}
46
+ {%- endif %}
47
+ {%- endmacro %}
48
+
49
+ {# Displays the URL for the projectpage if it's set or falls back to homepage macro #}
50
+ {% macro projectlink() -%}
51
+ {%- if theme_projectlink %}
52
+ {%- if hasdoc(theme_projectlink) %}
53
+ {{ pathto(theme_projectlink) }}
54
+ {%- else %}
55
+ {{ theme_projectlink }}
56
+ {%- endif %}
57
+ {%- else %}
58
+ {{ homepage() }}
59
+ {%- endif %}
60
+ {%- endmacro %}
61
+
62
+ {# Displays the next and previous links both before and after content #}
63
+ {% macro render_relations() -%}
64
+ {% if prev or next %}
65
+ <div class="footer-relations">
66
+ {% if prev %}
67
+ <div class="pull-left">
68
+ <a class="btn btn-default" href="{{ prev.link|e }}" title="{{ _('previous chapter')}} (use the left arrow)">{{ prev.title }}</a>
69
+ </div>
70
+ {% endif %}
71
+ {%- if next and next.title != '&lt;no title&gt;' %}
72
+ <div class="pull-right">
73
+ <a class="btn btn-default" href="{{ next.link|e }}" title="{{ _('next chapter')}} (use the right arrow)">{{ next.title }}</a>
74
+ </div>
75
+ {%- endif %}
76
+ </div>
77
+ <div class="clearer"></div>
78
+ {% endif %}
79
+ {%- endmacro %}
80
+
81
+ {%- macro guzzle_sidebar() %}
82
+ <div id="left-column">
83
+ <div class="sphinxsidebar">
84
+ {%- if sidebars != None %}
85
+ {#- new style sidebar: explicitly include/exclude templates #}
86
+ {%- for sidebartemplate in sidebars %}
87
+ {%- include sidebartemplate %}
88
+ {%- endfor %}
89
+ {% else %}
90
+ {% include "logo-text.html" %}
91
+ {% include "globaltoc.html" %}
92
+ {% include "searchbox.html" %}
93
+ {%- endif %}
94
+ </div>
95
+ </div>
96
+ {%- endmacro %}
97
+
98
+ {%- block content %}
99
+
100
+ {%- if pagename == 'index' and theme_index_template %}
101
+ {% include theme_index_template %}
102
+ {%- else %}
103
+ <div class="container-wrapper">
104
+
105
+ <div id="mobile-toggle">
106
+ <a href="#"><span class="glyphicon glyphicon-align-justify" aria-hidden="true"></span></a>
107
+ </div>
108
+
109
+ {%- block sidebar1 %}{{ guzzle_sidebar() }}{% endblock %}
110
+
111
+ {%- block document_wrapper %}
112
+ {%- block document %}
113
+ <div id="right-column">
114
+ {% block breadcrumbs %}
115
+ <div role="navigation" aria-label="breadcrumbs navigation">
116
+ <ol class="breadcrumb">
117
+ <li><a href="{{ pathto(master_doc) }}">Docs</a></li>
118
+ {% for doc in parents %}
119
+ <li><a href="{{ doc.link|e }}">{{ doc.title }}</a></li>
120
+ {% endfor %}
121
+ <li>{{ title }}</li>
122
+ </ol>
123
+ </div>
124
+ {% endblock %}
125
+ <div class="document clearer body" role="main">
126
+ {% block body %} {% endblock %}
127
+ </div>
128
+ {%- block bottom_rel_links %}
129
+ {{ render_relations() }}
130
+ {%- endblock %}
131
+ </div>
132
+ <div class="clearfix"></div>
133
+ {%- endblock %}
134
+ {%- endblock %}
135
+
136
+ {%- block comments -%}
137
+ {% if theme_disqus_comments_shortname %}
138
+ <div class="container comment-container">
139
+ {% include "comments.html" %}
140
+ </div>
141
+ {% endif %}
142
+ {%- endblock %}
143
+ </div>
144
+ {%- endif %}
145
+ {%- endblock %}
146
+
147
+ {%- block footer %}
148
+ <script type="text/javascript">
149
+ $("#mobile-toggle a").click(function () {
150
+ $("#left-column").toggle();
151
+ });
152
+ </script>
153
+ <script type="text/javascript" src="{{ pathto('_static/js/bootstrap.js', 1)}}"></script>
154
+ {%- block footer_wrapper %}
155
+ <div class="footer">
156
+ &copy; Copyright {{ copyright }}. Created using <a href="http://sphinx.pocoo.org/">Sphinx</a>.
157
+ </div>
158
+ {%- endblock %}
159
+ {%- block ga %}
160
+ {%- if theme_google_analytics_account %}
161
+ <script type="text/javascript">
162
+ var _gaq = _gaq || [];
163
+ _gaq.push(['_setAccount', '{{ theme_google_analytics_account }}']);
164
+ _gaq.push(['_trackPageview']);
165
+ (function() {
166
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
167
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
168
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
169
+ })();
170
+ </script>
171
+ {%- endif %}
172
+ {%- endblock %}
173
+ {%- endblock %}
@@ -0,0 +1,87 @@
1
+ Binary BorgBackup builds
2
+ ========================
3
+
4
+ The binaries are supposed to work on the specified platform without installing
5
+ any dependencies.
6
+
7
+
8
+ Download the correct files
9
+ --------------------------
10
+
11
+ amd64 / x86_64 architecture
12
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
13
+
14
+ borg-linux-glibc236 Linux (built on Debian 12 "Bookworm" with glibc 2.36)
15
+ borg-linux-glibc231 Linux (built on Debian 11 "Bullseye" with glibc 2.31)
16
+ borg-linux-glibc228 Linux (built on Debian 10 "Buster" with glibc 2.28)
17
+ Note: you can also try them on other Linuxes with other glibc
18
+ versions - as long as the glibc is compatible, they will work.
19
+ If it doesn't work, try a borg 1.2.x binary.
20
+
21
+ borg-macos1012 macOS (built on macOS Sierra 10.12 with latest macFUSE from brew)
22
+ To avoid signing issues download the file via command line OR
23
+ remove the "quarantine" attribute after downloading:
24
+ $ xattr -dr com.apple.quarantine borg-macos.tgz
25
+
26
+ borg-freebsd13 FreeBSD (built on FreeBSD 13)
27
+ borg-freebsd14 FreeBSD (built on FreeBSD 14)
28
+
29
+ *.tgz similar to above, but built as a directory with files,
30
+ not as a single self-extracting binary. using the directory
31
+ build is faster and doesn't need as much space in the temp
32
+ directory as the one-file build.
33
+ *.asc GnuPG signatures for *
34
+
35
+
36
+ Verifying your download
37
+ -----------------------
38
+
39
+ Please check the GPG signature to make sure you received the binary as I have
40
+ built it.
41
+
42
+ To check the GPG signature, download both the binary and the corresponding
43
+ *.asc file and then (on the shell) type, e.g.:
44
+
45
+ gpg --recv-keys 9F88FB52FAF7B393
46
+ gpg --verify borg-freebsd.asc borg-freebsd
47
+
48
+ The files are signed by:
49
+
50
+ Thomas Waldmann <tw@waldmann-edv.de>
51
+ GPG key fingerprint: 6D5B EF9A DD20 7580 5747 B70F 9F88 FB52 FAF7 B393
52
+
53
+ My fingerprint is also in the footer of all my borgbackup mailing list posts.
54
+
55
+
56
+ Installing
57
+ ----------
58
+
59
+ It is suggested that you rename or symlink the binary to just "borg".
60
+ If you need "borgfs", just also symlink it to the same binary, it will
61
+ detect internally under which name it was invoked.
62
+
63
+ On UNIX-like platforms, /usr/local/bin/ or ~/bin/ is a nice place for it,
64
+ but you can invoke it from every place by giving a full path to it.
65
+
66
+ Make sure the file is readable and executable (chmod +rx borg on UNIX-like
67
+ platforms).
68
+
69
+
70
+ Reporting issues
71
+ ----------------
72
+
73
+ Please first check the FAQ and whether a github issue already exists.
74
+
75
+ If you find a NEW issue, please open a ticket on our issue tracker:
76
+
77
+ https://github.com/borgbackup/borg/issues/
78
+
79
+ There, please give:
80
+ - the version number (it is displayed if you invoke borg -V)
81
+ - the sha256sum of the binary
82
+ - a good description of what the issue is
83
+ - a good description of how to reproduce your issue
84
+ - a traceback with system info (if you have one)
85
+ - your precise platform (CPU, 32/64bit?), OS, distribution, release
86
+ - your python and (g)libc version
87
+
@@ -52,8 +52,7 @@ h1 {
52
52
  }
53
53
 
54
54
  .container.experimental,
55
- #debugging-facilities,
56
- #borg-recreate {
55
+ #debugging-facilities {
57
56
  /* don't change text dimensions */
58
57
  margin: 0 -30px; /* padding below + border width */
59
58
  padding: 0 10px; /* 10 px visual margin between edge of text and the border */
@@ -311,8 +311,11 @@ Upgrade Notes
311
311
  borg 1.2.x to 1.4.x
312
312
  -------------------
313
313
 
314
- Coming from borg 1.2 there are no upgrade steps needed - just make sure you
315
- already have done the previous upgrade steps up to 1.2.7.
314
+ If you currently use borg 1.2.5+: no upgrade steps needed (if you already did
315
+ them when upgrading to that version, otherwise see below).
316
+
317
+ If you currently use borg 1.2.0 .. 1.2.4, read and follow "Pre-1.2.5 archives
318
+ spoofing vulnerability (CVE-2023-36811)" section, see the top of this changelog.
316
319
 
317
320
  Compatibility notes:
318
321
 
@@ -411,13 +414,132 @@ Compatibility notes:
411
414
  Change Log
412
415
  ==========
413
416
 
414
-
415
- Version 1.4.0b2 (2024-03-31)
416
- ----------------------------
417
+ Version 1.4.1 (2025-04-19)
418
+ --------------------------
417
419
 
418
420
  For upgrade and compatibility hints, please also read the section "Upgrade Notes"
419
421
  above.
420
422
 
423
+ New features:
424
+
425
+ - prune: add 13weekly and 3monthly quarterly pruning strategies, #8337
426
+ - add BORG_USE_CHUNKS_ARCHIVE env var as a cleaner way to control whether
427
+ borg shall use chunks.archive.d/ cache directory. the previous "hack" to
428
+ create a non-directory file at that place is still supported.
429
+ - compact: support --dry-run (do nothing) to simplify scripting, #8300
430
+ - add {unixtime} placeholder, #8522
431
+ - macOS: retrieve birthtime in nanosecond precision via system call, #8724
432
+ - implement padme chunk size obfuscation (SPEC 250), #8705
433
+
434
+ Fixes:
435
+
436
+ - borg exits when assertions are disabled with Python optimizations, #8649
437
+ - fix remote repository exception handling / modern exit codes, #8631
438
+ - config: fix acceptance of storage_quota 0, #8499
439
+ - config: reject additional_free_space < 10M (but accept 0), #6066
440
+ - check: more consistent messaging considering --repair, #8533
441
+ - yes: deal with UnicodeDecodeError in input(), #6984
442
+ - fix WORKAROUNDS=authenticated_no_key support for archive TAM authentication,
443
+ #8400
444
+ - diff: do not assert on diff if hard link sources are not found due to
445
+ exclusions, #8344
446
+ - diff:
447
+
448
+ - suppress modified changes for files which weren't actually modified in JSON
449
+ output, #8334
450
+ - ensure that 0B changes are hidden from text diffs, too.
451
+ - remove 0-added,0-removed modified entries from JSON output.
452
+ - try to rebuild cache if an exception is raised, #5213
453
+ - freebsd: fix nfs4 acl processing, #8756.
454
+ This issue only affected borg extract --numeric-ids when processing NFS4
455
+ ACLs, it didn't affect POSIX ACL processing.
456
+
457
+ Other changes:
458
+
459
+ - support and test on Python 3.13
460
+ - use Cython 3.0.12
461
+ - filter LibreSSL related warnings on OpenBSD
462
+ - docs:
463
+
464
+ - update install docs, nothing bundled anymore, #8342
465
+ - clarify excluded and included flags for dry-run, #8556
466
+ - small changes regarding compression, #8542
467
+ - clean up entries regarding SSH settings, link to recommended ones, #8542
468
+ - borg/borgfs detects internally under which name it was invoked, #8207
469
+ - binary: using the directory build is faster, #8008
470
+ - add readme of the binaries
471
+ - mount: document on-demand loading, perf tips, #7173
472
+ - better link modern return codes, #8370
473
+ - update repository URLs in docs to use new syntax, #8361
474
+ - align /etc/backups path references in automated backups deployment guide
475
+ - mount docs: apply jdchristensen's suggestion, better phrasing.
476
+ - FAQ: Why is backing up an unmodified FAT filesystem slow on Linux?
477
+ - FAQ: Why are backups slow on a Linux server that is a member of a windows domain?
478
+ - FAQ: add entry about pure-python msgpack warning, #8323
479
+ - modify docs for automated backup to append to SYSTEMD_WANTS rather than overwrite, #8641
480
+ - fix udev rule priority in automated-local.rst, #8639
481
+ - clarify requirements when using command line options with special characters within a shell, #8628
482
+ - work around sudden failure of sphinx ini lexer
483
+ - readthedocs theme fixes
484
+
485
+ - bring back highlighted content preview in search results.
486
+ - fix erroneous warning about missing javascript support.
487
+ - tests:
488
+
489
+ - github CI: windows msys2 build: broken, disable it for now, #8264
490
+ - improve borg check --repair healing tests, #8302
491
+ - fix hourly prune test failure due to local timezone
492
+ - ignore `com.apple.provenance` xattr (macOS specific)
493
+ - vagrant:
494
+
495
+ - pyenv: only use Python 3.11.12, use this for binary build
496
+ - macos: give more memory
497
+ - install rust on BSD
498
+ - add FreeBSD 13 box, for #8266
499
+ - fix OpenBSD box, #8506
500
+ - use a bento/ubuntu-24.04 box for now
501
+
502
+
503
+ Version 1.4.0 (2024-07-03)
504
+ --------------------------
505
+
506
+ Other changes:
507
+
508
+ - vagrant: revive the buster64 box, RHEL8 has same glibc
509
+ - tests: fix pytest_report_header, #8232
510
+ - docs:
511
+
512
+ - mount: add examples using :: positional argument, #8255
513
+ - Installation: update Arch Linux repo name
514
+ - update standalone binary section
515
+
516
+
517
+ Version 1.4.0rc1 (2024-05-26)
518
+ -----------------------------
519
+
520
+ Fixes:
521
+
522
+ - setup.py: fix import error reporting for cythonize import, #8208
523
+ - setup.py: detect noexec build fs issue, #8208
524
+
525
+ Other changes:
526
+
527
+ - changed insufficiently reserved length for log message, #8152
528
+ - use Python 3.11.9, Cython 3.0.10 and PyInstaller 6.7.0 for binary builds
529
+ - docs:
530
+
531
+ - use python 3.9 in cygwin install docs, fixes #8196
532
+ - recreate: remove experimental status
533
+ - github CI: fix PKG_CONFIG_PATH for openssl 3.0
534
+ - vagrant:
535
+
536
+ - add a ubuntu noble (24.04) VM
537
+ - drop buster VM, fixes #8171
538
+
539
+
540
+ Version 1.4.0b2 (2024-03-31)
541
+ ----------------------------
542
+
421
543
  Fixes:
422
544
 
423
545
  - check: fix return code for index entry value discrepancies
@@ -42,7 +42,7 @@ master_doc = 'index'
42
42
 
43
43
  # General information about the project.
44
44
  project = 'Borg - Deduplicating Archiver'
45
- copyright = '2010-2014 Jonas Borgström, 2015-2024 The Borg Collective (see AUTHORS file)'
45
+ copyright = '2010-2014 Jonas Borgström, 2015-2025 The Borg Collective (see AUTHORS file)'
46
46
 
47
47
  # The version info for the project you're documenting, acts as replacement for
48
48
  # |version| and |release|, also used in various other places throughout the
@@ -113,6 +113,7 @@ def set_rst_settings(app):
113
113
 
114
114
 
115
115
  def setup(app):
116
+ app.setup_extension('sphinxcontrib.jquery')
116
117
  app.add_css_file('css/borg.css')
117
118
  app.connect('builder-inited', set_rst_settings)
118
119
 
@@ -258,6 +259,8 @@ extensions = [
258
259
  'sphinx.ext.todo',
259
260
  'sphinx.ext.coverage',
260
261
  'sphinx.ext.viewcode',
262
+ 'sphinxcontrib.jquery', # jquery is not included anymore by default
263
+ 'guzzle_sphinx_theme', # register the theme as an extension to generate a sitemap.xml
261
264
  ]
262
265
 
263
266
  extlinks = {