Skip to content

Releases: rustic-rs/rustic

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)

rustic 0.3.2

07 Oct 12:39
f550e09
Compare
Choose a tag to compare

rustic 0.3.2 is released!

Special thanks go to @istudyatuni for adding the completions feature and @thht for testing!

Changes in version 0.3.2:

Breaking changes:

  • Logging is completely reworked. New option --log-level replaces --verbose and --quiet

Bugs fixed:

  • Fixed broken error handling in REST/rclone backend some error kinds.
  • Don't prompt for password in init command if it is given.

New features:

  • New option --log-file allows logging to a file
  • New command completions to generate shell completions
  • check: Added --read-data option
  • check: Improved error handling and error messages
  • rest/rclone backend: Abort immediately at permanent errors.
  • restore: better debug output to see what restore exactly will do
  • rclone backend no longer needs a temp dir. This meas rustic now doesn't need a temp dir at all.
  • Nicer display of snapshot groups
  • Added blackbox test using bats

rustic 0.3.1

15 Sep 12:07
403b36e
Compare
Choose a tag to compare

rustic 0.3.1 is ready!

Note: Changing the binary name to rustic is a breaking change with respect to the self-update command.
This means rustic 0.3.0 can NOT be updated using self-update. Please download the binaries manually instead.

Changes in version 0.3.1:

Bugs fixed:

  • change escaping of filename to get identical result as restic
  • fix performance regression because of filename escaping
  • chunker: Fixed chunker such that chunks of MINSIZE are possible.
  • prune: Fix option --max-repack; now also works when resizing packs.

New features:

  • Changed name of binary from rustic-rs to rustic
  • Added config file support (see examples in examples/ dir)
  • Added options --password and --password-command (and equivalents as env variables and config file options)
  • snapshots: Summarize fully identical snapshots in snapshots command; added option --all.
  • snapshots: Grouping by hosts and paths is now the default.
  • snapshots: Added --json option
  • backup: Allow backing up multiple source paths
  • backup: Allow backup from stdin
  • backup/parent detection now uses ctime and mtime; new options --ignore-mtime and --ignore-inode
  • backup: Added option --exclude-larger-than
  • forget: Always remove snapshots when ID is given
  • prune: Only resize small packs when target packsize will be reached.
  • prune: Added option --no-resize
  • chunker: Increase buffer size to speed up chunking
  • Added aarch64-apple-darwin as supported platform
  • CI: Added rust audit

rustic 0.3.0

18 Aug 20:51
8ab7d40
Compare
Choose a tag to compare

rustic 0.3.0 has landed!

This release introduces a change in the tree format which may interpret filenames of snapshots generated by pre-0.3.0 versions differently in edge-cases and thus changes the snapshots.
This change was needed to support restics tree format as well as create tree which are compatible with restic.
For more details, see #34 and #116 .

Changes is 0.3.0:

Bugs fixed:

  • config command could invalidate config file on local backend, see #112 and #115

New features:

  • backup: Added escaping of filenames to be compatible with restic
  • backup: Don't use temporary files, but save incomplete pack files in-memory
  • Allow to limit pack sizes
  • rest/rclone backend: Retry operations if they failing
  • restore: Use existing files to speed up restore (also makes restore resumable)
  • restore: Added --delete option to delete existing files not in snapshot
  • restore/prune: Added warm-up possibilites for hot/cold repo
  • prune: Remove unneeded packs from cache
  • prune: Added repacking of packs which are too small or too large
  • self-update: New command to update rustic
  • Added syntax SNAPSHOT[:PATH] for many command to access sub-trees within snapshots
  • Added support for environmental variables
  • Improved help texts
  • CI: Added beta builds
  • CI: Added dependabot to get automatic PRs for dependency updates

rustic 0.2.3

28 Jul 21:32
Compare
Choose a tag to compare

0.2.3 is a bug-fix release that fixes a severe bug in the prune command

Note: In 0.2.3, there is a bug in the config command which might invalidate your config file, see #112

Changes in version 0.2.3

  • prune: Fixed a critical bug which corrupted the repo when repacking compressed data
  • prune: Fixed --repack-cacheable-only when used with --repack-uncompressed
  • prune: Added progress bar for repacking
  • restore: Improved progress bar

rustic 0.2.2

26 Jul 03:48
f251079
Compare
Choose a tag to compare

Warning: This release contains a bug in prune which is able to corrupt a repository, see #88.
Use rustic 0.2.3 instead!

Changes in version 0.2.2

  • added possibility to specify a hot repo (added --repo-hot option)
  • added rclone backend and made reading/writing remote repos with higher latency working
  • new command config; added possibility to customize compression level
  • added possibility to customize pack sizes. Also changed the standard settings for pack size.
  • fixed errornous caching of data pack files
  • check: new option --trust-cache
  • improved speed of packer
  • prune: new options --instant-delete, --repack-uncompressed, --fast-repack
  • prune: option --repack-cacheable-only now expects true/false and default to true for hot/cold repos
  • snapshots: allow to specify "latest" which only displays the latest snapshot(s)
  • restore: fixed order of setting permission; improved error handling and debug output

rustic 0.2.1

08 Jul 11:24
Compare
Choose a tag to compare

Changes in version 0.2.1

  • add support for local cache (adds --no-cache and --cache-dir options)
  • added --prune option to forget
  • restore: display and ignore most errors during restore
  • restore: handle much more cases
  • fix chunker for empty files
  • REST backend: fix url path
  • Local backend: fix treatment of additional files
  • added fully support special files
  • Allow specifying global options with subommands

rustic 0.2.0

13 Jun 22:08
3003719
Compare
Choose a tag to compare

Changes in version 0.2.0:

  • new commands: init, forget, prune, repoinfo, tag, key
  • allow parallel lock-free repo access including prune
  • added REST backend
  • add compression support
  • add support for other unix OSes, e.g. macOS
  • most operations are now parallelized (using async rust)
  • added more statistical information to snapshots
  • now uses the same JSON format for trees/nodes as restic
  • CI/CD-pipeline and automatic builds for supported platforms
  • better progress bars
  • various small fixes

rustic 0.2.0-rc1

04 Jun 20:13
Compare
Choose a tag to compare
rustic 0.2.0-rc1 Pre-release
Pre-release

Version 0.2.0-rc1

This is the first release candidate for 0.2.0.

Changes in version 0.2.0:

  • new commands: init, forget, prune, repoinfo, tag, key
  • allow parallel lock-free repo access including prune
  • added REST backend
  • add compression support
  • most operations are now parallelized (using async rust)
  • added more statistical information to snapshots
  • now uses the same JSON format for trees/nodes as restic
  • better progress bars
  • various small fixes