Skip to content

chore: update dependencies#26

Merged
rubenhensen merged 1 commit into
mainfrom
chore/update-dependencies
May 7, 2026
Merged

chore: update dependencies#26
rubenhensen merged 1 commit into
mainfrom
chore/update-dependencies

Conversation

@dobby-coder
Copy link
Copy Markdown
Contributor

@dobby-coder dobby-coder Bot commented May 6, 2026

Closes #25.

What changed

  • Bumped criterion 0.3.6 -> 0.8.2 (dev-dependency).
  • Replaced the deprecated criterion::black_box re-export with std::hint::black_box in benches/main.rs.

This resolves the two security advisories pulled in transitively through criterion 0.3:

  • serde_cbor 0.11.2 unmaintained (RUSTSEC-2021-0127)
  • atty 0.2.14 unsound (RUSTSEC-2021-0145)

What was left out and why

The other bumps listed in #25 form one ecosystem-wide knot and cannot be applied here:

  • rand 0.8 -> 0.10pg-curve 0.2, pairing 0.23, group 0.13, and ff 0.13 all depend on rand_core 0.6. The crate calls into them with Group::random(&mut rng) etc., which expect an &mut R: RngCore + CryptoRng from rand_core 0.6. rand 0.10 ships rand_core 0.10, whose traits are a separate, incompatible type. Bumping rand here causes error[E0432]: unresolved import rand::RngCore and trait-bound mismatches at every call site. This needs the BLS curve stack (group/ff/pairing/pg-curve) to upgrade first.
  • getrandom 0.2 -> 0.4 — the wasm32-unknown-unknown direct dep on getrandom = "0.2", features = ["js"] exists solely to enable the js feature on the getrandom 0.2 that is pulled in transitively via rand_core 0.6. Switching the direct dep to 0.4 adds a parallel copy without affecting the version that's actually used, so it's deferred until rand can be bumped.

I'd suggest filing a follow-up issue tracking the rand_core 0.6 -> 0.10 migration once pg-curve / upstream group ships compatible releases.

Verification

  • cargo build --all-features
  • cargo test --all-features -> 17 passed
  • cargo bench --no-run --all-features
  • cargo clippy --all-targets --all-features -> clean
  • cargo fmt --all -- --check

Reviewer quickstart

`git fetch origin && git checkout chore/update-dependencies && cargo test --all-features`

Resolves the unmaintained serde_cbor (RUSTSEC-2021-0127) and atty
unsoundness (RUSTSEC-2021-0145) advisories surfaced via criterion 0.3.

The rand 0.8 to 0.10 and getrandom 0.2 to 0.4 bumps from issue #25 are
left out: pg-curve / pairing / group / ff still depend on rand_core 0.6,
so passing a rand 0.10 RngCore to Group::random and friends does not
typecheck. The wasm32 getrandom direct dep only exists to enable the js
feature on the transitive 0.2 used through rand_core 0.6, so bumping it
in isolation has no effect.

Update criterion's deprecated black_box re-export to std::hint::black_box.
@dobby-coder dobby-coder Bot requested a review from rubenhensen May 6, 2026 22:21
@dobby-coder dobby-coder Bot mentioned this pull request May 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

chore: update dependencies

1 participant