Breaking Changes
This document lists all user facing breaking changes in rustic and provides
guidance on how to migrate from one version to another.
0.10.0
Renamed/changed opions
The skip-identical-parent option of backup has been renamed to
skip-if-unchanged (like it’s named in restic).
The filter-fn option is no longer included in the official release builds and
will be deprecated and removed. Try to use filter-jq instead.
0.9.0
Configuration File
Using String in password-command and warm-up-command
Using a String for password-command or warm-up-command have been re-allowed.
Note: The former version to give the command in an array is no longer supported. Instead of
password-command = ["echo", "password"]
please use either of
password-command = "echo password"
password-command = { command = "echo", args = ["password"] }
Copy Command
Targets for the copy command must now be given by using existing rustic config profile(s).
[copy]
targets = ["full", "rustic"]
Key Naming Conventions
Consistently apply singular and plural naming conventions for keys in the configuration file that accept an array of values. This change affects the following keys:
For [global]:
use-profile->use-profilesin config profile
For [snapshot-filter] and [forget]:
filter-host->filter-hostsin config profilefilter-label->filter-labelsin config profile
For [backup]:
glob->globsin config profileiglob->iglobsin config profileglob-file->glob-filesin config profileiglob-file->iglob-filesin config profilecustom-ignore-file->custom-ignore-filesin config profiletag->tagsin config profilesource->sourcesin config profile[[backup.sources]]->[[backup.snapshots]]in config profile
For [forget]:
keep-tags-> now only arraykeep-ids-> now only array
Update your configuration file accordingly, changing the key names from singular to plural. For cases, where the key name was plural before, the value must be wrapped in an array.
So, for example
[[backup.sources]]
tag = "important"
source = "~/folder1 ~/folder2"
becomes:
[[backup.snapshots]]
tags = ["important"]
sources = ["~/folder1", "~/folder2"]
Filters being affected are:
filter-hosts = ["host2"] # Default: []
filter-labels = ["label1"] # Default: []
The changes can be also derived from the PR that introduced this change. So you may want to take a look at the PR for more details.