Skip to content

Releases: rustic-rs/rustic

rustic 0.5.4

05 Jun 09:17
da0d0d3
Compare
Choose a tag to compare

Happy to release rustic 0.5.4.

This is again a small bug-fix release.

Changes in version 0.5.4:

Bugs fixed:

  • backup crashed when there was a non-unicode link target. The crash has been fixed. However, non-unicode link targets are still unsupported.
  • Extended attributes which were saved with value null couldn't be handled. This has been fixed.
  • prune: --max-repack didn't work with a given percentage of repo size. This has been fixed.

New features:

  • copy: Added --init option to initialize uninitialized target repos
  • dependencies have been updated

rustic 0.5.3

25 Apr 21:47
3db7be2
Compare
Choose a tag to compare

This release is a small fix-up release that fixes an annoying bug about reading config files in 0.5.2.
The config file possibilities have been improved and command to debug the used config has been also added.

Changes in version 0.5.3:

Breaking changes:

  • config file: use-config now expects an array of config profiles to read.

Bugs fixed:

  • The [[backup.sources]] section in the config file was ignored 0.5.2. This has been fixed.

New features:

  • The show-config command has been added.

rustic 0.5.2

24 Apr 17:36
890fdb7
Compare
Choose a tag to compare

I'm happy to announce rustic 0.5.2. This release mainly features performance improvements in the backup command, especially when backing up many new (small) files. Also the config file treatment has been overworked featuring the new use-profile option which allows to (recursively) inherit options from other config files.
Also some smaller bugs and additional features were added.

Changes in version 0.5.2:

Breaking changes:

  • The CLI option --config-profile was renamed into --use-profile (same shortcut -P).

Bugs fixed:

  • restore: Warm-up options given by the command line didn't work. This has been fixed.
  • backup: showed 1 dir as changed when backing up without parent. This has been fixed.
  • diff: The options --no-atime and --ignore-devid had no effect and are now removed.
  • Rustic's check of additional fields in the config file didn't work in edge cases. This has been fixed.

New features:

  • backup: Backing up (small) files has been speed-optimized and is now much more parallelized.
  • Config file: New field use-profile under [global] allows to merge options from other config profiles
  • Option --dry-run is now a global option and can also be defined in the config file or via env variable
  • forget: Using "-1" as value for --keep-* options will keep all snapshots of that interval
  • prune: Added option --repack-all
  • Updated to clap v4

rustic 0.5.1

13 Apr 10:10
Compare
Choose a tag to compare

Happy to release rustic 0.5.1. This version fixes various minor bugs and adds few features.

Changes in version 0.5.1:

Breaking changes:

  • ls: Added option --recursive, note: default is now non-recursive if a path is given.

Bugs fixed:

  • Fixed compilation on OpenBSD.
  • Fixed shell completions.
  • REST backend displayed the connection password in the log. This has been changed.
  • restore: Existing symlinks displayed an error. This is now corrected if the --delete option is used.
  • restore: Setting ownership/permissons/times for symlinks failed. This has been fixed.
  • Spaces in paths did not work when given in the config file. This has been fixed.
  • backup --stdin-filename did not use the given filename. This has been fixed.
  • backup always displayed at least 1 dir as changed. This has been corrected.
  • Windows: Backup of the path prefix (e.g. C: -> C/) did not work. This has been fixed.

New features:

  • REST backend: Set User-Agent header.
  • ls: Added option --recursive.
  • ls: Added glob options to exclude/include.
  • restore: Added glob options to exclude/include.
  • restore: xattrs treatment has been improved.
  • Dependencies have been updated.

rustic 0.5.0

24 Mar 16:02
e6404f6
Compare
Choose a tag to compare

I am very happy to announce rustic 0.5.0!

This release not only includes a lot of new features but also builds the groundwork for future extensions. Windows support has been experimental added and will get seasoned in the next releases. Moreover, a rework of the archiver implementation will allow to use other backup sources than local dirs in future.

Changes in version 0.5.0:

Breaking changes:

  • Repository options in the config file can no longer be given under the [global] section. Use [repository] instead.
  • Backing up multiple sources on the command line now results in one instead of several snapshots.

Bugs fixed:

  • restore command did not restore empty files. This is fixed.
  • config command did save the config file compressed which violates the repo design. This is fixed.
  • rustic did panic when files with missing content field are stored in a tree. This is fixed.

New features:

  • Experimental windows support has been added.
  • New option --filter-fn allows to implement your own snapshot filter using the Rhai language.
  • New command dump has been added.
  • New command merge has been added.
  • Support for extended file attributes has been added.
  • REST/Rclone backend: Allow to set the request timeout.
  • Extra or wrong fields in the config file now lead to rustic complaining and aborting.
  • New option --no-progress has been added.
  • Option --progress-interval can now also be given as command argument and in the config file.
  • backup: Paths are now sanitized from command arguments and config file before matching and applying the configuration.
  • restore: Add --no-ownership option
  • check --read-data: progress bar now also shows total bytes to check and ETA.
  • The archiver implementation has been reworked. This will allow more backup sources in future.
  • Updated to Rust 1.68 and many dependency updates

rustic 0.4.4

28 Feb 20:31
f44c1bb
Compare
Choose a tag to compare

rustic 0.4.4 is out.

This is a smaller release with some minor bugs fixed and some small but nice features added.

Changes in version 0.4.4:

Bugs fixed:

  • Integrated the cdc crate as it currently doesn't compile with current Rust. This allows to upload rustic to crates.io.
  • restore: Don't abort on errors, but print a warning and continue
  • REST backend now ignores extra files in repository, as local backend does.
  • init did not work for hot/cold repos. This is fixed.
  • A password file without a newline didn't work. This is fixed.

New features:

  • diff/restore: Allow to use a single file as target and treat it correctly
  • local backend: Added possibility to add hooks. This can be used e.g. to automatically generate .par2 files for your local repo.
  • backup: Added option --json
  • The chunker implementation has been optimized
  • Default grouping now includes grouping by labels
  • Added OpenBSD as platform
  • Many version updates of dependencies

rustic 0.4.3

17 Jan 21:33
Compare
Choose a tag to compare

rustic 0.4.3 has been released!

This release is a maintenance release that fixes a couple of bugs including a severe bug in prune which could cause data loss in special situations. Please update to 0.4.3 if you are running prune, especially if you run prune --instant-delete!

Changes in version 0.4.3:

Bugs fixed:

  • A bug in prune could lead to removal of needed data in the case of duplicate blobs within one pack. This is fixed.
  • An inaccuracy in the packer could lead to identical blobs saved within the same pack. This is fixed.
  • check: Reported errors when the cache contained more pack files than the repository. This is fixed.
  • password-command didn't work correctly when calling a shell with an argument. This is fixed.

New features:

  • warm-up options can now be configured in the config file.
  • repair index: Added better debug output and error handling.
  • Added better error handling when opening a repository.
  • Improved allocations when parsing/printing ids.

rustic 0.4.2

05 Jan 12:13
Compare
Choose a tag to compare

rustic 0.4.2 has been released!

Changes in version 0.4.2:

Bugs fixed:

  • rclone backend did not work with unexpected version output. This is now fixed, also support for rclone > 1.61 is added.
  • restore: restore with existing files/dirs but wrong type did not succeed. This is fixed now.
  • All command except backup and prune did not compress snapshot and index files, even for v2 repos. This is now fixed.

New features:

  • Added the copy command: Many targets are supported and a nice output table shows which snapshots are to be copied. See also #358.
  • The syntax <SNAPSHOT>:<PATH> now also works if is a file, e.g. in the restore command.
  • restore: Existing files with correct size and mtime are not read by default; new option --verify-existing.
  • restore: Improved output of what restore is about to do (also in --dry-run mode).
  • diff: Make output more similar to restic diff; added option --metadata.
  • diff: When diffing with a local dir, local files are now read and the content is compared; new option --no-content.
  • backup: Improved parallelization.
  • Updated to Rust 1.66 and many updates of dependent crate versions.
  • Some minor code and performance improvements.

rustic 0.4.1

03 Dec 22:14
Compare
Choose a tag to compare

rustic 0.4.1 is out!

This release is merely a maintenance release and fixes a severe bug which could cause rustic backup to hang.
Besides this some minor bugs are fixed and error handling is improved.

Changes in version 0.4.1:

Bugs fixed:

  • Fixed a possible deadlock in the archiver which could cause rustic backup to hang.
  • Piping output no longer panics (this allows e.g. to pipe into head).
  • Fixed progress bar showing 0B/s instead of real rate.

New features:

  • backup: Errors reading the parent now print a warning instead of being silently ignored.
  • forget: Allow to keep quarter- and half-yearly.
  • Improved the error handling for some situations.

rustic 0.4.0

23 Nov 14:03
Compare
Choose a tag to compare

rustic 0.4.0 is released!

The biggest change in this release is the change from async Rust back to sync Rust. This allowed some code simplifications and will allow easier implementation of some future features.
Also, efficient parallelization can be more easily done using threads and the well-known parallelization crates.

Changes in version 0.4.0:

Bugs fixed:

  • Fixed a bug in the CI which sometimes made building beta executables fail.

New features:

  • Snapshots now allow to use a label, to add a description and save the program version used.
  • diff: diff can now compare snapshots with local dirs.
  • backup: Added option --as-path.
  • backup: Allow to use and save relative paths.
  • backup: Added option --ignore-devid.
  • backup: Now uses more parallelization.
  • prune: Repacking is now parallel.
  • New commands repair index/snapshots.
  • Better support for using latest as snapshot.
  • UI/progress bars: Added support for env variable RUSTIC_PROGRESS_INTERVALL.
  • Simplified the code in some places.

Changes under the hood:

  • rustic no longer uses async Rust.
  • Replaced prettytables by comfytable. (Thanks @JMarkin)