mirror of
https://github.com/borgbackup/borg.git
synced 2026-10-12 02:11:36 +00:00
Merge pull request #10413 from ThomasWaldmann/update-changes-master
update CHANGES
This commit is contained in:
+31
-21
@@ -175,15 +175,11 @@ Breaking changes (you must create new repos for b25):
|
||||
are also given there as plain text.
|
||||
- store hash: use the much faster pure software blake3 hash instead of sha256
|
||||
to name content-addressed objects in the store.
|
||||
- index and cache store objects are protected by the repository key now:
|
||||
encrypted and authenticated in the encrypting modes, authenticated only in
|
||||
the authenticated modes, #9819, #10235.
|
||||
- drop OBJ_VERSION_NO_HEADER_AAD (pack object format v1) support, #9973
|
||||
- KeyType: renumber the authenticated-* key types to 0x50 / 0x60
|
||||
- the index/ fragments and the cache/checked-packs and cache/referenced-by-archive.*
|
||||
store objects are protected by the repository key now, like the objects in the
|
||||
packs: encrypted and authenticated in the encrypting modes, authenticated only in
|
||||
the authenticated-* modes, #9819, #10235. A corrupt chunk index (a fragment that
|
||||
fails the authentication) aborts the commands that need it, run
|
||||
"borg check --repair" to rebuild it (borg compact and borg repo-compress rebuild
|
||||
it, too).
|
||||
- KeyType: renumber the authenticated key types to 0x50 / 0x60
|
||||
|
||||
New features:
|
||||
|
||||
@@ -191,16 +187,17 @@ New features:
|
||||
- diff --stats: show a summary of the differences, #796
|
||||
- repo-info: show whether the key uses an empty passphrase, #9072
|
||||
- the "previously unknown unencrypted repository" warning now says why the repository
|
||||
is considered unencrypted: a none-* / authenticated-* mode (no data encryption) or a
|
||||
is considered unencrypted: an authenticated mode (no data encryption) or a
|
||||
repokey with an empty passphrase, #9072
|
||||
- mount: support Windows using WinFsp (via mfusepy), #2316
|
||||
- import-tar --strip-components: strip leading path components, #6461
|
||||
- add the BORG_NEW_PASSCOMMAND and BORG_NEW_PASSPHRASE_FD env vars
|
||||
|
||||
Fixes:
|
||||
|
||||
- crypto: the AEAD ciphers (AES-OCB, ChaCha20-Poly1305) feed their input to OpenSSL in
|
||||
chunks, so a message of 2 GiB or more does not fail with SystemError (or get
|
||||
truncated above 4 GiB) any more: the OpenSSL update calls take an int length.
|
||||
<= 1GB chunks, to overcome the 32bit size limit of the OpenSSL API.
|
||||
- repository: raise DoesNotExist for a missing rest:// repo, #10365
|
||||
- extract: do not abort on corrupted chunks, replace them by all-zero data with a warning, #840
|
||||
- compact:
|
||||
|
||||
- build the chunk index once, not three times
|
||||
@@ -210,10 +207,15 @@ Fixes:
|
||||
- use one chunk index for the checker and the repository, #10364
|
||||
- --repair: validate the repository index rebuild with the key, #9901
|
||||
- --repair: misc. other improvements and fixes, #8476
|
||||
- Repository: don't mask the original exception when unwinding with buffered
|
||||
- repository: don't mask the original exception when unwinding with buffered
|
||||
chunks
|
||||
- treat an empty BORG_ZSTD_MT_WORKERS as unset (an empty value made borg fail)
|
||||
- extract: report a failing close() of an extracted file as a warning
|
||||
- extract:
|
||||
|
||||
- do not abort on corrupted chunks, replace them with all-zero data and warn, #840
|
||||
- report a failing close() of an extracted file as a warning
|
||||
- refuse to extract into a non-empty directory, #10057
|
||||
- --continue: keep groups of hard links together
|
||||
- prepare_subprocess_env: remove all passphrase-related env vars, #6480
|
||||
- mount: mfusepy: pass the libfuse options as keyword arguments, fix getattr with a file handle
|
||||
- index rebuild: abort cleanly on a corrupt object header, #10122
|
||||
@@ -223,6 +225,7 @@ Fixes:
|
||||
- do not report a merely touched file as modified when the chunker params
|
||||
differ, #10351
|
||||
- report a file as modified when chunks were reordered or duplicated
|
||||
- import-tar: show the stored paths in the file status output
|
||||
|
||||
Other changes:
|
||||
|
||||
@@ -237,13 +240,16 @@ Other changes:
|
||||
- bundle only needed botocore models
|
||||
|
||||
- compress: reuse the zstd compressor per thread, improving throughput especially
|
||||
for big chunks at high-speed, low-compression zstd levels
|
||||
- add_warning: store exceptions given as args as text, not the exception object -
|
||||
reduces memory usage when there are many warnings
|
||||
for big chunks at fast, low-compression zstd levels
|
||||
- add_warning: store exceptions given as args as text, not as exception objects,
|
||||
reducing memory usage when there are many warnings
|
||||
- check:
|
||||
|
||||
- do not reject items with unknown keys, drop item_keys from the manifest
|
||||
- resync on any item-key-like first key, not only on known keys
|
||||
- always require the borg key (now needed to access cache and index)
|
||||
- --repair: re-read only the packs the repair wrote, #8466
|
||||
- make the chunk index rebuild interruptible, #10042
|
||||
- remove the repository feature flags mechanism (used to be in the manifest,
|
||||
but was never really used)
|
||||
- security: drop the manifest timestamp replay check (not needed any more)
|
||||
@@ -254,11 +260,15 @@ Other changes:
|
||||
- fix two inaccuracies in the borg diff JSON docs, #7486
|
||||
- an empty passphrase can be replaced later with ``borg key change-passphrase``, #9072
|
||||
- FAQ about deduplicating related repositories on the filesystem, see #9104
|
||||
- derive the borg passphrase from a YubiKey (challenge-response), #4549
|
||||
- protect the borg passphrase with age (which also supports crypto tokens,
|
||||
TPM, Apple Secure Enclave, ... via age plugins), #4549
|
||||
- tests:
|
||||
|
||||
- add an archiver level test for BORG_WORKAROUNDS=authenticated_no_key
|
||||
- add an archiver-level test for BORG_WORKAROUNDS=authenticated_no_key
|
||||
(make sure an authenticated mode repository can be read using this
|
||||
workaround, even if the key or passphrase is lost)
|
||||
- CI: run the S3 tests against moto instead of MinIO, #10361
|
||||
|
||||
|
||||
Version 2.0.0b24 (2026-09-02)
|
||||
@@ -388,7 +398,7 @@ Other changes:
|
||||
- fix OpenSSL, rclone and IV details in internals/security.rst
|
||||
- update the mount -o versions example to the current naming
|
||||
- fix the man page install command in installation.rst
|
||||
- fix BORG_ASSERT_ID claims about authenticated-* and none-* modes
|
||||
- fix BORG_ASSERT_ID claims about authenticated and none modes
|
||||
- point borg delete -a pattern help at the match-archives topic
|
||||
|
||||
|
||||
@@ -439,7 +449,7 @@ New features:
|
||||
- analyze: report deduplicated size of a set of archives, #5741, #9992
|
||||
- compression: support zstd's negative ("fast") levels, ``zstd,-1`` .. ``zstd,-128``, #9950.
|
||||
They trade compression ratio for speed. Compatible with existing repositories.
|
||||
- create --encryption: new none-* and authenticated-* modes, #9104.
|
||||
- create --encryption: new none and authenticated modes, #9104.
|
||||
Uses either sha256 or blake3, improves authentication and checksumming capabilities.
|
||||
- create: --map and --reuse-from for efficient block device snapshot backups.
|
||||
Adds the lvm-thin-map.py script to generate input maps from thin_dump XML, see #4363.
|
||||
@@ -1490,7 +1500,7 @@ Other changes:
|
||||
when borg does not need to read borg 1.x repos/archives anymore, after
|
||||
users have transferred their archives, even much more can be removed.
|
||||
- docs: updated / removed outdated stuff
|
||||
- renamed r* commands to repo-*
|
||||
- renamed r... commands to repo-...
|
||||
|
||||
|
||||
Version 2.0.0b9 (2024-07-20)
|
||||
|
||||
Reference in New Issue
Block a user