Skip to content

Update Rust crate rand to 0.9.1 #1705

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Update Rust crate rand to 0.9.1 #1705

wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Apr 10, 2025

This PR contains the following updates:

Package Type Update Change
rand (source) workspace.dependencies minor 0.8.5 -> 0.9.1

Release Notes

rust-random/rand (rand)

v0.9.1

Compare Source

Security and unsafe
  • Revise "not a crypto library" policy again (#​1565)
  • Remove zerocopy dependency from rand (#​1579)
Fixes
  • Fix feature simd_support for recent nightly rust (#​1586)
Changes
  • Allow fn rand::seq::index::sample_weighted and fn IndexedRandom::choose_multiple_weighted to return fewer than amount results (#​1623), reverting an undocumented change (#​1382) to the previous release.
Additions
  • Add rand::distr::Alphabetic distribution. (#​1587)
  • Re-export rand_core (#​1604)

v0.9.0

Compare Source

Security and unsafe
  • Policy: "rand is not a crypto library" (#​1514)
  • Remove fork-protection from ReseedingRng and ThreadRng. Instead, it is recommended to call ThreadRng::reseed on fork. (#​1379)
  • Use zerocopy to replace some unsafe code (#​1349, #​1393, #​1446, #​1502)
Dependencies
Features
  • Support std feature without getrandom or rand_chacha (#​1354)
  • Enable feature small_rng by default (#​1455)
  • Remove implicit feature rand_chacha; use std_rng instead. (#​1473)
  • Rename feature serde1 to serde (#​1477)
  • Rename feature getrandom to os_rng (#​1537)
  • Add feature thread_rng (#​1547)
API changes: rand_core traits
  • Add fn RngCore::read_adapter implementing std::io::Read (#​1267)
  • Add trait CryptoBlockRng: BlockRngCore; make trait CryptoRng: RngCore (#​1273)
  • Add traits TryRngCore, TryCryptoRng (#​1424, #​1499)
  • Rename fn SeedableRng::from_rng -> try_from_rng and add infallible variant fn from_rng (#​1424)
  • Rename fn SeedableRng::from_entropy -> from_os_rng and add fallible variant fn try_from_os_rng (#​1424)
  • Add bounds Clone and AsRef to associated type SeedableRng::Seed (#​1491)
API changes: Rng trait and top-level fns
  • Rename fn rand::thread_rng() to rand::rng() and remove from the prelude (#​1506)
  • Remove fn rand::random() from the prelude (#​1506)
  • Add top-level fns random_iter, random_range, random_bool, random_ratio, fill (#​1488)
  • Re-introduce fn Rng::gen_iter as random_iter (#​1305, #​1500)
  • Rename fn Rng::gen to random to avoid conflict with the new gen keyword in Rust 2024 (#​1438)
  • Rename fns Rng::gen_range to random_range, gen_bool to random_bool, gen_ratio to random_ratio (#​1505)
  • Annotate panicking methods with #[track_caller] (#​1442, #​1447)
API changes: RNGs
  • Fix <SmallRng as SeedableRng>::Seed size to 256 bits (#​1455)
  • Remove first parameter (rng) of ReseedingRng::new (#​1533)
API changes: Sequences
  • Split trait SliceRandom into IndexedRandom, IndexedMutRandom, SliceRandom (#​1382)
  • Add IndexedRandom::choose_multiple_array, index::sample_array (#​1453, #​1469)
API changes: Distributions: renames
  • Rename module rand::distributions to rand::distr (#​1470)
  • Rename distribution Standard to StandardUniform (#​1526)
  • Move distr::Slice -> distr::slice::Choose, distr::EmptySlice -> distr::slice::Empty (#​1548)
  • Rename trait distr::DistString -> distr::SampleString (#​1548)
  • Rename distr::DistIter -> distr::Iter, distr::DistMap -> distr::Map (#​1548)
API changes: Distributions
  • Relax Sized bound on Distribution<T> for &D (#​1278)
  • Remove impl of Distribution<Option<T>> for StandardUniform (#​1526)
  • Let distribution StandardUniform support all NonZero* types (#​1332)
  • Fns {Uniform, UniformSampler}::{new, new_inclusive} return a Result (instead of potentially panicking) (#​1229)
  • Distribution Uniform implements TryFrom instead of From for ranges (#​1229)
  • Add UniformUsize (#​1487)
  • Remove support for generating isize and usize values with StandardUniform, Uniform (except via UniformUsize) and Fill and usage as a WeightedAliasIndex weight (#​1487)
  • Add impl DistString for distributions Slice<char> and Uniform<char> (#​1315)
  • Add fn Slice::num_choices (#​1402)
  • Add fn p() for distribution Bernoulli to access probability (#​1481)
API changes: Weighted distributions
  • Add pub module rand::distr::weighted, moving WeightedIndex there (#​1548)
  • Add trait weighted::Weight, allowing WeightedIndex to trap overflow (#​1353)
  • Add fns weight, weights, total_weight to distribution WeightedIndex (#​1420)
  • Rename enum WeightedError to weighted::Error, revising variants (#​1382) and mark as #[non_exhaustive] (#​1480)
API changes: SIMD
  • Switch to std::simd, expand SIMD & docs (#​1239)
Reproducibility-breaking changes
  • Make ReseedingRng::reseed discard remaining data from the last block generated (#​1379)
  • Change fn SmallRng::seed_from_u64 implementation (#​1203)
  • Allow UniformFloat::new samples and UniformFloat::sample_single to yield high (#​1462)
  • Fix portability of distribution Slice (#​1469)
  • Make Uniform for usize portable via UniformUsize (#​1487)
  • Fix IndexdRandom::choose_multiple_weighted for very small seeds and optimize for large input length / low memory (#​1530)
Reproducibility-breaking optimisations
  • Optimize fn sample_floyd, affecting output of rand::seq::index::sample and rand::seq::SliceRandom::choose_multiple (#​1277)
  • New, faster algorithms for IteratorRandom::choose and choose_stable (#​1268)
  • New, faster algorithms for SliceRandom::shuffle and partial_shuffle (#​1272)
  • Optimize distribution Uniform: use Canon's method (single sampling) / Lemire's method (distribution sampling) for faster sampling (breaks value stability; #​1287)
  • Optimize fn sample_single_inclusive for floats (+~20% perf) (#​1289)
Other optimisations
  • Improve SmallRng initialization performance (#​1482)
  • Optimise SIMD widening multiply (#​1247)
Other
Documentation
  • Improve ThreadRng related docs (#​1257)
  • Docs: enable experimental --generate-link-to-definition feature (#​1327)
  • Better doc of crate features, use doc_auto_cfg (#​1411, #​1450)

Configuration

📅 Schedule: Branch creation - "after 8pm,before 6am" in timezone America/Los_Angeles, Automerge - "after 8pm,before 6am" in timezone America/Los_Angeles.

🚦 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the dependencies Pull requests that update a dependency file label Apr 10, 2025
Copy link
Contributor Author

renovate bot commented Apr 10, 2025

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --workspace
    Updating crates.io index
    Updating git repository `https://github.com/oxidecomputer/omicron`
From https://github.com/oxidecomputer/omicron
 * [new ref]             52d7df46c6df67cfcbbe9a7cb0a3ae1f72c8a3ae -> refs/commit/52d7df46c6df67cfcbbe9a7cb0a3ae1f72c8a3ae
    Updating git repository `https://github.com/oxidecomputer/openapi-lint`
From https://github.com/oxidecomputer/openapi-lint
 * [new ref]         ef442ee4343e97b6d9c217d3e7533962fe7d7236 -> refs/commit/ef442ee4343e97b6d9c217d3e7533962fe7d7236
    Updating git repository `https://github.com/oxidecomputer/maghemite`
From https://github.com/oxidecomputer/maghemite
 * [new ref]         caafd889f31faacfaa51e02902990c220c20ef60 -> refs/commit/caafd889f31faacfaa51e02902990c220c20ef60
    Updating git repository `http://github.com/oxidecomputer/serde_human_bytes`
warning: redirecting to https://github.com/oxidecomputer/serde_human_bytes/
From http://github.com/oxidecomputer/serde_human_bytes
 * [new ref]         0a09794501b6208120528c3b457d5f3a8cb17424 -> refs/commit/0a09794501b6208120528c3b457d5f3a8cb17424
    Updating git repository `https://github.com/oxidecomputer/slog-error-chain`
From https://github.com/oxidecomputer/slog-error-chain
 * [new ref]         15f69041f45774602108e47fb25e705dc23acfb2 -> refs/commit/15f69041f45774602108e47fb25e705dc23acfb2
    Updating git repository `https://github.com/oxidecomputer/tufaceous`
From https://github.com/oxidecomputer/tufaceous
 * [new ref]         d2387032714f66e31b7e255d89f9bf6eb9b3a010 -> refs/commit/d2387032714f66e31b7e255d89f9bf6eb9b3a010
    Updating git repository `https://github.com/oxidecomputer/propolis`
From https://github.com/oxidecomputer/propolis
 * [new ref]         6b5f2af796a3ea57405721407ab70520a93ec73f -> refs/commit/6b5f2af796a3ea57405721407ab70520a93ec73f
    Updating git repository `https://github.com/oxidecomputer/crucible`
From https://github.com/oxidecomputer/crucible
 * [new ref]         81a3528adacdbde18fcbf3938247fef17233db11 -> refs/commit/81a3528adacdbde18fcbf3938247fef17233db11
    Updating git repository `https://github.com/oxidecomputer/opte`
From https://github.com/oxidecomputer/opte
 * [new ref]         cd9aa6467c5e62c6d97f6aafa2150d6930e3a0fa -> refs/commit/cd9aa6467c5e62c6d97f6aafa2150d6930e3a0fa
    Updating git repository `https://github.com/oxidecomputer/management-gateway-service`
From https://github.com/oxidecomputer/management-gateway-service
 * [new ref]         9bbac475dcaac88286c07a20b6bd3e94fc81d7f0 -> refs/commit/9bbac475dcaac88286c07a20b6bd3e94fc81d7f0
    Updating git repository `https://github.com/oxidecomputer/poptrie`
From https://github.com/oxidecomputer/poptrie
 * [new ref]         ca52bef3f87ff1a67d81b3c6e601dcb5fdbcc165 -> refs/commit/ca52bef3f87ff1a67d81b3c6e601dcb5fdbcc165
    Updating git repository `https://github.com/oxidecomputer/netadm-sys`
From https://github.com/oxidecomputer/netadm-sys
 * [new ref]         f4eae3d8070760922da93b9edd56ca4103b4c390 -> refs/commit/f4eae3d8070760922da93b9edd56ca4103b4c390
    Updating git repository `https://github.com/oxidecomputer/ingot.git`
From https://github.com/oxidecomputer/ingot
 * [new ref]         bff93247fe75ff889121e39d494cc3805fc01906 -> refs/commit/bff93247fe75ff889121e39d494cc3805fc01906
    Updating git repository `https://github.com/oxidecomputer/dlpi-sys`
From https://github.com/oxidecomputer/dlpi-sys
 * [new ref]         1d587ea98cf2d36f1b1624b0b960559c76d475d2 -> refs/commit/1d587ea98cf2d36f1b1624b0b960559c76d475d2
    Updating git repository `https://github.com/jmesmon/rust-libzfs`
From https://github.com/jmesmon/rust-libzfs
 * [new ref]         ecd5a922247a6c5acef55d76c5b8d115572bc850 -> refs/commit/ecd5a922247a6c5acef55d76c5b8d115572bc850
    Updating git repository `https://github.com/oxidecomputer/rusty-doors`
From https://github.com/oxidecomputer/rusty-doors
 * [new ref]         0e3a1495dcf8b7b5e11a6921c2cf1cf957c5a5bf -> refs/commit/0e3a1495dcf8b7b5e11a6921c2cf1cf957c5a5bf
error: failed to select a version for `rand`.
    ... required by package `crucible v0.0.1 (/tmp/renovate/repos/github/oxidecomputer/crucible/upstairs)`
    ... which satisfies path dependency `crucible` (locked to 0.0.1) of package `cmon v0.1.0 (/tmp/renovate/repos/github/oxidecomputer/crucible/cmon)`
versions that meet the requirements `^0.9.1` are: 0.9.1

the package `crucible` depends on `rand`, with features: `min_const_gen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

@renovate renovate bot force-pushed the renovate/rand branch from 906d76c to 4f7a114 Compare April 18, 2025 07:11
@renovate renovate bot changed the title Update Rust crate rand to 0.9.0 Update Rust crate rand to 0.9.1 Apr 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants