Unclaimed project
Are you a maintainer of restic? Claim this project to take control of your public changelog and roadmap.
Changelog
Fast, secure, efficient backup program
Last updated about 1 month ago
Fixes
backup --stdin-filename now handles directory paths correctly (was failing with "no such file or directory" in 0.18.0)forget command now respects RESTIC_HOST environment variableEOPNOTSUPP errors for extended attributes on BSD systems507 Insufficient Storage responsescheck command when retried downloads succeed after initial corruptionThe following sections list the changes in restic 0.18.1 relevant to restic users. The changes are ordered by importance.
backup --stdin-filename with directory pathsRESTIC_HOST environment variable in forget commandEOPNOTSUPP errors for extended attributescheck commandBugfix #5324: Correctly handle backup --stdin-filename with directory paths
In restic 0.18.0, the backup command failed if a filename that includes at least a directory was passed to --stdin-filename. For example, --stdin-filename /foo/bar resulted in the following error:
Fatal: unable to save snapshot: open /foo: no such file or directory
This has now been fixed.
Bugfix #5325: Accept RESTIC_HOST environment variable in forget command
The forget command did not use the host name from the RESTIC_HOST environment variable when filtering snapshots. This has now been fixed.
Bugfix #5342: Ignore "chmod not supported" errors when writing files
Restic 0.18.0 introduced a bug that caused chmod xxx: operation not supported errors to appear when writing to a local file repository that did not support chmod (like CIFS or WebDAV mounted via FUSE). Restic now ignores those errors.
Bugfix #5344: Ignore EOPNOTSUPP errors for extended attributes
Restic 0.18.0 added extended attribute support for NetBSD 10+, but not all NetBSD filesystems support extended attributes. Other BSD systems can likewise return EOPNOTSUPP, so restic now ignores these errors.
Bugfix #5421: Fix rare crash if directory is removed during backup
In restic 0.18.0, the backup command could crash if a directory was removed between reading its metadata and listing its directory content. This has now been fixed.
Bugfix #5429: Stop retrying uploads when rest-server runs out of space
When rest-server returns a 507 Insufficient Storage error, it indicates that no more storage capacity is available. Restic now correctly stops retrying uploads in this case.
Bugfix #5467: Improve handling of download retries in check command
In very rare cases, the check command could unnecessarily report repository damage if the backend returned incomplete, corrupted data on the first download try which is afterwards resolved by a download retry.
This could result in an error output like the following:
Load(<data/34567890ab>, 33918928, 0) returned error, retrying after 871.35598ms: readFull: unexpected EOF
Load(<data/34567890ab>, 33918928, 0) operation successful after 1 retries
check successful on second attempt, original error pack 34567890ab[...] contains 6 errors: [blob 12345678[...]: decrypting blob <data/12345678> from 34567890 failed: ciphertext verification failed ...]
[...]
Fatal: repository contains errors
This fix only applies to a very specific case where the log shows operation successful after 1 retries followed by a check successful on second attempt, original error that only reports ciphertext verification failed errors in the pack file. If any other errors are reported in the pack file, then the repository still has to be considered as damaged.
Now, only the check result of the last download retry is reported as intended.
Get up and running with Kimi-K2.5, GLM-4.7, DeepSeek, gpt-oss, Qwen, Gemma and other models.
Production-Grade Container Scheduling and Management
A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
Gin is a high-performance HTTP web framework written in Go. It provides a Martini-like API but with significantly better performance—up to 40 times faster—thanks to httprouter. Gin is designed for building REST APIs, web applications, and microservices.