mirror of
https://github.com/restic/restic.git
synced 2025-08-23 17:55:17 +00:00
Prepare changelog for 0.18.0
This commit is contained in:
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
Reference in New Issue
Block a user