We're very pleased to present you restic 0.9.5! restic is distributed as a standalone binary: download the correct file for your operating system and architecture, extract the file and just run it. If you run into any issues, please report them at the GitHub issue tracker or visit the forum. If you already have restic >= 0.9.3, you can use
restic self-update to get the latest version in a secure way.
The binaries released with each restic version are reproducible, which means that you can easily reproduce a byte identical version from the source code for that release. Instructions on how to do that in the Developer Documentation.
Changelog for restic 0.9.5 (2019-04-23)
The following sections list the changes in restic 0.9.5 relevant to restic users. The changes are ordered by importance.
- Fix #2135: Return error when no bytes could be read from stdin
- Fix #2181: Don't cancel timeout after 30 seconds for self-update
- Fix #2203: Fix reading passwords from stdin
- Fix #2224: Don't abort the find command when a tree can't be loaded
- Enh #1895: Add case insensitive include & exclude options
- Enh #1937: Support streaming JSON output for backup
- Enh #2155: Add Openstack application credential auth for Swift
- Enh #2184: Add --json support to forget command
- Enh #2037: Add group-by option to snapshots command
- Enh #2124: Ability to dump folders to tar via stdout
- Enh #2139: Return error if no bytes could be read for
- Enh #2205: Add --ignore-inode option to backup cmd
- Enh #2220: Add config option to set S3 storage class
Bugfix #2135: Return error when no bytes could be read from stdin
We assume that users reading backup data from stdin want to know when no data could be read, so now restic returns an error when
backup --stdinis called but no bytes could be read. Usually, this means that an earlier command in a pipe has failed. The documentation was amended and now recommends setting the
set -o pipefail).
Bugfix #2181: Don't cancel timeout after 30 seconds for self-update
Bugfix #2203: Fix reading passwords from stdin
Passwords for the
key add, and
key passwdcommands can now be read from non-terminal stdin.
Bugfix #2224: Don't abort the find command when a tree can't be loaded
Change the find command so that missing trees don't result in a crash. Instead, the error is logged to the debug log, and the tree ID is displayed along with the snapshot it belongs to. This makes it possible to recover repositories that are missing trees by forgetting the snapshots they are used in.
Enhancement #1895: Add case insensitive include & exclude options
The backup and restore commands now have --iexclude and --iinclude flags as case insensitive variants of --exclude and --include.
Enhancement #1937: Support streaming JSON output for backup
We've added support for getting machine-readable status output during backup, just pass the flag
restic backupand restic will output a stream of JSON objects which contain the current progress.
Enhancement #2155: Add Openstack application credential auth for Swift
Since Openstack Queens Identity (auth V3) service supports an application credential auth method. It allows to create a technical account with the limited roles. This commit adds an application credential authentication method for the Swift backend.
Enhancement #2184: Add --json support to forget command
The forget command now supports the --json argument, outputting the information about what is (or would-be) kept and removed from the repository.
Enhancement #2037: Add group-by option to snapshots command
We have added an option to group the output of the snapshots command, similar to the output of the forget command. The option has been called "--group-by" and accepts any combination of the values "host", "paths" and "tags", separated by commas. Default behavior (not specifying --group-by) has not been changed. We have added support of the grouping to the JSON output.
Enhancement #2124: Ability to dump folders to tar via stdout
We've added the ability to dump whole folders to stdout via the
dumpcommand. Restic now requires at least Go 1.10 due to a limitation of the standard library for Go <= 1.9.
Enhancement #2139: Return error if no bytes could be read for
When restic is used to backup the output of a program, like
mysqldump | restic backup --stdin, it now returns an error if no bytes could be read at all. This catches the failure case when
mysqldumpfailed for some reason and did not output any data to stdout.
Enhancement #2205: Add --ignore-inode option to backup cmd
This option handles backup of virtual filesystems that do not keep fixed inodes for files, like Fuse-based, pCloud, etc. Ignoring inode changes allows to consider the file as unchanged if last modification date and size are unchanged.
Enhancement #2220: Add config option to set S3 storage class
s3.storage-classoption can be passed to restic (using
-o) to specify the storage class to be used for S3 objects created by restic.
The storage class is passed as-is to S3, so it needs to be understood by the API. On AWS, it can be one of
REDUCED_REDUNDANCY. If unspecified, the default storage class is used (
You can mix storage classes in the same bucket, and the setting isn't stored in the restic repository, so be sure to specify it with each command that writes to S3.