chore(deps): update rust crate rand_core to 0.10.0 - #26
Conversation
|
PR author is in the excluded authors list. |
|
🟢 WAVE BugBot — clearNo confident findings on the changed lines. Local review · $0 inference · wave-dispatch |
93ad6ae to
73cb8f9
Compare
73cb8f9 to
f4d43a4
Compare
| urlencoding = "2" # 0.5.1 — wallet_hook(privy) URL-encodes the wallet_id path segment | ||
| p256 = { version = "0.13", features = ["pkcs8", "ecdsa"] } # 0.6.2 — CDP-JWT (ES256) signing | ||
| rand_core = "0.6" # 0.6.2 — nonce randomness for CDP-JWT | ||
| rand_core = "0.10" # 0.6.2 — nonce randomness for CDP-JWT |
There was a problem hiding this comment.
🔴 Rust SDK no longer builds after the random-number library upgrade
The random-number library is upgraded to a version whose randomness source no longer exists (rand_core = "0.10" at sdk/rust/Cargo.toml:18) while the signing code still asks for that removed source, so the Rust SDK fails to build at all.
Impact: Anyone depending on or publishing the Rust client gets a broken package — no requests can be signed or sent.
Removed OsRng/RngCore items in rand_core 0.10 vs. the SDK's usage
sdk/rust/src/lib.rs:22-23 does use rand_core::{OsRng, RngCore}; OsRng.fill_bytes(&mut nonce_bytes); to build the CDP-JWT nonce. rand_core 0.10 removed OsRng (and the os_rng/getrandom support) entirely and renamed RngCore to Rng, so both imports resolve to nothing. Additionally, p256 = "0.13" (sdk/rust/Cargo.toml:17) is built against the rand_core 0.6 trait family, so even after fixing the import the two crates would not share RNG traits. Either keep rand_core = "0.6" (matching the accompanying comment and p256 0.13), or migrate the nonce generation to getrandom/rand and upgrade p256 accordingly.
Was this helpful? React with 👍 or 👎 to provide feedback.
| urlencoding = "2" # 0.5.1 — wallet_hook(privy) URL-encodes the wallet_id path segment | ||
| p256 = { version = "0.13", features = ["pkcs8", "ecdsa"] } # 0.6.2 — CDP-JWT (ES256) signing | ||
| rand_core = "0.6" # 0.6.2 — nonce randomness for CDP-JWT | ||
| rand_core = "0.10" # 0.6.2 — nonce randomness for CDP-JWT |
There was a problem hiding this comment.
🟡 Dependency change to the published client is not recorded in the changelog
A user-facing dependency requirement of the published Rust client is changed (rand_core = "0.10" at sdk/rust/Cargo.toml:18) without adding an entry under the Unreleased section of the changelog, which the repository contract requires.
Impact: Consumers of the SDK get an undocumented dependency change.
Repository rule
AGENTS.md states: "Conventional Commit titles; update CHANGELOG.md (Unreleased) for user-facing changes." The ## [Unreleased] section of CHANGELOG.md is empty in this PR.
Was this helpful? React with 👍 or 👎 to provide feedback.
| base64 = "0.22" # 0.5.1 — wallet_hook(privy) needs Basic auth encoding | ||
| urlencoding = "2" # 0.5.1 — wallet_hook(privy) URL-encodes the wallet_id path segment | ||
| p256 = { version = "0.13", features = ["pkcs8", "ecdsa"] } # 0.6.2 — CDP-JWT (ES256) signing | ||
| rand_core = "0.6" # 0.6.2 — nonce randomness for CDP-JWT | ||
| rand_core = "0.10" # 0.6.2 — nonce randomness for CDP-JWT |
There was a problem hiding this comment.
🔍 No lockfile or CI build for the Rust SDK to catch dependency drift
There is no Cargo.lock committed under sdk/rust/, and the change here is dependency-only, so nothing in the repo pins or verifies the resolved rand_core version. If CI does not run cargo build for sdk/rust, a bad requirement would only surface at publish time. Worth confirming a Rust build gate exists.
(Refers to lines 12-18)
Was this helpful? React with 👍 or 👎 to provide feedback.
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This one-line dependency update affects the published Rust SDK's existing CDP-JWT signing path, while the unchanged code appears incompatible with the upgraded rand_core API and no Rust build gate verifies the result. The change also raises consumer compatibility and changelog concerns in a file owned by the streaming team. Not approved because:
Review your spending limits in Billing settings. You can add or adjust custom eligibility rules. Learn more. |
ac26190 to
00f55a3
Compare
| urlencoding = "2" # 0.5.1 — wallet_hook(privy) URL-encodes the wallet_id path segment | ||
| p256 = { version = "0.13", features = ["pkcs8", "ecdsa"] } # 0.6.2 — CDP-JWT (ES256) signing | ||
| rand_core = "0.6" # 0.6.2 — nonce randomness for CDP-JWT | ||
| rand_core = "0.10" # 0.6.2 — nonce randomness for CDP-JWT |
There was a problem hiding this comment.
🔍 No CHANGELOG entry for the dependency change of a published crate
AGENTS.md asks for a CHANGELOG.md Unreleased entry for user-facing changes. A dependency major bump in a published crate (wave-dispatch) changes the resolved dependency graph for consumers, so it is arguably user-facing; the Unreleased section is currently empty. Worth confirming the repo's convention for dependency-only PRs (e.g. Renovate-generated) before requiring an entry.
Was this helpful? React with 👍 or 👎 to provide feedback.
00f55a3 to
e69221b
Compare
| urlencoding = "2" # 0.5.1 — wallet_hook(privy) URL-encodes the wallet_id path segment | ||
| p256 = { version = "0.13", features = ["pkcs8", "ecdsa"] } # 0.6.2 — CDP-JWT (ES256) signing | ||
| rand_core = "0.6" # 0.6.2 — nonce randomness for CDP-JWT | ||
| rand_core = "0.10" # 0.6.2 — nonce randomness for CDP-JWT |
There was a problem hiding this comment.
🔍 Stale inline version comment and MSRV/edition implications of the bump
The trailing comment still reads # 0.6.2 — nonce randomness for CDP-JWT, which refers to the SDK feature version rather than the crate version, so it is not inconsistent by itself. More relevant: rand_core 0.10 requires edition 2024 and MSRV 1.85, while sdk/rust/Cargo.toml:4 declares edition = "2021". Consuming a 2024-edition dependency is allowed, but the effective MSRV of the published wave-dispatch crate silently rises to 1.85; if the project documents or CI-tests an older toolchain, that needs updating alongside this bump.
Was this helpful? React with 👍 or 👎 to provide feedback.
e69221b to
c358a4d
Compare
|
Your free trial PR review limit of 300 PRs has been reached. Please upgrade your plan to continue using CodeAnt AI. |
c358a4d to
6206fbf
Compare
|
Your free trial PR review limit of 300 PRs has been reached. Please upgrade your plan to continue using CodeAnt AI. |
6206fbf to
9e16ad2
Compare
|
Your free trial PR review limit of 300 PRs has been reached. Please upgrade your plan to continue using CodeAnt AI. |
This PR contains the following updates:
0.6.2→0.10.0Release Notes
rust-lang-nursery/rand (rand_core)
v0.10.1Compare Source
This release includes a fix for a soundness bug; see #1763.
Changes
make_rngand add#[track_caller](#1761)log(#1763)v0.10.0Compare Source
Changes
rand_chachahas been replaced with a dependency onchacha20. This changes the implementation behindStdRng, but the output remains the same. There may be some API breakage when using the ChaCha-types directly as these are now the ones inchacha20instead ofrand_chacha(#1642).IndexedRandom::choose_multiple->sample,choose_multiple_array->sample_array,choose_multiple_weighted->sample_weighted, structSliceChooseIter->IndexedSamplesand fnsIteratorRandom::choose_multiple->sample,choose_multiple_fill->sample_fill(#1632)Fillbe implemented for element types, not sliceable types (#1652)OsError::raw_os_erroron UEFI targets by returningOption<usize>(#1665)TryRngCore::read_adapter(..) -> RngReadAdapterwith simpler structRngReader(#1669)SeedableRng::from_os_rng,try_from_os_rng(#1674)Clonesupport forStdRng,ReseedingRng(#1677)postcardinstead ofbincodeto test the serde feature (#1693)IteratorRandom::samplewhenamountis much larger than iterator size (#1695)os_rng->sys_rng,OsRng->SysRng,OsError->SysError(#1697)Rng->RngExtas upstreamrand_corehas renamedRngCore->Rng(#1717)Additions
IndexedRandom::choose_iter,choose_weighted_iter(#1632)Xoshiro128PlusPlus,Xoshiro256PlusPlusprngs (#1649)ChaCha8Rng,ChaCha12Rng,ChaCha20Rngbehindchachafeature (#1659)rand::make_rng() -> R where R: SeedableRng(#1734)Removals
ReseedingRng(#1722)small_rng(#1732)v0.9.5Compare Source
What's Changed
Full Changelog: rust-random/rand@0.9.4...0.9.5
v0.9.4Compare Source
Fixes
Full Changelog: rust-random/rand@0.9.3...0.9.4
v0.9.3Compare Source
This release back-ports a fix from v0.10. See also [#1763].
Changes
log(#1764)doc_auto_cfg(#1764)Full Changelog: rust-random/rand@0.9.2...0.9.3
v0.9.2Compare Source
Deprecated
rand::rngs::mockmodule andStepRnggenerator ([#1634])Additions
WeightedIndex<usize>(de)serialization ([#1646])v0.9.1Compare Source
Security and unsafe
zerocopydependency fromrand(#1579)Fixes
simd_supportfor recent nightly rust (#1586)Changes
fn rand::seq::index::sample_weightedandfn IndexedRandom::choose_multiple_weightedto return fewer thanamountresults (#1623), reverting an undocumented change ([#1382]) to the previous release.Additions
rand::distr::Alphabeticdistribution. (#1587)rand_core(#1604)v0.9.0Compare Source
Security and unsafe
ReseedingRngandThreadRng. Instead, it is recommended to callThreadRng::reseedon fork. (#1379)zerocopyto replace someunsafecode (#1349, #1393, #1446, #1502)Dependencies
--ignore-rust-versionrand_corev0.9.0 (#1558)Features
stdfeature withoutgetrandomorrand_chacha(#1354)small_rngby default (#1455)rand_chacha; usestd_rnginstead. (#1473)serde1toserde(#1477)getrandomtoos_rng(#1537)thread_rng(#1547)API changes: rand_core traits
RngCore::read_adapterimplementingstd::io::Read(#1267)CryptoBlockRng: BlockRngCore; maketrait CryptoRng: RngCore(#1273)TryRngCore,TryCryptoRng(#1424, #1499)fn SeedableRng::from_rng->try_from_rngand add infallible variantfn from_rng(#1424)fn SeedableRng::from_entropy->from_os_rngand add fallible variantfn try_from_os_rng(#1424)CloneandAsRefto associated typeSeedableRng::Seed(#1491)API changes: Rng trait and top-level fns
rand::thread_rng()torand::rng()and remove from the prelude (#1506)rand::random()from the prelude (#1506)random_iter,random_range,random_bool,random_ratio,fill(#1488)Rng::gen_iterasrandom_iter(#1305, #1500)Rng::gentorandomto avoid conflict with the newgenkeyword in Rust 2024 (#1438)Rng::gen_rangetorandom_range,gen_booltorandom_bool,gen_ratiotorandom_ratio(#1505)#[track_caller](#1442, #1447)API changes: RNGs
<SmallRng as SeedableRng>::Seedsize to 256 bits (#1455)rng) ofReseedingRng::new(#1533)API changes: Sequences
SliceRandomintoIndexedRandom,IndexedMutRandom,SliceRandom(#1382)IndexedRandom::choose_multiple_array,index::sample_array(#1453, #1469)API changes: Distributions: renames
rand::distributionstorand::distr(#1470)StandardtoStandardUniform(#1526)distr::Slice->distr::slice::Choose,distr::EmptySlice->distr::slice::Empty(#1548)distr::DistString->distr::SampleString(#1548)distr::DistIter->distr::Iter,distr::DistMap->distr::Map(#1548)API changes: Distributions
Sizedbound onDistribution<T> for &D(#1278)Distribution<Option<T>>forStandardUniform(#1526)StandardUniformsupport allNonZero*types (#1332){Uniform, UniformSampler}::{new, new_inclusive}return aResult(instead of potentially panicking) (#1229)UniformimplementsTryFrominstead ofFromfor ranges (#1229)UniformUsize(#1487)isizeandusizevalues withStandardUniform,Uniform(except viaUniformUsize) andFilland usage as aWeightedAliasIndexweight (#1487)DistStringfor distributionsSlice<char>andUniform<char>(#1315)Slice::num_choices(#1402)p()for distributionBernoullito access probability (#1481)API changes: Weighted distributions
pubmodulerand::distr::weighted, movingWeightedIndexthere (#1548)weighted::Weight, allowingWeightedIndexto trap overflow (#1353)weight, weights, total_weightto distributionWeightedIndex(#1420)WeightedErrortoweighted::Error, revising variants (#1382) and mark as#[non_exhaustive](#1480)API changes: SIMD
std::simd, expand SIMD & docs (#1239)Reproducibility-breaking changes
ReseedingRng::reseeddiscard remaining data from the last block generated (#1379)SmallRng::seed_from_u64implementation (#1203)UniformFloat::newsamples andUniformFloat::sample_singleto yieldhigh(#1462)Slice(#1469)Uniformforusizeportable viaUniformUsize(#1487)IndexdRandom::choose_multiple_weightedfor very small seeds and optimize for large input length / low memory (#1530)Reproducibility-breaking optimisations
sample_floyd, affecting output ofrand::seq::index::sampleandrand::seq::SliceRandom::choose_multiple(#1277)IteratorRandom::chooseandchoose_stable(#1268)SliceRandom::shuffleandpartial_shuffle(#1272)Uniform: use Canon's method (single sampling) / Lemire's method (distribution sampling) for faster sampling (breaks value stability; #1287)sample_single_inclusivefor floats (+~20% perf) (#1289)Other optimisations
SmallRnginitialization performance (#1482)Other
Cargo.lock.msrvfile (#1275)rustfmtand enforce (#1448)benchescrate (#1329, #1439) and migrate to Criterion (#1490)Documentation
ThreadRngrelated docs (#1257)--generate-link-to-definitionfeature (#1327)doc_auto_cfg(#1411, #1450)Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.