diff --git a/CHANGELOG.md b/CHANGELOG.md index 9a5393915..c5e638c51 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ # Table of Contents +* [Changelog for 0.17.2](#changelog-for-restic-0172-2024-10-27) * [Changelog for 0.17.1](#changelog-for-restic-0171-2024-09-05) * [Changelog for 0.17.0](#changelog-for-restic-0170-2024-07-26) * [Changelog for 0.16.5](#changelog-for-restic-0165-2024-07-01) @@ -36,6 +37,89 @@ * [Changelog for 0.6.0](#changelog-for-restic-060-2017-05-29) +# Changelog for restic 0.17.2 (2024-10-27) +The following sections list the changes in restic 0.17.2 relevant to +restic users. The changes are ordered by importance. + +## Summary + + * Fix #4004: Support container-level SAS/SAT tokens for Azure backend + * Fix #5047: Resolve potential error during concurrent cache cleanup + * Fix #5050: Return error if `tag` fails to lock repository + * Fix #5057: Exclude irregular files from backups + * Fix #5063: Correctly `backup` extended metadata when using VSS on Windows + +## Details + + * Bugfix #4004: Support container-level SAS/SAT tokens for Azure backend + + Restic previously expected SAS/SAT tokens to be generated at the account level, + which prevented tokens created at the container level from being used to + initialize a repository. This caused an error when attempting to initialize a + repository with container-level tokens. + + Restic now supports both account-level and container-level SAS/SAT tokens for + initializing a repository. + + https://github.com/restic/restic/issues/4004 + https://github.com/restic/restic/pull/5093 + + * Bugfix #5047: Resolve potential error during concurrent cache cleanup + + When multiple restic processes ran concurrently, they could compete to remove + obsolete snapshots from the local backend cache, sometimes leading to a "no such + file or directory" error. Restic now suppresses this error to prevent issues + during cache cleanup. + + https://github.com/restic/restic/pull/5047 + + * Bugfix #5050: Return error if `tag` fails to lock repository + + Since restic 0.17.0, the `tag` command did not return an error when it failed to + open or lock the repository. This issue has now been fixed. + + https://github.com/restic/restic/issues/5050 + https://github.com/restic/restic/pull/5056 + + * Bugfix #5057: Exclude irregular files from backups + + Since restic 0.17.1, files with the type `irregular` could mistakenly be + included in snapshots, especially when backing up special file types on Windows + that restic cannot process. This issue has now been fixed. + + Previously, this bug caused the `check` command to report errors like the + following one: + + ``` + tree 12345678[...]: node "example.zip" with invalid type "irregular" + ``` + + To repair affected snapshots, upgrade to restic 0.17.2 and run: + + ``` + restic repair snapshots --forget + ``` + + This will remove the `irregular` files from the snapshots (creating a new + snapshot ID for each of the affected snapshots). + + https://github.com/restic/restic/pull/5057 + https://forum.restic.net/t/errors-found-by-check-1-invalid-type-irregular-2-ciphertext-verification-failed/8447/2 + + * Bugfix #5063: Correctly `backup` extended metadata when using VSS on Windows + + On Windows, when creating a backup with the `--use-fs-snapshot` option, restic + read extended metadata from the original filesystem path instead of from the + snapshot. This could result in errors if files were removed during the backup + process. + + This issue has now been resolved. + + https://github.com/restic/restic/issues/5063 + https://github.com/restic/restic/pull/5097 + https://github.com/restic/restic/pull/5099 + + # Changelog for restic 0.17.1 (2024-09-05) The following sections list the changes in restic 0.17.1 relevant to restic users. The changes are ordered by importance. diff --git a/VERSION b/VERSION index 21997e69a..a79916035 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.17.1-dev +0.17.2-dev diff --git a/changelog/0.17.2_2024-10-27/issue-4004 b/changelog/0.17.2_2024-10-27/issue-4004 new file mode 100644 index 000000000..d95ad02e9 --- /dev/null +++ b/changelog/0.17.2_2024-10-27/issue-4004 @@ -0,0 +1,12 @@ +Bugfix: Support container-level SAS/SAT tokens for Azure backend + +Restic previously expected SAS/SAT tokens to be generated at the account level, +which prevented tokens created at the container level from being used to +initialize a repository. This caused an error when attempting to initialize a +repository with container-level tokens. + +Restic now supports both account-level and container-level SAS/SAT tokens for +initializing a repository. + +https://github.com/restic/restic/issues/4004 +https://github.com/restic/restic/pull/5093 diff --git a/changelog/0.17.2_2024-10-27/issue-5050 b/changelog/0.17.2_2024-10-27/issue-5050 new file mode 100644 index 000000000..34536f6da --- /dev/null +++ b/changelog/0.17.2_2024-10-27/issue-5050 @@ -0,0 +1,7 @@ +Bugfix: Return error if `tag` fails to lock repository + +Since restic 0.17.0, the `tag` command did not return an error when it failed +to open or lock the repository. This issue has now been fixed. + +https://github.com/restic/restic/issues/5050 +https://github.com/restic/restic/pull/5056 diff --git a/changelog/0.17.2_2024-10-27/issue-5063 b/changelog/0.17.2_2024-10-27/issue-5063 new file mode 100644 index 000000000..54f97f0af --- /dev/null +++ b/changelog/0.17.2_2024-10-27/issue-5063 @@ -0,0 +1,12 @@ +Bugfix: Correctly `backup` extended metadata when using VSS on Windows + +On Windows, when creating a backup with the `--use-fs-snapshot` option, restic +read extended metadata from the original filesystem path instead of from the +snapshot. This could result in errors if files were removed during the backup +process. + +This issue has now been resolved. + +https://github.com/restic/restic/issues/5063 +https://github.com/restic/restic/pull/5097 +https://github.com/restic/restic/pull/5099 diff --git a/changelog/0.17.2_2024-10-27/pull-5047 b/changelog/0.17.2_2024-10-27/pull-5047 new file mode 100644 index 000000000..ace02c3b4 --- /dev/null +++ b/changelog/0.17.2_2024-10-27/pull-5047 @@ -0,0 +1,8 @@ +Bugfix: Resolve potential error during concurrent cache cleanup + +When multiple restic processes ran concurrently, they could compete to remove +obsolete snapshots from the local backend cache, sometimes leading to a "no +such file or directory" error. Restic now suppresses this error to prevent +issues during cache cleanup. + +https://github.com/restic/restic/pull/5047 diff --git a/changelog/0.17.2_2024-10-27/pull-5057 b/changelog/0.17.2_2024-10-27/pull-5057 new file mode 100644 index 000000000..aba2992b7 --- /dev/null +++ b/changelog/0.17.2_2024-10-27/pull-5057 @@ -0,0 +1,24 @@ +Bugfix: Exclude irregular files from backups + +Since restic 0.17.1, files with the type `irregular` could mistakenly be included +in snapshots, especially when backing up special file types on Windows that +restic cannot process. This issue has now been fixed. + +Previously, this bug caused the `check` command to report errors like the +following one: + +``` + tree 12345678[...]: node "example.zip" with invalid type "irregular" +``` + +To repair affected snapshots, upgrade to restic 0.17.2 and run: + +``` +restic repair snapshots --forget +``` + +This will remove the `irregular` files from the snapshots (creating +a new snapshot ID for each of the affected snapshots). + +https://github.com/restic/restic/pull/5057 +https://forum.restic.net/t/errors-found-by-check-1-invalid-type-irregular-2-ciphertext-verification-failed/8447/2 diff --git a/changelog/unreleased/issue-4004 b/changelog/unreleased/issue-4004 deleted file mode 100644 index ca23af26f..000000000 --- a/changelog/unreleased/issue-4004 +++ /dev/null @@ -1,12 +0,0 @@ -Bugfix: Allow use of container level SAS/SAT tokens with Azure backend - -When using a SAS/SAT token for authentication with Azure, restic was expecting -the provided token to be generated at the account level, granting permissions -to the storage account and all its containers. This caused an error that did -not allow tokens that were generated at the container level to be used to -initalize a repository. -Restic now allows SAS/SAT tokens that were generated at the account or -container level to be used to initalize a repository. - -https://github.com/restic/restic/issues/4004 -https://github.com/restic/restic/pull/5093 diff --git a/changelog/unreleased/issue-5050 b/changelog/unreleased/issue-5050 deleted file mode 100644 index 9604fc857..000000000 --- a/changelog/unreleased/issue-5050 +++ /dev/null @@ -1,7 +0,0 @@ -Bugfix: Missing error if `tag` fails to lock repository - -Since restic 0.17.0, the `tag` command did not return an error if it failed to -open or lock the repository. This has been fixed. - -https://github.com/restic/restic/issues/5050 -https://github.com/restic/restic/pull/5056 diff --git a/changelog/unreleased/issue-5063 b/changelog/unreleased/issue-5063 deleted file mode 100644 index 95048ec58..000000000 --- a/changelog/unreleased/issue-5063 +++ /dev/null @@ -1,10 +0,0 @@ -Bugfix: Correctly `backup` extended metadata when using VSS on Windows - -On Windows, when creating a backup using the `--use-fs-snapshot` option, -then the extended metadata was not read from the filesystem snapshot. This -could result in errors when files have been removed in the meantime. - -This issue has been resolved. - -https://github.com/restic/restic/issues/5063 -https://github.com/restic/restic/pull/5097 diff --git a/changelog/unreleased/pull-5047 b/changelog/unreleased/pull-5047 deleted file mode 100644 index ee50c6ec7..000000000 --- a/changelog/unreleased/pull-5047 +++ /dev/null @@ -1,7 +0,0 @@ -Bugfix: Fix possible error on concurrent cache cleanup - -Fix for multiple restic processes executing concurrently and racing to -remove obsolete snapshots from the local backend cache. Restic now suppresses the `no -such file or directory` error. - -https://github.com/restic/restic/pull/5047 diff --git a/changelog/unreleased/pull-5057 b/changelog/unreleased/pull-5057 deleted file mode 100644 index c34436044..000000000 --- a/changelog/unreleased/pull-5057 +++ /dev/null @@ -1,21 +0,0 @@ -Bugfix: Do not include irregular files in backup - -Since restic 0.17.1, files with type `irregular` could incorrectly be included -in snapshots. This is most likely to occur when backing up special file types -on Windows that cannot be handled by restic. - -This has been fixed. - -When running the `check` command this bug resulted in an error like the -following: - -``` - tree 12345678[...]: node "example.zip" with invalid type "irregular" -``` - -Repairing the affected snapshots requires upgrading to restic 0.17.2 and then -manually running `restic repair snapshots --forget`. This will remove the -`irregular` files from the snapshots. - -https://github.com/restic/restic/pull/5057 -https://forum.restic.net/t/errors-found-by-check-1-invalid-type-irregular-2-ciphertext-verification-failed/8447/2 diff --git a/cmd/restic/global.go b/cmd/restic/global.go index ff54321bb..36f6e9b0c 100644 --- a/cmd/restic/global.go +++ b/cmd/restic/global.go @@ -46,7 +46,7 @@ import ( // to a missing backend storage location or config file var ErrNoRepository = errors.New("repository does not exist") -var version = "0.17.1-dev (compiled manually)" +var version = "0.17.2-dev (compiled manually)" // TimeFormat is the format used for all timestamps printed by restic. const TimeFormat = "2006-01-02 15:04:05" diff --git a/doc/bash-completion.sh b/doc/bash-completion.sh index 0517fdf7c..985d0e369 100644 --- a/doc/bash-completion.sh +++ b/doc/bash-completion.sh @@ -2177,6 +2177,12 @@ _restic_list() must_have_one_flag=() must_have_one_noun=() + must_have_one_noun+=("blobs") + must_have_one_noun+=("index") + must_have_one_noun+=("keys") + must_have_one_noun+=("locks") + must_have_one_noun+=("packs") + must_have_one_noun+=("snapshots") noun_aliases=() }