Skip to content

Commit 94de5ae

Browse files
Merge pull request #9807 from ThomasWaldmann/update-changes-1.4
Update changes (1.4-maint)
2 parents 5bfbfac + 038b130 commit 94de5ae

43 files changed

Lines changed: 156 additions & 53 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/changes.rst

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -422,25 +422,28 @@ above.
422422

423423
New features:
424424

425-
- create/import-tar --quick-stats: faster than --stats by omitting "All archives"
426-
and repository chunk statistics, #9579
427-
- delete/prune --quick-stats: faster than --stats by omitting "All archives" statistics, #9757
425+
- create/import-tar/delete/prune --quick-stats: faster than --stats by omitting "All archives"
426+
and repository chunk statistics, #9579, #9757
428427
- prune: show total vs matching archives in output, #9262
428+
- create --exclude-dataless: macOS: skip cloud files not materialized locally, #9746
429429
- Minimal implementation of "related repositories", #9645
430430

431-
This feature allows multiple repositories to share deduplication-relevant secrets (id_key and chunk_seed) while maintaining secure, independent encryption keys.
431+
This feature allows multiple repositories to share deduplication-relevant secrets
432+
(id_key and chunk_seed) while maintaining secure, independent encryption keys.
432433

433434
- borg key export-related-secrets <REPO> <SPATH>
434435
- borg init --import-related-secrets <SPATH> <REPO>
435436

436-
437437
Fixes:
438438

439-
- hashindex: fix new checks for big endian archs, #9521
439+
- Archive.delete: don't reuse msgpack Unpacker after an unpacking failure
440440
- slashdot hack: fix exclusion of source directory metadata, #9534
441+
- hashindex: fix new checks for big endian archs, #9521
441442

442-
Note: Many of the fixed issues listed below relate to rather rare or theoretical
443-
issues and were found by automated code checking.
443+
Note:
444+
445+
Many of the fixed issues listed below relate to rather rare or theoretical
446+
issues and were found by automated code checking.
444447

445448
- LRUCache: resolve KeyError and memory leaks, #9587
446449
- crypto.low_level: fix freeing of memory, #9585
@@ -473,10 +476,15 @@ Note: Many of the fixed issues listed below relate to rather rare or theoretical
473476

474477
Other changes:
475478

476-
- msgpack: also allow 1.2.0 and 1.2.1
479+
- msgpack: also allow up to 1.2.1
477480
- use F_FULLFSYNC on macOS for SyncFile data durability, #9383
478481
- mount: improve error msg when uid/gid cannot be resolved, #9574
482+
- properly handle invalid and dev versions in version parser, fixes #9014
483+
- tests: reset borg.output.progress logger between tests to fix flakiness
479484
- docs:
485+
486+
- borgbackup.readthedocs.io: offer PDF and html downloads in sidebar, #9731
487+
- fix 'borg key change-passphrase' docs, #9697
480488
- impact of the slashdot hack on pattern matching, #9647
481489
- pull-backup.rst minor fixes
482490
- sshfs + chroot does not support different CPU architectures, #6878
@@ -490,6 +498,7 @@ Other changes:
490498
- improve macOS Keychain instructions, #5156
491499
- add DoS warning for none encryption mode, #6715
492500
- document error handling in borg create, #4912
501+
- update year in LICENSE and docs/conf.py
493502

494503

495504
Version 1.4.4 (2026-03-19)

docs/man/borg-benchmark-crud.1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
2828
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
2929
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
3030
..
31-
.TH "borg-benchmark-crud" "1" "2026-03-18" "" "borg backup tool"
31+
.TH "borg-benchmark-crud" "1" "2026-06-25" "" "borg backup tool"
3232
.SH Name
3333
borg-benchmark-crud \- Benchmark Create, Read, Update, Delete for archives.
3434
.SH SYNOPSIS

docs/man/borg-benchmark.1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
2828
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
2929
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
3030
..
31-
.TH "borg-benchmark" "1" "2026-03-18" "" "borg backup tool"
31+
.TH "borg-benchmark" "1" "2026-06-25" "" "borg backup tool"
3232
.SH Name
3333
borg-benchmark \- benchmark command
3434
.SH SYNOPSIS

docs/man/borg-break-lock.1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
2828
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
2929
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
3030
..
31-
.TH "borg-break-lock" "1" "2026-03-18" "" "borg backup tool"
31+
.TH "borg-break-lock" "1" "2026-06-25" "" "borg backup tool"
3232
.SH Name
3333
borg-break-lock \- Break the repository lock (e.g. in case it was left by a dead borg.
3434
.SH SYNOPSIS

docs/man/borg-check.1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
2828
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
2929
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
3030
..
31-
.TH "borg-check" "1" "2026-03-18" "" "borg backup tool"
31+
.TH "borg-check" "1" "2026-06-25" "" "borg backup tool"
3232
.SH Name
3333
borg-check \- Check repository consistency
3434
.SH SYNOPSIS

docs/man/borg-common.1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
2828
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
2929
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
3030
..
31-
.TH "borg-common" "1" "2026-03-18" "" "borg backup tool"
31+
.TH "borg-common" "1" "2026-06-25" "" "borg backup tool"
3232
.SH Name
3333
borg-common \- Common options of Borg commands
3434
.SH SYNOPSIS

docs/man/borg-compact.1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
2828
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
2929
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
3030
..
31-
.TH "borg-compact" "1" "2026-03-18" "" "borg backup tool"
31+
.TH "borg-compact" "1" "2026-06-25" "" "borg backup tool"
3232
.SH Name
3333
borg-compact \- compact segment files in the repository
3434
.SH SYNOPSIS

docs/man/borg-compression.1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
2828
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
2929
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
3030
..
31-
.TH "borg-compression" "1" "2026-03-18" "" "borg backup tool"
31+
.TH "borg-compression" "1" "2026-06-25" "" "borg backup tool"
3232
.SH Name
3333
borg-compression \- Details regarding compression
3434
.SH DESCRIPTION

docs/man/borg-config.1

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
2828
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
2929
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
3030
..
31-
.TH "borg-config" "1" "2026-03-18" "" "borg backup tool"
31+
.TH "borg-config" "1" "2026-06-25" "" "borg backup tool"
3232
.SH Name
3333
borg-config \- get, set, and delete values in a repository or cache config file
3434
.SH SYNOPSIS
@@ -97,6 +97,12 @@ $ borg config /path/to/repo additional_free_space 2G
9797
9898
# make a repo append\-only
9999
$ borg config /path/to/repo append_only 1
100+
101+
# set storage quota to 50 GB
102+
$ borg config /path/to/repo storage_quota 50G
103+
104+
# set maximum segment size to 100 MiB (see \(dqAdjusting segment size\(dq in Usage Notes)
105+
$ borg config /path/to/repo max_segment_size 104857600
100106
.EE
101107
.UNINDENT
102108
.UNINDENT

docs/man/borg-create.1

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
2828
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
2929
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
3030
..
31-
.TH "borg-create" "1" "2026-03-18" "" "borg backup tool"
31+
.TH "borg-create" "1" "2026-06-25" "" "borg backup tool"
3232
.SH Name
3333
borg-create \- Create new archive
3434
.SH SYNOPSIS
@@ -132,7 +132,9 @@ the currently processed path.
132132
When using \fB\-\-stats\fP, you will get some statistics about how much data was
133133
added \- the \(dqThis Archive\(dq deduplicated size there is most interesting as that is
134134
how much your repository will grow. Please note that the \(dqAll archives\(dq stats refer to
135-
the state after creation. Also, the \fB\-\-stats\fP and \fB\-\-dry\-run\fP options are mutually
135+
the state after creation. \fB\-\-stats\fP can be slow \- if you want something faster, use
136+
\fB\-\-quick\-stats\fP (this skips the repository\-wide \(dqAll archives\(dq and chunk index statistics).
137+
The \fB\-\-stats\fP / \fB\-\-quick\-stats\fP and \fB\-\-dry\-run\fP options are mutually
136138
exclusive because the data is not actually compressed and deduplicated during a dry run.
137139
.sp
138140
For more help on include/exclude patterns, see the \fIborg_patterns\fP command output.
@@ -159,6 +161,9 @@ do not create a backup archive
159161
.B \-s\fP,\fB \-\-stats
160162
print statistics for the created archive
161163
.TP
164+
.B \-\-quick\-stats
165+
print only archive statistics, skipping repository\-wide statistics
166+
.TP
162167
.B \-\-list
163168
output verbose list of items (files, dirs, ...)
164169
.TP
@@ -221,6 +226,9 @@ if tag objects are specified with \fB\-\-exclude\-if\-present\fP, don\(aqt omit
221226
.TP
222227
.B \-\-exclude\-nodump
223228
exclude files flagged NODUMP
229+
.TP
230+
.B \-\-exclude\-dataless
231+
exclude files flagged DATALESS (macOS: placeholder files whose content is not materialized locally, e.g. not\-downloaded cloud storage files)
224232
.UNINDENT
225233
.SS Filesystem options
226234
.INDENT 0.0
@@ -405,6 +413,22 @@ Linux examples for this are bind mounts (possibly same device number, but always
405413
subvolumes of a Btrfs file system (different device numbers from the parent but not necessarily mount points).
406414
macOS examples are the APFS mounts of a typical macOS installation.
407415
Therefore, when using \fB\-\-one\-file\-system\fP, you should double\-check that the backup works as intended.
416+
.SS Error handling
417+
.sp
418+
When Borg encounters a file or directory it cannot read (e.g., due to permission
419+
denied, or another process holding an exclusive lock on Windows), it will:
420+
.INDENT 0.0
421+
.IP \(bu 2
422+
Log a warning message.
423+
.IP \(bu 2
424+
Skip that file or directory and continue backing up the remaining files.
425+
.IP \(bu 2
426+
Exit with a Warning RC at the end of the operation.
427+
.UNINDENT
428+
.sp
429+
This ensures that a single problematic file does not abort your entire backup.
430+
You should check your logs for these warnings to ensure that all important data
431+
is being backed up.
408432
.SS Item flags
409433
.sp
410434
\fB\-\-list\fP outputs a list of all files, directories and other

0 commit comments

Comments
 (0)