forked from TrueCloudLab/restic
Review, reword and polish unreleased changelog entries
This commit is contained in:
parent
6087c4ad75
commit
03137a34db
31 changed files with 145 additions and 140 deletions
|
@ -1,8 +1,8 @@
|
|||
Bugfix: Never lock repository for `list locks`
|
||||
|
||||
The `list locks` command previously locked to the repository by default. This
|
||||
has the problem that it won't work for an exclusively locked repository and
|
||||
that the command will also display its own lock file which can be confusing.
|
||||
had the problem that it wouldn't work for an exclusively locked repository and
|
||||
that the command would also display its own lock file which can be confusing.
|
||||
|
||||
Now, the `list locks` command never locks the repository.
|
||||
|
||||
|
|
|
@ -1,15 +1,14 @@
|
|||
Enhancement: Add --dry-run/-n option to backup command
|
||||
Enhancement: Add `--dry-run`/`-n` option to `backup` command
|
||||
|
||||
Testing exclude filters and other configuration options required running a
|
||||
normal backup. Wrong filters could then cause files to be uploaded
|
||||
unexpectedly. It was also not possible to approximately determine beforehand
|
||||
how much data has to be uploaded.
|
||||
Testing exclude filters and other configuration options was error prone as
|
||||
wrong filters could cause files to be uploaded unintentionally. It was also
|
||||
not possible to estimate beforehand how much data would be uploaded.
|
||||
|
||||
We added a new --dry-run/-n option to the backup command, which performs
|
||||
all the normal steps of a backup without actually writing any changes to
|
||||
the repository. Passing -vv will log information about files that would
|
||||
be added, allowing verification of source and exclusion backup options
|
||||
without committing changes to the repository.
|
||||
The `backup` command now has a `--dry-run`/`-n` option, which performs all the
|
||||
normal steps of a backup without actually writing anything to the repository.
|
||||
|
||||
Passing -vv will log information about files that would be added, allowing for
|
||||
verification of source and exclusion options before running the real backup.
|
||||
|
||||
https://github.com/restic/restic/issues/1542
|
||||
https://github.com/restic/restic/pull/2308
|
||||
|
|
|
@ -1,15 +1,13 @@
|
|||
Enhancement: Add upload checksum for azure, gs, s3 and swift backends
|
||||
Enhancement: Add upload checksum for Azure, GS, S3 and Swift backends
|
||||
|
||||
Up to now only the B2 backend and partially the Swift backend verified the
|
||||
integrity of uploaded (encrypted) files. The verification works by informing
|
||||
the backend about the expected hash of the uploaded file. This allows the
|
||||
backend to verify the upload and thereby rules out any data corruption during
|
||||
upload.
|
||||
Previously only the B2 and partially the Swift backends verified the integrity
|
||||
of uploaded (encrypted) files. The verification works by informing the backend
|
||||
about the expected hash of the uploaded file. The backend then verifies the
|
||||
upload and thereby rules out any data corruption during upload.
|
||||
|
||||
We have added upload checksums for the azure, gs, s3 and swift backends.
|
||||
|
||||
Restic can now be used to store backups in S3 buckets which have Object Lock
|
||||
enabled.
|
||||
We have now added upload checksums for the Azure, GS, S3 and Swift backends,
|
||||
which besides integrity checking for uploads also means that restic can now be
|
||||
used to store backups in S3 buckets which have Object Lock enabled.
|
||||
|
||||
https://github.com/restic/restic/issues/2202
|
||||
https://github.com/restic/restic/issues/2700
|
||||
|
|
|
@ -1,15 +1,13 @@
|
|||
Enhancement: Add negative patterns for include/exclude
|
||||
Enhancement: Support negative include/exclude patterns
|
||||
|
||||
If a pattern starts with an exclamation mark and it matches a file that
|
||||
was previously matched by a regular pattern, the match is cancelled.
|
||||
Notably, this can be used with `--exclude-file` to cancel the
|
||||
exclusion of some files.
|
||||
If a pattern starts with an exclamation mark and it matches a file that was
|
||||
previously matched by a regular pattern, the match is cancelled. Notably,
|
||||
this can be used with `--exclude-file` to cancel the exclusion of some files.
|
||||
|
||||
It works similarly to `gitignore`, with the same limitation: once a
|
||||
directory is excluded, it is not possible to include files inside the
|
||||
directory.
|
||||
It works similarly to `.gitignore`, with the same limitation; Once a directory
|
||||
is excluded, it is not possible to include files inside the directory.
|
||||
|
||||
Example of use (as an exclude pattern for backup):
|
||||
Example of use as an exclude pattern for the `backup` command:
|
||||
|
||||
$HOME/**/*
|
||||
!$HOME/Documents
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
Bugfix: Make cache crash-resistant and usable by multiple concurrent processes
|
||||
|
||||
The restic cache directory ($RESTIC_CACHE_DIR) could end up in a broken state
|
||||
The restic cache directory (`RESTIC_CACHE_DIR`) could end up in a broken state
|
||||
in the event of restic (or the OS) crashing. This is now less likely to occur
|
||||
as files are downloaded to a temporary location before being moved in place.
|
||||
as files are downloaded to a temporary location before being moved to their
|
||||
proper location.
|
||||
|
||||
This also allows multiple concurrent restic processes to operate on a single
|
||||
repository without conflicts. Previously, concurrent operations could cause
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
Enhancement: Add warning for S3 if partial credentials are provided
|
||||
|
||||
Check if both the AWS key ID and secret environment variables are set
|
||||
before connecting to the remote server and report an error if not.
|
||||
Previously restic did not notify about incomplete credentials when using the
|
||||
S3 backend, instead just reporting access denied.
|
||||
|
||||
Restic now checks that both the AWS key ID and secret environment variables are
|
||||
set before connecting to the remote server, and reports an error if not.
|
||||
|
||||
https://github.com/restic/restic/issues/2388
|
||||
https://github.com/restic/restic/pull/3532
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
Bugfix: Improve error handling of repository locking
|
||||
|
||||
When the lock refresh failed to delete the old lock file, it forgot about the
|
||||
newly created one. Instead it continued trying to delete the old (usually no
|
||||
longer existing) lock file and thus over time lots of lock files accumulated.
|
||||
This has been fixed.
|
||||
Previously, when the lock refresh failed to delete the old lock file, it forgot
|
||||
about the newly created one. Instead it continued trying to delete the old
|
||||
(usually no longer existing) lock file and thus over time lots of lock files
|
||||
accumulated. This has now been fixed.
|
||||
|
||||
https://github.com/restic/restic/issues/2452
|
||||
https://github.com/restic/restic/issues/2473
|
||||
|
|
|
@ -1,11 +1,8 @@
|
|||
Enhancement: Support JSON output and quiet mode for diff
|
||||
Enhancement: Support JSON output and quiet mode for the `diff` command
|
||||
|
||||
We've added support for getting machine-readable output for snapshot diff, just pass the
|
||||
flag `--json` for `restic diff` and restic will output a JSON-encoded diff stats and change
|
||||
list.
|
||||
|
||||
Passing the `--quiet` flag to the `diff` command will only print the summary
|
||||
and suppress the detailed output.
|
||||
The `diff` command now supports outputting machine-readable output in JSON
|
||||
format. To enable this, pass the `--json` option to the command. To only print
|
||||
the summary and suppress detailed output, pass the `--quiet` option.
|
||||
|
||||
https://github.com/restic/restic/issues/2508
|
||||
https://github.com/restic/restic/pull/3592
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
Enhancement: Add flag to disable TLS verification for self-signed certificates
|
||||
|
||||
We've added a flag, `--insecure-tls`, to allow disabling
|
||||
TLS verification for self-signed certificates in order to support
|
||||
some development workflows.
|
||||
There is now an `--insecure-tls` global option in restic, which disables TLS
|
||||
verification for self-signed certificates in order to support some development
|
||||
workflows.
|
||||
|
||||
https://github.com/restic/restic/issues/2656
|
||||
https://github.com/restic/restic/pull/2657
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
Bugfix: Don't print progress for `backup --json --quiet`
|
||||
|
||||
Unlike the text output, the json output format still printed progress
|
||||
information even in quiet mode. This has been fixed by always disabling the
|
||||
progress output in quiet mode.
|
||||
Unlike the text output, the `--json` output format still printed progress
|
||||
information even in `--quiet` mode. This has now been fixed by always
|
||||
disabling the progress output in quiet mode.
|
||||
|
||||
https://github.com/restic/restic/issues/2738
|
||||
https://github.com/restic/restic/pull/3264
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
Enhancement: Atomic uploads for SFTP
|
||||
Enhancement: Atomic uploads for the SFTP backend
|
||||
|
||||
The SFTP backend did not upload files atomically. An interrupted upload could
|
||||
leave an incomplete file behind which could prevent restic from accessing the
|
||||
repository.
|
||||
|
||||
Uploads in the SFTP backend are now done atomically.
|
||||
repository. This has now been fixed and uploads in the SFTP backend are done
|
||||
atomically.
|
||||
|
||||
https://github.com/restic/restic/issues/3003
|
||||
https://github.com/restic/restic/pull/3524
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
Enhancement: Add xattr support for Solaris
|
||||
Enhancement: Add xattr (extended attributes) support for Solaris
|
||||
|
||||
We added xattr support for the Solaris operating system. This enables restic
|
||||
to support xattrs on Solaris.
|
||||
Restic now supports xattr for the Solaris operating system.
|
||||
|
||||
https://github.com/restic/restic/issues/3127
|
||||
https://github.com/restic/restic/pull/3628
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
Change: honor RESTIC_CACHE_DIR environment variable in the check command
|
||||
Bugfix: Make `check` command honor `RESTIC_CACHE_DIR` environment variable
|
||||
|
||||
--cache-dir option doesn't honor the RESTIC_CACHE_DIR environment variable by
|
||||
default. This fixes an issue with the restic check command that doesn't obey the
|
||||
RESTIC_CACHE_DIR environment variable. Extend the behavior of cache command to
|
||||
manage directories created by restic check.
|
||||
Previously, the `check` command didn't honor the `RESTIC_CACHE_DIR` environment
|
||||
variable, which caused problems in certain system/usage configurations. This
|
||||
has now been fixed.
|
||||
|
||||
https://github.com/restic/restic/issues/3382
|
||||
https://github.com/restic/restic/pull/3474
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
Enhancement: Skip lock creation on forget if --no-lock and --dry-run
|
||||
Enhancement: Skip lock creation on `forget` if `--no-lock` and `--dry-run`
|
||||
|
||||
Restic used to silently ignore --no-lock option of forget. It now skips
|
||||
creation of lock file in case of both --dry-run and --no-lock are specified. If
|
||||
--no-lock option is specified without --dry-run then restic prints a warning
|
||||
message to stderr.
|
||||
Restic used to silently ignore the `--no-lock` option of the `forget` command.
|
||||
|
||||
It now skips creation of lock file in case both `--dry-run` and `--no-lock`
|
||||
are specified. If `--no-lock` option is specified without `--dry-run`, restic
|
||||
prints a warning message to stderr.
|
||||
|
||||
https://github.com/restic/restic/issues/3464
|
||||
https://github.com/restic/restic/pull/3623
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
Bugfix: Make copy command honor `--no-lock` for source repository
|
||||
Bugfix: Make `copy` command honor `--no-lock` for source repository
|
||||
|
||||
When passing the `--no-lock` flag to the copy command, restic still attempted
|
||||
to lock the source repository, causing failures on read-only storage backends.
|
||||
`--no-lock` is now respected and copy then no longer creates a lock in the
|
||||
source repository.
|
||||
The `copy` command previously did not respect the `--no-lock` option for the
|
||||
source repository, causing failures with read-only storage backends. This has
|
||||
now been fixed such that the option is now respected.
|
||||
|
||||
https://github.com/restic/restic/issues/3518
|
||||
https://github.com/restic/restic/pull/3589
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
Bugfix: Improve handling of temporary B2 delete errors
|
||||
Enhancement: Improve handling of temporary B2 delete errors
|
||||
|
||||
Deleting files on B2 can sometimes fail temporarily, which requires restic to
|
||||
retry the delete operation. In some cases the file was deleted nevertheless
|
||||
causing the retries and ultimately the restic command to fail. This has been
|
||||
Deleting files on B2 could sometimes fail temporarily, which required restic to
|
||||
retry the delete operation. In some cases the file was deleted nevertheless,
|
||||
causing the retries and ultimately the restic command to fail. This has now been
|
||||
fixed.
|
||||
|
||||
https://github.com/restic/restic/issues/3541
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
Enhancement: Add file mode in symbolic notation to `ls --json`
|
||||
|
||||
Now `restic ls --json` provides mode in symbolic notation aligned
|
||||
with `restic find --json`.
|
||||
The `ls --json` command now provides the file mode in symbolic notation (using
|
||||
the `permissions` key), aligned with `find --json`.
|
||||
|
||||
https://github.com/restic/restic/issues/3542
|
||||
https://github.com/restic/restic/pull/3573
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
Bugfix: Fix hang with Backblaze B2 if SSL certificate authority error
|
||||
Bugfix: Fix hang with Backblaze B2 on SSL certificate authority error
|
||||
|
||||
If a request failed with an SSL unknown certificate authority error, the
|
||||
B2 backend retried indefinitely and restic would appear to hang.
|
||||
It now returns the error and restic fails with an error message.
|
||||
Previously, if a request failed with an SSL unknown certificate authority
|
||||
error, the B2 backend retried indefinitely and restic would appear to hang.
|
||||
|
||||
This has now been fixed and restic instead fails with an error message.
|
||||
|
||||
https://github.com/restic/restic/issues/3556
|
||||
https://github.com/restic/restic/issues/2355
|
||||
|
|
|
@ -1,11 +1,15 @@
|
|||
Bugfix: Fix rclone backend prematurely exiting when receiving SIGINT on Windows
|
||||
|
||||
On Windows, Restic now start the rclone process detached from the
|
||||
restic console (similar to starting processes on a new process
|
||||
group on Linux). Therefore, when Ctrl+C is pressed on the console
|
||||
where restic runs, restic could gracefully clean up using clone,
|
||||
and rclone won't exit prematurely leading to restic hanging up with
|
||||
"stdio pipes closed" errors.
|
||||
Previously, pressing Ctrl+C in a Windows console where restic was running with
|
||||
rclone as the backend would cause rclone to exit prematurely due to getting a
|
||||
`SIGINT` signal at the same time as restic. Restic would then wait for a long
|
||||
time for time with "unexpected EOF" and "rclone stdio connection already closed"
|
||||
errors.
|
||||
|
||||
https://github.com/restic/restic/issue/3601
|
||||
https://github.com/restic/restic/pull/3602
|
||||
This has now been fixed by restic starting the rclone process detached from the
|
||||
console restic runs in (similar to starting processes in a new process group on
|
||||
Linux), which enables restic to gracefully clean up rclone (which now never gets
|
||||
the `SIGINT`).
|
||||
|
||||
https://github.com/restic/restic/issues/3601
|
||||
https://github.com/restic/restic/pull/3602
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
Change: Backups from stdin no longer have a parent
|
||||
Change: Ignore parent snapshot for `backup --stdin`
|
||||
|
||||
Snapshots made with `restic backup --stdin` no longer have a parent snapshot.
|
||||
Since parent snapshots are only used to skip files in the scanning phase
|
||||
based on filename and timestamps, the parent snapshot of a `--stdin` snapshot
|
||||
was meaningless to begin with. Not setting a parent allows `restic backup`
|
||||
to skip some startup operations.
|
||||
Restic uses a parent snapshot to speed up directory scanning when performing
|
||||
backups, but this only wasted time and memory when the backup source is stdin
|
||||
(using the `--stdin` option of the `backup` command), since no directory scanning
|
||||
is performed in this case.
|
||||
|
||||
The `--parent` option is still available for `restic backup --stdin`,
|
||||
but is now ignored.
|
||||
Snapshots made with `backup --stdin` no longer have a parent snapshot, which allows
|
||||
restic to skip some startup operations and saves a bit of resources.
|
||||
|
||||
The `--parent` option is still available for `backup --stdin`, but is now ignored.
|
||||
|
||||
https://github.com/restic/restic/issues/3641
|
||||
https://github.com/restic/restic/pull/3645
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
Bugfix: restic mount now reports symlinks sizes
|
||||
Bugfix: The `mount` command now reports symlinks sizes
|
||||
|
||||
Symlinks used to have size zero in restic mountpoints, confusing some
|
||||
third-party tools. They now have a size equal to the byte length of their
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
Enhancement: Speed up restic restore --verify
|
||||
Enhancement: Speed up the `restore --verify` command
|
||||
|
||||
The --verify option lets restic restore verify the file content after it has
|
||||
restored a snapshot. We've sped up the verification by up to a factor of two.
|
||||
The `--verify` option lets the `restore` command verify the file content
|
||||
after it has restored a snapshot. The performance of this operation has
|
||||
now been improved by up to a factor of two.
|
||||
|
||||
https://github.com/restic/restic/pull/2594
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
Enhancement: backup no longer updates file access times on Linux
|
||||
Enhancement: The `backup` command no longer updates file access times on Linux
|
||||
|
||||
When reading files during backup, restic caused the operating system to update
|
||||
the file access times. Note that this does not apply to filesystems with
|
||||
When reading files during backup, restic used to cause the operating system to
|
||||
update the files' access times. Note that this did not apply to filesystems with
|
||||
disabled file access times.
|
||||
|
||||
Restic now instructs the operation system not to update the file access time,
|
||||
Restic now instructs the operating system not to update the file access time,
|
||||
if the user running restic is the file owner or has root permissions.
|
||||
|
||||
https://github.com/restic/restic/pull/2816
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
Enhancement: Improve recover command
|
||||
Enhancement: Make `recover` collect only unreferenced trees
|
||||
|
||||
Restic recover used to generate a snapshot that contains all root trees
|
||||
even those which are already referenced by a snapshot.
|
||||
It now only processes trees not referenced at all.
|
||||
Previously, the `recover` command used to generate a snapshot containing *all*
|
||||
root trees, even those which were already referenced by a snapshot.
|
||||
|
||||
This has been improved such that it now only processes trees not already
|
||||
referenced by any snapshot.
|
||||
|
||||
https://github.com/restic/restic/pull/2880
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
Enhancement: Verify that new or modified keys were stored correctly
|
||||
Enhancement: Verify that new or modified keys are stored correctly
|
||||
|
||||
When adding a new key or changing the password of a key, restic just created the
|
||||
new key (and removed the old one, when changing the password). There was no
|
||||
verification that the new key was stored correctly and that it work. As the
|
||||
repository cannot be decrypted without a valid key file, this could in rare
|
||||
cases cause the repository to become inaccessible.
|
||||
When adding a new key or changing the password of a key, restic used to just
|
||||
create the new key (and remove the old one, when changing the password). There
|
||||
was no verification that the new key was stored correctly and works properly.
|
||||
As the repository cannot be decrypted without a valid key file, this could in
|
||||
rare cases cause the repository to become inaccessible.
|
||||
|
||||
We have added a check that the new key actually works before continuing. This
|
||||
Restic now checks that new key files actually work before continuing. This
|
||||
can protect against some (rare) cases of hardware or storage problems.
|
||||
|
||||
https://github.com/restic/restic/pull/3429
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
Bugfix: rebuild-index failed if an index file was damaged
|
||||
Bugfix: `rebuild-index` failed if an index file was damaged
|
||||
|
||||
The `rebuild-index` command failed with an error if an index file was damaged
|
||||
or truncated. This has been fixed. A (slow) workaround is to use
|
||||
Previously, the `rebuild-index` command would fail with an error if an index
|
||||
file was damaged or truncated. This has now been fixed.
|
||||
|
||||
On older restic versions, a (slow) workaround is to use
|
||||
`rebuild-index --read-all-packs` or to manually delete the damaged index.
|
||||
|
||||
https://github.com/restic/restic/pull/3488
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
Enhancement: Cache blobs read by the dump command
|
||||
Enhancement: Cache blobs read by the `dump` command
|
||||
|
||||
When dumping a file using the `restic dump` command, restic did not cache blobs
|
||||
in any way, so even consecutive runs of the same blob did get loaded from the
|
||||
repository again and again, slowing down the dump.
|
||||
When dumping a file using the `dump` command, restic did not cache blobs in any
|
||||
way, so even consecutive runs of the same blob were loaded from the repository
|
||||
again and again, slowing down the dump.
|
||||
|
||||
Now, the caching mechanism already used by the `fuse` command is also used by
|
||||
the `dump` command. This makes dumping much faster, especially for sparse files.
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
Enhancement: Support timeout configurable for rclone backend
|
||||
Enhancement: Support configurable timeout for the rclone backend
|
||||
|
||||
A slow rclone backend could cause restic to time out while waiting for the repository to open.
|
||||
Restic now offers an `-o rclone.timeout` option to make this timeout configurable.
|
||||
A slow rclone backend could cause restic to time out while waiting for the
|
||||
repository to open. Restic now offers an `-o rclone.timeout` option to make
|
||||
this timeout configurable.
|
||||
|
||||
https://github.com/restic/restic/issues/3511
|
||||
https://github.com/restic/restic/pull/3514
|
||||
https://github.com/restic/restic/pull/3514
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
Bugfix: Fix handling of `prune --max-repack-size=0`
|
||||
|
||||
Restic ignored the `--max-repack-size` option when passing a value of 0. This
|
||||
has been fixed.
|
||||
has now been fixed.
|
||||
|
||||
As a workaround, `--max-repack-size=1` can be used with older versions of restic.
|
||||
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
Enhancement: Improve restic copy performance by parallelizing IO
|
||||
Enhancement: Improve `copy` performance by parallelizing IO
|
||||
|
||||
Restic copy previously only used a single thread for copying blobs between
|
||||
repositories, which resulted in limited performance when copying small blobs
|
||||
to/from a high latency backend (i.e. any remote backend, especially b2).
|
||||
|
||||
Copying will now use 8 parallel threads to increase the throughput of the copy
|
||||
operation.
|
||||
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
Bugfix: Avoid choosing parent snapshots newer than time of current snapshot
|
||||
Bugfix: Avoid choosing parent snapshots newer than time of new snapshot
|
||||
|
||||
`restic backup` (if a `--parent` is not provided)
|
||||
previously chose the most recent matching snapshot as the parent snapshot.
|
||||
However, this didn't make sense when the user passed `--time`
|
||||
to create a snapshot older than the most recent snapshot.
|
||||
The `backup` command, when a `--parent` was not provided, previously chose the
|
||||
most recent matching snapshot as the parent snapshot. However, this didn't make
|
||||
sense when the user passed `--time` to create a new snapshot older than the most
|
||||
recent snapshot.
|
||||
|
||||
Instead, `restic backup` now chooses the most recent snapshot
|
||||
which is not newer than the snapshot-being-created's timestamp,
|
||||
to avoid any time travel.
|
||||
Instead, `backup` now chooses the most recent snapshot which is not newer than
|
||||
the snapshot-being-created's timestamp, to avoid any time travel.
|
||||
|
||||
https://github.com/restic/restic/pull/3619
|
||||
|
|
Loading…
Reference in a new issue