NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #6 most downloaded on crates.io
Random number generators and other randomness functionality.
Last release 9 days ago
20 Sep 2026
Ships fairly regularly
a new release about every 2 months
Nearly every release is documented
notes for 58 of the last 60 stable releases
2 versions withdrawn
withdrawn after publishing
12 years old
94 releases · first in 2015
Use correct syscall number for PowerPC ([#589])
### Changed - Use winapi on Windows - Update for Fuchsia OS - Remove dev-dependency on log
winapi on WindowslogOne column per quarter.
### Added - no_std support
no_std supportsample function deprecated (replaced by sample_iter)
JitterRng added as a high-quality alternative entropy source using the system timerseq module with sample_iter, sample_slice, etc.thread_rng uses JitterRng if seeding from system time fails (slower but more secure than previous method)sample function deprecated (replaced by sample_iter)Nothing published for this version
Code replaced with a compatibility layer over rand 0.4.
Code replaced with a compatibility layer over rand 0.4.
Nothing published for this version
Update fuchsia-zircon dependency to 0.3.2
logfuchsia-zircon dependency to 0.3.2Require log <= 0.3.8 for dev builds
log <= 0.3.8 for dev buildsfuchsia-zircon dependency to 0.3thread_rng is seeded from the system time if OsRng fails
thread_rng is seeded from the system time if OsRng failsweak_rng now uses thread_rng internallyFuchsia: Magenta was renamed Zircon
Implement Debug for mote non-public types
Rand for (i|u)i128RtlGenRandom instead of CryptGenRandomAdd Rng trait method choose_mut
Rng trait method choose_mutarc4rand for OsRng on FreeBSD.arc4random(3) for OsRng on OpenBSD.OsRng::fill_bytes on WindowsInline definitions from winapi/advapi32, which decreases build times
Compatible with Rust 1.7.0-nightly (needed some extra type annotations)
Replaced the methods in next_f32 and next_f64 with the technique described Saito & Matsumoto at MCQMC'08. The new method should exhibit a slightly mor
next_f32 and next_f64 with the technique described
Saito & Matsumoto at MCQMC'08. The new method should exhibit a slightly more
uniform distribution.rand::sampleImplement Rand for arrays with n <= 32
Rand for arrays with n <= 32Allow Rng to be ?Sized, impl for &mut R and Box where R: ?Sized + Rng
Rng to be ?Sized, impl for &mut R and Box<R> where R: ?Sized + RngUse winapi for Windows API things
winapi for Windows API thingsgetrandom syscall number for aarch64-unknown-linux-gnuFix race condition of atomics in is_getrandom_available
log is a dev dependencyis_getrandom_available### Fixed - Derive Copy/Clone changes
### Changed - Move to stable Rust!
### Fixed - Compatible with Rust master
### Added - Implement Clone for Weighted ### Fixed - Compatible with Rust master
Weighted### Fixed - Fix compile on Windows
Nothing published for this version
### Fixed - Fix compile on Windows
Update to use log version 0.3.x
### Fixed - Compatible with Rust master - Fixed iOS compilation
Compatible with Rust master (move from old_io to std::io)
old_io to std::io)Compatible with Rust master (use wrapping ops)
Removed Copy implementations from RNGs
Imported functionality from std::rand, including:
std::rand, including:
StdRng, SeedableRng, TreadRng, weak_rng()ReaderRng: A wrapper around any Reader to treat it as an RNG.std::randstd::randMigrate to a cargo-compatible directory structure.
gen_weighted_bool(1)Your coding agent can read these notes before it upgrades. Set up the MCP server →