Releases: rustic-rs/rustic
rustic v0.10.2
Hello rusticeans,
rustic 0.10.2 is a small bugfix release correcting a regression about config profiles which has unfortunately been introduced by 0.10.1. Sorry for any inconveniences!
Changelog
Fixed
- Substitute environment variables in profiles only if explicitly opted-in (#1600)
v0.10.1
Note: This release introduced a regression about config files. If you encounter any problems, please update to release 0.10.2!
Hello rusticeans,
we are happy to release rustic 0.10.1. This is a rather small bugfix release; however few improvements have been added including
- Snapshots can now be also identified using
latest~Nto get theNth-latest snapshot. Note that this does not yet work with all commands, we are working on it to roll it out everywhere. filter-lasthas been added to filter theNlatest snapshots, e.g. when grouping snapshots.- The command
rewritehas been added. Note that this is not yet able to rewrite snapshot trees, but currently only snapshot metadata information like time, label, tags etc. Also thetagcommand now also changes tags and can be fully replaced byrewrite. - Environment variables are now respected in the config profiles, see the PR below for more details.
Thanks a lot to everyone who contributed with code, issues or discussions!
Changelog
Added
- Add rewrite command (#1583)
- (interactive) Add --interactive option to ls (#1564)
- Add filter-last option (#1574)
- Add environment variable substitution in config files (#1577)
- (core) repository APIs to identify snapshots using latest~N (#426)
- (commands) return error if check fails (#224)
Fixed
- Handle windows path prefixes and relative paths correctly (#432)
- Fix typos using the typos tool (#1590)
- (metrics) use short-lived local registry (#1575)
- fix clippy lints (#1570)
- wrong env var for grouping option (#1566)
Other
rustic v0.10.0
Hello rusticeans,
we are happy to release rustic 0.10.0. This release features various new functionalities including:
- Chunking can be customized using
rustic initorrustic config. Moreover, fixed-size chunking has been added as option preventing potential chunking attacks and also improves backup performance for large files. rustic keycommands have been added allowing management of repository keys/passwords- Telemetry output has been added to the
backupcommand supporting Prometheus and OpenTelemetry - A diff view comparing snapshots/paths has been added to the interactive mode. This and the interactive ls mode also compute summaries for (sub)-dirs if requested.
- The new option
delete-unchangedmakesforgetdelete snapshots which identical to the previous one.
Note that some of the changes may slightly change existing behavior, those changes are marked as breaking below.
Notable is the removal of filter-fn. Please replace it with filter-jq.
Thanks a lot to everyone who contributed with code, issues or discussions!
Changelog
Features
- Add fixed size chunking and allow fine-tune of rabin chunking (#422)
- (backup) Add --name option to select snapshot(s) from config to backup (#1531)
- (backup) [breaking] rename backup skip_identical_parent to skip_if_unchanged (#387)
- (commands) Add missing key subcommands (#1385)
- (commands) [breaking] Fine-tune output for snapshots command when no grouping is given (#1375)
- (commands) [breaking] Extend logging (#1463)
- (commands) make group_by a global option (#1545)
- (forget) Add delete_unchanged option to forget (#386)
- (diff) Use local PATH1 as PATH2 if no new snapshot/path is given (#1474)
- (warmup) Add warmup wait command (#379)
- (interactive) [breaking] Add interactive diff / overwork diff output (#1480)
- (interactive) Reduce memory consumption of summary (#1489)
- (interactive) remember summary when switching snapshot/ls/diff views (#1485)
- (interactive) ls: Add options to compute cumulative statistics (#1479)
- (interactive) Add possibility to change snapshot hostname (#1498)
- Add environment variables to the hooks (#1518)
- push prometheus metrics to pushgateway on-demand (#1404)
- OpenTelemetry Protocol support for metrics (#1473)
- Allow to use OPENDALHOT_* and OPENDALCOLD_* env variables (#1392, #1393)
Bugfixes
- Allow to unset append-only mode (#414)
- Fix repair index (#406)
- Allow to request identical snapshot multiple times (#408)
- Don't panic when reading empty files (#381)
- sanitize paths after run-before hook (#1549)
- Handle dry-run for all commands (#1546)
- Don't allow wrong commands in front of valid ones (#1464)
- (commands) remove SIGPIPE default handler (#1431)
- (config) set a non-zero default progress interval for progress options (#1378)
Miscellaneous
v0.9.5
Hello rusticeans,
we are happy to release rustic 0.9.5. This release brings some improvements for accessing data in the repository:
webdavhas been fixed and now also works with remote storagesmounthas been added for the linux versiondumpnow supports to write.tgzand.zipand direct writes to a file (self-detecting the output format).
Other major improvements are improved error messages and the ability to directly filter snapshots using jq syntax.
Thanks a lot to everyone who contributed with code, issues or discussions!
Changelog
Features
- (commands) More dump options (#1339)
- shut down gracefully with ctrl+c (#1364)
- Add --filter-jq option (#1372)
- (commands) Add
mountcommand (#973) - Error messages are now much improved (rustic_core)
- (commands) Add minutely timeline (rustic_core) to forget command
Bugfixes
- (commands) run backup hooks before checking source dir (#1374)
- (commands) Use spawn_blocking in webdav when calling rustic_core (#1365)
- (commands) Prevent overwriting hot repository (rustic_core) in init command
Miscellaneous
- update snapshots to include minutely configuration options
- (deps) update rustic_core, bytes, and libc dependencies to latest versions
- simplify lifetime annotations in OpenFileReader and TreeIterItem implementations
- clean up whitespace and update clippy linting allowances
- (deps) update dependencies to latest versions
- (deps) update lockfile to get rid of vulnerable
urlversion - (commands) rename fields for clarity in mount, add user options for mount (#1353)
- (deps) update dependencies
- (deps) don't use rustic_core webdav feature (#1367)
- move
webdavfsfromrustic_coretorustic-rs(#1363) - (clippy) comment out unused lints in lib.rs
- (clippy) apply fixes automatically
- use BTreeMap for env in global options (#1360)
- add tiny framework for testing rustic's compat with latest restic (#1303)
- use snapshot tests for default config, show-config and completions (#1359)
- (deps) update dependencies rustic_core, rustic_backend, rustic_testing, and migrate to conflate 0.3 (#1357)
- fix typos
- (build) add platform-dependent settings and remove ci flag for extra features
- clarify
--use-profilecommand in config by using long form (#1344) - (deps) update core and testing crates (#1340)
rustic v0.9.4
Hello rusticeans,
this patch release introduces tar output to the dump command, if being called on a directory. It also introduces some convenient names to check --read-data-subset: E.g. it allows to daily run check --read-data --read-data-subset=daily/month which covers the repository once run at every day of any month. For more information, check the corresponding (PR).
We also fixed the following issues:
- self-updating now finds the right target again
- the opendal backend should now work with less Path-related hickups on Windows
Cheers!
Changelog
Features
- (commands) Add tar output to dump command (#1328)
- (core/commands) Add convenient names for read-data-subset n/m (#328)
Bugfixes
- clippy lints for new Rust version (#1329)
- (deps) downgrade self-update to fix problems finding right target (#1323)
- (backends) fix opendal paths on windows (#340)
Miscellaneous
- (deps) remove once_cell and replace with std::sync::LazyLock, increase MSRV to 1.80.0 (#1337)
- (deps) update tokio, ratatui, and tui-textarea (#1336)
- (deps) update rustic_core and rustic_backend (#1334)
- (deps) update abscissa framework (#1330)
- introduce a new feature 'release' that includes the 'self-update' feature (#1307)
rustic v0.9.3
This is a patch release, it fixes a high-priority issue with rustic v0.9.2 due to a newly introduced bug in rustic_core v0.5.2 that involved how the TreeStreamerOnce handled errors when a channel was full. This ended in frequent panics and thus was breaking everyone's workflow.
We're sorry for the trouble! ✊🏽
Changelog
Fixed
- (deps) update rustic_core to version 0.5.3 (#1314)
Miscellaneous
- add status badge for docker image build and shorten workflow name (#1311)
rustic v0.9.2
UPDATE: rustic v0.9.2 introduced an issue that was breaking everyone's workflow. This has been fixed now in a patch release: https://github.com/rustic-rs/rustic/releases/tag/v0.9.3
Hello rusticeans,
this release might look small, but it contains a very exciting new feature: 🪝Hooks.
Hooks are commands that are run during certain events in the application lifecycle. They can be used to run custom scripts or commands before or after certain actions.
The documentation you can find in our user docs and in the config docs.
@mueckinger also contributed a CI workflow to automatically build and publish a Docker image on release! So you can easily use rustic now in your Docker setup. Thank you for that!
We hope this release is helpful to you, if you are experiencing any issues, please open an issue in our issue tracker!
Changelog
Features
- (config) Add hooks (#1218)
Miscellaneous
rustic v0.9.1
Hello,
today we are releasing a patch release to rustic, where we added:
- some more filters for you to use to filter your snapshots to your liking
- the
docscommand, that opens the rustic documentation in your default browser - the documentation as a PDF in the release package
We also improved the performance of the interactive snapshot command.
A note about the check improvements: This are in fact three enhancements:
- You can now (optionally) specify snapshots for which the tree and pack (if
--read-datais selected) checks are done. This includes using filters or something likerustic check latest. - The option
--read-data-subsetis added which allows to only choose a subset of pack files to read (if--read-datais selected). Possible choices aren/mwhich allows to completely check all data split up inmruns or random selections given by percentage or absolute size. - When using
--read-datain combination with a hot/cold repository, the packs which are checked are now warmed-up before.
Enjoy!
Changelog
Features
- (config) add more filters (#1263)
- (check) Allow to only check trees+packs for given snapshots (#1230)
- (commands) add a
docscommand to easily access the user, dev and config documentation (#1276)
Bug Fixes
- (deps) update rustic_core and other dependencies and fix merge precedence (#1282)
Documentation
- (docs/cli) improve the descriptions of the CLI commands (#1277)
- (docs) update configuration documentation to align with recent changes (#1280)
Performance
- (interactive) use update methods for refreshing snapshots (#1285)
Miscellaneous
rustic v0.9.0
Dear current and future rustic users,
today, we are releasing rustic 0.9.0 based on rustic_core 0.4.0.
Highlights
- Add option
--only-identicalfordiffto allow for bitrot check based on https://github.com/rustic-rs/rustic/discussions/1246 - use
target(rustic) profiles for thecopycommand - reduced memory usage of restore
Note: There are breaking changes that need adaptions of the configuration profile that you can read about here: https://rustic.cli.rs/docs/breaking_changes.html
Changelog
Bug Fixes
- [breaking] use multiple options only as array in config profile (#1240)
- Allow snapshots to be modified and marked to forget (#1253)
- make ls and find show the year of mtime date (#1249)
- ls: Remove printing trailing space (#1247)
- webdav/forget: correctly use application config (#1241)
Features
- [breaking] copy: Use config profile as target (#1131)
- backup: Add option
stdin-command(rustic_core) - Add list indexpacks and list indexcontent commands (#1254)
- Add option
--only-identicalfordiffto allow for bitrot check (#1250) - ls: Add option --json (#1251)
- backup: Add option
--long(#1159)
Documentation
- update installation instructions in readme to use
--lockedflag for install
from crates.io - update RepositoryErrorKind rustdoc following rustic_core change (#1237)
Other
- Remove self-update from default crate features (#1139)
- Reduce memory usage of restore (#1069)
- (deps) update rust crate libc to v0.2.159 (#1257)
- (deps) lock file maintenance (#1269)
- (deps) update rust crate rstest to 0.23 (#1267)
- (deps) update rust crate tempfile to v3.13.0 (#1266)
- (deps) update marcoieni/release-plz-action digest to 8b0f89a (#1265)
- (deps) update embarkstudios/cargo-deny-action action to v2 (#1259)
- (deps) update rustsec/audit-check action to v2 (#1260)
- (deps) update softprops/action-gh-release action to v2 (#1258)
- (deps) update embarkstudios/cargo-deny-action digest to 3f4a782 (#1228)
rustic v0.8.1
We are very happy to release rustic 0.8.1 based on rustic_core 0.3.1.
This release is basically a bugfix release, but also adds small enhancements in shell completions and interactive mode.
We also warmly welcome the new maintainer @nardoor who joined the team shortly before we started working on rustic_core 0.3.1 / rustic 0.8.1!
Changelog
Bug Fixes
- Allow to compile without tui feature
(#1208) - Use cargo --locked in CI pipeline
(#1207) - Return exitcode (#1220)
- "Incorrect Password" error is now only shown if password is really incorrect.
(rustic_core) - Group by now works as expected
(rustic_core) - A bug in
keep-tagsandfilter-tagshas been fixed.
(rustic_core) - Building OpenBSD platform target is now possible again
(rustic_core)
Documentation
- Update config profile readme
(#1221)
Features
Generated
- Updated Completions fixtures