VersionDrift
Product

restic 0.18.1 → 0.19.1

2 releases · 1 breaking change · 2 security fixes · 0 advisories fixed

2security1breaking1deprecated8feature46fix

Breaking changes

  • breaking Bugfix #21895: Remove read-only files via the SFTP backend on Windows servers Since restic 0.19.0, repository files on the SFTP backend are marked read-only after save. On Windows SFTP servers, removing them failed with a permission error. The SFTP backend now clears the read-only flag before… in 0.19.1

Security changes

  • security Bugfix #5427: Correctly restore ACL inheritance state on Windows Since security descriptor backups were added in restic 0.17.0, Access Control Entry inheritance was not restored correctly on Windows; restored permissions were always marked as explicit (not inherited) even when they were inherited… in 0.19.0
  • security Enhancement #5424: Enable Windows filesystem privileges before file access Restic used to enable some Windows filesystem privileges only while reading or writing security descriptors. Extended attributes could therefore be read before enabling the backup privilege, possibly resulting in missed… in 0.19.0

Deprecations

  • deprecated Change #5293: Prune small packfiles more aggressively The prune command now repacks more small packfiles by default. The option --repack-small is no longer needed and has been marked as deprecated. The --repack-smaller-than option can still be used to further control repacking of small pack files. in 0.19.0

Every release in between

fixFix: Prevent mounting over the repository directory
fixFix: Skip inaccessible backup source paths
fixFix: Update mount latest symlink after snapshot reload
fixFix: Hide stats progress bar in JSON mode
fixFix: Restore old behavior of snapshots --latest without --group-by
fixFix: Show timezone location in snapshots output
fixFix: Prevent crash in mountpoint validation if mountpoint is inaccessible
fixFix: Remove read-only files via the SFTP backend on Windows servers
fixFix: Make backup respect excludes for duplicate directory entries
fixBugfix #5234: Prevent mounting over the repository directory Using a local repository directory as the mount target — or a path that contains it, or that it contains — caused the FUSE server to read its own backend files through the new mount, deadlocking the kernel and requiring a long reboot to…
fixBugfix #5667: Skip inaccessible backup source paths The backup command only skipped source paths that did not exist. A path that could not be accessed for another reason, such as a malformed path on Windows, was kept and produced an empty snapshot. Restic now skips any such path and aborts if none…
fixBugfix #5722: Update mount latest symlink after snapshot reload When restic mount was kept running while new snapshots were created, the new snapshots appeared in the mountpoint, but the latest symlink could still point to the previously latest snapshot. Restic now invalidates the cached snapshot…
fixBugfix #21866: Hide stats progress bar in JSON mode Since restic 0.19.0, the stats command shows a progress bar. This progress bar was unintentionally displayed also when using the --json option, mixing regular text output with JSON. This is now fixed.
fixBugfix #21869: Restore old behavior of snapshots --latest without --group-by Restic 0.19.0 accidentally changed the behavior of snapshots --latest to no longer group snapshots by host and paths by default. The snapshots --latest command now again uses the old behavior of grouping by host and paths…
fixBugfix #21876: Show timezone location in snapshots output With restic 0.19.0, the snapshots command printed the current timezone when listing snapshots. However, that timezone label might change during the year, for example with daylight saving time. Restic now prints a more consistent and shorter…
fixBugfix #21879: Prevent crash in mountpoint validation if mountpoint is inaccessible Since restic 0.19.0, the mount command validates a mountpoint before loading the repository. If restic was unable to stat the mountpoint, this would result in a crash. This has now been fixed to correctly return an…
breakingBugfix #21895: Remove read-only files via the SFTP backend on Windows servers Since restic 0.19.0, repository files on the SFTP backend are marked read-only after save. On Windows SFTP servers, removing them failed with a permission error. The SFTP backend now clears the read-only flag before…
fixBugfix #21899: Make backup respect excludes for duplicate directory entries Since restic 0.19.0, backing up a directory with duplicate directory entries always produced "Warning: at least one source file could not be read", even when those files were excluded. This has now been fixed.
fixFix: Support serving a restic mount of a Windows system via Samba
fixFix: Use mode 0700 for repository directories created over SFTP
fixFix: Exit with code 3 when some backup source paths do not exist
fixFix: Error out when environment variables hold invalid values
fixFix: Return exit code 3 when failing to remove snapshots
fixFix: Exit with code 130 on SIGINT
fixFix: Reject impossible find time bounds immediately
fixFix: Make find --pack list blobs for tree packs
fixFix: Allow rclone and sftp backends when running in background
fixFix: Correctly restore ACL inheritance state on Windows
fixFix: Password prompt was sometimes not shown for backup -v
fixFix: Mark repository files read-only when using the SFTP backend
fixFix: Correctly handle snapshots --group-by with --latest
fixFix: Avoid spurious chmod errors on certain file backends
fixFix: Prevent backup --stdin-from-command from hanging
fixFix: Respect --user and --host in key passwd
fixFix: Correct handling of duplicate index entries
fixFix: Correctly handle pack files missing from the index
featureEnh: Add status counters to copy in verbose text output
featureEnh: Add Open Container Initiative labels to release Docker image
fixBugfix #2034: Support serving a restic mount of a Windows system via Samba A repository mounted using restic mount on a POSIX system could not use Samba to serve files from backups of Windows systems, while backups of non-Windows systems could be served successfully. This has now been fixed.
fixBugfix #4447: Use mode 0700 for repository directories created over SFTP When creating a repository over SFTP, restic created the repository directories with the SFTP server's default permissions, often 0755, rather than the 0700 permissions it uses for local repositories. Restic now creates these…
fixBugfix #4467: Exit with code 3 when some backup source paths do not exist Restic used to exit with code 0 when a top-level backup source path was missing, and exited with code 3 only when a child path under an existing source did not exist. Scripts that relied on the exit code could therefore…
fixBugfix #4759: Error out when environment variables hold invalid values If the environment variables RESTIC_COMPRESSION, RESTIC_PACK_SIZE, or RESTIC_READ_CONCURRENCY could not be parsed, restic used to ignore them. Restic now fails with an error unless the same setting is overridden on the command…
fixBugfix #5233: Return exit code 3 when failing to remove snapshots Previously, the forget command returned exit code 0 when it failed to remove one or more snapshots. This was misleading to scripts. The forget command now instead returns exit code 3 when failing to remove one or more snapshots.
fixBugfix #5258: Exit with code 130 on SIGINT Restic used to return exit code 1 on SIGINT. It now returns 130, the usual convention for a process stopped by Ctrl-C.
fixBugfix #5280: Reject impossible find time bounds immediately The find command now fails with an error when both --oldest and --newest are set and --oldest is later than --newest.
fixBugfix #5280: Make find --pack list blobs for tree packs The find --pack command now also reports blobs for packs that only contain tree blobs.
fixBugfix #5354: Allow rclone and sftp backends when running in background Previously, starting restic in the background could result in unexpected behavior when using the rclone or sftp backends. For example, restic -r rclone:./example --insecure-no-password init & could cause the calling bash shell…
securityBugfix #5427: Correctly restore ACL inheritance state on Windows Since security descriptor backups were added in restic 0.17.0, Access Control Entry inheritance was not restored correctly on Windows; restored permissions were always marked as explicit (not inherited) even when they were inherited…
fixBugfix #5477: Password prompt was sometimes not shown for backup -v The repository password prompt could be hidden when running the backup -v command. This has now been fixed.
fixBugfix #5487: Mark repository files read-only when using the SFTP backend Files created through the SFTP backend previously stayed writable. New files now get read-only permissions where the server supports chmod.
deprecatedChange #5293: Prune small packfiles more aggressively The prune command now repacks more small packfiles by default. The option --repack-small is no longer needed and has been marked as deprecated. The --repack-smaller-than option can still be used to further control repacking of small pack files.
featureEnhancement #3572: Support restoring ownership by name on UNIX systems The restore command used to restore file ownership on UNIX systems by UID and GID. It now supports restoring ownership by user and group name with --ownership-by-name, so that snapshots can be restored on systems where numeric…
featureEnhancement #5175: Add status counters to copy in verbose text output The copy command now prints additional counters in text mode when --verbose is set: blobs to copy, their on-disk size, and the number of pack files read from the source repository.
featureEnhancement #5383: Reduce progress bar refresh rates to decrease energy usage Progress bars were previously updated at 60 frames per second, which could cause high CPU or GPU usage in some terminal emulators. The refresh rate is now 10 FPS to conserve energy. For some terminal emulators, the lower…
securityEnhancement #5424: Enable Windows filesystem privileges before file access Restic used to enable some Windows filesystem privileges only while reading or writing security descriptors. Extended attributes could therefore be read before enabling the backup privilege, possibly resulting in missed…
featureThe environment variable IONICE_CLASS selects the I/O scheduling class (see man ionice). Real-time classes need the SYS_NICE capability added to the container.
featureEnhancement #5523: Add Open Container Initiative labels to release Docker image The release Docker image now includes OCI-style image annotation labels, which helps external tooling identify the image.
featureEnhancement #5713: Significantly speed up index loading Loading the index for a large repository is now significantly faster. Also, the mount command now loads the index once at startup and then only loads new index files as they appear. It also loads snapshots before printing that the repository…
+47 more items in the release notes
See how far your stack has drifted from upstream. Release data from vendors’ own sources · feed under CC BY 4.0 · Code under AGPL-3.0 Settings Feed status