Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github May 22, 2025

Bumps rand from 0.8.5 to 0.9.1.

Changelog

Sourced from rand's changelog.

[0.9.1] - 2025-04-17

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)

[0.9.0] - 2025-01-27

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

  • Bump the MSRV to 1.63.0 (#1207, #1246, #1269, #1341, #1416, #1536); note that 1.60.0 may work for dependents when using --ignore-rust-version
  • Update to rand_core v0.9.0 (#1558)

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)

... (truncated)

Commits
  • ec6d5c0 Prepare rand_core v0.9.1 (#1591)
  • 6a06056 rand_core: introduce an UnwrapMut wrapper (#1589)
  • 8929123 Add Alphabetic distribution (#1587)
  • 06b1642 Remove unnecessary underscore from `impl<T, const N: usize> Distribution<[T; ...
  • 49d76cd rename extract to extract_lane (#1586)
  • e0a70fd Change to use array::from_fn in Distribution\<[T; N]> for StandardUniform ...
  • 0bc3f65 Move rand distr (#1577)
  • 2677c49 Revise "not a crypto library" policy and SECURITY.md (#1565)
  • bfd1826 SeedableRng docs: add note on (lack of) reproducibility (#1572)
  • c01aee7 Fix some links (#1571)
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Summary by Sourcery

Chores:

  • Update Cargo.toml and Cargo.lock to use rand v0.9.1

Bumps [rand](https://github.com/rust-random/rand) from 0.8.5 to 0.9.1.
- [Release notes](https://github.com/rust-random/rand/releases)
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md)
- [Commits](rust-random/rand@0.8.5...rand_core-0.9.1)

---
updated-dependencies:
- dependency-name: rand
  dependency-version: 0.9.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot @github
Copy link
Contributor Author

dependabot bot commented on behalf of github May 22, 2025

Labels

The following labels could not be found: dependencies, rust. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@sourcery-ai
Copy link

sourcery-ai bot commented May 22, 2025

Reviewer's Guide

This PR upgrades the rand crate from v0.8.5 to v0.9.1 by updating the version in Cargo.toml and regenerating the lockfile to capture the new dependency graph.

Class Diagram: API Changes in 'rand' Crate (v0.8.5 to v0.9.1)

classDiagram
    direction LR

    class RngCore {
        <<Trait>>
        +next_u32() u32
        +next_u64() u64
        +fill_bytes(dest: &mut [u8])
        +try_fill_bytes(dest: &mut [u8]) Result~void, Error~
        +read_adapter() ReadAdapter
    }

    class Rng {
        <<Trait>>
        +random() T
        +random_range(T low, T high) T
        +random_bool(f64 p) bool
        +random_ratio(u32 n, u32 d) bool
    }
    Rng --|> RngCore

    class SeedableRng {
        <<Trait>>
        # Seed: AssociatedType
        +from_seed(seed: Self.Seed) Self
        +try_from_rng(rng: R) Result~Self, Error~
        +from_rng(rng: R) Self
        +from_os_rng() Self
        +try_from_os_rng() Result~Self, Error~
    }
    SeedableRng --|> RngCore

    class Alphabetic {
        <<New Distribution>>
        +sample(rng: &mut R) char
    }
    Alphabetic ..> Rng : uses

    class rand_module_API {
        <<Module API: rand>>
        +rng() ThreadRng
        +random_iter~T~() Iterator~T~
        +random_range~T~(T low, T high) T
        +random_bool(f64 p) bool
        +random_ratio(u32 n, u32 d) bool
        +fill(dest: &mut [u8])
    }
Loading

File-Level Changes

Change Details Files
Bump rand dependency version
  • Changed rand version specification from 0.8.5 to 0.9.1 in Cargo.toml
Cargo.toml
Regenerate lockfile
  • Updated Cargo.lock entries to reflect rand v0.9.1 and its updated transitive dependencies
Cargo.lock

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@larp0 larp0 merged commit 105c11f into master May 29, 2025
0 of 3 checks passed
@dependabot dependabot bot deleted the dependabot/cargo/rand-0.9.1 branch May 29, 2025 10:36
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.

2 participants