doc: Polish changelogs (#21847)

This commit is contained in:
rawtaz
2026-06-05 22:30:46 +02:00
committed by GitHub
parent 0b3c0fc222
commit f01359ff92
36 changed files with 144 additions and 128 deletions
+7 -6
View File
@@ -1,14 +1,15 @@
Bugfix: Correct handling of duplicate index entries
Before restic 0.10.0, a bug could, in very rare cases, split information
about a pack file across multiple index files. Since restic 0.17.0, any
operation that rewrites the index (like `prune` or `repair packs`)
could lose part of that information, resulting in errors in later
`check` or `prune` runs. Those can be fixed by running `repair packs`.
Note that only repositories using repository format version 1 might be affected.
about a pack file across multiple index files.
Since restic 0.17.0, any operation that rewrites the index (like `prune`
or `repair packs`) could lose part of that information, resulting in errors
in later `check` or `prune` runs. This can be fixed by running `repair packs`,
and only repositories using repository format version 1 might be affected.
Split pack index entries are no longer lost during index rewrites. The
`check` command now reports these cases as errors that can instead be fixed using
`check` command now reports these cases as errors that can be fixed using
the `repair packs` command. On older restic versions, running `repair index`
twice also fixes the problem.
+7 -5
View File
@@ -1,10 +1,12 @@
Enhancement: Support restoring ownership by name on UNIX systems
Restic restore used to restore file ownership on UNIX systems by UID and GID.
It now allows restoring ownership by user and group name with
`--ownership-by-name`, so snapshots can be restored on systems where numeric IDs
do not match the backup host. POSIX ACLs are still restored by numeric value;
this change does not add ACL-by-name support.
The `restore` command used to restore file ownership on UNIX systems by UID
and GID. It now supports restoring ownership by user and group name with
`--ownership-by-name`, so that snapshots can be restored on systems where
numeric IDs do not match those on the backup host.
Note: POSIX ACLs are still restored by numeric value; this change does not
add ACL-by-name support.
https://github.com/restic/restic/issues/3572
https://github.com/restic/restic/pull/5449
+4 -3
View File
@@ -1,12 +1,13 @@
Enhancement: Optional GitHub token for `self-update` API requests
`restic self-update` used only unauthenticated GitHub API requests when
The `self-update` command used only unauthenticated GitHub API requests when
checking for releases. Shared IP addresses could hit the GitHub rate limit,
resulting in a 403 Forbidden error and preventing updates.
Unauthenticated requests remain the default, but authenticated requests are now
optional. Set the environment variable `GITHUB_ACCESS_TOKEN` to a GitHub
[personal access token](https://github.com/settings/tokens) to avoid rate-limit failures.
possible. Set the environment variable `GITHUB_ACCESS_TOKEN` to a GitHub
[personal access token](https://github.com/settings/tokens) to avoid rate-limit
failures.
https://github.com/restic/restic/issues/3738
https://github.com/restic/restic/pull/5568
+3 -3
View File
@@ -1,9 +1,9 @@
Bugfix: Exit with code 3 when some `backup` source paths do not exist
Restic used to exit with code 0 when a top-level backup source path was
missing, and exited with code 3 only when a child path under an existing source
did not exist. Scripts that relied on the exit code could treat an incomplete
backup as success.
missing, and exited with code 3 only when a child path under an existing
source did not exist. Scripts that relied on the exit code could therefore
treat an incomplete backup as success.
Restic now exits with code 3 when any backup source path does not exist.
+1 -1
View File
@@ -2,7 +2,7 @@ Enhancement: Support zstd compression levels `fastest` and `better`
Restic now supports the zstd compression modes `fastest` and `better`. Set the
environment variable `RESTIC_COMPRESSION` to `fastest` or `better`, or pass the
same values with `--compression`.
same values with the `--compression` option.
https://github.com/restic/restic/issues/4728
https://github.com/restic/restic/pull/5321
+3 -3
View File
@@ -1,9 +1,9 @@
Bugfix: Error out when environment variables hold invalid values
If the environment variables `RESTIC_COMPRESSION`, `RESTIC_PACK_SIZE`, or
`RESTIC_READ_CONCURRENCY` could not be parsed, restic used to ignore them. Restic
now fails with an error unless the same setting is overridden on the command
line.
`RESTIC_READ_CONCURRENCY` could not be parsed, restic used to ignore them.
Restic now fails with an error unless the same setting is overridden on the
command line.
https://github.com/restic/restic/issues/4759
https://github.com/restic/restic/pull/5592
+4 -4
View File
@@ -1,11 +1,11 @@
Enhancement: Include repository id in the filesystem name used by `mount`
Enhancement: Include repository ID in the filesystem name used by `mount`
The filesystem exposed by the `mount` command now includes the repository id in
its name. The id is printed when opening a repository or can be read with
The filesystem exposed by the `mount` command now includes the repository ID
in its name. The ID is printed when opening a repository or can be read with
`restic cat config`.
```
[restic-user@hostname restic]$ df ./test-mount/
$ df ./test-mount/
Filesystem 1K-blocks Used Available Use% Mounted on
restic:d3b07384d1 0 0 0 - /mnt/my-restic-repo
```
+6 -4
View File
@@ -1,8 +1,10 @@
Bugfix: `forget` returns exit code 3 when snapshot removal is partial
Bugfix: Return exit code 3 when failing to remove snapshots
The `forget` command now returns exit code 3 when it fails to remove one or
more snapshots. It previously returned exit code 0, which was misleading in
scripts.
Previously, the `forget` command returned exit code 0 when it failed
to remove one or more snapshots. This was misleading to scripts.
The `forget` command now instead returns exit code 3 when failing to
remove one or more snapshots.
https://github.com/restic/restic/issues/5233
https://github.com/restic/restic/pull/5322
+2 -2
View File
@@ -1,7 +1,7 @@
Bugfix: Reject impossible `find` time bounds immediately
`restic find` now fails with an error when both `--oldest` and `--newest` are
set and `--oldest` is later than `--newest`.
The `find` command now fails with an error when both `--oldest`
and `--newest` are set and `--oldest` is later than `--newest`.
https://github.com/restic/restic/issues/5280
https://github.com/restic/restic/pull/5310
+4 -4
View File
@@ -1,9 +1,9 @@
Change: prune small packfiles more aggressively
Change: Prune small packfiles more aggressively
The `prune` command now repacks more small packfiles by default. The option
`--repack-small` is no longer needed and has been marked as deprecated.
`--repack-smaller-than` can still be used to further control repacking of small
pack files.
`--repack-small` is no longer needed and has been marked as deprecated. The
`--repack-smaller-than` option can still be used to further control repacking
of small pack files.
https://github.com/restic/restic/issues/5293
https://github.com/restic/restic/pull/21803
+9 -8
View File
@@ -1,12 +1,13 @@
Enhancement: Add `--exclude-cloud-files` on macOS (e.g. iCloud Drive)
Enhancement: Support excluding cloud-backed files on macOS
Restic treated iCloud-backed files like normal local files, which forced a
full download of placeholders and other cloud-only content during backups.
Previously, restic treated cloud-backed files (such as files stored on iCloud)
like normal local files, forcing a full download of placeholders and other
"meant to be cloud only" content during backups.
The `backup` command now supports `--exclude-cloud-files` to skip those files on
supported macOS versions. From Sonoma (macOS 14.0) onward the option can prevent
unwanted downloads. Older macOS versions will still download the files during
a backup run.
The `backup` command now supports `--exclude-cloud-files` (previously only
available on Windows) to skip those files on supported macOS versions. From
Sonoma (macOS 14.0) onward the option can prevent unwanted downloads. Older
macOS versions will still download the files during a backup run.
https://github.com/restic/restic/issues/5352
https://github.com/restic/restic/pull/4990
https://github.com/restic/restic/pull/5370
+4 -4
View File
@@ -1,11 +1,11 @@
Bugfix: Allow `rclone` and `sftp` backends when restic runs in the background
Bugfix: Allow `rclone` and `sftp` backends when running in background
Starting restic in the background could result in unexpected behavior when using
the `rclone` or `sftp` backend. For example,
Previously, starting restic in the background could result in unexpected
behavior when using the `rclone` or `sftp` backends. For example,
`restic -r rclone:./example --insecure-no-password init &` could cause the
calling `bash` shell to exit unexpectedly.
This has been fixed.
This has now been fixed.
https://github.com/restic/restic/issues/5354
https://github.com/restic/restic/pull/5358
+6 -4
View File
@@ -1,9 +1,11 @@
Enhancement: Reduce progress bar refresh rates to decrease energy usage
Progress bars were updated at 60 fps, which could cause high CPU or GPU usage
in some terminal emulators. The refresh rate is now 10 fps to conserve energy.
For some terminal emulators, the lower rate is also necessary to allow selecting
text in the terminal.
Progress bars were previously updated at 60 frames per second, which
could cause high CPU or GPU usage in some terminal emulators.
The refresh rate is now 10 FPS to conserve energy. For some terminal
emulators, the lower rate is also necessary to allow selecting text
in the terminal.
https://github.com/restic/restic/issues/5383
https://github.com/restic/restic/pull/5551
+10 -7
View File
@@ -1,11 +1,14 @@
Enhancement: Override the environment variable `RESTIC_HOST` with `--host`
Enhancement: Make `--host` override environment variable `RESTIC_HOST`
When the environment variable `RESTIC_HOST` was set, snapshot listings and
other operations were always filtered to that host. Passing `--host` as an empty
string (`--host=""` or `--host=`) now overrides `RESTIC_HOST` and shows
snapshots from all hosts. The same override applies to commands that support
snapshot filters, including `snapshots`, `forget`, `find`, `stats`, `copy`,
`tag`, `repair snapshots`, `rewrite`, `mount`, `restore`, `dump`, and `ls`.
Previously, when the environment variable `RESTIC_HOST` was set, snapshot
listings and other operations were always filtered to that host.
Passing `--host` as an empty string (`--host=""` or `--host=`) now overrides
`RESTIC_HOST` and shows snapshots from all hosts.
The same override applies to other commands that support snapshot filters,
including `snapshots`, `forget`, `find`, `stats`, `copy`, `tag`,
`repair snapshots`, `rewrite`, `mount`, `restore`, `dump`, and `ls`.
https://github.com/restic/restic/issues/5440
https://github.com/restic/restic/pull/5541
+5 -5
View File
@@ -1,11 +1,11 @@
Enhancement: `copy` copies snapshots in batches
Enhancement: Copy multiple snapshots in batches
The `copy` command used to copy snapshots one at a time, even when that
produced pack files smaller than the target pack size. That led to many small
The `copy` command used to copy snapshots one at a time, even when doing so
produced pack files smaller than the target pack size. This led to many small
files when copying small incremental snapshots.
The `copy` command now copies multiple snapshots together so small pack files
are avoided where possible.
The `copy` command now copies multiple snapshots together so that small pack
files are avoided where possible.
https://github.com/restic/restic/issues/5453
https://github.com/restic/restic/pull/5472
+2 -2
View File
@@ -1,7 +1,7 @@
Bugfix: Password prompt was sometimes not shown for `backup -v`
The repository password prompt could be hidden when running the `backup -v`
command. This has been fixed.
The repository password prompt could be hidden when running the
`backup -v` command. This has now been fixed.
https://github.com/restic/restic/issues/5477
https://github.com/restic/restic/pull/5554
+1 -1
View File
@@ -1,4 +1,4 @@
Bugfix: Mark files read-only when using the SFTP backend
Bugfix: Mark repository files read-only when using the SFTP backend
Files created through the SFTP backend previously stayed writable. New files now
get read-only permissions where the server supports `chmod`.
+3 -3
View File
@@ -4,9 +4,9 @@ Restic previously used Azure PutBlock and PutBlockList for every upload, which
cost two storage transactions per file and roughly doubled transaction charges
for repositories with many pack files.
Files up to 256 MiB now use PutBlob, a single transaction per file, cutting
typical transaction costs about in half. Larger blobs still use block uploads as
required by Azure.
Files up to 256 MiB now use PutBlob, requiring only a single transaction per
file and cutting typical transaction costs by about half. Larger blobs still
use block uploads as required by Azure.
https://github.com/restic/restic/issues/5531
https://github.com/restic/restic/pull/5544
+1 -1
View File
@@ -1,7 +1,7 @@
Bugfix: Correctly handle `snapshots --group-by` with `--latest`
For the `snapshots` command, `--latest` did not interact correctly with a
non-default `--group-by` value. That combination now behaves as intended.
non-default `--group-by` value. This combination now behaves as intended.
https://github.com/restic/restic/issues/5586
https://github.com/restic/restic/pull/5601
+4 -4
View File
@@ -1,8 +1,8 @@
Bugfix: Avoid spurious `chmod` errors when unlocking on file backends
Bugfix: Avoid spurious `chmod` errors on certain file backends
On filesystems that do not support `chmod` (for example CIFS or FUSE-mounted WebDAV),
restic 0.18.0 failed to remove stale locks with the error `chmod …: operation not supported`.
This has been fixed.
On filesystems that do not support `chmod` (for example CIFS or FUSE-mounted
WebDAV), restic since version 0.18.0 failed to remove stale locks, throwing
the error `chmod ...: operation not supported`. This has now been fixed.
https://github.com/restic/restic/issues/5595
https://github.com/restic/restic/pull/5596
+2 -2
View File
@@ -2,8 +2,8 @@ Bugfix: Prevent `backup --stdin-from-command` from hanging
When using `--stdin-from-command`, the `backup` command could hang until
manually cancelled if the backup stopped before all subprocess output was
consumed, for example after a failed upload to the repository. This has been
fixed.
consumed, for example after a failed upload to the repository. This has
now been fixed.
https://github.com/restic/restic/issues/5683
https://github.com/restic/restic/pull/21829
+1 -1
View File
@@ -1,4 +1,4 @@
Enhancement: Show progress for `stats`
Enhancement: Show more detailed progress for `stats`
The `stats` command used to show progress only while loading the index. During
the scan it printed only `scanning...` with no further updates. It now reports
+3 -3
View File
@@ -1,8 +1,8 @@
Bugfix: Respect `--user` and `--host` in `key passwd`
The `key passwd` command ignored the `--user` and `--host` options
and always stored the new key with the current user and host name.
It now honors those options.
The `key passwd` command previously ignored the `--user` and
`--host` options and always stored the new key with the current
user and host name. These options are now honored.
https://github.com/restic/restic/issues/5757
https://github.com/restic/restic/pull/21781
+6 -5
View File
@@ -1,10 +1,11 @@
Change: Prevent excluding paths explicitly passed to `backup`
When `restic backup --exclude-if-present .git /home/user/data` was run and
`/home/user/.git` existed, restic excluded the `data` directory from the
snapshot. The same applied to `--exclude-caches` or `--one-file-system`. Similarly,
`restic backup --exclude-larger-than 1M large-file.bin` produced an empty
snapshot when the file was larger than one megabyte.
When e.g. `restic backup --exclude-if-present .git /home/user/data` was run
and `/home/user/.git` existed, restic excluded the `data` directory from the
snapshot. The same applied to `--exclude-caches` or `--one-file-system`.
Similarly, `restic backup --exclude-larger-than 1M large-file.bin` produced
an empty snapshot when the file was larger than one megabyte.
The `backup` command now tracks which files and directories were specified on
the command line and does not apply excludes to those paths. Content inside a
+3 -3
View File
@@ -1,8 +1,8 @@
Bugfix: Support exporting a `restic mount` of a Windows system via Samba
Bugfix: Support serving a `restic mount` of a Windows system via Samba
A repository mounted using `restic mount` on a POSIX system could not use
Samba to export files from restic backups of Windows systems. Backups of
other systems were not affected. This has been fixed.
Samba to serve files from backups of Windows systems, while backups of
non-Windows systems could be served successfully. This has now been fixed.
https://github.com/restic/restic/issues/2034
https://github.com/restic/restic/issues/4382
+2 -2
View File
@@ -1,7 +1,7 @@
Change: Update dependencies and require Go 1.25 or newer
Dependencies have been updated. Building restic now requires Go 1.25 or newer.
The Windows build with Go 1.26 was also fixed.
Dependencies have been updated. Building restic now requires
Go 1.25 or newer. The Windows build with Go 1.26 was also fixed.
https://github.com/restic/restic/issues/21791
https://github.com/restic/restic/pull/5619
+3 -3
View File
@@ -1,9 +1,9 @@
Bugfix: `repair packs` correctly handles pack files missing from the index
Bugfix: Correctly handle pack files missing from the index
The `repair packs` command was unable to salvage blobs from a pack file if
the pack file was not contained in the index or the index entry was incomplete.
The command now uses both the information contained in the index and the
pack file header.
The command now uses information from both the index and the pack file header.
https://github.com/restic/restic/issues/21820
https://github.com/restic/restic/pull/21827
+3 -3
View File
@@ -1,8 +1,8 @@
Enhancement: Add status counters to `copy` in verbose text output
`restic copy` now prints additional counters in text mode when `--verbose` is
set: blobs to copy, their on-disk size, and how many pack files are read from
the source repository.
The `copy` command now prints additional counters in text mode when
`--verbose` is set: blobs to copy, their on-disk size, and the number
of pack files read from the source repository.
https://github.com/restic/restic/issues/5175
https://github.com/restic/restic/pull/5319
+4 -3
View File
@@ -1,8 +1,9 @@
Enhancement: Enable Windows filesystem privileges before file access
Restic enabled some Windows filesystem privileges only while reading or writing
security descriptors. Extended attributes could be read before enabling the backup
privilege, possibly resulting in missed data or errors.
Restic used to enable some Windows filesystem privileges only while reading
or writing security descriptors. Extended attributes could therefore be read
before enabling the backup privilege, possibly resulting in missed data or
errors.
Restic now enables the relevant filesystem privileges before any file access.
+7 -7
View File
@@ -1,19 +1,19 @@
Enhancement: Configure nice and ionice in the official Docker image
Enhancement: Support configuring `nice` and `ionice` in the Docker image
The container entrypoint now reads optional scheduling hints from the
environment:
The environment variable `NICE` sets the process nice value (see `man nice`).
- The environment variable `NICE` sets the process nice value (see `man nice`).
The environment variable `IONICE_CLASS` selects the I/O scheduling class (see
- The environment variable `IONICE_CLASS` selects the I/O scheduling class (see
`man ionice`). Real-time classes need the `SYS_NICE` capability added to the
container.
The environment variable `IONICE_PRIORITY` sets the priority within
`IONICE_CLASS` and has no effect unless `IONICE_CLASS` is set; it defaults to `4`
(neutral priority).
- The environment variable `IONICE_PRIORITY` sets the priority within
`IONICE_CLASS` and has no effect unless `IONICE_CLASS` is set; it defaults to
`4` (neutral priority).
Further detail:
For further details, please see:
https://restic.readthedocs.io/en/stable/020_installation.html#docker-container
https://github.com/restic/restic/pull/5448
+6 -5
View File
@@ -1,11 +1,12 @@
Bugfix: Correctly restore ACL inheritance state on Windows
Since security descriptor backups were added in restic 0.17.0, Access Control Entry
inheritance was not restored correctly on Windows: restored permissions were always marked
as explicit (not inherited) even when they were inherited from a parent folder.
Since security descriptor backups were added in restic 0.17.0, Access Control
Entry inheritance was not restored correctly on Windows; restored permissions
were always marked as explicit (not inherited) even when they were inherited
from a parent folder.
Now the inheritance flags are correctly applied when restoring the security
descriptor, so the original permission structure is preserved.
The inheritance flags are now correctly applied when restoring the security
descriptor, preserving the original permission structure.
https://github.com/restic/restic/issues/5427
https://github.com/restic/restic/pull/5465
+3 -3
View File
@@ -1,6 +1,6 @@
Enhancement: Add Open Container Initiative labels to `Dockerfile.release`
Enhancement: Add Open Container Initiative labels to release Docker image
The release Docker image now includes OCI-style image annotation labels, which
helps external tooling identify the image.
The release Docker image now includes OCI-style image annotation labels,
which helps external tooling identify the image.
https://github.com/restic/restic/pull/5523
+3 -3
View File
@@ -1,6 +1,6 @@
Enhancement: Reduce memory use in `check`, `copy`, `diff`, and `stats`
Enhancement: Reduce `check`, `copy`, `diff` and `stats` memory usage
The `check`, `copy`, `diff`, and `stats` commands use less memory when handling
large snapshots.
The `check`, `copy`, `diff` and `stats` commands now use less memory
when handling large snapshots.
https://github.com/restic/restic/pull/5610
+3 -3
View File
@@ -1,7 +1,7 @@
Bugfix: `restic find --pack` now lists blobs for tree packs
Bugfix: Make `find --pack` list blobs for tree packs
`restic find --pack <tree-pack>` now reports blobs for packs that only contain
tree blobs.
The `find --pack <tree-pack>` command now also reports
blobs for packs that only contain tree blobs.
https://github.com/restic/restic/issues/5280
https://github.com/restic/restic/pull/5664
+5 -4
View File
@@ -1,7 +1,8 @@
Enhancement: Stricter early validation of the `mount` mountpoint
Enhancement: Stricter and earlier validation of the `mount` point
`restic mount` could accept invalid mountpoints that resulted in an error after
loading the repository. The mountpoint must now name a directory the current user can
access and write to. This is now checked before opening the repository.
The `mount` command previously accepted invalid mount points, resulting in an
error after loading the repository. The specified mount point must now refer to
a directory that the current user can access and write to, and this check is
performed before opening the repository.
https://github.com/restic/restic/pull/5718
+4 -4
View File
@@ -1,9 +1,9 @@
Enhancement: Speed up index loading
Enhancement: Significantly speed up index loading
Loading the index for a large repository is now significantly faster. The
`mount` command now also loads the index once at startup and then only loads
Loading the index for a large repository is now significantly faster. Also,
the `mount` command now loads the index once at startup and then only loads
new index files as they appear. It also loads snapshots before printing that
the repository is being served.
https://github.com/restic/restic/pull/5720
https://github.com/restic/restic/pull/5713
https://github.com/restic/restic/pull/5720