Merge pull request #4932 from restic/polish-changelogs

doc: Polish unreleased changelogs
This commit is contained in:
Michael Eischer 2024-07-24 18:47:03 +00:00 committed by GitHub
commit fe2d1dfd84
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
52 changed files with 237 additions and 213 deletions

View file

@ -1,17 +1,18 @@
Enhancement: Support repositories with empty password Enhancement: Support repositories with empty password
Restic refused to create or operate on repositories with an empty password. Restic previously required a password to create or operate on repositories.
Using the new option `--insecure-no-password` it is now possible to disable Using the new option `--insecure-no-password` it is now possible to disable
this check. Restic will not prompt for a password when using this option. this requirement. Restic will not prompt for a password when using this option.
For security reasons, the option must always be specified when operating on For security reasons, the option must always be specified when operating on
repositories with an empty password. repositories with an empty password, and specifying `--insecure-no-password`
while also passing a password to restic via a CLI option or environment
variable results in an error.
Specifying `--insecure-no-password` while also passing a password to restic The `init` and `copy` commands add the related `--from-insecure-no-password`
via a CLI option or via environment variable results in an error. option, which applies to the source repository. The `key add` and `key passwd`
commands add the `--new-insecure-no-password` option to add or set an empty
The `init` and `copy` command also support the option `--from-insecure-no-password` password.
which applies to the source repository. The `key add` and `key passwd` commands
include the `--new-insecure-no-password` option to add or set an empty password.
https://github.com/restic/restic/issues/1786 https://github.com/restic/restic/issues/1786
https://github.com/restic/restic/issues/4326 https://github.com/restic/restic/issues/4326

View file

@ -1,10 +1,12 @@
Enhancement: Add `--delete` option to `restore` command Enhancement: Add `--delete` option to `restore` command
The `restore` command now supports a `--delete` option that allows removing files and directories The `restore` command now supports a `--delete` option that allows removing
from the target directory that do not exist in the snapshot. This option also allows files in the files and directories from the target directory that do not exist in the
snapshot to replace non-empty directories. snapshot. This option also allows files in the snapshot to replace non-empty
directories having the same name.
To check that only the expected files are deleted add the `--dry-run --verbose=2` options. To check that only expected files are deleted, add the `--dry-run --verbose=2`
options.
https://github.com/restic/restic/issues/2348 https://github.com/restic/restic/issues/2348
https://github.com/restic/restic/pull/4881 https://github.com/restic/restic/pull/4881

View file

@ -1,10 +1,10 @@
Bugfix: `backup` works if xattrs above the backup target cannot be read Bugfix: Handle unreadable xattrs in folders above `backup` source
When backup targets are specified using absolute paths, then `backup` also When backup sources are specified using absolute paths, `backup` also includes
includes information about the parent folders of the backup targets in the information about the parent folders of the backup sources in the snapshot.
snapshot. If the extended attributes for some of these folders could not be
read due to missing permissions, this caused the backup to fail. This has been If the extended attributes for some of these folders could not be read due to
fixed. missing permissions, this caused the backup to fail. This has now been fixed.
https://github.com/restic/restic/issues/3600 https://github.com/restic/restic/issues/3600
https://github.com/restic/restic/pull/4668 https://github.com/restic/restic/pull/4668

View file

@ -1,10 +1,11 @@
Enhancement: Make `prune` command resumable Enhancement: Optimize and make `prune` command resumable
When `prune` was interrupted, it a latter `prune` run previously started repacking Previously, if the `prune` command was interrupted, a later `prune` run would
the pack files from the start as `prune` did not update the index while repacking. start repacking pack files from the start, as `prune` did not update the index
while repacking.
The `prune` command now supports resuming interrupted prune runs. The update The `prune` command now supports resuming interrupted prune runs. The update
of the repository index also has been optimized to use less memory and only of the repository index has also been optimized to use less memory and only
rewrite parts of the index that have changed. rewrite parts of the index that have changed.
https://github.com/restic/restic/issues/3806 https://github.com/restic/restic/issues/3806

View file

@ -1,6 +1,6 @@
Enhancement: Add support for fuse-t for `mount` on macOS Enhancement: Add support for FUSE-T with `mount` on macOS
Restic now supports creating fuse mounts using fuse-t on macOS. The restic `mount` command now supports creating FUSE mounts using FUSE-T on macOS.
https://github.com/restic/restic/issues/4048 https://github.com/restic/restic/issues/4048
https://github.com/restic/restic/pull/4825 https://github.com/restic/restic/pull/4825

View file

@ -1,7 +1,7 @@
Bugfix: Fix slow sftp upload performance Bugfix: Fix slow SFTP upload performance
Since restic 0.12.1, the upload speed of the sftp backend to a remote server Since restic 0.12.1, the upload speed of the sftp backend to a remote server
has regressed significantly. This has been fixed. has regressed significantly. This has now been fixed.
https://github.com/restic/restic/issues/4209 https://github.com/restic/restic/issues/4209
https://github.com/restic/restic/pull/4782 https://github.com/restic/restic/pull/4782

View file

@ -1,4 +1,4 @@
Enhancement: Support reading backup from a commands's standard output Enhancement: Support reading backup from a command's standard output
The `backup` command now supports the `--stdin-from-command` option. When using The `backup` command now supports the `--stdin-from-command` option. When using
this option, the arguments to `backup` are interpreted as a command instead of this option, the arguments to `backup` are interpreted as a command instead of

View file

@ -1,9 +1,7 @@
Enhancement: support connection to rest-server using unix socket Enhancement: Support connection to rest-server using unix socket
Restic now supports connecting to rest-server using a unix socket for Restic now supports using a unix socket to connect to a rest-server
rest-server version 0.13.0 or later. version 0.13.0 or later. This allows running restic as follows:
This allows running restic as follows:
``` ```
rest-server --listen unix:/tmp/rest.socket --data /path/to/data & rest-server --listen unix:/tmp/rest.socket --data /path/to/data &

View file

@ -1,9 +1,10 @@
Enhancement: `check` command creates cache directory if it does not exist Enhancement: Make `check` command create non-existent cache directory
If a custom cache directory was specified for the `check` command but the directory did not exist, Previously, if a custom cache directory was specified for the `check` command,
then `check` continued with cache disabled. but the directory did not exist, `check` continued with the cache disabled.
The `check` command now attempts to create the cache directory before initializing the cache. The `check` command now attempts to create the cache directory before
initializing the cache.
https://github.com/restic/restic/issues/4437 https://github.com/restic/restic/issues/4437
https://github.com/restic/restic/pull/4805 https://github.com/restic/restic/pull/4805

View file

@ -1,11 +1,11 @@
Enhancement: Allow AWS Assume Role to be used for S3 backend Enhancement: Support AWS Assume Role for S3 backend
Previously only credentials discovered via the Minio discovery methods Previously only credentials discovered via the Minio discovery methods
were used to authenticate. were used to authenticate.
However, there are many circumstances where the discovered credentials have However, there are many circumstances where the discovered credentials have
lower permissions and need to assume a specific role. This is now possible lower permissions and need to assume a specific role. This is now possible
using the following new environment variables. using the following new environment variables:
- RESTIC_AWS_ASSUME_ROLE_ARN - RESTIC_AWS_ASSUME_ROLE_ARN
- RESTIC_AWS_ASSUME_ROLE_SESSION_NAME - RESTIC_AWS_ASSUME_ROLE_SESSION_NAME

View file

@ -1,6 +1,7 @@
Change: Require at least ARMv6 for ARM binaries Change: Require at least ARMv6 for ARM binaries
The official release binaries of restic now require at least ARMv6 support for ARM platforms. The official release binaries of restic now require
at least ARMv6 support for ARM platforms.
https://github.com/restic/restic/issues/4540 https://github.com/restic/restic/issues/4540
https://github.com/restic/restic/pull/4542 https://github.com/restic/restic/pull/4542

View file

@ -1,7 +1,7 @@
Enhancement: Add support for `--json` option to `version` command Enhancement: Add `--json` option to `version` command
Restic now supports outputting restic version and used go version, OS and Restic now supports outputting restic version along with the Go version, OS
architecture via JSON when using the version command. and architecture used to build restic in JSON format using `version --json`.
https://github.com/restic/restic/issues/4547 https://github.com/restic/restic/issues/4547
https://github.com/restic/restic/pull/4553 https://github.com/restic/restic/pull/4553

View file

@ -1,11 +1,10 @@
Enhancement: Add `--ncdu` option to `ls` command Enhancement: Add `--ncdu` option to `ls` command
NCDU (NCurses Disk Usage) is a tool to analyse disk usage of directories. NCDU (NCurses Disk Usage) is a tool to analyse disk usage of directories. It has
It has an option to save a directory tree and analyse it later. an option to save a directory tree and analyse it later.
The `ls` command now supports the `--ncdu` option which outputs information
about a snapshot in the NCDU format.
You can use it as follows: `restic ls latest --ncdu | ncdu -f -` The `ls` command now supports outputting snapshot information in the NCDU format
using the `--ncdu` option. Example usage: `restic ls latest --ncdu | ncdu -f -`
https://github.com/restic/restic/issues/4549 https://github.com/restic/restic/issues/4549
https://github.com/restic/restic/pull/4550 https://github.com/restic/restic/pull/4550

View file

@ -1,17 +1,16 @@
Bugfix: Prevent `forget --keep-tags invalid` from deleting all snapshots Bugfix: Prevent `forget --keep-tags <invalid>` from deleting all snapshots
Running `forget --keep-tags invalid`, where the tag `invalid` does not Running `forget --keep-tags <invalid>`, where `<invalid>` is a tag that does
exist in the repository, would remove all snapshots. This is especially not exist in the repository, would remove all snapshots. This is especially
problematic if the tag name contains a typo. problematic if the tag name contains a typo.
The `forget` command now fails with an error if all snapshots in a snapshot The `forget` command now fails with an error if all snapshots in a snapshot
group would be deleted. This prevents the above example from deleting all group would be deleted. This prevents the above example from deleting all
snapshots. snapshots.
It is possible to temporarily disable the new check by setting the environment variable It is possible to temporarily disable the new check by setting the environment
`RESTIC_FEATURES=safe-forget-keep-tags=false`. Note that this feature flag variable `RESTIC_FEATURES=safe-forget-keep-tags=false`. Note that this feature
will be removed in the next minor restic version. flag will be removed in the next minor restic version.
https://github.com/restic/restic/issues/4568 https://github.com/restic/restic/pull/4568
https://github.com/restic/restic/pull/4764 https://github.com/restic/restic/pull/4764
https://forum.restic.net/t/delete-all-snapshots-in-one-command-is-this-feature-intentional/6923/3

View file

@ -1,12 +1,13 @@
Enhancement: Ignore s3.storage-class for metadata if archive tier is specified Enhancement: Ignore `s3.storage-class` archive tiers for metadata
There is no official cold storage support in restic, use this option at your Restic used to store all files on S3 using the specified `s3.storage-class`.
own risk.
Restic always stored all files on s3 using the specified `s3.storage-class`. Now, restic will only use non-archive storage tiers for metadata, to avoid
Now, restic will store metadata using a non-archive storage tier to avoid
problems when accessing a repository. To restore any data, it is still problems when accessing a repository. To restore any data, it is still
necessary to manually warm up the required data beforehand. necessary to manually warm up the required data beforehand.
NOTE: There is no official cold storage support in restic, use this option at
your own risk.
https://github.com/restic/restic/issues/4583 https://github.com/restic/restic/issues/4583
https://github.com/restic/restic/pull/4584 https://github.com/restic/restic/pull/4584

View file

@ -2,8 +2,8 @@ Enhancement: Add support for feature flags
Restic now supports feature flags that can be used to enable and disable Restic now supports feature flags that can be used to enable and disable
experimental features. The flags can be set using the environment variable experimental features. The flags can be set using the environment variable
`RESTIC_FEATURES`. To get a list of currently supported feature flags, `RESTIC_FEATURES`. To get a list of currently supported feature flags, use
run the `features` command. the `features` command.
https://github.com/restic/restic/issues/4601 https://github.com/restic/restic/issues/4601
https://github.com/restic/restic/pull/4666 https://github.com/restic/restic/pull/4666

View file

@ -1,22 +1,21 @@
Change: Deprecate legacy index format and s3legacy layout Change: Deprecate legacy index format and `s3legacy` repository layout
Support for the legacy index format used by restic before version 0.2.0 has Support for the legacy index format used by restic before version 0.2.0 has
been deprecated and will be removed in the next minor restic version. You can been deprecated and will be removed in the next minor restic version. You can
use `restic repair index` to update the index to the current format. use `restic repair index` to update the index to the current format.
It is possible to temporarily reenable support for the legacy index format by It is possible to temporarily reenable support for the legacy index format by
setting the environment variable setting the environment variable `RESTIC_FEATURES=deprecate-legacy-index=false`.
`RESTIC_FEATURES=deprecate-legacy-index=false`. Note that this feature flag Note that this feature flag will be removed in the next minor restic version.
will be removed in the next minor restic version.
Support for the s3legacy layout used for the S3 backend before restic 0.7.0 Support for the `s3legacy` repository layout used for the S3 backend before
has been deprecated and will be removed in the next minor restic version. You restic 0.7.0 has been deprecated and will be removed in the next minor restic
can migrate your S3 repository using `RESTIC_FEATURES=deprecate-s3-legacy-layout=false restic migrate s3_layout`. version. You can migrate your S3 repository to the current layout using
`RESTIC_FEATURES=deprecate-s3-legacy-layout=false restic migrate s3_layout`.
It is possible to temporarily reenable support for the legacy s3layout by It is possible to temporarily reenable support for the `s3legacy` layout by
setting the environment variable setting the environment variable `RESTIC_FEATURES=deprecate-s3-legacy-layout=false`.
`RESTIC_FEATURES=deprecate-s3-legacy-layout=false`. Note that this feature flag Note that this feature flag will be removed in the next minor restic version.
will be removed in the next minor restic version.
https://github.com/restic/restic/issues/4602 https://github.com/restic/restic/issues/4602
https://github.com/restic/restic/pull/4724 https://github.com/restic/restic/pull/4724

View file

@ -2,23 +2,24 @@ Change: Redesign backend error handling to improve reliability
Restic now downloads pack files in large chunks instead of using a streaming Restic now downloads pack files in large chunks instead of using a streaming
download. This prevents failures due to interrupted streams. The `restore` download. This prevents failures due to interrupted streams. The `restore`
command now also retries downloading individual blobs that cannot be retrieved. command now also retries downloading individual blobs that could not be
retrieved.
HTTP requests that are stuck for more than two minutes while uploading or HTTP requests that are stuck for more than two minutes while uploading or
downloading are now forcibly interrupted. This ensures that stuck requests are downloading are now forcibly interrupted. This ensures that stuck requests are
retried after a short timeout. retried after a short timeout.
Attempts to access a missing file or a truncated file will no longer be retried. Attempts to access a missing or truncated file will no longer be retried. This
This avoids unnecessary retries in those cases. All other backend requests are avoids unnecessary retries in those cases. All other backend requests are
retried for up to 15 minutes. This ensures that a temporarily interrupted network retried for up to 15 minutes. This ensures that temporarily interrupted network
connections can be tolerated. connections can be tolerated.
If a download yields a corrupt file or blob, then the download will be retried once. If a download yields a corrupt file or blob, then the download will be retried
once.
Most parts of the new backend error handling can temporarily be disabled by Most parts of the new backend error handling can temporarily be disabled by
setting the environment variable setting the environment variable `RESTIC_FEATURES=backend-error-redesign=false`.
`RESTIC_FEATURES=backend-error-redesign=false`. Note that this feature flag will Note that this feature flag will be removed in the next minor restic version.
be removed in the next minor restic version.
https://github.com/restic/restic/issues/4627 https://github.com/restic/restic/issues/4627
https://github.com/restic/restic/issues/4193 https://github.com/restic/restic/issues/4193

View file

@ -1,6 +1,6 @@
Bugfix: Properly report the ID of newly added keys Bugfix: Properly report ID of newly added keys
`restic key add` now reports the ID of a newly added key. This simplifies `restic key add` now reports the ID of the newly added key. This simplifies
selecting a specific key using the `--key-hint key` option. selecting a specific key using the `--key-hint key` option.
https://github.com/restic/restic/issues/4656 https://github.com/restic/restic/issues/4656

View file

@ -1,8 +1,8 @@
Enhancement: Move key add, list, remove and passwd as separate sub-commands Enhancement: Make `key` command's actions separate sub-commands
Restic now provides usage documentation for the `key` command. Each sub-command; Each of the `add`, `list`, `remove` and `passwd` actions provided by the `key`
`add`, `list`, `remove` and `passwd` now have their own sub-command documentation command is now a separate sub-command and have its own documentation which can
which can be invoked using `restic key <add|list|remove|passwd> --help`. be invoked using `restic key <add|list|remove|passwd> --help`.
https://github.com/restic/restic/issues/4676 https://github.com/restic/restic/issues/4676
https://github.com/restic/restic/pull/4685 https://github.com/restic/restic/pull/4685

View file

@ -1,7 +1,7 @@
Enhancement: Add --target flag to the dump command Enhancement: Add `--target` option to the `dump` command
Restic `dump` always printed to the standard output. It now permits to select a Restic `dump` always printed to the standard output. It now supports specifying
`--target` file to write the output to. a `--target` file to write its output to.
https://github.com/restic/restic/issues/4678 https://github.com/restic/restic/issues/4678
https://github.com/restic/restic/pull/4682 https://github.com/restic/restic/pull/4682

View file

@ -1,12 +1,12 @@
Change: Disallow S3 anonymous authentication by default Change: Disable S3 anonymous authentication by default
When using the S3 backend with anonymous authentication, it continuously tried When using the S3 backend with anonymous authentication, it continuously
to retrieve new authentication credentials, which caused bad performance. tried to retrieve new authentication credentials, causing bad performance.
Now, to use anonymous authentication, it is necessary to pass the option `-o Now, to use anonymous authentication, it is necessary to pass the extended
s3.unsafe-anonymous-auth=true` to restic. option `-o s3.unsafe-anonymous-auth=true` to restic.
It is temporarily possible to revert to the old behavior by setting the It is possible to temporarily revert to the old behavior by setting the
environment variable `RESTIC_FEATURES=explicit-s3-anonymous-auth=false`. Note environment variable `RESTIC_FEATURES=explicit-s3-anonymous-auth=false`. Note
that this feature flag will be removed in the next minor restic version. that this feature flag will be removed in the next minor restic version.

View file

@ -1,9 +1,11 @@
Enhancement: Allow specifying `--host` via environment variable Enhancement: Allow specifying `--host` via environment variable
Restic commands that operate on snapshots, such as `restic backup` and Restic commands that operate on snapshots, such as `restic backup` and
`restic snapshots`, support the `--host` flag to specify the hostname for `restic snapshots`, support the `--host` option to specify the hostname
grouoping snapshots. They now permit selecting the hostname via the for grouping snapshots.
environment variable `RESTIC_HOST`. `--host` still takes precedence over the
Such commands now also support specifying the hostname via the environment
variable `RESTIC_HOST`. Note that `--host` still takes precedence over the
environment variable. environment variable.
https://github.com/restic/restic/issues/4733 https://github.com/restic/restic/issues/4733

View file

@ -1,7 +1,7 @@
Change: Include full key ID in JSON output of `key list` Change: Include full key ID in JSON output of `key list`
We have changed the JSON output of the `key list` command to include the full The JSON output of the `key list` command has changed to include the full key
key ID instead of just a shortened version, as the latter can be ambiguous ID instead of just a shortened version of the ID, as the latter can be ambiguous
in some rare cases. To derive the short ID, please truncate the full ID down to in some rare cases. To derive the short ID, please truncate the full ID down to
eight characters. eight characters.

View file

@ -2,7 +2,7 @@ Bugfix: Fix possible error on concurrent cache cleanup
If multiple restic processes concurrently cleaned up no longer existing files If multiple restic processes concurrently cleaned up no longer existing files
from the cache, this could cause some of the processes to fail with an `no such from the cache, this could cause some of the processes to fail with an `no such
file or directory` error. This has been fixed. file or directory` error. This has now been fixed.
https://github.com/restic/restic/issues/4760 https://github.com/restic/restic/issues/4760
https://github.com/restic/restic/pull/4761 https://github.com/restic/restic/pull/4761

View file

@ -1,7 +1,7 @@
Enhancement: Allow custom User-Agent to be specified for outgoing requests Enhancement: Allow specifying custom User-Agent for outgoing requests
Restic now permits setting a custom `User-Agent` for outgoing HTTP requests Restic now supports setting a custom `User-Agent` for outgoing HTTP requests
using the global flag `--http-user-agent` or the `RESTIC_HTTP_USER_AGENT` using the global option `--http-user-agent` or the `RESTIC_HTTP_USER_AGENT`
environment variable. environment variable.
https://github.com/restic/restic/issues/4768 https://github.com/restic/restic/issues/4768

View file

@ -1,8 +1,8 @@
Enhancement: Add restore flags to read include and exclude patterns from files Enhancement: Add `restore` options to read include/exclude patterns from files
Restic now supports reading include and exclude patterns from files using the Restic now supports reading include and exclude patterns from files using the
`--include-file`, `--exclude-file`, `--iinclude-file` and `--iexclude-file` `--include-file`, `--exclude-file`, `--iinclude-file` and `--iexclude-file`
flags. options of the `restore` command.
https://github.com/restic/restic/issues/4781 https://github.com/restic/restic/issues/4781
https://github.com/restic/restic/pull/4811 https://github.com/restic/restic/pull/4811

View file

@ -1,18 +1,20 @@
Enhancement: Make overwrite behavior of `restore` customizable Enhancement: Make overwrite behavior of `restore` customizable
The `restore` command now supports an `--overwrite` option to configure whether The `restore` command now supports an `--overwrite` option to configure whether
already existing files are overwritten. This behavior can now be configured via already existing files are overwritten. The overwrite behavior can be configured
the `--overwrite` option. The following values are supported: using the following option values:
* `--overwrite always` (default): always overwrites already existing files. `restore` - `--overwrite always` (default): Always overwrites already existing files.
will verify the existing file content and only restore mismatching parts to minimize The `restore` command will verify the existing file content and only restore
downloads. Updates the metadata of all files. mismatching parts to minimize downloads. Updates the metadata of all files.
* `--overwrite if-changed`: like the previous case, but speeds up the file content check - `--overwrite if-changed`: Like `always`, but speeds up the file content check
by assuming that files with matching size and modification time (mtime) are already up to date. by assuming that files with matching size and modification time (mtime) are
In case of a mismatch, the full file content is verified. Updates the metadata of all files. already up to date. In case of a mismatch, the full file content is verified
* `--overwrite if-newer`: only overwrite existing files if the file in the snapshot has a like with `always`. Updates the metadata of all files.
newer modification time (mtime). - `--overwrite if-newer`: Like `always`, but only overwrites existing files
* `--overwrite never`: never overwrite existing files. when the file in the snapshot has a newer modification time (mtime) than the
existing file.
- `--overwrite never`: Never overwrites existing files.
https://github.com/restic/restic/issues/4817 https://github.com/restic/restic/issues/4817
https://github.com/restic/restic/issues/200 https://github.com/restic/restic/issues/200

View file

@ -1,8 +1,8 @@
Bugfix: correctly handle UTF-16 password files in `key add/passwd` Bugfix: Handle UTF-16 password files in `key` command correctly
`key add` and `key passwd` did not properly decode UTF-16 encoded password read Previously, `key add` and `key passwd` did not properly decode UTF-16
from a password file. This has been fix to match the decoding when opening a encoded passwords read from a password file. This has now been fixed
repository. to correctly match the encoding when opening a repository.
https://github.com/restic/restic/issues/4850 https://github.com/restic/restic/issues/4850
https://github.com/restic/restic/pull/4851 https://github.com/restic/restic/pull/4851

View file

@ -1,6 +1,8 @@
Enhancement: Update snapshot summary on rewrite Bugfix: Update snapshot summary on `rewrite`
Restic now recalculates the total number of files and bytes processed when files are excluded during rewrite. Restic previously did not recalculate the total number of files and bytes
processed when files were excluded from a snapshot by the `rewrite` command.
This has now been fixed.
https://github.com/restic/restic/issues/4902 https://github.com/restic/restic/issues/4902
https://github.com/restic/restic/pull/4905 https://github.com/restic/restic/pull/4905

View file

@ -1,11 +1,11 @@
Enhancement: `backup` can omit snapshot creation if there was no change Enhancement: Optionally skip snapshot creation if nothing changed
The `backup` command always created a snapshot even if nothing changed The `backup` command always created a snapshot even if nothing in the
compared to the parent snapshot. backup set changed compared to the parent snapshot.
Restic now supports the `--skip-if-unchanged` option for the `backup` Restic now supports the `--skip-if-unchanged` option for the `backup`
command to omit creating a snapshot if the new snapshot's content would command, which omits creating a snapshot if the new snapshot's content
be identical to that of the parent snapshot. would be identical to that of the parent snapshot.
https://github.com/restic/restic/issues/662 https://github.com/restic/restic/issues/662
https://github.com/restic/restic/pull/4816 https://github.com/restic/restic/pull/4816

View file

@ -1,8 +1,8 @@
Enhancement: Support printing snapshot size in `snapshots` command Enhancement: Include snapshot size in `snapshots` output
The `snapshots` command now supports printing the snapshot size for snapshots The `snapshots` command now prints the size for snapshots created using this
created using this or a future restic version. For this, the `backup` command or a future restic version. To achieve this, the `backup` command now stores
now stores the backup summary statistics in the snapshot. the backup summary statistics in the snapshot.
The text output of the `snapshots` command only shows the snapshot size. The The text output of the `snapshots` command only shows the snapshot size. The
other statistics are only included in the JSON output. To inspect these other statistics are only included in the JSON output. To inspect these

View file

@ -1,4 +1,4 @@
Enhancement: Improve `repair packs` command Enhancement: Improve features of the `repair packs` command
The `repair packs` command has been improved to also be able to process The `repair packs` command has been improved to also be able to process
truncated pack files. The `check` and `check --read-data` command will provide truncated pack files. The `check` and `check --read-data` command will provide

View file

@ -1,22 +1,25 @@
Enhancement: Add options to configure Windows Shadow Copy Service Enhancement: Add extended options to configure Windows Shadow Copy Service
Restic always used 120 seconds timeout and unconditionally created VSS snapshots Previous, restic always used a 120 seconds timeout and unconditionally created
for all volume mount points on disk. Now this behavior can be fine-tuned by VSS snapshots for all volume mount points on disk. This behavior can now be
new options, like exclude specific volumes and mount points or completely fine-tuned by the following new extended options (available only on Windows):
disable auto snapshotting of volume mount points.
For example: - `-o vss.timeout`: Time that VSS can spend creating snapshot before timing out (default: 120s)
- `-o vss.exclude-all-mount-points`: Exclude mountpoints from snapshotting on all volumes (default: false)
- `-o vss.exclude-volumes`: Semicolon separated list of volumes to exclude from snapshotting
- `-o vss.provider`: VSS provider identifier which will be used for snapshotting
For example, change VSS timeout to five minutes and disable snapshotting of
mount points on all volumes:
restic backup --use-fs-snapshot -o vss.timeout=5m -o vss.exclude-all-mount-points=true restic backup --use-fs-snapshot -o vss.timeout=5m -o vss.exclude-all-mount-points=true
changes timeout to five minutes and disable snapshotting of mount points on all volumes, and Exclude drive `d:`, mount point `c:\mnt` and a specific volume from snapshotting:
restic backup --use-fs-snapshot -o vss.exclude-volumes="d:\;c:\mnt\;\\?\Volume{e2e0315d-9066-4f97-8343-eb5659b35762}" restic backup --use-fs-snapshot -o vss.exclude-volumes="d:\;c:\mnt\;\\?\Volume{e2e0315d-9066-4f97-8343-eb5659b35762}"
excludes drive `d:`, mount point `c:\mnt` and specific volume from VSS snapshotting. Uses 'Microsoft Software Shadow Copy provider 1.0' instead of the default provider:
restic backup --use-fs-snapshot -o vss.provider={b5946137-7b9f-4925-af80-51abd60b20d5} restic backup --use-fs-snapshot -o vss.provider={b5946137-7b9f-4925-af80-51abd60b20d5}
uses 'Microsoft Software Shadow Copy provider 1.0' instead of the default provider.
https://github.com/restic/restic/pull/3067 https://github.com/restic/restic/pull/3067

View file

@ -5,12 +5,11 @@ The feature flag will be removed after repository format version 3 becomes
available or be replaced with a different solution. available or be replaced with a different solution.
When creating backups from a filesystem snapshot, for example created using When creating backups from a filesystem snapshot, for example created using
btrfs subvolumes, the deviceID of the filesystem changes compared to previous BTRFS subvolumes, the deviceID of the filesystem changes compared to previous
snapshots. This prevented restic from deduplicating the directory metadata of snapshots. This prevented restic from deduplicating the directory metadata of
a snapshot. a snapshot.
When this alpha feature is enabled, then the deviceID is only stored for When this alpha feature is enabled, the deviceID is only stored for hardlinks,
hardlinks. This significantly reduces the metadata duplication for most which significantly reduces the metadata duplication for most backups.
backups.
https://github.com/restic/restic/pull/4006 https://github.com/restic/restic/pull/4006

View file

@ -1,7 +1,7 @@
Enhancement: Significantly reduce prune memory usage Enhancement: Significantly reduce `prune` memory usage
Prune has been optimized to use up to 60% less memory. The memory usage should The `prune` command has been optimized to use up to 60% less memory.
now be roughly similar to creating a backup. The memory usage should now be roughly similar to creating a backup.
https://github.com/restic/restic/pull/4354 https://github.com/restic/restic/pull/4354
https://github.com/restic/restic/pull/4812 https://github.com/restic/restic/pull/4812

View file

@ -1,8 +1,8 @@
Bugfix: Correct hardlink handling in `stats` command Bugfix: Correct hardlink handling in `stats` command
If files on different devices had the same inode id, then the `stats` command If files on different devices had the same inode ID, the `stats` command
did not correctly calculate the snapshot size. This has been fixed. did not correctly calculate the snapshot size. This has now been fixed.
https://forum.restic.net/t/possible-bug-in-stats/6461/8
https://github.com/restic/restic/pull/4503 https://github.com/restic/restic/pull/4503
https://github.com/restic/restic/pull/4006 https://github.com/restic/restic/pull/4006
https://forum.restic.net/t/possible-bug-in-stats/6461/8

View file

@ -1,11 +1,12 @@
Enhancement: Add bitrot detection to `diff` command Enhancement: Add bitrot detection to `diff` command
The output of the `diff` command now includes the modifier `?` for files The output of the `diff` command now includes the modifier `?` for files to
to indicate bitrot in backed up files. It will appear whenever there is a indicate bitrot in backed up files. The `?` will appear whenever there is a
difference in content while the metadata is exactly the same. Since files with difference in content while the metadata is exactly the same.
unchanged metadata are normally not read again when creating a backup, the
detection is only effective if the right-hand side of the diff has been created Since files with unchanged metadata are normally not read again when creating
with "backup --force". a backup, the detection is only effective when the right-hand side of the diff
has been created with `backup --force`.
https://github.com/restic/restic/issues/805 https://github.com/restic/restic/issues/805
https://github.com/restic/restic/pull/4526 https://github.com/restic/restic/pull/4526

View file

@ -1,5 +1,6 @@
Enhancement: Add `--new-host` and `--new-time` options to `rewrite` command Enhancement: Support rewriting host and time metadata in snapshots
`restic rewrite` now allows rewriting the host and / or time metadata of a snapshot. The `rewrite` command now supports rewriting the host and/or time metadata of
a snapshot using the new `--new-host` and `--new-time` options.
https://github.com/restic/restic/pull/4573 https://github.com/restic/restic/pull/4573

View file

@ -1,7 +1,6 @@
Enhancement: `mount` tests mountpoint existence before opening the repository Enhancement: Speed up `mount` command's error detection
The restic `mount` command now checks for the existence of the The `mount` command now checks for the existence of the mountpoint before
mountpoint before opening the repository, leading to quicker error opening the repository, leading to quicker error detection.
detection.
https://github.com/restic/restic/pull/4590 https://github.com/restic/restic/pull/4590

View file

@ -1,7 +1,9 @@
Enhancement: Back up windows created time and file attributes like hidden flag Enhancement: Back up more file metadata on Windows
Restic did not back up windows-specific meta-data like created time and file attributes like hidden flag. Previously, restic did not back up all common Windows-specific metadata.
Restic now backs up file created time and file attributes like hidden, readonly and encrypted flag when backing up files and folders on Windows.
Restic now stores file creation time and file attributes like the hidden,
read-only and encrypted flags when backing up files and folders on Windows.
https://github.com/restic/restic/pull/4611 https://github.com/restic/restic/pull/4611

View file

@ -1,6 +1,6 @@
Bugfix: `find` ignored directories in some cases Bugfix: Make `find` not sometimes ignore directories
In some cases, the `find` command ignored empty or moved directories. This has In some cases, the `find` command ignored empty or moved directories. This has
been fixed. now been fixed.
https://github.com/restic/restic/pull/4615 https://github.com/restic/restic/pull/4615

View file

@ -1,8 +1,10 @@
Enhancement: `ls` uses `message_type` field to distinguish JSON messages Enhancement: Make `ls` use `message_type` field in JSON output
The `ls` command was the only command that used the `struct_type` field to determine The `ls` command was the only restic command that used the `struct_type` field
the message type in the JSON output format. Now, the JSON output of the in its JSON output format to specify the message type.
`ls` command also includes the `message_type`. The `struct_type` field is
still included, but it deprecated. The JSON output of the `ls` command now also includes the `message_type` field,
which is consistent with other commands. The `struct_type` field is still
included, but now deprecated.
https://github.com/restic/restic/pull/4664 https://github.com/restic/restic/pull/4664

View file

@ -1,9 +1,11 @@
Bugfix: Shutdown cleanly when SIGTERM is received Bugfix: Shutdown cleanly when receiving SIGTERM
Prior, if restic received SIGTERM it'd just immediately terminate skipping Previously, when restic received the SIGTERM signal it would terminate
cleanup- resulting in potential issues like stale locks being left behind. immediately, skipping cleanup and potentially causing issues like stale locks
being left behind. This primarily effected containerized restic invocations
that use SIGTERM, but could also be triggered via a simple `killall restic`.
This primarily effected containerized restic invocations- they use SIGTERM- This has now been fixed, such that restic shuts down cleanly when receiving
but this could be triggered via a simple `killall restic` in addition. the SIGTERM signal.
https://github.com/restic/restic/pull/4703 https://github.com/restic/restic/pull/4703

View file

@ -1,11 +1,13 @@
Enhancement: Back up and restore SecurityDescriptors on Windows Enhancement: Back up and restore SecurityDescriptors on Windows
Restic now backs up and restores SecurityDescriptors when backing up files and folders Restic now backs up and restores SecurityDescriptors for files and folders on
on Windows which includes owner, group, discretionary access control list (DACL), Windows which includes owner, group, discretionary access control list (DACL)
system access control list (SACL). This requires the user to be a member of backup and system access control list (SACL).
operators or the application must be run as admin.
If that is not the case, only the current user's owner, group and DACL will be backed up This requires the user to be a member of backup operators or the application
and during restore only the DACL of the backed file will be restored while the current must be run as admin. If that is not the case, only the current user's owner,
user's owner and group will be set during the restore. group and DACL will be backed up, and during restore only the DACL of the
backed up file will be restored, with the current user's owner and group
being set on the restored file.
https://github.com/restic/restic/pull/4708 https://github.com/restic/restic/pull/4708

View file

@ -1,10 +1,10 @@
Bugfix: Correct `--no-lock` handling of `ls` and `tag` command Bugfix: Correct `--no-lock` handling of `ls` and `tag` commands
The `ls` command never locked the repository. This has been fixed. The old The `ls` command never locked the repository. This has now been fixed, with the
behavior is still supported using `ls --no-lock`. The latter invocation also old behavior still being supported using `ls --no-lock`. The latter invocation
works with older restic versions. also works with older restic versions.
The `tag` command erroneously accepted the `--no-lock` command. The command The `tag` command erroneously accepted the `--no-lock` command. This command
now always requires an exclusive lock. now always requires an exclusive lock.
https://github.com/restic/restic/pull/4709 https://github.com/restic/restic/pull/4709

View file

@ -1,5 +1,6 @@
Enhancement: include snapshot id in reason field of forget JSON output Enhancement: Include snapshot ID in `reason` field of `forget` JSON output
The JSON output of the `forget` command now includes the `id` and `short_id` of a snapshot in the `reason` field. The JSON output of the `forget` command now includes `id` and `short_id` of
snapshots in the `reason` field.
https://github.com/restic/restic/pull/4737 https://github.com/restic/restic/pull/4737

View file

@ -1,8 +1,10 @@
Enhancement: Remove all snapshots using `forget --unsafe-allow-remove-all` Enhancement: Support forgetting all snapshots
The forget command now supports the `--unsafe-allow-remove-all` option. It must The `forget` command now supports the `--unsafe-allow-remove-all` option, which
always be combined with a snapshot filter (by host, path or tag). removes all snapshots in the repository.
For example the command `forget --tag example --unsafe-allow-remove-all`,
removes all snapshots with tag `example`. This option must always be combined with a snapshot filter (by host, path or
tag). For example, the command `forget --tag example --unsafe-allow-remove-all`
removes all snapshots with the tag "example".
https://github.com/restic/restic/pull/4764 https://github.com/restic/restic/pull/4764

View file

@ -1,8 +1,8 @@
Enhancement: Improve `dump` performance for large files Enhancement: Improve `dump` performance for large files
The `dump` command now retrieves the data chunks for a file in parallel. This The `dump` command now retrieves the data chunks for a file in
improves the download performance by up to the configured number of parallel parallel. This improves the download performance by up to as many
backend connections. times as the configured number of parallel backend connections.
https://github.com/restic/restic/issues/3406 https://github.com/restic/restic/issues/3406
https://github.com/restic/restic/pull/4796 https://github.com/restic/restic/pull/4796

View file

@ -1,5 +1,6 @@
Enhancement: Back up and restore Extended Attributes on Windows NTFS Enhancement: Support Extended Attributes on Windows NTFS
Restic now backs up and restores Extended Attributes on Windows NTFS when backing up files and folders. Restic now backs up and restores Extended Attributes for files
and folders on Windows NTFS.
https://github.com/restic/restic/pull/4807 https://github.com/restic/restic/pull/4807

View file

@ -2,6 +2,6 @@ Enhancement: Add dry-run support to `restore` command
The `restore` command now supports the `--dry-run` option to perform The `restore` command now supports the `--dry-run` option to perform
a dry run. Pass the `--verbose=2` option to see which files would a dry run. Pass the `--verbose=2` option to see which files would
remain unchanged, which would be updated or freshly restored. remain unchanged, and which would be updated or freshly restored.
https://github.com/restic/restic/pull/4839 https://github.com/restic/restic/pull/4839

View file

@ -1,10 +1,10 @@
Change: return exit code 10 or 11 if repository does not exist or is locked Change: Return exit code 10 and 11 for non-existing and locked repository
If a repository does not exist or cannot be locked, then restic always returned If a repository does not exist or cannot be locked, restic previously always
exit code 1. This made it difficult to distinguish these cases from other returned exit code 1. This made it difficult to distinguish these cases from
errors. other errors.
Now, restic returns exit code 10 if the repository does not exist and exit code Restic now returns exit code 10 if the repository does not exist, and exit code
11 if the repository could be not locked due to a conflicting lock. 11 if the repository could be not locked due to a conflicting lock.
https://github.com/restic/restic/issues/956 https://github.com/restic/restic/issues/956