Prepare changelog for 0.18.0

This commit is contained in:
Alexander Neumann
2025-03-27 20:16:25 +01:00
parent 94b1af580b
commit 321ac6c1c9
32 changed files with 0 additions and 0 deletions

View File

@@ -1,7 +0,0 @@
Enhancement: Add JSON support to `check` command
The `check` command now supports the `--json` option to output all statistics in
JSON format.
https://github.com/restic/restic/issues/1378
https://github.com/restic/restic/pull/5194

View File

@@ -1,7 +0,0 @@
Bugfix: Correctly restore long filepaths' timestamp on old Windows
The `restore` command now correctly restores timestamps for files with paths longer
than 256 characters on Windows versions prior to Windows 10 1607.
https://github.com/restic/restic/issues/1843
https://github.com/restic/restic/pull/5061

View File

@@ -1,13 +0,0 @@
Bugfix: Ignore disappeared backup source files
The `backup` command now quietly skips files that are removed between directory
listing and backup, instead of printing errors like:
```
error: lstat /some/file/name: no such file or directory
```
https://github.com/restic/restic/issues/2165
https://github.com/restic/restic/issues/3098
https://github.com/restic/restic/pull/5143
https://github.com/restic/restic/pull/5145

View File

@@ -1,7 +0,0 @@
Enhancement: Support generating shell completions to stdout
The `generate` command now supports using `-` as the filename with the
`--[shell]-completion` option to write the generated output to stdout.
https://github.com/restic/restic/issues/2511
https://github.com/restic/restic/pull/5053

View File

@@ -1,11 +0,0 @@
Enhancement: Add experimental S3 cold storage support
Introduce S3 backend options for transitioning pack files from cold to hot storage
on S3 and S3-compatible providers. Note: this only works for the `prune`, `copy`
and `restore` commands for now.
This experimental feature is gated behind the "s3-restore" feature flag.
https://github.com/restic/restic/pull/5173
https://github.com/restic/restic/issues/3202
https://github.com/restic/restic/issues/2504

View File

@@ -1,12 +0,0 @@
Enhancement: Allow excluding online-only cloud files (e.g. OneDrive)
Restic treated files synced using OneDrive Files On-Demand as though they
were regular files. This caused issues with VSS and could cause OneDrive to
download all files.
Restic now allows the user to exclude these files when backing up with
the `--exclude-cloud-files` option.
https://github.com/restic/restic/issues/3697
https://github.com/restic/restic/issues/4935
https://github.com/restic/restic/pull/4990

View File

@@ -1,8 +0,0 @@
Enhancement: Add `sort` option to `ls` command
The `ls -l` command output can now be sorted using the new `--sort <field>`
option for the fields `name`, `size`, `time` (same as `mtime`), `mtime`,
`atime`, `ctime` and `extension`. A `--reverse` option is also available.
https://github.com/restic/restic/issues/4179
https://github.com/restic/restic/pull/5182

View File

@@ -1,7 +0,0 @@
Enhancement: Change default sort order for `find` output
The `find` command now sorts snapshots from newest to oldest by default. The
previous oldest-to-newest order can be restored using the new `--reverse` option.
https://github.com/restic/restic/issues/4433
https://github.com/restic/restic/pull/5184

View File

@@ -1,12 +0,0 @@
Enhancement: Add support for Microsoft Blob Storage access tiers
The new `-o azure.access-tier=<tier>` option allows specifying the access tier
(`Hot`, `Cool` or `Cold`) for objects created in Microsoft Blob Storage. If
unspecified, the storage account's default tier is used.
There is no official `Archive` storage support in restic, use this option at
your own risk. To restore any data, it is necessary to manually warm up the
required data in the `Archive` tier.
https://github.com/restic/restic/issues/4521
https://github.com/restic/restic/pull/5046

View File

@@ -1,11 +0,0 @@
Enhancement: Add snapshot summary statistics to rewritten snapshots
The `rewrite` command now supports a `--snapshot-summary` option to add
statistics data to snapshots. Only two fields in the summary will be non-zero:
`TotalFilesProcessed` and `TotalBytesProcessed`.
For snapshots rewritten using the `--exclude` options, the summary
statistics are updated accordingly.
https://github.com/restic/restic/issues/4942
https://github.com/restic/restic/pull/5185

View File

@@ -1,6 +0,0 @@
Enhancement: Format exit errors as JSON when requested
Restic now formats error messages as JSON when the `--json` flag is used.
https://github.com/restic/restic/issues/4948
https://github.com/restic/restic/pull/4952

View File

@@ -1,10 +0,0 @@
Enhancement: Add SLSA provenance to GHCR container images
Restic's GitHub Container Registry (GHCR) image build workflow now includes
SLSA (Supply-chain Levels for Software Artifacts) provenance generation.
Please see the restic documentation for more information about verifying SLSA
provenance.
https://github.com/restic/restic/issues/4983
https://github.com/restic/restic/pull/4999

View File

@@ -1,7 +0,0 @@
Enhancement: Add retry mechanism for loading repository config
Restic now retries loading the repository config file when opening a repository.
The `init` command now also retries backend operations.
https://github.com/restic/restic/issues/5081
https://github.com/restic/restic/pull/5095

View File

@@ -1,8 +0,0 @@
Enhancement: Allow including/excluding extended file attributes during `restore`
The `restore` command now supports the `--exclude-xattr` and `--include-xattr`
options to control which extended file attributes will be restored. By default,
all attributes are restored.
https://github.com/restic/restic/issues/5089
https://github.com/restic/restic/pull/5129

View File

@@ -1,7 +0,0 @@
Enhancement: Show count of deleted files and directories during `restore`
The `restore` command now reports the number of deleted files and directories,
both in the regular output and in the `files_deleted` field of the JSON output.
https://github.com/restic/restic/issues/5092
https://github.com/restic/restic/pull/5100

View File

@@ -1,7 +0,0 @@
Enhancement: Make small pack size configurable for `prune`
The `prune` command now supports the `--repack-smaller-than` option that
allows repacking pack files smaller than a specified size.
https://github.com/restic/restic/issues/5109
https://github.com/restic/restic/pull/5183

View File

@@ -1,6 +0,0 @@
Enhancement: Add DragonFlyBSD support
Restic can now be compiled on DragonflyBSD.
https://github.com/restic/restic/issues/5131
https://github.com/restic/restic/pull/5138

View File

@@ -1,8 +0,0 @@
Enhancement: Make `tag` command print which snapshots were modified
The `tag` command now outputs which snapshots were modified along with their
new snapshot ID. The command supports the `--json` option for machine-readable
output.
https://github.com/restic/restic/issues/5137
https://github.com/restic/restic/pull/5144

View File

@@ -1,7 +0,0 @@
Enhancement: Add xattr support for NetBSD 10+
Extended attribute support for `backup` and `restore` operations
is now available on NetBSD version 10 and later.
https://github.com/restic/restic/issues/5174
https://github.com/restic/restic/pull/5180

View File

@@ -1,16 +0,0 @@
Bugfix: Fix rare crash in command output
Some commands could in rare cases crash when trying to print status messages
and request retries at the same time, resulting in an error like the following:
```
panic: runtime error: slice bounds out of range [468:156]
[...]
github.com/restic/restic/internal/ui/termstatus.(*lineWriter).Write(...)
/restic/internal/ui/termstatus/stdio_wrapper.go:36 +0x136
```
This has now been fixed.
https://github.com/restic/restic/issues/5259
https://github.com/restic/restic/pull/5300

View File

@@ -1,8 +0,0 @@
Enhancement: Make `recover` automatically rebuild index when needed
When trying to recover data from an interrupted snapshot, it was previously
necessary to manually run `repair index` before runnning `recover`. This now
happens automatically so that only `recover` is necessary.
https://github.com/restic/restic/issues/52897
https://github.com/restic/restic/pull/5296

View File

@@ -1,24 +0,0 @@
Security: Mitigate attack on content-defined chunking algorithm
Restic uses [Rabin Fingerprints](https://restic.net/blog/2015-09-12/restic-foundation1-cdc/)
for its content-defined chunker. The algorithm relies on a secret polynomial
to split files into chunks.
As shown in the paper "[Chunking Attacks on File Backup Services using Content-Defined Chunking](https://eprint.iacr.org/2025/532.pdf)"
by Boris Alexeev, Colin Percival and Yan X Zhang, an
attacker that can observe chunk sizes for a known file can derive the secret
polynomial. Knowledge of the polynomial might in some cases allow an attacker
to check whether certain large files are stored in a repository.
A practical attack is nevertheless hard as restic merges multiple chunks into
opaque pack files and by default processes multiple files in parallel. This
likely prevents an attacker from matching pack files to the attacker-known file
and thereby prevents the attack.
Despite the low chances of a practical attack, restic now has added mitigation
that randomizes how chunks are assembled into pack files. This prevents attackers
from guessing which chunks are part of a pack file and thereby prevents learning
the chunk sizes.
https://github.com/restic/restic/issues/5291
https://github.com/restic/restic/pull/5295

View File

@@ -1,9 +0,0 @@
Change: Update dependencies and require Go 1.23 or newer
We have updated all dependencies. Restic now requires Go 1.23 or newer to build.
This also disables support for TLS versions older than TLS 1.2. On Windows,
restic now requires at least Windows 10 or Windows Server 2016. On macOS,
restic now requires at least macOS 11 Big Sur.
https://github.com/restic/restic/pull/4938

View File

@@ -1,6 +0,0 @@
Enhancement: Enable compression for ZIP archives in `dump` command
The `dump` command now compresses ZIP archives using the DEFLATE algorithm,
reducing the size of exported archives.
https://github.com/restic/restic/pull/5054

View File

@@ -1,6 +0,0 @@
Enhancement: Add start and end timestamps to `backup` JSON output
The JSON output of the `backup` command now includes `backup_start` and
`backup_end` timestamps, containing the start and end time of the backup.
https://github.com/restic/restic/pull/5119

View File

@@ -1,7 +0,0 @@
Enhancement: Provide clear error message if AZURE_ACCOUNT_NAME is not set
If `AZURE_ACCOUNT_NAME` was not set, commands related to an Azure repository
would result in a misleading networking error. Restic now detect this and
provides a clear warning that the variable is not defined.
https://github.com/restic/restic/pull/5141

View File

@@ -1,7 +0,0 @@
Bugfix: Include root tree when searching using `find --tree`
The `restic find --tree` command did not find trees referenced by
`restic snapshot --json`. It now correctly includes the root tree
when searching.
https://github.com/restic/restic/pull/5153

View File

@@ -1,8 +0,0 @@
Change: Promote feature flags
The `deprecate-legacy-index`, `deprecate-s3-legacy-layout`,
`explicit-s3-anonymous-auth` and `safe-forget-keep-tags` features are
now stable and can no longer be disabled. The corresponding feature flags
will be removed in restic 0.19.0.
https://github.com/restic/restic/pull/5162

View File

@@ -1,22 +0,0 @@
Bugfix: Prevent Windows VSS event log 8194 warnings for backup with fs snapshot
When running `backup` with the `--use-fs-snapshot` option in Windows with admin rights, event logs like
```
Volume Shadow Copy Service error: Unexpected error querying for the IVssWriterCallback interface. hr = 0x80070005, Access is denied.
. This is often caused by incorrect security settings in either the writer or requester process.
Operation:
Gathering Writer Data
Context:
Writer Class Id: {e8132975-6f93-4464-a53e-1050253ae220}
Writer Name: System Writer
Writer Instance ID: {54b151ac-d27d-4628-9cb0-2bc40959f50f}
```
are created several times even though the backup itself succeeds. This has now been fixed.
https://github.com/restic/restic/issues/5169
https://github.com/restic/restic/pull/5170
https://forum.restic.net/t/windows-shadow-copy-snapshot-vss-unexpected-provider-error/3674/2

View File

@@ -1,8 +0,0 @@
Bugfix: Fix duplicate data handling in `prune --max-unused`
The `prune --max-unused size` command did not correctly account for duplicate
data. If a repository contained a large amount of duplicate data, this could
previously result in pruning too little data. This has now been fixed.
https://github.com/restic/restic/pull/5212
https://forum.restic.net/t/restic-not-obeying-max-unused-parameter-on-prune/8879

View File

@@ -1,10 +0,0 @@
Bugfix: Fix creation of oversized index by `repair index --read-all-packs`
Since restic 0.17.0, the new index created by `repair index --read-all-packs` was
written as a single large index. This significantly increased memory usage while
loading the index.
The index is now correctly split into multiple smaller indexes, and `repair index`
now also automatically splits oversized indexes.
https://github.com/restic/restic/pull/5249

View File

@@ -1,9 +0,0 @@
Enhancement: Improve retry handling for flaky `rclone` backends
Since restic 0.17.0, the backend retry mechanisms rely on backends correctly
reporting when a file does not exist. This is not always the case for some
`rclone` backends, which caused restic to stop retrying after the first failure.
For rclone, failed requests are now retried up to 5 times before giving up.
https://github.com/restic/restic/pull/5251