From 810d18a9a1bad3fad55de989d5cd90d51a23d3cf Mon Sep 17 00:00:00 2001 From: Mrmaxmeier <3913977+Mrmaxmeier@users.noreply.github.com> Date: Mon, 25 Nov 2024 15:33:05 +0100 Subject: [PATCH] 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 Co-authored-by: Chris Hennick <4961925+Pr0methean@users.noreply.github.com> --- .github/workflows/ci.yaml | 18 +++++++++++++++++ Cargo.toml | 42 +++++++++++++++++++-------------------- 2 files changed, 39 insertions(+), 21 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 96bfb5cd0..fe7735702 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -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: diff --git a/Cargo.toml b/Cargo.toml index 059b557e5..11c9f18be 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -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"]