• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Changelog
2All notable changes to this project will be documented in this file.
3
4The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
7## [0.6.4] - 2022-09-15
8- Fix unsoundness in `<BlockRng64 as RngCore>::next_u32` (#1160)
9- Reduce use of `unsafe` and improve gen_bytes performance (#1180)
10- Add `CryptoRngCore` trait (#1187, #1230)
11
12## [0.6.3] - 2021-06-15
13### Changed
14- Improved bound for `serde` impls on `BlockRng` (#1130)
15- Minor doc additions (#1118)
16
17## [0.6.2] - 2021-02-12
18### Fixed
19- Fixed assertions in `le::read_u32_into` and `le::read_u64_into` which could
20  have allowed buffers not to be fully populated (#1096)
21
22## [0.6.1] - 2021-01-03
23### Fixed
24- Avoid panic when using `RngCore::seed_from_u64` with a seed which is not a
25  multiple of four (#1082)
26### Other
27- Enable all stable features in the playground (#1081)
28
29## [0.6.0] - 2020-12-08
30### Breaking changes
31- Bump MSRV to 1.36, various code improvements (#1011)
32- Update to getrandom v0.2 (#1041)
33- Fix: `next_u32_via_fill` and `next_u64_via_fill` now use LE as documented (#1061)
34
35### Other
36- Reduce usage of `unsafe` (#962, #963, #1011)
37- Annotate feature-gates in documentation (#1019)
38- Document available error codes (#1061)
39- Various documentation tweaks
40- Fix some clippy warnings (#1036)
41- Apply rustfmt (#926)
42
43## [0.5.1] - 2019-08-28
44- `OsRng` added to `rand_core` (#863)
45- `Error::INTERNAL_START` and `Error::CUSTOM_START` constants (#864)
46- `Error::raw_os_error` method (#864)
47- `Debug` and `Display` formatting for `getrandom` error codes without `std` (#864)
48### Changed
49- `alloc` feature in `no_std` is available since Rust 1.36 (#856)
50- Added `#[inline]` to `Error` conversion methods (#864)
51
52## [0.5.0] - 2019-06-06
53### Changed
54- Enable testing with Miri and fix incorrect pointer usages (#779, #780, #781, #783, #784)
55- Rewrite `Error` type and adjust API (#800)
56- Adjust usage of `#[inline]` for `BlockRng` and `BlockRng64`
57
58## [0.4.0] - 2019-01-24
59### Changed
60- Disable the `std` feature by default (#702)
61
62## [0.3.0] - 2018-09-24
63### Added
64- Add `SeedableRng::seed_from_u64` for convenient seeding. (#537)
65
66## [0.2.1] - 2018-06-08
67### Added
68- References to a `CryptoRng` now also implement `CryptoRng`. (#470)
69
70## [0.2.0] - 2018-05-21
71### Changed
72- Enable the `std` feature by default. (#409)
73- Remove `BlockRng{64}::inner` and `BlockRng::inner_mut`; instead making `core` public
74- Change `BlockRngCore::Results` bound to also require `AsMut<[Self::Item]>`. (#419)
75### Added
76- Add `BlockRng{64}::index` and `BlockRng{64}::generate_and_set`. (#374, #419)
77- Implement `std::io::Read` for RngCore. (#434)
78
79## [0.1.0] - 2018-04-17
80(Split out of the Rand crate, changes here are relative to rand 0.4.2.)
81### Added
82- `RngCore` and `SeedableRng` are now part of `rand_core`. (#288)
83- Add modules to help implementing RNGs `impl` and `le`. (#209, #228)
84- Add `Error` and `ErrorKind`. (#225)
85- Add `CryptoRng` marker trait. (#273)
86- Add `BlockRngCore` trait. (#281)
87- Add `BlockRng` and `BlockRng64` wrappers to help implementations. (#281, #325)
88- Add `RngCore::try_fill_bytes`. (#225)
89### Changed
90- Revise the `SeedableRng` trait. (#233)
91- Remove default implementations for `RngCore::next_u64` and `RngCore::fill_bytes`. (#288)
92
93## [0.0.1] - 2017-09-14 (yanked)
94Experimental version as part of the rand crate refactor.
95