Merge pull request #9599 from ThomasWaldmann/update-changes-1.4
Some checks are pending
CI / lint (push) Waiting to run
CI / asan_ubsan (push) Blocked by required conditions
CI / native_tests (push) Blocked by required conditions
CI / vm_tests (Haiku, false, haiku, r1beta5) (push) Blocked by required conditions
CI / vm_tests (NetBSD, false, netbsd, 10.1) (push) Blocked by required conditions
CI / vm_tests (OpenBSD, false, openbsd, 7.7) (push) Blocked by required conditions
CI / vm_tests (borg-freebsd-14-x86_64-gh, FreeBSD, true, freebsd, 14.3) (push) Blocked by required conditions
CodeQL / Analyze (push) Waiting to run
Windows CI / msys2-ucrt64 (push) Waiting to run

update CHANGES
This commit is contained in:
TW 2026-05-10 18:05:33 +02:00 committed by GitHub
commit 1e9eddecb3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -414,14 +414,64 @@ Compatibility notes:
Change Log
==========
Version 1.4.4 (2026-03-19)
--------------------------
Version 1.4.5 (not released yet)
--------------------------------
For upgrade and compatibility hints, please also read the "Upgrade Notes" section
above.
New features:
- create/import-tar --quick-stats: faster than --stats by omitting "All archives"
and repository chunks statistics, #9579
Fixes:
- hashindex: fix new checks for big endian archs, #9521
Note: Many of the fixed issues below here relate to rather rare or theoretical
issues and were found by automated code checking.
- LRUCache: resolve KeyError and memory leaks, #9587
- crypto.low_level: fix freeing of memory, #9585
- extract: resolve memory leak on abandoned async requests in RemoteRepository, #9588.
This can happen if borg fails to extract a file due to permission or other errors
or if the archived file had all-zero replacement chunks or inconsistent size.
- Chunker fixes, #9586:
- Better check the return value of fd.read(n) and reject if it returns more
bytes than requested.
- Avoid giving len <= 0 to posix_fadvise(), which could drop the rest of the
file from the cache.
- buzhash: check for len == 0 edge case
- Correctly Py_DECREF in cases of errors.
- Check for malloc/calloc failures.
- Hashindex fixes, #9575:
- Make it possible to lookup in compacted hashtables.
- Avoid buckets_length integer overflow on 32-bit systems via huge num_buckets.
- Deal safely with empty index: we must use num_buckets = 1 to avoid division
by zero and sanity check in hashindex_read.
- Always initialize min_empty and num_empty.
- Reinitialize upper/lower limit and min_empty after compact.
- Fix size_idx / fit_size / grow_size / shrink_size (mind array bounds).
- Deal with growing when already at max capacity.
- hashindex_resize: replace num_entries assertion, rather return error.
- Correctly free memory when header validation fails.
- BaseIndex.clear: always stay in valid state.
Do not free the old index before we successfully have allocated a new one.
Other changes:
- use F_FULLFSYNC on macOS for SyncFile data durability, #9383
- mount: improve error msg when uid/gid cannot be resolved, #9574
Version 1.4.4 (2026-03-19)
--------------------------
New features:
- prune: added -v / --info output, #9262.
- mount: warn about symlinks pointing outside of the mount point, #9254.
- create/info: remember/show cwd at the time of archive creation, #6191.