Prepare v0.10.1: deprecate feature log#1763
Merged
Merged
Conversation
dhardy
force-pushed
the
push-qmwpoxslllum
branch
from
April 9, 2026 16:12
6096153 to
b407df4
Compare
newpavlov
approved these changes
Apr 10, 2026
dhardy
force-pushed
the
push-qmwpoxslllum
branch
from
April 11, 2026 10:13
51e3c5a to
605731b
Compare
This was referenced Apr 11, 2026
Closed
Closed
Closed
This was referenced Apr 11, 2026
This was referenced Apr 11, 2026
kodiakhq Bot
pushed a commit
to pdylanross/fatigue
that referenced
this pull request
Jun 25, 2026
Bumps rand from 0.9.4 to 0.10.1. Changelog Sourced from rand's changelog. [0.10.1] — 2026-02-11 This release includes a fix for a soundness bug; see #1763. Changes Document panic behavior of make_rng and add #[track_caller] (#1761) Deprecate feature log (#1763) #1761: rust-random/rand#1761 #1763: rust-random/rand#1763 [0.10.0] - 2026-02-08 Changes The dependency on rand_chacha has been replaced with a dependency on chacha20. This changes the implementation behind StdRng, but the output remains the same. There may be some API breakage when using the ChaCha-types directly as these are now the ones in chacha20 instead of rand_chacha (#1642). Rename fns IndexedRandom::choose_multiple -> sample, choose_multiple_array -> sample_array, choose_multiple_weighted -> sample_weighted, struct SliceChooseIter -> IndexedSamples and fns IteratorRandom::choose_multiple -> sample, choose_multiple_fill -> sample_fill (#1632) Use Edition 2024 and MSRV 1.85 (#1653) Let Fill be implemented for element types, not sliceable types (#1652) Fix OsError::raw_os_error on UEFI targets by returning Option<usize> (#1665) Replace fn TryRngCore::read_adapter(..) -> RngReadAdapter with simpler struct RngReader (#1669) Remove fns SeedableRng::from_os_rng, try_from_os_rng (#1674) Remove Clone support for StdRng, ReseedingRng (#1677) Use postcard instead of bincode to test the serde feature (#1693) Avoid excessive allocation in IteratorRandom::sample when amount is much larger than iterator size (#1695) Rename os_rng -> sys_rng, OsRng -> SysRng, OsError -> SysError (#1697) Rename Rng -> RngExt as upstream rand_core has renamed RngCore -> Rng (#1717) Additions Add fns IndexedRandom::choose_iter, choose_weighted_iter (#1632) Pub export Xoshiro128PlusPlus, Xoshiro256PlusPlus prngs (#1649) Pub export ChaCha8Rng, ChaCha12Rng, ChaCha20Rng behind chacha feature (#1659) Fn rand::make_rng() -> R where R: SeedableRng (#1734) Removals Removed ReseedingRng (#1722) Removed unused feature "nightly" (#1732) Removed feature small_rng (#1732) #1632: rust-random/rand#1632 #1642: rust-random/rand#1642 #1649: rust-random/rand#1649 #1652: rust-random/rand#1652 #1653: rust-random/rand#1653 #1659: rust-random/rand#1659 #1665: rust-random/rand#1665 #1669: rust-random/rand#1669 #1674: rust-random/rand#1674 #1677: rust-random/rand#1677 #1693: rust-random/rand#1693 #1695: rust-random/rand#1695 #1697: rust-random/rand#1697 ... (truncated) Commits 27ff4cb Prepare v0.10.1: deprecate feature log (#1763) 98d0638 make_rng: document panic and add #[track_caller] (#1761) 54e5eaa Fix doc error (#1758) 1ce4c08 Bump itoa from 1.0.17 to 1.0.18 in the all-deps group (#1756) ccb734b docs: fix typo in doc comment (#1754) 357eb7d Bump libc from 0.2.182 to 0.2.183 in the all-deps group (#1753) 5e77fe5 Fix trait references in documentation (#1752) da89185 Bump the all-deps group with 3 updates (#1751) 50516ff Bump the all-deps group with 2 updates (#1749) fd71de9 Bump the all-deps group with 2 updates (#1747) Additional commits viewable in compare view
This was referenced Jun 26, 2026
This was referenced Jul 2, 2026
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CHANGELOG.mdentrySummary
Deprecates the
logfeature and removes thelogdependency.Motivation
It has been reported (by @lopopolo) that the
randlibrary is unsound (i.e. that safe code using the public API can cause Undefined Behaviour) when all the following conditions are met:logandthread_rngfeatures are enabledrand::rng()(previouslyrand::thread_rng()) and calls anyTryRng(previouslyRngCore) methods onThreadRngThreadRng(attempts to) reseed while called from the custom logger (this happens every 64 kB of generated data)getrandomcrate) is unable to provide a new seedTryRng(previouslyRngCore) methods forThreadRnguseunsafecode to cast*mut BlockRng<ReseedingCore>to&mut BlockRng<ReseedingCore>. When all the above conditions are met this results in an aliased mutable reference, violating the Stacked Borrows rules. Miri is able to detect this violation in sample code. Since construction of aliased mutable references is Undefined Behaviour, the behaviour of optimized builds is hard to predict.Affected versions of
randare>= 0.7, < 0.9.3and0.10.0.