2
2
mirror of https://github.com/octoleo/restic.git synced 2024-11-26 23:06:32 +00:00

Merge pull request #3889 from restic/prepare-0-14

Polish changelog entries
This commit is contained in:
MichaelEischer 2022-08-24 21:28:44 +02:00 committed by GitHub
commit bd7bca2b51
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
32 changed files with 152 additions and 141 deletions

View File

@ -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 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 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 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/issues/1153
https://github.com/restic/restic/pull/3481 https://github.com/restic/restic/pull/3481

View File

@ -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 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 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/issues/1842
https://github.com/restic/restic/pull/3826 https://github.com/restic/restic/pull/3826

View File

@ -1,27 +1,25 @@
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 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. 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 You can configure whether data is compressed with the option `--compression`. It
be set to `auto` (the default, which will compress very fast), `max` (which 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 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. disables compression). Each setting is only applied for the current run of restic
The option can also be set via the environment variable `RESTIC_COMPRESSION`. and does *not* apply to future runs. 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 To upgrade in place run `migrate upgrade_repo_v2` followed by `prune`. See the
documentation for more details. The migration checks the repository integrity 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. 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 As an alternative you can use the `copy` command to migrate snapshots; First
repository using `init --repository-version 2 --copy-chunker-params --repo2 path/to/old/repo`. create a new repository using
Then use the `copy` command to copy all snapshots to the new repository. `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/21
https://github.com/restic/restic/issues/3779 https://github.com/restic/restic/issues/3779

View File

@ -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. Many commands used hard-coded limits for the number of concurrent operations.
This prevented speed improvements by increasing the number of connections used This prevented speed improvements by increasing the number of connections used
by a backend. by a backend.
These limits have been replaced by using the configured number of backend These limits have now been replaced by using the configured number of backend
connections instead. It can be controlled using the connections instead, which can be controlled using the
`-o <backend-name>.connections=5` option. Commands will then automatically `-o <backend-name>.connections=5` option. Commands will then automatically
scale their parallelism accordingly. scale their parallelism accordingly.

View File

@ -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 locks running binaries, including Windows. The new behavior works around
this by renaming the running file and swapping the updated file in place. 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/issues/2248
https://github.com/restic/restic/pull/3675 https://github.com/restic/restic/pull/3675

View File

@ -1,6 +1,6 @@
Enhancement: Allow pack size customization 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 using the `--pack-size size` option. Supported pack sizes range between 4 and
128 MiB. 128 MiB.

View File

@ -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 time-limited manner of granting access. Set the `AZURE_ACCOUNT_NAME`
and `AZURE_ACCOUNT_SAS` environment variables to use a SAS token for and `AZURE_ACCOUNT_SAS` environment variables to use a SAS token for
authentication. Note that if `AZURE_ACCOUNT_KEY` is set, it will take 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/issues/2295
https://github.com/restic/restic/pull/3661 https://github.com/restic/restic/pull/3661

View File

@ -2,8 +2,8 @@ Enhancement: Improve backup speed with many small files
We have restructured the backup pipeline to continue reading files while all 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 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 data file such that the upload can continue as soon as a connection becomes
completed. This can especially improve the backup performance for high latency available. This can especially improve the backup performance for high latency
backends. backends.
The upload concurrency is now controlled using the `-o <backend-name>.connections=5` The upload concurrency is now controlled using the `-o <backend-name>.connections=5`

View File

@ -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 We've added the possibility to customize the snapshot directory structure of
the mount command using templates passed to `--snapshot-template`. The the `mount` command using templates passed to the `--snapshot-template` option.
formatting of the time for a snapshot is now controlled using `--time-template` The formatting of snapshots' timestamps is now controlled using `--time-template`
and supports subdirectories to for example group snapshots by year. Please 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 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 underscores `_`. For example a tag `foo/bar` will result in a directory name

View File

@ -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 consequence all these data files were repacked even if the unused repository
space threshold could be reached with less work. space threshold could be reached with less work.
This is now changed and `prune` works nice and fast also if there are lots This is now changed and `prune` works nice and fast even when there are lots
of duplicates. of duplicate blobs.
https://github.com/restic/restic/issues/3114 https://github.com/restic/restic/issues/3114
https://github.com/restic/restic/pull/3290 https://github.com/restic/restic/pull/3290

View File

@ -1,12 +1,13 @@
Change: Deprecate `check --check-unused` and add further checks Change: Deprecate `check --check-unused` and add further checks
Since restic 0.12.0, it is expected to still have unused blobs after running 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 `prune`. This made the `--check-unused` option of the `check` command rather
confuse users. The options has been deprecated and is now ignored. useless and tended to confuse users. This option has been deprecated and is
now ignored.
`check` now also warns if a repository is using either the legacy S3 layout or The `check` command now also warns if a repository is using either the legacy
mixed pack files with both tree and data blobs. The latter is known to cause S3 layout or mixed pack files with both tree and data blobs. The latter is
performance problems. known to cause performance problems.
https://github.com/restic/restic/issues/3295 https://github.com/restic/restic/issues/3295
https://github.com/restic/restic/pull/3730 https://github.com/restic/restic/pull/3730

View File

@ -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 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 determine the snapshots to be processed by the command. To resolve snapshot IDs
"latest" and check that these exist, restic listed all snapshots stored in the or `latest`, and check that these exist, restic previously listed all snapshots
repository. Depending on the backend this can be a slow and/or expensive stored in the repository. Depending on the backend this could be a slow and/or
operation. expensive operation.
Restic now lists the snapshots only once and remembers the result to resolve Restic now lists the snapshots only once and remembers the result in order to
all further snapshot ids. resolve all further snapshot IDs swiftly.
https://github.com/restic/restic/issues/3428 https://github.com/restic/restic/issues/3428
https://github.com/restic/restic/pull/3570 https://github.com/restic/restic/pull/3570

View File

@ -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(...) In rare cases `copy` (and other commands) would report that `LoadTree(...)`
returned a `id [...] not found in repository` error. This could be caused by a returned an `id [...] not found in repository` error. This could be caused by
backup or copy command running concurrently. The error is only temporary, a backup or copy command running concurrently. The error was only temporary;
running the failed restic command a second time as a workaround solves the running the failed restic command a second time as a workaround did resolve the
error. 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 from the repository. It is now guaranteed that restic only loads snapshots for
which all necessary data is already available. which all necessary data is already available.

View File

@ -1,9 +1,9 @@
Enhancement: Improve handling of temporary files on Windows Enhancement: Improve handling of temporary files on Windows
In some cases restic failed to delete temporary files causing the current In some cases restic failed to delete temporary files, causing the current
command to fail. This has been fixed by ensuring that Windows automatically 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 if deletes the file. In addition, temporary files are only written to disk when
necessary to reduce disk writes. necessary, reducing disk writes.
https://github.com/restic/restic/issues/3465 https://github.com/restic/restic/issues/3465
https://github.com/restic/restic/issues/1551 https://github.com/restic/restic/issues/1551

View File

@ -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 There was a bug in the `diff` command, causing it to always show files in a
directory as added. We've fixed that. removed directory as added. This has now been fixed.
https://github.com/restic/restic/issues/3685 https://github.com/restic/restic/issues/3685
https://github.com/restic/restic/pull/3686 https://github.com/restic/restic/pull/3686

View File

@ -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 In #3602 a fix was introduced to address the problem of `rclone` prematurely
when Ctrl+C is pressed on Windows. The solution was to create the subprocess exiting when Ctrl+C is pressed on Windows. The solution was to create the
with its console detached from the restic console. However, such solution subprocess with its console detached from the restic console.
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 However, this solution failed when using `rclone` installed by Scoop or using
Ctrl-C from passing down too early. `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/3681
https://github.com/restic/restic/issues/3692 https://github.com/restic/restic/issues/3692

View File

@ -1,9 +1,11 @@
Enhancement: Validate exclude patterns before backing up Enhancement: Validate exclude patterns before backing up
Exclude patterns provided via `--exclude`, `--iexclude`, `--exclude-file` or `--iexclude-file` Exclude patterns provided via `--exclude`, `--iexclude`, `--exclude-file` or
previously weren't validated. As a consequence, invalid patterns resulted in all files being backed up. `--iexclude-file` previously weren't validated. As a consequence, invalid
restic now validates all patterns before running the backup and aborts with a fatal error patterns resulted in files that were meant to be excluded being backed up.
if an invalid pattern is detected.
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/issues/3709
https://github.com/restic/restic/pull/3734 https://github.com/restic/restic/pull/3734

View File

@ -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 On Linux and macOS, accessing a repository via a SMB/CIFS mount resulted in
restic failing to save the lock file: restic failing to save the lock file, yielding the following errors:
Save(<lock/071fe833f0>) returned error, retrying after 552.330144ms: sync /repo/locks: no such file or directory Save(<lock/071fe833f0>) returned error, retrying after 552.330144ms: sync /repo/locks: no such file or directory
Save(<lock/bf789d7343>) returned error, retrying after 552.330144ms: sync /repo/locks: invalid argument Save(<lock/bf789d7343>) 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/3720
https://github.com/restic/restic/issues/3751 https://github.com/restic/restic/issues/3751

View File

@ -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 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 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/issues/3736
https://github.com/restic/restic/pull/3740 https://github.com/restic/restic/pull/3740

View File

@ -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 The `init` command, when used on an SFTP backend, now sends multiple `mkdir`
backend concurrently, to reduce the wait when creating a repository commands to the backend concurrently. This reduces the waiting times when
over a very slow link. creating a repository over a very slow connection.
https://github.com/restic/restic/issues/3837 https://github.com/restic/restic/issues/3837
https://github.com/restic/restic/pull/3840 https://github.com/restic/restic/pull/3840

View File

@ -1,21 +1,21 @@
Enhancement: Use config file permissions to control file group access Enhancement: Use config file permissions to control file group access
Previously files in a local/sftp restic repository would always end up with Previously files in a local/SFTP repository would always end up with very
very restrictive access permissions allowing access only to the owner. This restrictive access permissions, allowing access only to the owner. This
prevented a number of valid use-cases involving groups and ACLs. prevented a number of valid use-cases involving groups and ACLs.
Now we use the config file permissions to decide whether group access We now use the permissions of the config file in the repository to decide
should be given to newly created repository files or not. We arrange for whether group access should be given to newly created repository files or
repository files to be created group readable exactly when the repository not. We arrange for repository files to be created group readable exactly
config file is group readable. when the repository config file is group readable.
To opt-in to group readable repositories a simple `chmod -R g+r` or 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 equivalent on the config file can be used. For repositories that should
members a tad more setup is required, see the docs. 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 Posix ACLs can also be used now that the group permissions being forced to
zero no longer masks the effect of ACL entries. zero no longer masks the effect of ACL entries.
https://github.com/restic/restic/issues/2351 https://github.com/restic/restic/issues/2351
https://github.com/restic/restic/pull/3419 https://github.com/restic/restic/pull/3419
https://forum.restic.net/t/change-permissions-on-repository-files/1391 https://forum.restic.net/t/1391

View File

@ -1,8 +1,9 @@
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 Restic did not support limiting the IO concurrency / number of connections for
accessing repositories stored using the local or sftp backend. The number of accessing repositories stored using the local or SFTP backends. The number of
connections is now limited as for other backends. It can be configured via the 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. the `-o local.connections=2` and `-o sftp.connections=5` options. This ensures
that restic does not overwhelm the backend with concurrent IO operations.
https://github.com/restic/restic/pull/3475 https://github.com/restic/restic/pull/3475

View File

@ -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 The commands `check --read-data` and `prune` previously downloaded data files
which can end up being written to disk. This could cause a large amount of data into temporary files which could end up being written to disk. This could cause
being written to disk. The pack files are now streamed which no longer needs a large amount of data being written to disk.
temporary files. Please note that uploads during `backup` and `prune` still
require temporary files. 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/pull/3484
https://github.com/restic/restic/issues/3710 https://github.com/restic/restic/issues/3710

View File

@ -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 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/issues/2923
https://github.com/restic/restic/pull/3513 https://github.com/restic/restic/pull/3513

View File

@ -1,7 +1,8 @@
Change: Update dependencies and require Go 1.15 or newer Change: Update dependencies and require Go 1.15 or newer
We've updated most dependencies. Since some libraries require newer language 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 features we're dropping support for Go 1.14, which means that restic now
1.15 to build. requires at least Go 1.15 to build.
https://github.com/restic/restic/issues/3680 https://github.com/restic/restic/issues/3680
https://github.com/restic/restic/issues/3883

View File

@ -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 If an invalid password was entered, the error message was printed on stdout and
not on stderr as intended. This has been fixed. not on stderr as intended. This has now been fixed.
https://github.com/restic/restic/pull/3716 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

View File

@ -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. When running commands to inspect or repair a damaged repository, it is often
The output of check now includes full IDs instead of their shortened variant. 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 https://github.com/restic/restic/pull/3729

View File

@ -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. The `init` and `copy` commands can read data from another repository.
However, confusingly `--repo2` referred to the repository from which the However, confusingly `--repo2` referred to the repository *from* which the
`init` command copies parameters, but for the `copy` command `--repo2` `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 We've introduced a new option, `--from-repo`, which always refers to the
source repository for both commands. The old parameters names have been source repository for both commands. The old parameter names have been
deprecated but still work. To create a new repository and copy all snapshots deprecated but still work. To create a new repository and copy all snapshots
to it, the commands are now as follows: 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://github.com/restic/restic/pull/3742
https://forum.restic.net/t/restic-repository2-confusion/5017 https://forum.restic.net/t/5017

View File

@ -1,13 +1,14 @@
Bugfix: Correctly rebuild index for legacy repositories Bugfix: Correctly rebuild index for legacy repositories
After running `rebuild-index` on a legacy repository containing mixed pack After running `rebuild-index` on a legacy repository containing mixed pack
files, that is pack files with store both metadata and file data, `check` files (that is, pack files which store both metadata and file data), `check`
printed warnings like `pack 12345678 contained in several indexes: ...`. The printed warnings like `pack 12345678 contained in several indexes: ...`.
warning is not critical. It has been fixed by properly handling mixed pack This warning was not critical, but has now nonetheless been fixed by properly
files while rebuilding the index. handling mixed pack files while rebuilding the index.
Running `prune` for such legacy repositories will also fix the warning by 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://github.com/restic/restic/pull/3772
https://forum.restic.net/t/help-in-recovery-a-corrupted-repository/5044/13 https://github.com/restic/restic/pull/3884
https://forum.restic.net/t/5044/13

View File

@ -1,7 +1,7 @@
Enhancement: Optimize memory usage for directories with many files Enhancement: Optimize memory usage for directories with many files
Backing up a directory with hundred thousands or more files causes restic to Backing up a directory with hundreds of thousands or more files caused restic
require large amounts of memory. We have optimized `backup` command such that to require large amounts of memory. We've now optimized the `backup` command
it requires up to 30% less memory. such that it requires up to 30% less memory.
https://github.com/restic/restic/pull/3773 https://github.com/restic/restic/pull/3773

View File

@ -1,10 +1,11 @@
Bugfix: Limit number of key files tested while opening a repository Bugfix: Limit number of key files tested while opening a repository
Previously, restic tested the password against every key in the repository, when Previously, restic tested the password against every key in the repository
there are more and more keys in the repository, opening the repository becomes when opening a repository. The more keys there were in the repository, the
slower and slower. slower this operation became.
Now restic tests password against up to 20 key file in the repository. Alternatively, Restic now tests the password against up to 20 key files in the repository.
you can use `--key-hint=<Key ID>` to specify the key file to be used. Alternatively, you can use the `--key-hint=<key ID>` option to specify a
specific key file to use instead.
https://github.com/restic/restic/pull/3776 https://github.com/restic/restic/pull/3776

View File

@ -1,10 +1,11 @@
Enhancement: Validate include/exclude patterns before restoring Enhancement: Validate include/exclude patterns before restoring
Patterns provided to `restic restore` via `--exclude`, `--iexclude`, Patterns provided to `restore` via `--exclude`, `--iexclude`, `--include`
`--include` and `--iinclude` weren't validated before running the restore. and `--iinclude` weren't validated before running the restore. Invalid
Invalid patterns would result in error messages being printed repeatedly patterns would result in error messages being printed repeatedly, and
and possibly unwanted files being restored. 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. 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 https://github.com/restic/restic/pull/3819