mirror of
https://github.com/rustic-rs/rustic.git
synced 2025-10-26 11:18:51 +00:00
## 🤖 New release * `rustic-rs`: 0.9.5 -> 0.10.0 (✓ API compatible changes) <details><summary><i><b>Changelog</b></i></summary><p> <blockquote> ## [0.10.0](https://github.com/rustic-rs/rustic/compare/v0.9.5...v0.10.0) - 2025-09-12 ### Added - Add --name option to select snapshot(s) from config to backup ([#1531](https://github.com/rustic-rs/rustic/pull/1531)) - *(commands)* make group_by a global option ([#1545](https://github.com/rustic-rs/rustic/pull/1545)) - Add environment variables to the hooks ([#1518](https://github.com/rustic-rs/rustic/pull/1518)) - *(commands)* copy checks all chunker constellations ([#1530](https://github.com/rustic-rs/rustic/pull/1530)) - *(interactive)* Add possibility to change snapshot hostname ([#1498](https://github.com/rustic-rs/rustic/pull/1498)) - OpenTelemetry Protocol support for metrics ([#1473](https://github.com/rustic-rs/rustic/pull/1473)) - *(interactive)* Reduce memory consumption of summary ([#1489](https://github.com/rustic-rs/rustic/pull/1489)) - *(interactive)* remember summary when switching snapshot/ls/diff views ([#1485](https://github.com/rustic-rs/rustic/pull/1485)) - *(interactive)* [**breaking**] Add interactive diff / overwork diff output ([#1480](https://github.com/rustic-rs/rustic/pull/1480)) - *(interactive)* ls: Add options to compute cumulative statistics ([#1479](https://github.com/rustic-rs/rustic/pull/1479)) - *(commands)* Add missing key subcommands ([#1385](https://github.com/rustic-rs/rustic/pull/1385)) - *(commands)* [**breaking**] Fine-tune output for snapshots command when no grouping is given ([#1375](https://github.com/rustic-rs/rustic/pull/1375)) - *(diff)* Use local PATH1 as PATH2 if no new snapshot/path is given ([#1474](https://github.com/rustic-rs/rustic/pull/1474)) - *(commands)* [**breaking**] Extend logging ([#1463](https://github.com/rustic-rs/rustic/pull/1463)) - push prometheus metrics to pushgateway on-demand ([#1404](https://github.com/rustic-rs/rustic/pull/1404)) - Allow to use OPENDAL_HOT_* and OPENDAL_COLD_* env variables ([#1392](https://github.com/rustic-rs/rustic/pull/1392)) ### Fixed - sanitize paths after run-before hook ([#1549](https://github.com/rustic-rs/rustic/pull/1549)) - Handle dry-run for all commands ([#1546](https://github.com/rustic-rs/rustic/pull/1546)) - fix clippy lints ([#1533](https://github.com/rustic-rs/rustic/pull/1533)) - cargo update openssh-sftp-client ([#1510](https://github.com/rustic-rs/rustic/pull/1510)) - Don't allow wrong commands in front of valid ones ([#1464](https://github.com/rustic-rs/rustic/pull/1464)) - fix clippy lints - rename OPENDAL_HOT_*/COLD_* to OPENDALHOT_*/COLD_* ([#1393](https://github.com/rustic-rs/rustic/pull/1393)) - fix clippy lint - *(commands)* remove SIGPIPE default handler ([#1431](https://github.com/rustic-rs/rustic/pull/1431)) - fix clippy lints - *(config)* set a non-zero default progress interval for progress options ([#1378](https://github.com/rustic-rs/rustic/pull/1378)) ### Other - update dependencies ([#1556](https://github.com/rustic-rs/rustic/pull/1556)) - *(deps)* bump tracing-subscriber from 0.3.19 to 0.3.20 ([#1544](https://github.com/rustic-rs/rustic/pull/1544)) - [**breaking**] Remove --filter-fn from default ([#1482](https://github.com/rustic-rs/rustic/pull/1482)) - update rustic_core ([#1541](https://github.com/rustic-rs/rustic/pull/1541)) - update rustic_core ([#1519](https://github.com/rustic-rs/rustic/pull/1519)) - *(config)* Correct the `exclude-if-present` option descritption ([#1506](https://github.com/rustic-rs/rustic/pull/1506)) - update to latest rustic_core ([#1491](https://github.com/rustic-rs/rustic/pull/1491)) - clippy lints - Use rustic_core development version ([#1476](https://github.com/rustic-rs/rustic/pull/1476)) - code formatting - adapt to latest rustic_core ([#1456](https://github.com/rustic-rs/rustic/pull/1456)) - use 2024 edition ([#1453](https://github.com/rustic-rs/rustic/pull/1453)) - update prometheus version - dependency updates - *(deps)* bump zip from 2.2.1 to 2.3.0 ([#1432](https://github.com/rustic-rs/rustic/pull/1432)) - *(deps)* bump ring from 0.17.8 to 0.17.13 ([#1424](https://github.com/rustic-rs/rustic/pull/1424)) - Add Homebrew instructions ([#1416](https://github.com/rustic-rs/rustic/pull/1416)) </blockquote> </p></details> --- This PR was generated with [release-plz](https://github.com/release-plz/release-plz/). --------- Co-authored-by: rustic-release-plz[bot] <182542030+rustic-release-plz[bot]@users.noreply.github.com> Co-authored-by: Alexander Weiss <alex@weissfam.de>
222 lines
6.4 KiB
TOML
222 lines
6.4 KiB
TOML
[package]
|
|
name = "rustic-rs"
|
|
version = "0.10.0"
|
|
authors = ["the rustic-rs team"]
|
|
categories = ["command-line-utilities"]
|
|
documentation = "https://docs.rs/rustic-rs"
|
|
edition = "2024"
|
|
homepage = "https://rustic.cli.rs/"
|
|
include = ["src/**/*", "LICENSE-*", "README.md", "config/**/*"]
|
|
keywords = ["backup", "restic", "deduplication", "encryption", "cli"]
|
|
license = "Apache-2.0 OR MIT"
|
|
readme = "README.md"
|
|
repository = "https://github.com/rustic-rs/rustic"
|
|
resolver = "3"
|
|
rust-version = "1.85.0"
|
|
description = """
|
|
rustic - fast, encrypted, deduplicated backups powered by Rust
|
|
"""
|
|
|
|
[features]
|
|
default = ["jq", "prometheus", "opentelemetry", "tui", "webdav"]
|
|
release = ["default", "self-update"]
|
|
|
|
# Allocators
|
|
mimalloc = ["dep:mimalloc"]
|
|
jemallocator = ["dep:jemallocator-global"]
|
|
|
|
# Commands
|
|
mount = ["dep:fuse_mt"]
|
|
prometheus = ["dep:prometheus", "dep:base64"]
|
|
opentelemetry = [
|
|
"dep:opentelemetry",
|
|
"dep:opentelemetry-otlp",
|
|
"dep:opentelemetry_sdk",
|
|
]
|
|
self-update = ["dep:self_update", "dep:semver"]
|
|
tui = ["dep:ratatui", "dep:crossterm", "dep:tui-textarea"]
|
|
webdav = [
|
|
"dep:dav-server",
|
|
"dep:warp",
|
|
"dep:tokio",
|
|
"dep:bytes",
|
|
"dep:futures",
|
|
]
|
|
|
|
# Filtering
|
|
rhai = ["dep:rhai"]
|
|
jq = ["dep:jaq-core", "dep:jaq-std", "dep:jaq-json"]
|
|
|
|
[[bin]]
|
|
name = "rustic"
|
|
path = "src/bin/rustic.rs"
|
|
test = true
|
|
bench = true
|
|
doc = true
|
|
harness = true
|
|
# required-features = []
|
|
|
|
[package.metadata.docs.rs]
|
|
all-features = true
|
|
rustdoc-args = ["--document-private-items", "--generate-link-to-definition"]
|
|
|
|
[dependencies]
|
|
abscissa_core = { version = "0.8.2", default-features = false, features = ["application"] }
|
|
rustic_backend = { version = "0.5.3", features = ["cli"] }
|
|
rustic_core = { version = "0.8.0", features = ["cli"] }
|
|
|
|
# allocators
|
|
jemallocator-global = { version = "0.3.2", optional = true }
|
|
mimalloc = { version = "0.1.48", default-features = false, optional = true }
|
|
|
|
# webdav
|
|
dav-server = { version = "0.8.0", default-features = false, features = ["warp-compat"], optional = true }
|
|
tokio = { version = "1", optional = true }
|
|
warp = { version = "0.3.7", optional = true }
|
|
|
|
# tui
|
|
crossterm = { version = "0.28", optional = true }
|
|
ratatui = { version = "0.29.0", optional = true }
|
|
tui-textarea = { version = "0.7.0", optional = true }
|
|
|
|
# logging
|
|
log = "0.4"
|
|
|
|
# errors
|
|
anyhow = "1"
|
|
displaydoc = "0.2.5"
|
|
thiserror = "2"
|
|
|
|
# serialization
|
|
serde = { version = "1", features = ["serde_derive"] }
|
|
serde_json = "1"
|
|
serde_with = { version = "3", features = ["base64"] }
|
|
|
|
# other dependencies
|
|
aho-corasick = "1"
|
|
chrono = { version = "0.4", default-features = false, features = ["clock", "serde"] }
|
|
comfy-table = "7"
|
|
scopeguard = "1"
|
|
semver = { version = "1", optional = true }
|
|
simplelog = "0.12"
|
|
|
|
# commands
|
|
base64 = { version = "0.22.1", optional = true }
|
|
bytes = { version = "1.10.1", optional = true }
|
|
bytesize = "2"
|
|
cached = "0.56.0"
|
|
clap = { version = "4", features = ["derive", "env", "wrap_help"] }
|
|
clap_complete = "4"
|
|
conflate = "0.3.3"
|
|
convert_case = "0.8.0"
|
|
ctrlc = { version = "3.5.0", features = ["termination"] }
|
|
dateparser = "0.2.1"
|
|
derive_more = { version = "2", features = ["debug", "display", "from_str"] }
|
|
dialoguer = "0.12.0"
|
|
directories = "6"
|
|
flate2 = "1.1.2"
|
|
fuse_mt = { version = "0.6", optional = true }
|
|
futures = { version = "0.3.31", optional = true }
|
|
gethostname = "1.0"
|
|
globset = "0.4.16"
|
|
human-panic = "2"
|
|
humantime = "2"
|
|
indicatif = "0.18"
|
|
itertools = "0.14"
|
|
open = "5.3.2"
|
|
prometheus = { version = "0.14.0", optional = true }
|
|
reqwest = { version = "0.12.23", default-features = false, features = ["rustls-tls-native-roots", "blocking"] }
|
|
self_update = { version = "=0.39.0", default-features = false, optional = true, features = ["rustls", "archive-tar", "compression-flate2"] } # FIXME: Downgraded to 0.39.0 due to https://github.com/jaemk/self_update/issues/136
|
|
tar = "0.4.44"
|
|
toml = "0.9"
|
|
zip = { version = "5.1.1", default-features = false, features = ["deflate", "chrono"] }
|
|
|
|
# filtering
|
|
jaq-core = { version = "2", optional = true }
|
|
jaq-json = { version = "1", features = ["serde_json"], optional = true }
|
|
jaq-std = { version = "2", optional = true }
|
|
opentelemetry = { version = "0.30.0", default-features = false, features = ["metrics"], optional = true }
|
|
opentelemetry-otlp = { version = "0.30.0", features = ["metrics"], optional = true }
|
|
opentelemetry_sdk = { version = "0.30.0", default-features = false, features = ["metrics"], optional = true }
|
|
rhai = { version = "1", features = ["sync", "serde", "no_optimize", "no_module", "no_custom_syntax", "only_i64"], optional = true }
|
|
|
|
[dev-dependencies]
|
|
abscissa_core = { version = "0.8.2", default-features = false, features = ["testing"] }
|
|
assert_cmd = "2.0.17"
|
|
cfg-if = "1.0.3"
|
|
dircmp = "0.2"
|
|
flate2 = "1.1.2"
|
|
insta = { version = "1.43.2", features = ["ron"] }
|
|
predicates = "3.1.3"
|
|
pretty_assertions = "1.4"
|
|
quickcheck = "1"
|
|
quickcheck_macros = "1"
|
|
rstest = "0.26"
|
|
rustic_testing = { version = "0.3.3" }
|
|
tar = "0.4.44"
|
|
tempfile = "3.22"
|
|
toml = "0.9"
|
|
|
|
[target.'cfg(not(windows))'.dependencies]
|
|
libc = "0.2.175"
|
|
|
|
# cargo-binstall support
|
|
# https://github.com/cargo-bins/cargo-binstall/blob/HEAD/SUPPORT.md
|
|
[package.metadata.binstall]
|
|
pkg-url = "{ repo }/releases/download/v{ version }/{ bin }-v{ version }-{ target }{ archive-suffix }"
|
|
bin-dir = "{ bin }{ binary-ext }"
|
|
pkg-fmt = "tgz"
|
|
|
|
[package.metadata.binstall.signing]
|
|
algorithm = "minisign"
|
|
pubkey = "RWSWSCEJEEacVeCy0va71hlrVtiW8YzMzOyJeso0Bfy/ZXq5OryWi/8T"
|
|
|
|
# see: https://nnethercote.github.io/perf-book/build-configuration.html
|
|
[profile.dev]
|
|
opt-level = 0
|
|
debug = true
|
|
rpath = false
|
|
lto = false
|
|
debug-assertions = true
|
|
codegen-units = 4
|
|
|
|
# compile dependencies with optimizations in dev mode
|
|
# see: https://doc.rust-lang.org/stable/cargo/reference/profiles.html#overrides
|
|
[profile.dev.package."*"]
|
|
opt-level = 3
|
|
debug = true
|
|
|
|
[profile.release]
|
|
opt-level = 3
|
|
debug = false # true for profiling
|
|
rpath = false
|
|
lto = "fat"
|
|
debug-assertions = false
|
|
codegen-units = 1
|
|
strip = true
|
|
panic = "abort"
|
|
|
|
[profile.test]
|
|
opt-level = 1
|
|
debug = true
|
|
rpath = false
|
|
lto = false
|
|
debug-assertions = true
|
|
codegen-units = 4
|
|
|
|
[profile.bench]
|
|
opt-level = 3
|
|
debug = true # true for profiling
|
|
rpath = false
|
|
lto = true
|
|
debug-assertions = false
|
|
codegen-units = 1
|
|
|
|
# Allows quick RPM file generation, if "cargo-generate-rpm" is installed:
|
|
# cargo build --release; cargo generate-rpm
|
|
# will result in a file like target/generate-rpm/rustic-rs-0.6.1-1.x86_64.rpm
|
|
[package.metadata.generate-rpm]
|
|
assets = [
|
|
{ source = "target/release/rustic", dest = "/usr/bin/rustic", mode = "0755", config = false, doc = false, user = "root", group = "root" },
|
|
]
|