diff --git a/Cargo.lock b/Cargo.lock index deed4e083..18ca9515f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -508,7 +508,7 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn 2.0.4", + "syn 2.0.8", ] [[package]] @@ -525,7 +525,7 @@ checksum = "631569015d0d8d54e6c241733f944042623ab6df7bc3be7466874b05fcdb1c5f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.4", + "syn 2.0.8", ] [[package]] @@ -1546,9 +1546,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.52" +version = "1.0.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d0e1ae9e836cc3beddd63db0df682593d7e2d3d891ae8c9083d2113e1744224" +checksum = "ba466839c78239c09faf015484e5cc04860f88242cff4d03eb038f04b4699b73" dependencies = [ "unicode-ident", ] @@ -1823,7 +1823,7 @@ dependencies = [ [[package]] name = "rustic-rs" -version = "0.4.4-dev" +version = "0.5.0" dependencies = [ "aes256ctr_poly1305aes", "aho-corasick", @@ -2039,7 +2039,7 @@ checksum = "e801c1712f48475582b7696ac71e0ca34ebb30e09338425384269d9717c62cad" dependencies = [ "proc-macro2", "quote", - "syn 2.0.4", + "syn 2.0.8", ] [[package]] @@ -2250,9 +2250,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.4" +version = "2.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c622ae390c9302e214c31013517c2061ecb2699935882c60a9b37f82f8625ae" +checksum = "bcc02725fd69ab9f26eab07fad303e2497fad6fb9eba4f96c4d1687bdf704ad9" dependencies = [ "proc-macro2", "quote", @@ -2315,7 +2315,7 @@ checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.4", + "syn 2.0.8", ] [[package]] @@ -2446,9 +2446,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.19.7" +version = "0.19.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc18466501acd8ac6a3f615dd29a3438f8ca6bb3b19537138b3106e575621274" +checksum = "239410c8609e8125456927e6707163a3b1fdb40561e4b803bc041f466ccfdc13" dependencies = [ "indexmap", "serde", @@ -2843,9 +2843,9 @@ checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" [[package]] name = "winnow" -version = "0.3.6" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d020b441f92996c80d94ae9166e8501e59c7bb56121189dc9eab3bd8216966" +checksum = "ae8970b36c66498d8ff1d66685dc86b91b29db0c7739899012f63a63814b4b28" dependencies = [ "memchr", ] diff --git a/Cargo.toml b/Cargo.toml index 0cfd9fa2d..171d9c54d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rustic-rs" -version = "0.4.4-dev" +version = "0.5.0" description = """ fast, encrypted, deduplicated backups powered by pure Rust """ diff --git a/README.md b/README.md index 04de53cc3..8eaeb390a 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,7 @@ Improvements: * `backup` command can use `.gitignore` files * `restore` uses existing files; also option `--delete` available * Snapshots save much more information, available in `snapshots` command + * Integrates the [Rhai](https://rhai.rs/) script language for snapshot filtering * Allows to save repository options in the repository config file via the command `config` * New command `merge` * New command `repo-info` @@ -45,7 +46,7 @@ Improvements: * Syntax `[:PATH]` is available for many commands Current limitations: - * Runs so far only on Linux and MacOS, Windows support is WIP + * Supported platforms are Linux and MacOS and other Unixes, Windows support is experimental ## Open points: * [ ] Add tests and benchmarks diff --git a/changelog/0.5.0.txt b/changelog/0.5.0.txt new file mode 100644 index 000000000..2ab313dd2 --- /dev/null +++ b/changelog/0.5.0.txt @@ -0,0 +1,26 @@ +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 diff --git a/changelog/new.txt b/changelog/new.txt index 6db2e0231..f2f6a60e6 100644 --- a/changelog/new.txt +++ b/changelog/new.txt @@ -1,22 +1,7 @@ Changes in version x.x.x: Breaking changes: -- Repository options in the config file must now be given under the `[repository]` section. -- 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. 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. -- check --read-data: progress bar now also shows total bytes to check and ETA.