|  | @@ -133,16 +133,143 @@ Version 1.1.0b4 (not released yet)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  Compatibility notes:
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -- Moved "borg migrate-to-repokey" to "borg key migrate-to-repokey".
 | 
	
		
			
				|  |  | -- "borg change-passphrase" is deprecated, use "borg key change-passphrase" instead.
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -New features:
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +- init: the --encryption argument is mandatory now (there are several choices)
 | 
	
		
			
				|  |  | +- moved "borg migrate-to-repokey" to "borg key migrate-to-repokey".
 | 
	
		
			
				|  |  | +- "borg change-passphrase" is deprecated, use "borg key change-passphrase"
 | 
	
		
			
				|  |  | +  instead.
 | 
	
		
			
				|  |  |  - the --exclude-if-present option now supports tagging a folder with any
 | 
	
		
			
				|  |  |    filesystem object type (file, folder, etc), instead of expecting only files
 | 
	
		
			
				|  |  |    as tags, #1999
 | 
	
		
			
				|  |  | -- the --keep-tag-files option has been deprecated in favor of the new 
 | 
	
		
			
				|  |  | +- the --keep-tag-files option has been deprecated in favor of the new
 | 
	
		
			
				|  |  |    --keep-exclude-tags, to account for the change mentioned above.
 | 
	
		
			
				|  |  | +- use lz4 compression by default, #2179
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +New features:
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +- JSON API to make developing frontends and automation easier
 | 
	
		
			
				|  |  | +  (see :ref:`json_output`)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  - add JSON output to commands: `borg create/list/info --json ...`.
 | 
	
		
			
				|  |  | +  - add --log-json option for structured logging output.
 | 
	
		
			
				|  |  | +  - add JSON progress information, JSON support for confirmations (yes()).
 | 
	
		
			
				|  |  | +- add two new options --pattern and --patterns-from as discussed in #1406
 | 
	
		
			
				|  |  | +- new path full match pattern style (pf:) for very fast matching, #2334
 | 
	
		
			
				|  |  | +- add 'debug dump-manifest' and 'debug dump-archive' commands
 | 
	
		
			
				|  |  | +- add 'borg benchmark crud' command, #1788
 | 
	
		
			
				|  |  | +- new 'borg delete --force --force' to delete severely corrupted archives, #1975
 | 
	
		
			
				|  |  | +- info: show utilization of maximum archive size, #1452
 | 
	
		
			
				|  |  | +- list: add dsize and dcsize keys, #2164
 | 
	
		
			
				|  |  | +- paperkey.html: Add interactive html template for printing key backups.
 | 
	
		
			
				|  |  | +- key export: add qr html export mode
 | 
	
		
			
				|  |  | +- securely erase config file (which might have old encryption key), #2257
 | 
	
		
			
				|  |  | +- archived file items: add size to metadata, 'borg extract' and 'borg check' do
 | 
	
		
			
				|  |  | +  check the file size for consistency, FUSE uses precomputed size from Item.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +Fixes:
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +- fix remote speed regression introduced in 1.1.0b3, #2185
 | 
	
		
			
				|  |  | +- fix regression handling timestamps beyond 2262 (revert bigint removal),
 | 
	
		
			
				|  |  | +  introduced in 1.1.0b3, #2321
 | 
	
		
			
				|  |  | +- clamp (nano)second values to unproblematic range, #2304
 | 
	
		
			
				|  |  | +- hashindex: rebuild hashtable if we have too little empty buckets
 | 
	
		
			
				|  |  | +  (performance fix), #2246
 | 
	
		
			
				|  |  | +- Location regex: fix bad parsing of wrong syntax
 | 
	
		
			
				|  |  | +- ignore posix_fadvise errors in repository.py, #2095
 | 
	
		
			
				|  |  | +- borg rpc: use limited msgpack.Unpacker (security precaution), #2139
 | 
	
		
			
				|  |  | +- Manifest: Make sure manifest timestamp is strictly monotonically increasing.
 | 
	
		
			
				|  |  | +- create: handle BackupOSError on a per-path level in one spot
 | 
	
		
			
				|  |  | +- create: clarify -x option / meaning of "same filesystem"
 | 
	
		
			
				|  |  | +- create: don't create hard link refs to failed files
 | 
	
		
			
				|  |  | +- archive check: detect and fix missing all-zero replacement chunks, #2180
 | 
	
		
			
				|  |  | +- files cache: update inode number when --ignore-inode is used, #2226
 | 
	
		
			
				|  |  | +- fix decompression exceptions crashing ``check --verify-data`` and others
 | 
	
		
			
				|  |  | +  instead of reporting integrity error, #2224 #2221
 | 
	
		
			
				|  |  | +- extract: warning for unextracted big extended attributes, #2258, #2161
 | 
	
		
			
				|  |  | +- mount: umount on SIGINT/^C when in foreground
 | 
	
		
			
				|  |  | +- mount: handle invalid hard link refs
 | 
	
		
			
				|  |  | +- mount: fix huge RAM consumption when mounting a repository (saves number of
 | 
	
		
			
				|  |  | +  archives * 8 MiB), #2308
 | 
	
		
			
				|  |  | +- hashindex: detect mingw byte order #2073
 | 
	
		
			
				|  |  | +- hashindex: fix wrong skip_hint on hashindex_set when encountering tombstones,
 | 
	
		
			
				|  |  | +  the regression was introduced in #1748
 | 
	
		
			
				|  |  | +- fix ChunkIndex.__contains__ assertion  for big-endian archs
 | 
	
		
			
				|  |  | +- fix borg key/debug/benchmark crashing without subcommand, #2240
 | 
	
		
			
				|  |  | +- Location: accept //servername/share/path
 | 
	
		
			
				|  |  | +- correct/refactor calculation of unique/non-unique chunks
 | 
	
		
			
				|  |  | +- extract: fix missing call to ProgressIndicator.finish
 | 
	
		
			
				|  |  | +- prune: fix error msg, it is --keep-within, not --within
 | 
	
		
			
				|  |  | +- fix "auto" compression mode bug (not compressing), #2331
 | 
	
		
			
				|  |  | +- fix symlink item fs size computation, #2344
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +Other changes:
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +- remote repository: improved async exception processing, #2255 #2225
 | 
	
		
			
				|  |  | +- with --compression auto,C, only use C if lz4 achieves at least 3% compression
 | 
	
		
			
				|  |  | +- PatternMatcher: only normalize path once, #2338
 | 
	
		
			
				|  |  | +- hashindex: separate endian-dependent defs from endian detection
 | 
	
		
			
				|  |  | +- migrate-to-repokey: ask using canonical_path() as we do everywhere else.
 | 
	
		
			
				|  |  | +- SyncFile: fix use of fd object after close
 | 
	
		
			
				|  |  | +- make LoggedIO.close_segment reentrant
 | 
	
		
			
				|  |  | +- creating a new segment: use "xb" mode, #2099
 | 
	
		
			
				|  |  | +- redo key_creator, key_factory, centralise key knowledge, #2272
 | 
	
		
			
				|  |  | +- add return code functions, #2199
 | 
	
		
			
				|  |  | +- list: only load cache if needed
 | 
	
		
			
				|  |  | +- list: files->items, clarifications
 | 
	
		
			
				|  |  | +- list: add "name" key for consistency with info cmd
 | 
	
		
			
				|  |  | +- ArchiveFormatter: add "start" key for compatibility with "info"
 | 
	
		
			
				|  |  | +- RemoteRepository: account rx/tx bytes
 | 
	
		
			
				|  |  | +- setup.py build_usage/build_man/build_api fixes
 | 
	
		
			
				|  |  | +- Manifest.in: simplify, exclude *.{so,dll,orig}, #2066
 | 
	
		
			
				|  |  | +- FUSE: get rid of chunk accounting, st_blocks = ceil(size / blocksize).
 | 
	
		
			
				|  |  | +- tests:
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  - help python development by testing 3.6-dev
 | 
	
		
			
				|  |  | +  - test for borg delete --force
 | 
	
		
			
				|  |  | +- vagrant:
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  - freebsd: some fixes, #2067
 | 
	
		
			
				|  |  | +  - darwin64: use osxfuse 3.5.4 for tests / to build binaries
 | 
	
		
			
				|  |  | +  - darwin64: improve VM settings
 | 
	
		
			
				|  |  | +  - use python 3.5.3 to build binaries, #2078
 | 
	
		
			
				|  |  | +  - upgrade pyinstaller from 3.1.1+ to 3.2.1
 | 
	
		
			
				|  |  | +  - pyinstaller: use fixed AND freshly compiled bootloader, #2002
 | 
	
		
			
				|  |  | +  - pyinstaller: automatically builds bootloader if missing
 | 
	
		
			
				|  |  | +- docs:
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  - create really nice man pages
 | 
	
		
			
				|  |  | +  - faq: mention --remote-ratelimit in bandwidth limit question
 | 
	
		
			
				|  |  | +  - fix caskroom link, #2299
 | 
	
		
			
				|  |  | +  - docs/security: reiterate that RPC in Borg does no networking
 | 
	
		
			
				|  |  | +  - docs/security: counter tracking, #2266
 | 
	
		
			
				|  |  | +  - docs/development: update merge remarks
 | 
	
		
			
				|  |  | +  - address SSH batch mode in docs, #2202 #2270
 | 
	
		
			
				|  |  | +  - add warning about running build_usage on Python >3.4, #2123
 | 
	
		
			
				|  |  | +  - one link per distro in the installation page
 | 
	
		
			
				|  |  | +  - improve --exclude-if-present and --keep-exclude-tags, #2268
 | 
	
		
			
				|  |  | +  - improve automated backup script in doc, #2214
 | 
	
		
			
				|  |  | +  - improve remote-path description
 | 
	
		
			
				|  |  | +  - update docs for create -C default change (lz4)
 | 
	
		
			
				|  |  | +  - document relative path usage, #1868
 | 
	
		
			
				|  |  | +  - document snapshot usage, #2178
 | 
	
		
			
				|  |  | +  - corrected some stuff in internals+security
 | 
	
		
			
				|  |  | +  - internals: move toctree to after the introduction text
 | 
	
		
			
				|  |  | +  - clarify metadata kind, manifest ops
 | 
	
		
			
				|  |  | +  - key enc: correct / clarify some stuff, link to internals/security
 | 
	
		
			
				|  |  | +  - datas: enc: 1.1.x mas different MACs
 | 
	
		
			
				|  |  | +  - datas: enc: correct factual error -- no nonce involved there.
 | 
	
		
			
				|  |  | +  - make internals.rst an index page and edit it a bit
 | 
	
		
			
				|  |  | +  - add "Cryptography in Borg" and "Remote RPC protocol security" sections
 | 
	
		
			
				|  |  | +  - document BORG_HOSTNAME_IS_UNIQUE, #2087
 | 
	
		
			
				|  |  | +  - FAQ by categories as proposed by @anarcat in #1802
 | 
	
		
			
				|  |  | +  - FAQ: update Which file types, attributes, etc. are *not* preserved?
 | 
	
		
			
				|  |  | +  - development: new branching model for git repository
 | 
	
		
			
				|  |  | +  - development: define "ours" merge strategy for auto-generated files
 | 
	
		
			
				|  |  | +  - create: move --exclude note to main doc
 | 
	
		
			
				|  |  | +  - create: move item flags to main doc
 | 
	
		
			
				|  |  | +  - fix examples using borg init without -e/--encryption
 | 
	
		
			
				|  |  | +  - list: don't print key listings in fat (html + man)
 | 
	
		
			
				|  |  | +  - remove Python API docs (were very incomplete, build problems on RTFD)
 | 
	
		
			
				|  |  | +  - added FAQ section about backing up root partition
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  Version 1.0.10 (2017-02-13)
 |