chore(deps): update rust crate rand to 0.9.0
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
rand (source) | workspace.dependencies | minor |
0.8.5 -> 0.9.0
|
Release Notes
rust-random/rand (rand)
v0.9.0
Security and unsafe
- Policy: "rand is not a crypto library" (#1514)
- Remove fork-protection from
ReseedingRng
andThreadRng
. Instead, it is recommended to callThreadRng::reseed
on fork. (#1379) - Use
zerocopy
to replace someunsafe
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 withoutgetrandom
orrand_chacha
(#1354) - Enable feature
small_rng
by default (#1455) - Remove implicit feature
rand_chacha
; usestd_rng
instead. (#1473) - Rename feature
serde1
toserde
(#1477) - Rename feature
getrandom
toos_rng
(#1537) - Add feature
thread_rng
(#1547)
API changes: rand_core traits
- Add fn
RngCore::read_adapter
implementingstd::io::Read
(#1267) - Add trait
CryptoBlockRng: BlockRngCore
; maketrait CryptoRng: RngCore
(#1273) - Add traits
TryRngCore
,TryCryptoRng
(#1424, #1499) - Rename
fn SeedableRng::from_rng
->try_from_rng
and add infallible variantfn from_rng
(#1424) - Rename
fn SeedableRng::from_entropy
->from_os_rng
and add fallible variantfn try_from_os_rng
(#1424) - Add bounds
Clone
andAsRef
to associated typeSeedableRng::Seed
(#1491)
API changes: Rng trait and top-level fns
- Rename fn
rand::thread_rng()
torand::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
asrandom_iter
(#1305, #1500) - Rename fn
Rng::gen
torandom
to avoid conflict with the newgen
keyword in Rust 2024 (#1438) - Rename fns
Rng::gen_range
torandom_range
,gen_bool
torandom_bool
,gen_ratio
torandom_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
) ofReseedingRng::new
(#1533)
API changes: Sequences
- Split trait
SliceRandom
intoIndexedRandom
,IndexedMutRandom
,SliceRandom
(#1382) - Add
IndexedRandom::choose_multiple_array
,index::sample_array
(#1453, #1469)
API changes: Distributions: renames
- Rename module
rand::distributions
torand::distr
(#1470) - Rename distribution
Standard
toStandardUniform
(#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 onDistribution<T> for &D
(#1278) - Remove impl of
Distribution<Option<T>>
forStandardUniform
(#1526) - Let distribution
StandardUniform
support allNonZero*
types (#1332) - Fns
{Uniform, UniformSampler}::{new, new_inclusive}
return aResult
(instead of potentially panicking) (#1229) - Distribution
Uniform
implementsTryFrom
instead ofFrom
for ranges (#1229) - Add
UniformUsize
(#1487) - Remove support for generating
isize
andusize
values withStandardUniform
,Uniform
(except viaUniformUsize
) andFill
and usage as aWeightedAliasIndex
weight (#1487) - Add impl
DistString
for distributionsSlice<char>
andUniform<char>
(#1315) - Add fn
Slice::num_choices
(#1402) - Add fn
p()
for distributionBernoulli
to access probability (#1481)
API changes: Weighted distributions
- Add
pub
modulerand::distr::weighted
, movingWeightedIndex
there (#1548) - Add trait
weighted::Weight
, allowingWeightedIndex
to trap overflow (#1353) - Add fns
weight, weights, total_weight
to distributionWeightedIndex
(#1420) - Rename enum
WeightedError
toweighted::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 andUniformFloat::sample_single
to yieldhigh
(#1462) - Fix portability of distribution
Slice
(#1469) - Make
Uniform
forusize
portable viaUniformUsize
(#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 ofrand::seq::index::sample
andrand::seq::SliceRandom::choose_multiple
(#1277) - New, faster algorithms for
IteratorRandom::choose
andchoose_stable
(#1268) - New, faster algorithms for
SliceRandom::shuffle
andpartial_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
Other
- Add
Cargo.lock.msrv
file (#1275) - Reformat with
rustfmt
and enforce (#1448) - Apply Clippy suggestions and enforce (#1448, #1474)
- Move all benchmarks to new
benches
crate (#1329, #1439) and migrate to Criterion (#1490)
Documentation
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.
Merge request reports
Activity
Artifact update problemRenovate failed to update an artifact related to this branch. You probably do not want to merge this MR 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 MR'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 --package rand@0.8.5 --precise 0.9.0 Updating crates.io index error: failed to select a version for the requirement `rand = "^0.8.5"` candidate versions found which didn't match: 0.9.0 location searched: crates.io index required by package `pgp v0.15.0` ... which satisfies dependency `pgp = "^0.15"` (locked to 0.15.0) of package `nethsm v0.7.3 (/builds/archlinux/renovate/renovate/renovate/repos/gitlab/archlinux/signstar/nethsm)`
Edited by renovatementioned in issue #21
added 1 commit
- 80059bfe - chore(deps): update rust crate rand to 0.9.0
added 2 commits
added 2 commits
added 2 commits
added 2 commits
added 2 commits
added 2 commits
added 3 commits
-
40066c3d...264045aa - 2 commits from branch
main
- d9814240 - chore(deps): update rust crate rand to 0.9.0
-
40066c3d...264045aa - 2 commits from branch
added 3 commits
-
d9814240...f52204b7 - 2 commits from branch
main
- cca2a54a - chore(deps): update rust crate rand to 0.9.0
-
d9814240...f52204b7 - 2 commits from branch
added 2 commits
mentioned in issue #160
added 2 commits
added 2 commits
added 2 commits
added 2 commits
added 9 commits
-
327083ac...8aa10044 - 8 commits from branch
main
- 699777c4 - chore(deps): update rust crate rand to 0.9.0
-
327083ac...8aa10044 - 8 commits from branch
added 2 commits
added 3 commits
-
ccb8e244...07bb594b - 2 commits from branch
main
- 5bddfd12 - chore(deps): update rust crate rand to 0.9.0
-
ccb8e244...07bb594b - 2 commits from branch
added 3 commits
-
5bddfd12...a80418dd - 2 commits from branch
main
- 9efc9648 - chore(deps): update rust crate rand to 0.9.0
-
5bddfd12...a80418dd - 2 commits from branch
added 2 commits
added 2 commits