CHANGES 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297
  1. Borg Changelog
  2. ==============
  3. Version 0.24.0
  4. --------------
  5. New features:
  6. - borg create --chunker-params ... to configure the chunker, fixes #16
  7. (attic #302, attic #300, and somehow also #41).
  8. This can be used to reduce memory usage caused by chunk management overhead,
  9. so borg does not create a huge chunks index/repo index and eats all your RAM
  10. if you back up lots of data in huge files (like VM disk images).
  11. See docs/misc/create_chunker-params.txt for more information.
  12. - borg info now reports chunk counts in the chunk index.
  13. - borg create --compression 0..9 to select zlib compression level, fixes #66
  14. (attic #295).
  15. - borg init --encryption repokey (to store the encryption key into the repo),
  16. deprecate --encryption passphrase, fixes #85
  17. - improve at-end error logging, always log exceptions and set exit_code=1
  18. - LoggedIO: better error checks / exceptions / exception handling
  19. Bug fixes:
  20. - more compatible repository locking code (based on mkdir), maybe fixes #92
  21. (attic #317, attic #201).
  22. - better Exception msg if no Borg is installed on the remote repo server, #56
  23. - create a RepositoryCache implementation that can cope with >2GiB,
  24. fixes attic #326.
  25. - fix Traceback when running check --repair, attic #232
  26. - clarify help text, fixes #73.
  27. Other changes:
  28. - improved docs:
  29. - added docs/misc directory for misc. writeups that won't be included
  30. "as is" into the html docs.
  31. - document environment variables and return codes (attic #324, attic #52)
  32. - web site: add related projects, fix web site url, IRC #borgbackup
  33. - Fedora/Fedora-based install instructions added to docs
  34. - Cygwin-based install instructions added to docs
  35. - updated AUTHORS
  36. - add FAQ entries about redundancy / integrity
  37. - clarify that borg extract uses the cwd as extraction target
  38. - update internals doc about chunker params, memory usage and compression
  39. - use borg-tmp as prefix for temporary files / directories
  40. - short prune options without "keep-" are deprecated, do not suggest them
  41. - improved tox configuration, documented there how to invoke it
  42. - remove usage of unittest.mock, always use mock from pypi
  43. - use entrypoints instead of scripts, for better use of the wheel format and
  44. modern installs
  45. I forgot to list some stuff already implemented in 0.23.0, here they are:
  46. New features:
  47. - efficient archive list from manifest, meaning a big speedup for slow
  48. repo connections and "list <repo>", "delete <repo>", "prune" (attic #242,
  49. attic #167)
  50. - big speedup for chunks cache sync (esp. for slow repo connections), fixes #18
  51. - hashindex: improve error messages
  52. Other changes:
  53. - explicitly specify binary mode to open binary files
  54. - some easy micro optimizations
  55. Version 0.23.0
  56. --------------
  57. Incompatible changes (compared to attic, fork related):
  58. - changed sw name and cli command to "borg", updated docs
  59. - package name (and name in urls) uses "borgbackup" to have less collisions
  60. - changed repo / cache internal magic strings from ATTIC* to BORG*,
  61. changed cache location to .cache/borg/ - this means that it currently won't
  62. accept attic repos (see issue #21 about improving that)
  63. Bug fixes:
  64. - avoid defect python-msgpack releases, fixes attic #171, fixes attic #185
  65. - fix traceback when trying to do unsupported passphrase change, fixes attic #189
  66. - datetime does not like the year 10.000, fixes attic #139
  67. - fix "info" all archives stats, fixes attic #183
  68. - fix parsing with missing microseconds, fixes attic #282
  69. - fix misleading hint the fuse ImportError handler gave, fixes attic #237
  70. - check unpacked data from RPC for tuple type and correct length, fixes attic #127
  71. - fix Repository._active_txn state when lock upgrade fails
  72. - give specific path to xattr.is_enabled(), disable symlink setattr call that
  73. always fails
  74. - fix test setup for 32bit platforms, partial fix for attic #196
  75. - upgraded versioneer, PEP440 compliance, fixes attic #257
  76. New features:
  77. - less memory usage: add global option --no-cache-files
  78. - check --last N (only check the last N archives)
  79. - check: sort archives in reverse time order
  80. - rename repo::oldname newname (rename repository)
  81. - create -v output more informative
  82. - create --progress (backup progress indicator)
  83. - create --timestamp (utc string or reference file/dir)
  84. - create: if "-" is given as path, read binary from stdin
  85. - extract: if --stdout is given, write all extracted binary data to stdout
  86. - extract --sparse (simple sparse file support)
  87. - extra debug information for 'fread failed'
  88. - delete <repo> (deletes whole repo + local cache)
  89. - FUSE: reflect deduplication in allocated blocks
  90. - only allow whitelisted RPC calls in server mode
  91. - normalize source/exclude paths before matching
  92. - use posix_fadvise to not spoil the OS cache, fixes attic #252
  93. - toplevel error handler: show tracebacks for better error analysis
  94. - sigusr1 / sigint handler to print current file infos - attic PR #286
  95. - RPCError: include the exception args we get from remote
  96. Other changes:
  97. - source: misc. cleanups, pep8, style
  98. - docs and faq improvements, fixes, updates
  99. - cleanup crypto.pyx, make it easier to adapt to other AES modes
  100. - do os.fsync like recommended in the python docs
  101. - source: Let chunker optionally work with os-level file descriptor.
  102. - source: Linux: remove duplicate os.fsencode calls
  103. - source: refactor _open_rb code a bit, so it is more consistent / regular
  104. - source: refactor indicator (status) and item processing
  105. - source: use py.test for better testing, flake8 for code style checks
  106. - source: fix tox >=2.0 compatibility (test runner)
  107. - pypi package: add python version classifiers, add FreeBSD to platforms
  108. Attic Changelog
  109. ===============
  110. Here you can see the full list of changes between each Attic release until Borg
  111. forked from Attic:
  112. Version 0.17
  113. ------------
  114. (bugfix release, released on X)
  115. - Fix hashindex ARM memory alignment issue (#309)
  116. - Improve hashindex error messages (#298)
  117. Version 0.16
  118. ------------
  119. (bugfix release, released on May 16, 2015)
  120. - Fix typo preventing the security confirmation prompt from working (#303)
  121. - Improve handling of systems with improperly configured file system encoding (#289)
  122. - Fix "All archives" output for attic info. (#183)
  123. - More user friendly error message when repository key file is not found (#236)
  124. - Fix parsing of iso 8601 timestamps with zero microseconds (#282)
  125. Version 0.15
  126. ------------
  127. (bugfix release, released on Apr 15, 2015)
  128. - xattr: Be less strict about unknown/unsupported platforms (#239)
  129. - Reduce repository listing memory usage (#163).
  130. - Fix BrokenPipeError for remote repositories (#233)
  131. - Fix incorrect behavior with two character directory names (#265, #268)
  132. - Require approval before accessing relocated/moved repository (#271)
  133. - Require approval before accessing previously unknown unencrypted repositories (#271)
  134. - Fix issue with hash index files larger than 2GB.
  135. - Fix Python 3.2 compatibility issue with noatime open() (#164)
  136. - Include missing pyx files in dist files (#168)
  137. Version 0.14
  138. ------------
  139. (feature release, released on Dec 17, 2014)
  140. - Added support for stripping leading path segments (#95)
  141. "attic extract --strip-segments X"
  142. - Add workaround for old Linux systems without acl_extended_file_no_follow (#96)
  143. - Add MacPorts' path to the default openssl search path (#101)
  144. - HashIndex improvements, eliminates unnecessary IO on low memory systems.
  145. - Fix "Number of files" output for attic info. (#124)
  146. - limit create file permissions so files aren't read while restoring
  147. - Fix issue with empty xattr values (#106)
  148. Version 0.13
  149. ------------
  150. (feature release, released on Jun 29, 2014)
  151. - Fix sporadic "Resource temporarily unavailable" when using remote repositories
  152. - Reduce file cache memory usage (#90)
  153. - Faster AES encryption (utilizing AES-NI when available)
  154. - Experimental Linux, OS X and FreeBSD ACL support (#66)
  155. - Added support for backup and restore of BSDFlags (OSX, FreeBSD) (#56)
  156. - Fix bug where xattrs on symlinks were not correctly restored
  157. - Added cachedir support. CACHEDIR.TAG compatible cache directories
  158. can now be excluded using ``--exclude-caches`` (#74)
  159. - Fix crash on extreme mtime timestamps (year 2400+) (#81)
  160. - Fix Python 3.2 specific lockf issue (EDEADLK)
  161. Version 0.12
  162. ------------
  163. (feature release, released on April 7, 2014)
  164. - Python 3.4 support (#62)
  165. - Various documentation improvements a new style
  166. - ``attic mount`` now supports mounting an entire repository not only
  167. individual archives (#59)
  168. - Added option to restrict remote repository access to specific path(s):
  169. ``attic serve --restrict-to-path X`` (#51)
  170. - Include "all archives" size information in "--stats" output. (#54)
  171. - Added ``--stats`` option to ``attic delete`` and ``attic prune``
  172. - Fixed bug where ``attic prune`` used UTC instead of the local time zone
  173. when determining which archives to keep.
  174. - Switch to SI units (Power of 1000 instead 1024) when printing file sizes
  175. Version 0.11
  176. ------------
  177. (feature release, released on March 7, 2014)
  178. - New "check" command for repository consistency checking (#24)
  179. - Documentation improvements
  180. - Fix exception during "attic create" with repeated files (#39)
  181. - New "--exclude-from" option for attic create/extract/verify.
  182. - Improved archive metadata deduplication.
  183. - "attic verify" has been deprecated. Use "attic extract --dry-run" instead.
  184. - "attic prune --hourly|daily|..." has been deprecated.
  185. Use "attic prune --keep-hourly|daily|..." instead.
  186. - Ignore xattr errors during "extract" if not supported by the filesystem. (#46)
  187. Version 0.10
  188. ------------
  189. (bugfix release, released on Jan 30, 2014)
  190. - Fix deadlock when extracting 0 sized files from remote repositories
  191. - "--exclude" wildcard patterns are now properly applied to the full path
  192. not just the file name part (#5).
  193. - Make source code endianness agnostic (#1)
  194. Version 0.9
  195. -----------
  196. (feature release, released on Jan 23, 2014)
  197. - Remote repository speed and reliability improvements.
  198. - Fix sorting of segment names to ignore NFS left over files. (#17)
  199. - Fix incorrect display of time (#13)
  200. - Improved error handling / reporting. (#12)
  201. - Use fcntl() instead of flock() when locking repository/cache. (#15)
  202. - Let ssh figure out port/user if not specified so we don't override .ssh/config (#9)
  203. - Improved libcrypto path detection (#23).
  204. Version 0.8.1
  205. -------------
  206. (bugfix release, released on Oct 4, 2013)
  207. - Fix segmentation fault issue.
  208. Version 0.8
  209. -----------
  210. (feature release, released on Oct 3, 2013)
  211. - Fix xattr issue when backing up sshfs filesystems (#4)
  212. - Fix issue with excessive index file size (#6)
  213. - Support access of read only repositories.
  214. - New syntax to enable repository encryption:
  215. attic init --encryption="none|passphrase|keyfile".
  216. - Detect and abort if repository is older than the cache.
  217. Version 0.7
  218. -----------
  219. (feature release, released on Aug 5, 2013)
  220. - Ported to FreeBSD
  221. - Improved documentation
  222. - Experimental: Archives mountable as fuse filesystems.
  223. - The "user." prefix is no longer stripped from xattrs on Linux
  224. Version 0.6.1
  225. -------------
  226. (bugfix release, released on July 19, 2013)
  227. - Fixed an issue where mtime was not always correctly restored.
  228. Version 0.6
  229. -----------
  230. First public release on July 9, 2013