diff --git a/changelog/unreleased/issue-1153 b/changelog/unreleased/issue-1153 index c6eaa4ad2..3027588e0 100644 --- a/changelog/unreleased/issue-1153 +++ b/changelog/unreleased/issue-1153 @@ -1,9 +1,9 @@ -Enhancement: Support pruning even after running out of disk space +Enhancement: Support pruning even when the disk is full When running out of disk space it was no longer possible to add or remove data from a repository. To help with recovering from such a deadlock, the prune command now supports an `--unsafe-recover-no-free-space` option to -recover from such situations. Make sure to read the documentation first! +recover from these situations. Make sure to read the documentation first! https://github.com/restic/restic/issues/1153 https://github.com/restic/restic/pull/3481 diff --git a/changelog/unreleased/issue-1842 b/changelog/unreleased/issue-1842 index 7c2c32098..b5890cad9 100644 --- a/changelog/unreleased/issue-1842 +++ b/changelog/unreleased/issue-1842 @@ -2,7 +2,7 @@ Change: Support debug log creation in release builds Creating a debug log was only possible in debug builds which required users to manually build restic. We changed the release builds to allow creating debug -logs by setting the environment variable `DEBUG_LOG=logname.log`. +logs by simply setting the environment variable `DEBUG_LOG=logname.log`. https://github.com/restic/restic/issues/1842 https://github.com/restic/restic/pull/3826 diff --git a/changelog/unreleased/issue-21 b/changelog/unreleased/issue-21 index afb0edb96..412448b4f 100644 --- a/changelog/unreleased/issue-21 +++ b/changelog/unreleased/issue-21 @@ -1,27 +1,24 @@ -Enhancement: Add comppression support +Enhancement: Add compression support -We have added compression support to the restic repository format. To create a +We've added compression support to the restic repository format. To create a repository using the new format run `init --repository-version 2`. Please note that the repository cannot be read by restic versions prior to 0.14.0. -You can configure if data is compressed with the option `--compression`. It can -be set to `auto` (the default, which will compress very fast), `max` (which +You can configure whether data is compressed with the option `--compression`. It +can be set to `auto` (the default, which will compress very fast), `max` (which will trade backup speed and CPU usage for better compression), or `off` (which disables compression). Each setting is only applied for the single run of restic. The option can also be set via the environment variable `RESTIC_COMPRESSION`. -The new format version has not received much testing yet. Do not rely on it as -your only backup copy! Please run `check` in regular intervals to detect any -problems. - To upgrade in place run `migrate upgrade_repo_v2` followed by `prune`. See the documentation for more details. The migration checks the repository integrity -and upgrades the repository format but will not change any data. Afterwards, +and upgrades the repository format, but will not change any data. Afterwards, prune will rewrite the metadata to make use of compression. -As an alternative you can use the `copy` command to migrate snapshots: first create a new -repository using `init --repository-version 2 --copy-chunker-params --repo2 path/to/old/repo`. -Then use the `copy` command to copy all snapshots to the new repository. +As an alternative you can use the `copy` command to migrate snapshots; First +create a new repository using +`init --repository-version 2 --copy-chunker-params --repo2 path/to/old/repo`, +and then use the `copy` command to copy all snapshots to the new repository. https://github.com/restic/restic/issues/21 https://github.com/restic/restic/issues/3779 diff --git a/changelog/unreleased/issue-2162 b/changelog/unreleased/issue-2162 index f242ea058..521048394 100644 --- a/changelog/unreleased/issue-2162 +++ b/changelog/unreleased/issue-2162 @@ -1,11 +1,11 @@ -Enhancement: Adapt IO concurrency based on backend connections +Enhancement: Adaptive IO concurrency based on backend connections Many commands used hard-coded limits for the number of concurrent operations. This prevented speed improvements by increasing the number of connections used by a backend. -These limits have been replaced by using the configured number of backend -connections instead. It can be controlled using the +These limits have now been replaced by using the configured number of backend +connections instead, which can be controlled using the `-o .connections=5` option. Commands will then automatically scale their parallelism accordingly. diff --git a/changelog/unreleased/issue-2248 b/changelog/unreleased/issue-2248 index 184e5e17e..e5e9d8cd9 100644 --- a/changelog/unreleased/issue-2248 +++ b/changelog/unreleased/issue-2248 @@ -1,8 +1,8 @@ -Bugfix: Support self-update on Windows +Bugfix: Support `self-update` on Windows -Restic self-update would fail in situations where the operating system +Restic `self-update` would fail in situations where the operating system locks running binaries, including Windows. The new behavior works around this by renaming the running file and swapping the updated file in place. https://github.com/restic/restic/issues/2248 -https://github.com/restic/restic/pull/3675 \ No newline at end of file +https://github.com/restic/restic/pull/3675 diff --git a/changelog/unreleased/issue-2291 b/changelog/unreleased/issue-2291 index 407e01765..61a32bf63 100644 --- a/changelog/unreleased/issue-2291 +++ b/changelog/unreleased/issue-2291 @@ -1,6 +1,6 @@ Enhancement: Allow pack size customization -Restic now uses a target pack size of 16 MiB by default. It can be customized +Restic now uses a target pack size of 16 MiB by default. This can be customized using the `--pack-size size` option. Supported pack sizes range between 4 and 128 MiB. diff --git a/changelog/unreleased/issue-2295 b/changelog/unreleased/issue-2295 index b2cc9e475..7496699ea 100644 --- a/changelog/unreleased/issue-2295 +++ b/changelog/unreleased/issue-2295 @@ -8,7 +8,7 @@ We added support for Azure SAS tokens which are a more fine-grained and time-limited manner of granting access. Set the `AZURE_ACCOUNT_NAME` and `AZURE_ACCOUNT_SAS` environment variables to use a SAS token for authentication. Note that if `AZURE_ACCOUNT_KEY` is set, it will take -preference. +precedence. https://github.com/restic/restic/issues/2295 https://github.com/restic/restic/pull/3661 diff --git a/changelog/unreleased/issue-2696 b/changelog/unreleased/issue-2696 index 1732363f4..f913bfd44 100644 --- a/changelog/unreleased/issue-2696 +++ b/changelog/unreleased/issue-2696 @@ -2,8 +2,8 @@ Enhancement: Improve backup speed with many small files We have restructured the backup pipeline to continue reading files while all upload connections are busy. This allows the backup to already prepare the next -data file such that the upload can continue right once the last one has -completed. This can especially improve the backup performance for high latency +data file such that the upload can continue as soon as a connection becomes +available. This can especially improve the backup performance for high latency backends. The upload concurrency is now controlled using the `-o .connections=5` diff --git a/changelog/unreleased/issue-2907 b/changelog/unreleased/issue-2907 index 6cb67553f..77de0dfa7 100644 --- a/changelog/unreleased/issue-2907 +++ b/changelog/unreleased/issue-2907 @@ -1,10 +1,10 @@ -Enhancement: Make snapshot directory structure of mount command custimizable +Enhancement: Make snapshot directory structure of `mount` command customizable We've added the possibility to customize the snapshot directory structure of -the mount command using templates passed to `--snapshot-template`. The -formatting of the time for a snapshot is now controlled using `--time-template` +the `mount` command using templates passed to the `--snapshot-template` option. +The formatting of snapshots' timestamps is now controlled using `--time-template` and supports subdirectories to for example group snapshots by year. Please -refer to the help output of the `mount` command for further details. +see `restic help mount` for further details. Characters in tag names which are not allowed in a filename are replaced by underscores `_`. For example a tag `foo/bar` will result in a directory name diff --git a/changelog/unreleased/issue-3114 b/changelog/unreleased/issue-3114 index c7cf8c7b9..211a48d22 100644 --- a/changelog/unreleased/issue-3114 +++ b/changelog/unreleased/issue-3114 @@ -5,8 +5,8 @@ blobs. This effectively removed all duplicates during prune. However, as a consequence all these data files were repacked even if the unused repository space threshold could be reached with less work. -This is now changed and `prune` works nice and fast also if there are lots -of duplicates. +This is now changed and `prune` works nice and fast even when there are lots +of duplicate blobs. https://github.com/restic/restic/issues/3114 https://github.com/restic/restic/pull/3290 diff --git a/changelog/unreleased/issue-3295 b/changelog/unreleased/issue-3295 index 155612da0..511c3b9d8 100644 --- a/changelog/unreleased/issue-3295 +++ b/changelog/unreleased/issue-3295 @@ -1,12 +1,13 @@ Change: Deprecate `check --check-unused` and add further checks Since restic 0.12.0, it is expected to still have unused blobs after running -`prune`. This made the `check --check-unused` rather useless and tended to -confuse users. The options has been deprecated and is now ignored. +`prune`. This made the `--check-unused` option of the `check` command rather +useless and tended to confuse users. This option has now been deprecated and +is now ignored. -`check` now also warns if a repository is using either the legacy S3 layout or -mixed pack files with both tree and data blobs. The latter is known to cause -performance problems. +The `check` command now also warns if a repository is using either the legacy +S3 layout or mixed pack files with both tree and data blobs. The latter is +known to cause performance problems. https://github.com/restic/restic/issues/3295 https://github.com/restic/restic/pull/3730 diff --git a/changelog/unreleased/issue-3428 b/changelog/unreleased/issue-3428 index 6d2b055c8..4510723d5 100644 --- a/changelog/unreleased/issue-3428 +++ b/changelog/unreleased/issue-3428 @@ -1,13 +1,13 @@ -Bugfix: List snapshots in backend at most once to resolve snapshot ids +Bugfix: List snapshots in backend at most once to resolve snapshot IDs -Many commands support specifying a list of snapshot ids which are then used to -determine the snapshot accessed by the command. To resolve snapshot ids or -"latest" and check that these exist, restic listed all snapshots stored in the -repository. Depending on the backend this can be a slow and/or expensive -operation. +Many commands support specifying a list of snapshot IDs which are then used to +determine the snapshots to be processed by the command. To resolve snapshot IDs +or `latest`, and check that these exist, restic previously listed all snapshots +stored in the repository. Depending on the backend this could be a slow and/or +expensive operation. -Restic now lists the snapshots only once and remembers the result to resolve -all further snapshot ids. +Restic now lists the snapshots only once and remembers the result in order to +resolve all further snapshot IDs swiftly. https://github.com/restic/restic/issues/3428 https://github.com/restic/restic/pull/3570 diff --git a/changelog/unreleased/issue-3432 b/changelog/unreleased/issue-3432 index b874e7da6..b9f6bcd7a 100644 --- a/changelog/unreleased/issue-3432 +++ b/changelog/unreleased/issue-3432 @@ -1,12 +1,12 @@ -Bugfix: Fix rare 'not found in repository' error for copy command +Bugfix: Fix rare 'not found in repository' error for `copy` command -In rare cases copy (and other commands) could report that LoadTree(...) -returned a `id [...] not found in repository` error. This could be caused by a -backup or copy command running concurrently. The error is only temporary, -running the failed restic command a second time as a workaround solves the +In rare cases `copy` (and other commands) would report that `LoadTree(...)` +returned an `id [...] not found in repository` error. This could be caused by +a backup or copy command running concurrently. The error was only temporary; +running the failed restic command a second time as a workaround did resolve the error. -This issue has been fixed by correcting the order in which restic reads data +This issue has now been fixed by correcting the order in which restic reads data from the repository. It is now guaranteed that restic only loads snapshots for which all necessary data is already available. diff --git a/changelog/unreleased/issue-3465 b/changelog/unreleased/issue-3465 index b108461d4..1f42f3950 100644 --- a/changelog/unreleased/issue-3465 +++ b/changelog/unreleased/issue-3465 @@ -1,9 +1,9 @@ Enhancement: Improve handling of temporary files on Windows -In some cases restic failed to delete temporary files causing the current -command to fail. This has been fixed by ensuring that Windows automatically -deletes the file. In addition, temporary files are only written to disk if -necessary to reduce disk writes. +In some cases restic failed to delete temporary files, causing the current +command to fail. This has now been fixed by ensuring that Windows automatically +deletes the file. In addition, temporary files are only written to disk when +necessary, reducing disk writes. https://github.com/restic/restic/issues/3465 https://github.com/restic/restic/issues/1551 diff --git a/changelog/unreleased/issue-3685 b/changelog/unreleased/issue-3685 index 8bb468e87..cf5ccf384 100644 --- a/changelog/unreleased/issue-3685 +++ b/changelog/unreleased/issue-3685 @@ -1,7 +1,7 @@ -Bugfix: Fix the diff command +Bugfix: The `diff` command incorrectly listed some files as added -There was a bug in the `diff` command, it would always show files in a removed -directory as added. We've fixed that. +There was a bug in the `diff` command, causing it to always show files in a +removed directory as added. This has now been fixed. https://github.com/restic/restic/issues/3685 https://github.com/restic/restic/pull/3686 diff --git a/changelog/unreleased/issue-3692 b/changelog/unreleased/issue-3692 index 4b0019888..85c1f7531 100644 --- a/changelog/unreleased/issue-3692 +++ b/changelog/unreleased/issue-3692 @@ -1,11 +1,12 @@ -Bugfix: Fix rclone (shimmed by Scoop) and sftp stopped working on Windows +Bugfix: Fix rclone (shimmed by Scoop) and sftp not working on Windows -In #3602 a fix was introduced to fix the problem that rclone prematurely exits -when Ctrl+C is pressed on Windows. The solution was to create the subprocess -with its console detached from the restic console. However, such solution -fails when using rclone install by scoop or using sftp with a passphrase- -protected private key. We've fixed that by using a different approach to prevent -Ctrl-C from passing down too early. +In #3602 a fix was introduced to address the problem of `rclone` prematurely +exiting when Ctrl+C is pressed on Windows. The solution was to create the +subprocess with its console detached from the restic console. + +However, this solution failed when using `rclone` installed by Scoop or using +`sftp` with a passphrase-protected private key. We've now fixed this by using +a different approach to prevent Ctrl-C from passing down too early. https://github.com/restic/restic/issues/3681 https://github.com/restic/restic/issues/3692 diff --git a/changelog/unreleased/issue-3709 b/changelog/unreleased/issue-3709 index 195b4b502..bdf925af0 100644 --- a/changelog/unreleased/issue-3709 +++ b/changelog/unreleased/issue-3709 @@ -1,9 +1,11 @@ Enhancement: Validate exclude patterns before backing up -Exclude patterns provided via `--exclude`, `--iexclude`, `--exclude-file` or `--iexclude-file` -previously weren't validated. As a consequence, invalid patterns resulted in all files being backed up. -restic now validates all patterns before running the backup and aborts with a fatal error -if an invalid pattern is detected. +Exclude patterns provided via `--exclude`, `--iexclude`, `--exclude-file` or +`--iexclude-file` previously weren't validated. As a consequence, invalid +patterns resulted in files that were meant to be excluded being backed up. + +Restic now validates all patterns before running the backup and aborts with +a fatal error if an invalid pattern is detected. https://github.com/restic/restic/issues/3709 https://github.com/restic/restic/pull/3734 diff --git a/changelog/unreleased/issue-3720 b/changelog/unreleased/issue-3720 index 3044a5c4c..4257e2cb2 100644 --- a/changelog/unreleased/issue-3720 +++ b/changelog/unreleased/issue-3720 @@ -1,12 +1,12 @@ -Bugfix: Fix directory sync errors related repositories accessed via SMB +Bugfix: Directory sync errors for repositories accessed via SMB -On Linux and macOS accessing a repository via a SMB/CIFS mount resulted in -restic failing to save the lock file: +On Linux and macOS, accessing a repository via a SMB/CIFS mount resulted in +restic failing to save the lock file, yielding the following errors: Save() returned error, retrying after 552.330144ms: sync /repo/locks: no such file or directory Save() returned error, retrying after 552.330144ms: sync /repo/locks: invalid argument -This has been fixed by ignoring these error codes. +This has now been fixed by ignoring the relevant error codes. https://github.com/restic/restic/issues/3720 https://github.com/restic/restic/issues/3751 diff --git a/changelog/unreleased/issue-3736 b/changelog/unreleased/issue-3736 index bb14192c4..45f9fd435 100644 --- a/changelog/unreleased/issue-3736 +++ b/changelog/unreleased/issue-3736 @@ -1,8 +1,8 @@ -Bugfix: `stats` fix restore size calculation for multiple snapshots +Bugfix: The `stats` command miscalculated restore size for multiple snapshots Since restic 0.10.0 the restore size calculated by the `stats` command for multiple snapshots was too low. The hardlink detection was accidentally applied -across multiple snapshots and thus ignored many files. This has been fixed. +across multiple snapshots and thus ignored many files. This has now been fixed. https://github.com/restic/restic/issues/3736 https://github.com/restic/restic/pull/3740 diff --git a/changelog/unreleased/issue-3837 b/changelog/unreleased/issue-3837 index 11e06d953..a4d0e097b 100644 --- a/changelog/unreleased/issue-3837 +++ b/changelog/unreleased/issue-3837 @@ -1,8 +1,8 @@ -Enhancement: SFTP backend initialization is faster on slow links +Enhancement: Improve SFTP repository initialization over slow links -Restic init on an SFTP backend now sends multiple mkdir commands to the -backend concurrently, to reduce the wait when creating a repository -over a very slow link. +The `init` command, when used on an SFTP backend, now sends multiple `mkdir` +commands to the backend concurrently. This reduces the waiting times when +creating a repository over a very slow connection. https://github.com/restic/restic/issues/3837 https://github.com/restic/restic/pull/3840 diff --git a/changelog/unreleased/pull-3419 b/changelog/unreleased/pull-3419 index 239305e32..16accaf28 100644 --- a/changelog/unreleased/pull-3419 +++ b/changelog/unreleased/pull-3419 @@ -1,21 +1,21 @@ Enhancement: Use config file permissions to control file group access -Previously files in a local/sftp restic repository would always end up with -very restrictive access permissions allowing access only to the owner. This +Previously files in a local/SFTP repository would always end up with very +restrictive access permissions, allowing access only to the owner. This prevented a number of valid use-cases involving groups and ACLs. -Now we use the config file permissions to decide whether group access -should be given to newly created repository files or not. We arrange for -repository files to be created group readable exactly when the repository -config file is group readable. +We now use the permissions of the config file in the repository to decide +whether group access should be given to newly created repository files or +not. We arrange for repository files to be created group readable exactly +when the repository config file is group readable. -To opt-in to group readable repositories a simple `chmod -R g+r` or -equivalent can be used. For repositories that should be writable by group -members a tad more setup is required, see the docs. +To opt-in to group readable repositories, a simple `chmod -R g+r` or +equivalent on the config file can be used. For repositories that should +be writable by group members a tad more setup is required, see the docs. Posix ACLs can also be used now that the group permissions being forced to zero no longer masks the effect of ACL entries. https://github.com/restic/restic/issues/2351 https://github.com/restic/restic/pull/3419 -https://forum.restic.net/t/change-permissions-on-repository-files/1391 +https://forum.restic.net/t/1391 diff --git a/changelog/unreleased/pull-3475 b/changelog/unreleased/pull-3475 index f4cb0465c..99a037778 100644 --- a/changelog/unreleased/pull-3475 +++ b/changelog/unreleased/pull-3475 @@ -1,8 +1,8 @@ -Enhancement: Allow limiting IO concurrency for local and sftp backend +Enhancement: Allow limiting IO concurrency for local and SFTP backend -restic did not support limiting the IO concurrency / number of connections for -accessing repositories stored using the local or sftp backend. The number of -connections is now limited as for other backends. It can be configured via the +Restic did not support limiting the IO concurrency / number of connections for +accessing repositories stored using the local or SFTP backends. The number of +connections is now limited as for other backends, and can be configured via the the `-o local.connections=2` and `-o sftp.connections=5` options. https://github.com/restic/restic/pull/3475 diff --git a/changelog/unreleased/pull-3484 b/changelog/unreleased/pull-3484 index be95e3283..3b7a08c45 100644 --- a/changelog/unreleased/pull-3484 +++ b/changelog/unreleased/pull-3484 @@ -1,10 +1,12 @@ -Enhancement: Stream data in check and prune commands +Enhancement: Stream data in `check` and `prune` commands -`check --read-data` and `prune` downloaded data files into temporary files -which can end up being written to disk. This could cause a large amount of data -being written to disk. The pack files are now streamed which no longer needs -temporary files. Please note that uploads during `backup` and `prune` still -require temporary files. +The commands `check --read-data` and `prune` previously downloaded data files +into temporary files which could end up being written to disk. This could cause +a large amount of data being written to disk. + +The pack files are now instead streamed, which removes the need for temporary +files. Please note that *uploads* during `backup` and `prune` still require +temporary files. https://github.com/restic/restic/pull/3484 https://github.com/restic/restic/issues/3710 diff --git a/changelog/unreleased/pull-3513 b/changelog/unreleased/pull-3513 index fe7717bd7..1314da90b 100644 --- a/changelog/unreleased/pull-3513 +++ b/changelog/unreleased/pull-3513 @@ -1,10 +1,10 @@ -Enhancement: Improve speed of copy command +Enhancement: Improve speed of `copy` command -The copy command could require a long time to copy snapshots for non-local +The `copy` command could require a long time to copy snapshots for non-local backends. This has been improved to provide a throughput comparable to the -restore command. +`restore` command. -In addition, the command now displays a progress bar. +Additionally, `copy` now displays a progress bar. https://github.com/restic/restic/issues/2923 https://github.com/restic/restic/pull/3513 diff --git a/changelog/unreleased/pull-3680 b/changelog/unreleased/pull-3680 index d2a363767..e4f673fcf 100644 --- a/changelog/unreleased/pull-3680 +++ b/changelog/unreleased/pull-3680 @@ -1,7 +1,7 @@ Change: Update dependencies and require Go 1.15 or newer We've updated most dependencies. Since some libraries require newer language -features we're dropping support for Go 1.14 and restic now requires at least Go -1.15 to build. +features we're dropping support for Go 1.14, which means that restic now +requires at least Go 1.15 to build. https://github.com/restic/restic/issues/3680 diff --git a/changelog/unreleased/pull-3716 b/changelog/unreleased/pull-3716 index 3b0e7471f..af2b50bcd 100644 --- a/changelog/unreleased/pull-3716 +++ b/changelog/unreleased/pull-3716 @@ -1,7 +1,7 @@ -Bugfix: Print "wrong password" error on stderr +Bugfix: Print "wrong password" to stderr instead of stdout -If a wrong password was entered, the error message was printed on stdout and -not on stderr as intended. This has been fixed. +If an invalid password was entered, the error message was printed on stdout and +not on stderr as intended. This has now been fixed. https://github.com/restic/restic/pull/3716 -https://forum.restic.net/t/should-error-messages-end-up-in-output-file-when-redirecting-dump-to-stdout/4965 +https://forum.restic.net/t/4965 diff --git a/changelog/unreleased/pull-3729 b/changelog/unreleased/pull-3729 index cb69f94e2..da5274a11 100644 --- a/changelog/unreleased/pull-3729 +++ b/changelog/unreleased/pull-3729 @@ -1,6 +1,8 @@ -Enhancement: Include full IDs in `check` warnings +Enhancement: Display full IDs in `check` warnings -To repair or inspect a damaged repository, it is often necessary to use the full IDs of objects stored in the repository. -The output of check now includes full IDs instead of their shortened variant. +When running commands to inspect or repair a damaged repository, it is often +necessary to supply the full IDs of objects stored in the repository. + +The output of `check` now includes full IDs instead of their shortened variant. https://github.com/restic/restic/pull/3729 diff --git a/changelog/unreleased/pull-3742 b/changelog/unreleased/pull-3742 index b5ed3b621..7956963c7 100644 --- a/changelog/unreleased/pull-3742 +++ b/changelog/unreleased/pull-3742 @@ -1,12 +1,12 @@ -Change: Replace `--repo2` option used by init/copy with `--from-repo` +Change: Replace `--repo2` option used by `init`/`copy` with `--from-repo` -The `init` and the `copy` command can read data from another repository. -However, confusingly `--repo2` referred to the repository from which the +The `init` and `copy` commands can read data from another repository. +However, confusingly `--repo2` referred to the repository *from* which the `init` command copies parameters, but for the `copy` command `--repo2` -referred to the copy destination. +referred to the copy *destination*. -We have introduced a new option `--from-repo` which always refers to the -source repository for both commands. The old parameters names have been +We've introduced a new option, `--from-repo`, which always refers to the +source repository for both commands. The old parameter names have been deprecated but still work. To create a new repository and copy all snapshots to it, the commands are now as follows: @@ -16,4 +16,4 @@ restic -r /srv/restic-repo-copy copy --from-repo /srv/restic-repo ``` https://github.com/restic/restic/pull/3742 -https://forum.restic.net/t/restic-repository2-confusion/5017 +https://forum.restic.net/t/5017 diff --git a/changelog/unreleased/pull-3772 b/changelog/unreleased/pull-3772 index dfcb46c98..184fa9741 100644 --- a/changelog/unreleased/pull-3772 +++ b/changelog/unreleased/pull-3772 @@ -1,13 +1,13 @@ Bugfix: Correctly rebuild index for legacy repositories After running `rebuild-index` on a legacy repository containing mixed pack -files, that is pack files with store both metadata and file data, `check` -printed warnings like `pack 12345678 contained in several indexes: ...`. The -warning is not critical. It has been fixed by properly handling mixed pack -files while rebuilding the index. +files (that is, pack files with store both metadata and file data), `check` +printed warnings like `pack 12345678 contained in several indexes: ...`. +This warning was not critical, but has now nonetheless been fixed by properly +handling mixed pack files while rebuilding the index. Running `prune` for such legacy repositories will also fix the warning by -reorganizing the pack files which cause the warning. +reorganizing the pack files which caused it. https://github.com/restic/restic/pull/3772 -https://forum.restic.net/t/help-in-recovery-a-corrupted-repository/5044/13 +https://forum.restic.net/t/5044/13 diff --git a/changelog/unreleased/pull-3773 b/changelog/unreleased/pull-3773 index 17ae6f1bc..79fa3816a 100644 --- a/changelog/unreleased/pull-3773 +++ b/changelog/unreleased/pull-3773 @@ -1,7 +1,7 @@ Enhancement: Optimize memory usage for directories with many files -Backing up a directory with hundred thousands or more files causes restic to -require large amounts of memory. We have optimized `backup` command such that -it requires up to 30% less memory. +Backing up a directory with hundreds of thousands or more files caused restic +to require large amounts of memory. We've now optimized the `backup` command +such that it requires up to 30% less memory. https://github.com/restic/restic/pull/3773 diff --git a/changelog/unreleased/pull-3776 b/changelog/unreleased/pull-3776 index 2fd203203..408a9d3f1 100644 --- a/changelog/unreleased/pull-3776 +++ b/changelog/unreleased/pull-3776 @@ -1,10 +1,11 @@ Bugfix: Limit number of key files tested while opening a repository -Previously, restic tested the password against every key in the repository, when -there are more and more keys in the repository, opening the repository becomes -slower and slower. +Previously, restic tested the password against every key in the repository +when opening a repository. The more keys there were in the repository, the +slower this operation became. -Now restic tests password against up to 20 key file in the repository. Alternatively, -you can use `--key-hint=` to specify the key file to be used. +Restic now tests the password against up to 20 key files in the repository. +Alternatively, you can use the `--key-hint=` option to specify a +specific key file to use instead. https://github.com/restic/restic/pull/3776 diff --git a/changelog/unreleased/pull-3819 b/changelog/unreleased/pull-3819 index 7bbce5005..1e4deb72f 100644 --- a/changelog/unreleased/pull-3819 +++ b/changelog/unreleased/pull-3819 @@ -1,10 +1,11 @@ Enhancement: Validate include/exclude patterns before restoring -Patterns provided to `restic restore` via `--exclude`, `--iexclude`, -`--include` and `--iinclude` weren't validated before running the restore. -Invalid patterns would result in error messages being printed repeatedly -and possibly unwanted files being restored. -restic now validates all patterns before running the restore and aborts with -a fatal error if an invalid pattern is detected. +Patterns provided to `restore` via `--exclude`, `--iexclude`, `--include` +and `--iinclude` weren't validated before running the restore. Invalid +patterns would result in error messages being printed repeatedly, and +possibly unwanted files being restored. + +Restic now validates all patterns before running the restore, and aborts +with a fatal error if an invalid pattern is detected. https://github.com/restic/restic/pull/3819