chore(deps): update rust crate rand_core to 0.10 - #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: Needs human review Unable to check for correctness in f4d43a4. Unresolved review comments identify a build-breaking issue: rand_core 0.10 doesn't exist on crates.io, and versions 0.9+ have incompatible API changes that would prevent the Rust SDK from compiling. Human review needed to resolve the dependency conflict. No code changes detected at You can customize Macroscope's approvability policy. Learn more. |
f4d43a4 to
ac26190
Compare
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.
This PR contains the following updates:
0.6→0.10Release Notes
rust-random/rand_core (rand_core)
v0.10.1Compare Source
Fixed
randcrate inTryRngdocs (#75)v0.10.0This release makes a number of significant changes which we hope will be the
last significant breakage before 1.0. Code has moved from the rust-random/rand
repository to its own rust-random/rand_core.
User-facing API changes
Changed
RngCoreandTryRngCoreare renamed toRngandTryRngrespectively (#54)Rngis now an extension trait ofTryRng<Error = Infallible>(#45)TryRng::Erroris bound oncore::error::Errorinstead ofDebug + Display(#58)Sizedbound on impls ofSeedableRng(rand#1641)Added
SeedableRng::{fork, try_fork}methods (#17)core::convert::Infallible(#56)Removed
TryRng::read_adaptermethod (replaced withrand::RngReader) (rand#1669)os_rngcrate feature (rand#1674)OsRngandOsErrorstructs (rand#1674)SeedableRng::from_os_rngandSeedableRng::try_from_os_rngmethods (rand#1674)getrandomdependency (rand#1674)stdcrate feature (rand#1674)serdedependency (#28)UnwrapMutstruct andRng::unwrap_mutmethod (#45)Rng::unwrap_errmethod in favor of explicit wrapping inUnwrapErr(#53)API changes to PRNG implementation helpers
Added
BlockRng::reconstructandBlockRng::remaining_resultsmethods (#36)block::Generator::dropmethod (#35)BlockRng::word_offsetmethod (#44)Changed
lehelper functions with newutilshelpers (rand#1667, #34, #38, #45)BlockRng::generate_and_setmethod toreset_and_skip(#44)block::BlockRngCoretrait toblock::Generator(#26)BlockRngCore::Resultsassociated type toOutputand remove type bounds on it (#26)Removed
RngforBlockRng, making the latter more generic (#34)BlockRng64struct (#34)BlockRng::resetmethod (#44)BlockRng::indexmethod (replaced withBlockRng::word_offset) (#44)Generator::Itemassociated type (#26)CryptoBlockRng(#69)v0.9.4Compare Source
v0.9.3Compare Source
This release makes a number of significant changes which we hope will be the
last significant breakage before 1.0. Code has moved from the rust-random/rand
repository to its own rust-random/rand_core.
User-facing API changes
Changed
RngCoreandTryRngCoreare renamed toRngandTryRngrespectively (#54)Rngis now an extension trait ofTryRng<Error = Infallible>(#45)TryRng::Erroris bound oncore::error::Errorinstead ofDebug + Display(#58)Sizedbound on impls ofSeedableRng(rand#1641)Added
SeedableRng::{fork, try_fork}methods (#17)core::convert::Infallible(#56)Removed
TryRng::read_adaptermethod (replaced withrand::RngReader) (rand#1669)os_rngcrate feature (rand#1674)OsRngandOsErrorstructs (rand#1674)SeedableRng::from_os_rngandSeedableRng::try_from_os_rngmethods (rand#1674)getrandomdependency (rand#1674)stdcrate feature (rand#1674)serdedependency (#28)UnwrapMutstruct andRng::unwrap_mutmethod (#45)Rng::unwrap_errmethod in favor of explicit wrapping inUnwrapErr(#53)API changes to PRNG implementation helpers
Added
BlockRng::reconstructandBlockRng::remaining_resultsmethods (#36)block::Generator::dropmethod (#35)BlockRng::word_offsetmethod (#44)Changed
lehelper functions with newutilshelpers (rand#1667, #34, #38, #45)BlockRng::generate_and_setmethod toreset_and_skip(#44)block::BlockRngCoretrait toblock::Generator(#26)BlockRngCore::Resultsassociated type toOutputand remove type bounds on it (#26)Removed
RngforBlockRng, making the latter more generic (#34)BlockRng64struct (#34)BlockRng::resetmethod (#44)BlockRng::indexmethod (replaced withBlockRng::word_offset) (#44)Generator::Itemassociated type (#26)CryptoBlockRng(#69)v0.9.2Compare Source
Other
zerocopydependency (rand#1607)rand_core::impls::fill_via_u32_chunks,fill_via_u64_chunks(rand#1607)v0.9.1Compare Source
API changes
Sizedbound on impls ofTryRngCore,TryCryptoRngandUnwrapMut(rand#1593)UnwrapMut::reto reborrow the inner rng with a tighter lifetime (rand#1595)v0.9.0Compare Source
API changes
TryRngCore::unwrap_mut, providing an impl ofRngCoreover&mut rng(rand#1589)Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, 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.
Note
Update
rand_coredependency to 0.10 in the Rust SDKBumps
rand_corein Cargo.toml from 0.6 to 0.10.Macroscope summarized 00f55a3.