Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
122 changes: 61 additions & 61 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,71 +5,71 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.10.0] - Unreleased
### API changes
- `RngCore` and `TryRngCore` are renamed to `Rng` and `TryRng` respectively ([#54])
- Relax `Sized` bound on impls of `SeedableRng` ([rand#1641])
- Move `rand_core::impls::*` to `rand_core::le` module ([rand#1667])
- Use Edition 2024 and MSRV 1.85 ([rand#1668])
- Remove fn `TryRng::read_adapter(..) -> RngReadAdapter` (replaced with `rand::RngReader`) ([rand#1669])
- Remove feature `os_rng`, structs `OsRng` and `OsError` and fns `from_os_rng`, `try_from_os_rng` ([rand#1674])
- Remove feature `std` ([rand#1674])
- Removed dependency `getrandom` ([rand#1674])
- Removed optional dependency `serde` ([#28])
- Add `SeedableRng::fork` methods ([#17])
- Rename trait `block::BlockRngCore` to `block::Generator` and associated type `Results` to `Output`; remove assoc. `type Item` and remove type bounds ([#26])
- Add `fn drop` to trait `block::Generator` ([#35])
- Remove `BlockRng64` ([#34])
- Remove impl of `Rng` for `BlockRng`, making the latter more generic ([#34])
- Add trait `le::Word` ([#34])
- Add fn `BlockRng::reconstruct` and fn `BlockRng::remaining_results` ([#36])
- Move `le::{Word, next_u64_via_u32}` to new `utils` module; remove `le` ([#38])
- Replace `le::fill_bytes_via_next` with `utils::fill_bytes_via_next_word` ([#38])
- Replace `le::next_u32_via_fill` and `le::next_u64_via_fill` with `utils::next_word_via_fill` ([#38])
- Replace `le::read_u32_into` and `le::read_u64_into` with `utils::read_words` ([#38])
- Replace fn `BlockRng::index` with `word_offset` ([#44])
- Rename fn `BlockRng::generate_and_set` -> `reset_and_skip`; remove fn `reset` ([#44])
- `Rng` is now an extension trait of `TryRng<Error = Infallible>` ([#45])
- Remove `UnwrapMut` and fns `unwrap_mut`, `unwrap_err`, retaining `UnwrapErr` ([#45], [#53])
- Add error handling to `utils` functions over `TryRng` or via closure ([#45])

### Added
- `SeedableRng::{fork, try_fork}` methods ([#17])
- `BlockRng::reconstruct` and `BlockRng::remaining_results` methods ([#36])
- Re-export of `core::convert::Infallible` ([#56])
- `block::Generator::drop` method ([#35])
- `BlockRng::word_offset` method ([#44])

### Changed
- `TryRng::Error` is bound on `core::error::Error` instead of `Debug + Display` ([#58])

### Other
- Changed repository from [rust-random/rand] to [rust-random/core].

[0.10.0]: https://github.com/rust-random/core/compare/v0.9.3...HEAD
- Edition changed to 2024 and MSRV bumped to 1.85 ([rand#1668])
- `RngCore` and `TryRngCore` are renamed to `Rng` and `TryRng` respectively ([#54])
- `Rng` is now an extension trait of `TryRng<Error = Infallible>` ([#45])
- Relax `Sized` bound on impls of `SeedableRng` ([rand#1641])
- `TryRng::Error` is bound on `core::error::Error` instead of `Debug + Display` ([#58])
- Replaced `le` helper functions with new `utils` helpers ([rand#1667], [#34], [#38], [#45])
- Rename `BlockRng::generate_and_set` method to `reset_and_skip` ([#44])
- Rename `block::BlockRngCore` trait to `block::Generator` ([#26])
- Rename `BlockRngCore::Results` associated type to `Output` and remove type bounds on it ([#26])
- Repository from [rust-random/rand] to [rust-random/rand_core]

### Removed
- `TryRng::read_adapter` method (replaced with `rand::RngReader`) ([rand#1669])
- `os_rng` crate feature ([rand#1674])
- `OsRng` and `OsError` structs ([rand#1674])
- `SeedableRng::from_os_rng` and `SeedableRng::try_from_os_rng` methods ([rand#1674])
- `getrandom` dependency ([rand#1674])
- `std` crate feature ([rand#1674])
- Optional `serde` dependency ([#28])
- `UnwrapMut` struct and `Rng::unwrap_mut` method ([#45])
- `Rng::unwrap_err` method in favor of explicit wrapping in `UnwrapErr` ([#53])
- Implementation of `Rng` for `BlockRng`, making the latter more generic ([#34])
- `BlockRng64` struct ([#34])
- `BlockRng::reset` method ([#44])
- `BlockRng::index` method (replaced with `BlockRng::word_offset`) ([#44])
- `Generator::Item` associated type ([#26])

[0.10.0]: https://github.com/rust-random/rand_core/compare/v0.9.3...HEAD

[rand#1641]: https://github.com/rust-random/rand/pull/1641
[rand#1667]: https://github.com/rust-random/rand/pull/1667
[rand#1668]: https://github.com/rust-random/rand/pull/1668
[rand#1669]: https://github.com/rust-random/rand/pull/1669
[rand#1674]: https://github.com/rust-random/rand/pull/1674
[#17]: https://github.com/rust-random/rand-core/pull/17
[#26]: https://github.com/rust-random/rand-core/pull/28
[#28]: https://github.com/rust-random/rand-core/pull/28
[#34]: https://github.com/rust-random/rand-core/pull/34
[#35]: https://github.com/rust-random/rand-core/pull/35
[#36]: https://github.com/rust-random/rand-core/pull/36
[#38]: https://github.com/rust-random/rand-core/pull/38
[#44]: https://github.com/rust-random/rand-core/pull/44
[#45]: https://github.com/rust-random/rand-core/pull/45
[#53]: https://github.com/rust-random/rand-core/pull/53
[#56]: https://github.com/rust-random/rand-core/pull/56
[#58]: https://github.com/rust-random/rand-core/pull/58
[#17]: https://github.com/rust-random/rand_core/pull/17
[#26]: https://github.com/rust-random/rand_core/pull/28
[#28]: https://github.com/rust-random/rand_core/pull/28
[#34]: https://github.com/rust-random/rand_core/pull/34
[#35]: https://github.com/rust-random/rand_core/pull/35
[#36]: https://github.com/rust-random/rand_core/pull/36
[#38]: https://github.com/rust-random/rand_core/pull/38
[#44]: https://github.com/rust-random/rand_core/pull/44
[#45]: https://github.com/rust-random/rand_core/pull/45
[#53]: https://github.com/rust-random/rand_core/pull/53
[#56]: https://github.com/rust-random/rand_core/pull/56
[#58]: https://github.com/rust-random/rand_core/pull/58

[rust-random/rand]: https://github.com/rust-random/rand
[rust-random/core]: https://github.com/rust-random/core
[rust-random/rand_core]: https://github.com/rust-random/rand_core

## [0.9.3] - 2025-02-29
### Other
- Remove `zerocopy` dependency ([rand#1607])
- Deprecate `rand_core::impls::fill_via_u32_chunks`, `fill_via_u64_chunks` ([rand#1607])

[0.9.3]: https://github.com/rust-random/core/compare/v0.9.2...v0.9.3
[0.9.3]: https://github.com/rust-random/rand_core/compare/v0.9.2...v0.9.3

[rand#1607]: https://github.com/rust-random/rand/pull/1607

Expand All @@ -78,7 +78,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Relax `Sized` bound on impls of `TryRngCore`, `TryCryptoRng` and `UnwrapMut` ([rand#1593])
- Add `UnwrapMut::re` to reborrow the inner rng with a tighter lifetime ([rand#1595])

[0.9.2]: https://github.com/rust-random/core/compare/v0.9.1...v0.9.2
[0.9.2]: https://github.com/rust-random/rand_core/compare/v0.9.1...v0.9.2

[rand#1593]: https://github.com/rust-random/rand/pull/1593
[rand#1595]: https://github.com/rust-random/rand/pull/1595
Expand All @@ -87,7 +87,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### API changes
- Add `TryRngCore::unwrap_mut`, providing an impl of `RngCore` over `&mut rng` ([rand#1589])

[0.9.1]: https://github.com/rust-random/core/compare/v0.9.0...v0.9.1
[0.9.1]: https://github.com/rust-random/rand_core/compare/v0.9.0...v0.9.1

[rand#1589]: https://github.com/rust-random/rand/pull/1589

Expand All @@ -108,7 +108,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Rename `fn SeedableRng::from_entropy` -> `from_os_rng` and add fallible variant `fn try_from_os_rng` ([rand#1424])
- Add bounds `Clone` and `AsRef` to associated type `SeedableRng::Seed` ([rand#1491])

[0.9.0]: https://github.com/rust-random/core/compare/v0.6.4...v0.9.0
[0.9.0]: https://github.com/rust-random/rand_core/compare/v0.6.4...v0.9.0

[rand#1182]: https://github.com/rust-random/rand/pull/1182
[rand#1267]: https://github.com/rust-random/rand/pull/1267
Expand All @@ -130,7 +130,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Reduce use of `unsafe` and improve gen_bytes performance ([rand#1180])
- Add `CryptoRngCore` trait ([rand#1187], [rand#1230])

[0.6.4]: https://github.com/rust-random/core/compare/v0.6.3...v0.6.4
[0.6.4]: https://github.com/rust-random/rand_core/compare/v0.6.3...v0.6.4

[rand#1160]: https://github.com/rust-random/rand/pull/1160
[rand#1180]: https://github.com/rust-random/rand/pull/1180
Expand All @@ -142,7 +142,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Improved bound for `serde` impls on `BlockRng` ([rand#1130])
- Minor doc additions ([rand#1118])

[0.6.3]: https://github.com/rust-random/core/compare/v0.6.2...v0.6.3
[0.6.3]: https://github.com/rust-random/rand_core/compare/v0.6.2...v0.6.3

[rand#1118]: https://github.com/rust-random/rand/pull/1118
[rand#1130]: https://github.com/rust-random/rand/pull/1130
Expand All @@ -152,7 +152,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Fixed assertions in `le::read_u32_into` and `le::read_u64_into` which could
have allowed buffers not to be fully populated ([rand#1096])

[0.6.2]: https://github.com/rust-random/core/compare/v0.6.1...v0.6.2
[0.6.2]: https://github.com/rust-random/rand_core/compare/v0.6.1...v0.6.2

[rand#1096]: https://github.com/rust-random/rand/pull/1096

Expand All @@ -163,7 +163,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Other
- Enable all stable features in the playground ([rand#1081])

[0.6.1]: https://github.com/rust-random/core/compare/v0.6.0...v0.6.1
[0.6.1]: https://github.com/rust-random/rand_core/compare/v0.6.0...v0.6.1

[rand#1081]: https://github.com/rust-random/rand/pull/1081
[rand#1082]: https://github.com/rust-random/rand/pull/1082
Expand All @@ -182,7 +182,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Fix some clippy warnings ([rand#1036])
- Apply rustfmt ([rand#926])

[0.6.0]: https://github.com/rust-random/core/compare/v0.5.1...v0.6.0
[0.6.0]: https://github.com/rust-random/rand_core/compare/v0.5.1...v0.6.0

[rand#926]: https://github.com/rust-random/rand/pull/926
[rand#962]: https://github.com/rust-random/rand/pull/962
Expand All @@ -202,7 +202,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- `alloc` feature in `no_std` is available since Rust 1.36 ([rand#856])
- Added `#[inline]` to `Error` conversion methods ([rand#864])

[0.5.1]: https://github.com/rust-random/core/compare/v0.5.0...v0.5.1
[0.5.1]: https://github.com/rust-random/rand_core/compare/v0.5.0...v0.5.1

[rand#863]: https://github.com/rust-random/rand/pull/863
[rand#864]: https://github.com/rust-random/rand/pull/864
Expand All @@ -215,7 +215,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Rewrite `Error` type and adjust API ([rand#800])
- Adjust usage of `#[inline]` for `BlockRng` and `BlockRng64`

[0.5.0]: https://github.com/rust-random/core/compare/v0.4.0...v0.5.0
[0.5.0]: https://github.com/rust-random/rand_core/compare/v0.4.0...v0.5.0

[rand#779]: https://github.com/rust-random/rand/pull/779
[rand#780]: https://github.com/rust-random/rand/pull/780
Expand All @@ -228,23 +228,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed
- Disable the `std` feature by default ([rand#702])

[0.4.0]: https://github.com/rust-random/core/compare/v0.3.0...v0.4.0
[0.4.0]: https://github.com/rust-random/rand_core/compare/v0.3.0...v0.4.0

[rand#702]: https://github.com/rust-random/rand/pull/702

## [0.3.0] - 2018-09-24
### Added
- Add `SeedableRng::seed_from_u64` for convenient seeding. ([rand#537])

[0.3.0]: https://github.com/rust-random/core/compare/v0.2.1...v0.3.0
[0.3.0]: https://github.com/rust-random/rand_core/compare/v0.2.1...v0.3.0

[rand#537]: https://github.com/rust-random/rand/pull/537

## [0.2.1] - 2018-06-08
### Added
- References to a `CryptoRng` now also implement `CryptoRng`. ([rand#470])

[0.2.1]: https://github.com/rust-random/core/compare/v0.2.0...v0.2.1
[0.2.1]: https://github.com/rust-random/rand_core/compare/v0.2.0...v0.2.1

[rand#470]: https://github.com/rust-random/rand/pull/470

Expand All @@ -257,7 +257,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Add `BlockRng{64}::index` and `BlockRng{64}::generate_and_set`. ([rand#374], [rand#419])
- Implement `std::io::Read` for RngCore. ([rand#434])

[0.2.0]: https://github.com/rust-random/core/compare/v0.1.0...v0.2.0
[0.2.0]: https://github.com/rust-random/rand_core/compare/v0.1.0...v0.2.0

[rand#374]: https://github.com/rust-random/rand/pull/374
[rand#409]: https://github.com/rust-random/rand/pull/409
Expand All @@ -278,7 +278,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Revise the `SeedableRng` trait. ([rand#233])
- Remove default implementations for `RngCore::next_u64` and `RngCore::fill_bytes`. ([rand#288])

[0.1.0]: https://github.com/rust-random/core/compare/v0.0.0...v0.1.0
[0.1.0]: https://github.com/rust-random/rand_core/compare/v0.0.0...v0.1.0

[rand#209]: https://github.com/rust-random/rand/pull/209
[rand#225]: https://github.com/rust-random/rand/pull/225
Expand Down