deps: Relax dependency versions (#243)

* CI: Add -Zminimal-versions job

* Bump anyhow dev-dep to fix build with -Zminimal-versions

* Relax dependency bounds

These relaxed bounds don't impact existing builds as they're all SemVer
compatible. Specifying lower bounds allows projects with dependencies
that pin
these to lower versions do build without version resolution conflicts.

* Cargo.toml: elide .0 patch versions

---------

Co-authored-by: Your Name <you@example.com>
Co-authored-by: Chris Hennick <4961925+Pr0methean@users.noreply.github.com>
This commit is contained in:
Mrmaxmeier 2024-11-25 15:33:05 +01:00 committed by GitHub
parent 2c03abc965
commit 810d18a9a1
Signed by: DevComp
GPG key ID: B5690EEEBB952194
2 changed files with 39 additions and 21 deletions

View file

@ -70,6 +70,24 @@ jobs:
command: fmt
args: --all -- --check
check_minimal_versions:
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: nightly
override: true
- name: resolve minimal versions
run: cargo -Z minimal-versions update
- name: check
run: cargo check --all-features
- name: test
run: cargo test --all-features
style_and_docs:
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
strategy:

View file

@ -23,31 +23,31 @@ all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[workspace.dependencies]
time = { version = "0.3.36", default-features = false }
time = { version = "0.3.1", default-features = false }
[dependencies]
aes = { version = "0.8.4", optional = true }
bzip2 = { version = "0.4.4", optional = true }
chrono = { version = "0.4.38", optional = true }
constant_time_eq = { version = "0.3.1", optional = true }
crc32fast = "1.4.2"
displaydoc = { version = "0.2.5", default-features = false }
flate2 = { version = "1.0.33", default-features = false, optional = true }
aes = { version = "0.8", optional = true }
bzip2 = { version = "0.4.3", optional = true }
chrono = { version = "0.4", optional = true }
constant_time_eq = { version = "0.3", optional = true }
crc32fast = "1.4"
displaydoc = { version = "0.2", default-features = false }
flate2 = { version = "1.0", default-features = false, optional = true }
indexmap = "2"
hmac = { version = "0.12.1", optional = true, features = ["reset"] }
memchr = "2.7.4"
pbkdf2 = { version = "0.12.2", optional = true }
rand = { version = "0.8.5", optional = true }
sha1 = { version = "0.10.6", optional = true }
thiserror = "2.0.3"
hmac = { version = "0.12", optional = true, features = ["reset"] }
memchr = "2.7"
pbkdf2 = { version = "0.12", optional = true }
rand = { version = "0.8", optional = true }
sha1 = { version = "0.10", optional = true }
thiserror = "2"
time = { workspace = true, optional = true, features = [
"std",
] }
zeroize = { version = "1.8.1", optional = true, features = ["zeroize_derive"] }
zstd = { version = "0.13.2", optional = true, default-features = false }
zopfli = { version = "0.8.1", optional = true }
zeroize = { version = "1.8", optional = true, features = ["zeroize_derive"] }
zstd = { version = "0.13", optional = true, default-features = false }
zopfli = { version = "0.8", optional = true }
deflate64 = { version = "0.1.9", optional = true }
lzma-rs = { version = "0.3.0", default-features = false, optional = true }
lzma-rs = { version = "0.3", default-features = false, optional = true }
[target.'cfg(any(all(target_arch = "arm", target_pointer_width = "32"), target_arch = "mips", target_arch = "powerpc"))'.dependencies]
crossbeam-utils = "0.8.20"
@ -58,11 +58,11 @@ arbitrary = { version = "1.3.2", features = ["derive"] }
[dev-dependencies]
bencher = "0.1.5"
getrandom = { version = "0.2.15", features = ["js", "std"] }
walkdir = "2.5.0"
walkdir = "2.5"
time = { workspace = true, features = ["formatting", "macros"] }
anyhow = "1"
anyhow = "1.0.60"
clap = { version = "=4.4.18", features = ["derive"] }
tempfile = "3"
tempfile = "3.8"
[features]
aes-crypto = ["aes", "constant_time_eq", "hmac", "pbkdf2", "sha1", "rand", "zeroize"]