|
1 | 1 | # Changelog |
2 | 2 | All notable changes to this project will be documented in this file. |
3 | 3 |
|
4 | | -The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) |
| 4 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) |
5 | 5 | and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
6 | 6 |
|
7 | | -## Unreleased |
| 7 | +## [0.10.0] - Unreleased |
8 | 8 | ### API changes |
9 | | -- Relax `Sized` bound on impls of `SeedableRng` (#1641) |
10 | | -- Move `rand_core::impls::*` to `rand_core::le` module (#1667) |
11 | | -- Use Edition 2024 and MSRV 1.85 (#1668) |
12 | | -- Remove fn `TryRngCore::read_adapter(..) -> RngReadAdapter` (replaced with `rand::RngReader`) (#1669) |
13 | | -- Remove feature `os_rng`, structs `OsRng` and `OsError` and fns `from_os_rng`, `try_from_os_rng` (#1674) |
14 | | -- Remove feature `std` (#1674) |
15 | | -- Removed dependency `getrandom` (#1674) |
16 | | - |
17 | | -## [0.9.3] — 2025-02-29 |
| 9 | +- Relax `Sized` bound on impls of `SeedableRng` ([#1641]) |
| 10 | +- Move `rand_core::impls::*` to `rand_core::le` module ([#1667]) |
| 11 | +- Use Edition 2024 and MSRV 1.85 ([#1668]) |
| 12 | +- Remove fn `TryRngCore::read_adapter(..) -> RngReadAdapter` (replaced with `rand::RngReader`) ([#1669]) |
| 13 | +- Remove feature `os_rng`, structs `OsRng` and `OsError` and fns `from_os_rng`, `try_from_os_rng` ([#1674]) |
| 14 | +- Remove feature `std` ([#1674]) |
| 15 | +- Removed dependency `getrandom` ([#1674]) |
18 | 16 | ### Other |
19 | | -- Remove `zerocopy` dependency (#1607) |
20 | | -- Deprecate `rand_core::impls::fill_via_u32_chunks`, `fill_via_u64_chunks` (#1607) |
| 17 | +- Changed repository from [rust-random/rand] to [rust-random/core]. |
| 18 | + |
| 19 | +[0.10.0]: https://github.com/rust-random/core/compare/v0.9.3...HEAD |
| 20 | + |
| 21 | +[#1641]: https://github.com/rust-random/rand/pull/1641 |
| 22 | +[#1667]: https://github.com/rust-random/rand/pull/1667 |
| 23 | +[#1668]: https://github.com/rust-random/rand/pull/1668 |
| 24 | +[#1669]: https://github.com/rust-random/rand/pull/1669 |
| 25 | +[#1674]: https://github.com/rust-random/rand/pull/1674 |
| 26 | + |
| 27 | +[rust-random/rand]: https://github.com/rust-random/rand |
| 28 | +[rust-random/core]: https://github.com/rust-random/core |
| 29 | + |
| 30 | +## [0.9.3] - 2025-02-29 |
| 31 | +### Other |
| 32 | +- Remove `zerocopy` dependency ([#1607]) |
| 33 | +- Deprecate `rand_core::impls::fill_via_u32_chunks`, `fill_via_u64_chunks` ([#1607]) |
| 34 | + |
| 35 | +[0.9.3]: https://github.com/rust-random/core/compare/v0.9.2...v0.9.3 |
| 36 | + |
| 37 | +[#1607]: https://github.com/rust-random/rand/pull/1607 |
21 | 38 |
|
22 | 39 | ## [0.9.2] - 2025-02-22 |
23 | 40 | ### API changes |
24 | | -- Relax `Sized` bound on impls of `TryRngCore`, `TryCryptoRng` and `UnwrapMut` (#1593) |
25 | | -- Add `UnwrapMut::re` to reborrow the inner rng with a tighter lifetime (#1595) |
| 41 | +- Relax `Sized` bound on impls of `TryRngCore`, `TryCryptoRng` and `UnwrapMut` ([#1593]) |
| 42 | +- Add `UnwrapMut::re` to reborrow the inner rng with a tighter lifetime ([#1595]) |
| 43 | + |
| 44 | +[0.9.2]: https://github.com/rust-random/core/compare/v0.9.1...v0.9.2 |
| 45 | + |
| 46 | +[#1593]: https://github.com/rust-random/rand/pull/1593 |
| 47 | +[#1595]: https://github.com/rust-random/rand/pull/1595 |
26 | 48 |
|
27 | 49 | ## [0.9.1] - 2025-02-16 |
28 | 50 | ### API changes |
29 | | -- Add `TryRngCore::unwrap_mut`, providing an impl of `RngCore` over `&mut rng` (#1589) |
| 51 | +- Add `TryRngCore::unwrap_mut`, providing an impl of `RngCore` over `&mut rng` ([#1589]) |
| 52 | + |
| 53 | +[0.9.1]: https://github.com/rust-random/core/compare/v0.9.0...v0.9.1 |
| 54 | + |
| 55 | +[#1589]: https://github.com/rust-random/rand/pull/1589 |
30 | 56 |
|
31 | 57 | ## [0.9.0] - 2025-01-27 |
32 | 58 | ### Dependencies and features |
33 | | -- 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` |
34 | | -- Update to `getrandom` v0.3.0 (#1558) |
35 | | -- Use `zerocopy` to replace some `unsafe` code (#1349, #1393, #1446, #1502) |
36 | | -- Rename feature `serde1` to `serde` (#1477) |
37 | | -- Rename feature `getrandom` to `os_rng` (#1537) |
| 59 | +- Bump the MSRV to 1.63.0 ([#1536]); note that 1.60.0 may work for dependents when using `--ignore-rust-version` |
| 60 | +- Update to `getrandom` v0.3.0 ([#1558]) |
| 61 | +- Use `zerocopy` to replace some `unsafe` code ([#1349], [#1393], [#1446], [#1502]) |
| 62 | +- Rename feature `serde1` to `serde` ([#1477]) |
| 63 | +- Rename feature `getrandom` to `os_rng` ([#1537]) |
38 | 64 |
|
39 | 65 | ### API changes |
40 | | -- Allow `rand_core::impls::fill_via_u*_chunks` to mutate source (#1182) |
41 | | -- Add fn `RngCore::read_adapter` implementing `std::io::Read` (#1267) |
42 | | -- Add trait `CryptoBlockRng: BlockRngCore`; make `trait CryptoRng: RngCore` replacing `CryptoRngCore` (#1273) |
43 | | -- Add traits `TryRngCore`, `TryCryptoRng` (#1424, #1499) |
44 | | -- Rename `fn SeedableRng::from_rng` -> `try_from_rng` and add infallible variant `fn from_rng` (#1424) |
45 | | -- Rename `fn SeedableRng::from_entropy` -> `from_os_rng` and add fallible variant `fn try_from_os_rng` (#1424) |
46 | | -- Add bounds `Clone` and `AsRef` to associated type `SeedableRng::Seed` (#1491) |
| 66 | +- Allow `rand_core::impls::fill_via_u*_chunks` to mutate source ([#1182]) |
| 67 | +- Add fn `RngCore::read_adapter` implementing `std::io::Read` ([#1267]) |
| 68 | +- Add trait `CryptoBlockRng: BlockRngCore`; make `trait CryptoRng: RngCore` replacing `CryptoRngCore` ([#1273]) |
| 69 | +- Add traits `TryRngCore`, `TryCryptoRng` ([#1424], [#1499]) |
| 70 | +- Rename `fn SeedableRng::from_rng` -> `try_from_rng` and add infallible variant `fn from_rng` ([#1424]) |
| 71 | +- Rename `fn SeedableRng::from_entropy` -> `from_os_rng` and add fallible variant `fn try_from_os_rng` ([#1424]) |
| 72 | +- Add bounds `Clone` and `AsRef` to associated type `SeedableRng::Seed` ([#1491]) |
| 73 | + |
| 74 | +[0.9.0]: https://github.com/rust-random/core/compare/v0.6.4...v0.9.0 |
| 75 | + |
| 76 | +[#1182]: https://github.com/rust-random/rand/pull/1182 |
| 77 | +[#1267]: https://github.com/rust-random/rand/pull/1267 |
| 78 | +[#1273]: https://github.com/rust-random/rand/pull/1273 |
| 79 | +[#1349]: https://github.com/rust-random/rand/pull/1349 |
| 80 | +[#1393]: https://github.com/rust-random/rand/pull/1393 |
| 81 | +[#1424]: https://github.com/rust-random/rand/pull/1424 |
| 82 | +[#1446]: https://github.com/rust-random/rand/pull/1446 |
| 83 | +[#1477]: https://github.com/rust-random/rand/pull/1477 |
| 84 | +[#1491]: https://github.com/rust-random/rand/pull/1491 |
| 85 | +[#1499]: https://github.com/rust-random/rand/pull/1499 |
| 86 | +[#1502]: https://github.com/rust-random/rand/pull/1502 |
| 87 | +[#1536]: https://github.com/rust-random/rand/pull/1536 |
| 88 | +[#1537]: https://github.com/rust-random/rand/pull/1537 |
| 89 | +[#1558]: https://github.com/rust-random/rand/pull/1558 |
47 | 90 |
|
48 | 91 | ## [0.6.4] - 2022-09-15 |
49 | | -- Fix unsoundness in `<BlockRng64 as RngCore>::next_u32` (#1160) |
50 | | -- Reduce use of `unsafe` and improve gen_bytes performance (#1180) |
51 | | -- Add `CryptoRngCore` trait (#1187, #1230) |
| 92 | +- Fix unsoundness in `<BlockRng64 as RngCore>::next_u32` ([#1160]) |
| 93 | +- Reduce use of `unsafe` and improve gen_bytes performance ([#1180]) |
| 94 | +- Add `CryptoRngCore` trait ([#1187], [#1230]) |
| 95 | + |
| 96 | +[0.6.4]: https://github.com/rust-random/core/compare/v0.6.3...v0.6.4 |
| 97 | + |
| 98 | +[#1160]: https://github.com/rust-random/rand/pull/1160 |
| 99 | +[#1180]: https://github.com/rust-random/rand/pull/1180 |
| 100 | +[#1187]: https://github.com/rust-random/rand/pull/1187 |
| 101 | +[#1230]: https://github.com/rust-random/rand/pull/1230 |
52 | 102 |
|
53 | 103 | ## [0.6.3] - 2021-06-15 |
54 | 104 | ### Changed |
55 | | -- Improved bound for `serde` impls on `BlockRng` (#1130) |
56 | | -- Minor doc additions (#1118) |
| 105 | +- Improved bound for `serde` impls on `BlockRng` ([#1130]) |
| 106 | +- Minor doc additions ([#1118]) |
| 107 | + |
| 108 | +[0.6.3]: https://github.com/rust-random/core/compare/v0.6.2...v0.6.3 |
| 109 | + |
| 110 | +[#1118]: https://github.com/rust-random/rand/pull/1118 |
| 111 | +[#1130]: https://github.com/rust-random/rand/pull/1130 |
57 | 112 |
|
58 | 113 | ## [0.6.2] - 2021-02-12 |
59 | 114 | ### Fixed |
60 | 115 | - Fixed assertions in `le::read_u32_into` and `le::read_u64_into` which could |
61 | | - have allowed buffers not to be fully populated (#1096) |
| 116 | + have allowed buffers not to be fully populated ([#1096]) |
| 117 | + |
| 118 | +[0.6.2]: https://github.com/rust-random/core/compare/v0.6.1...v0.6.2 |
| 119 | + |
| 120 | +[#1096]: https://github.com/rust-random/rand/pull/1096 |
62 | 121 |
|
63 | 122 | ## [0.6.1] - 2021-01-03 |
64 | 123 | ### Fixed |
65 | 124 | - Avoid panic when using `RngCore::seed_from_u64` with a seed which is not a |
66 | | - multiple of four (#1082) |
| 125 | + multiple of four ([#1082]) |
67 | 126 | ### Other |
68 | | -- Enable all stable features in the playground (#1081) |
| 127 | +- Enable all stable features in the playground ([#1081]) |
| 128 | + |
| 129 | +[0.6.1]: https://github.com/rust-random/core/compare/v0.6.0...v0.6.1 |
| 130 | + |
| 131 | +[#1081]: https://github.com/rust-random/rand/pull/1081 |
| 132 | +[#1082]: https://github.com/rust-random/rand/pull/1082 |
69 | 133 |
|
70 | 134 | ## [0.6.0] - 2020-12-08 |
71 | 135 | ### Breaking changes |
72 | | -- Bump MSRV to 1.36, various code improvements (#1011) |
73 | | -- Update to getrandom v0.2 (#1041) |
74 | | -- Fix: `next_u32_via_fill` and `next_u64_via_fill` now use LE as documented (#1061) |
| 136 | +- Bump MSRV to 1.36, various code improvements ([#1011]) |
| 137 | +- Update to getrandom v0.2 ([#1041]) |
| 138 | +- Fix: `next_u32_via_fill` and `next_u64_via_fill` now use LE as documented ([#1061]) |
75 | 139 |
|
76 | 140 | ### Other |
77 | | -- Reduce usage of `unsafe` (#962, #963, #1011) |
78 | | -- Annotate feature-gates in documentation (#1019) |
79 | | -- Document available error codes (#1061) |
| 141 | +- Reduce usage of `unsafe` ([#962], [#963], [#1011]) |
| 142 | +- Annotate feature-gates in documentation ([#1019]) |
| 143 | +- Document available error codes ([#1061]) |
80 | 144 | - Various documentation tweaks |
81 | | -- Fix some clippy warnings (#1036) |
82 | | -- Apply rustfmt (#926) |
| 145 | +- Fix some clippy warnings ([#1036]) |
| 146 | +- Apply rustfmt ([#926]) |
| 147 | + |
| 148 | +[0.6.0]: https://github.com/rust-random/core/compare/v0.5.1...v0.6.0 |
| 149 | + |
| 150 | +[#926]: https://github.com/rust-random/rand/pull/926 |
| 151 | +[#962]: https://github.com/rust-random/rand/pull/962 |
| 152 | +[#963]: https://github.com/rust-random/rand/pull/963 |
| 153 | +[#1011]: https://github.com/rust-random/rand/pull/1011 |
| 154 | +[#1019]: https://github.com/rust-random/rand/pull/1019 |
| 155 | +[#1036]: https://github.com/rust-random/rand/pull/1036 |
| 156 | +[#1041]: https://github.com/rust-random/rand/pull/1041 |
| 157 | +[#1061]: https://github.com/rust-random/rand/pull/1061 |
83 | 158 |
|
84 | 159 | ## [0.5.1] - 2019-08-28 |
85 | | -- `OsRng` added to `rand_core` (#863) |
86 | | -- `Error::INTERNAL_START` and `Error::CUSTOM_START` constants (#864) |
87 | | -- `Error::raw_os_error` method (#864) |
88 | | -- `Debug` and `Display` formatting for `getrandom` error codes without `std` (#864) |
| 160 | +- `OsRng` added to `rand_core` ([#863]) |
| 161 | +- `Error::INTERNAL_START` and `Error::CUSTOM_START` constants ([#864]) |
| 162 | +- `Error::raw_os_error` method ([#864]) |
| 163 | +- `Debug` and `Display` formatting for `getrandom` error codes without `std` ([#864]) |
89 | 164 | ### Changed |
90 | | -- `alloc` feature in `no_std` is available since Rust 1.36 (#856) |
91 | | -- Added `#[inline]` to `Error` conversion methods (#864) |
| 165 | +- `alloc` feature in `no_std` is available since Rust 1.36 ([#856]) |
| 166 | +- Added `#[inline]` to `Error` conversion methods ([#864]) |
| 167 | + |
| 168 | +[0.5.1]: https://github.com/rust-random/core/compare/v0.5.0...v0.5.1 |
| 169 | + |
| 170 | +[#863]: https://github.com/rust-random/rand/pull/863 |
| 171 | +[#864]: https://github.com/rust-random/rand/pull/864 |
| 172 | +[#856]: https://github.com/rust-random/rand/pull/856 |
| 173 | +[#864]: https://github.com/rust-random/rand/pull/864 |
92 | 174 |
|
93 | 175 | ## [0.5.0] - 2019-06-06 |
94 | 176 | ### Changed |
95 | | -- Enable testing with Miri and fix incorrect pointer usages (#779, #780, #781, #783, #784) |
96 | | -- Rewrite `Error` type and adjust API (#800) |
| 177 | +- Enable testing with Miri and fix incorrect pointer usages ([#779], [#780], [#781], [#783], [#784]) |
| 178 | +- Rewrite `Error` type and adjust API ([#800]) |
97 | 179 | - Adjust usage of `#[inline]` for `BlockRng` and `BlockRng64` |
98 | 180 |
|
| 181 | +[0.5.0]: https://github.com/rust-random/core/compare/v0.4.0...v0.5.0 |
| 182 | + |
| 183 | +[#779]: https://github.com/rust-random/rand/pull/779 |
| 184 | +[#780]: https://github.com/rust-random/rand/pull/780 |
| 185 | +[#781]: https://github.com/rust-random/rand/pull/781 |
| 186 | +[#783]: https://github.com/rust-random/rand/pull/783 |
| 187 | +[#784]: https://github.com/rust-random/rand/pull/784 |
| 188 | +[#800]: https://github.com/rust-random/rand/pull/800 |
| 189 | + |
99 | 190 | ## [0.4.0] - 2019-01-24 |
100 | 191 | ### Changed |
101 | | -- Disable the `std` feature by default (#702) |
| 192 | +- Disable the `std` feature by default ([#702]) |
| 193 | + |
| 194 | +[0.4.0]: https://github.com/rust-random/core/compare/v0.3.0...v0.4.0 |
| 195 | + |
| 196 | +[#702]: https://github.com/rust-random/rand/pull/702 |
102 | 197 |
|
103 | 198 | ## [0.3.0] - 2018-09-24 |
104 | 199 | ### Added |
105 | | -- Add `SeedableRng::seed_from_u64` for convenient seeding. (#537) |
| 200 | +- Add `SeedableRng::seed_from_u64` for convenient seeding. ([#537]) |
| 201 | + |
| 202 | +[0.3.0]: https://github.com/rust-random/core/compare/v0.2.1...v0.3.0 |
| 203 | + |
| 204 | +[#537]: https://github.com/rust-random/rand/pull/537 |
106 | 205 |
|
107 | 206 | ## [0.2.1] - 2018-06-08 |
108 | 207 | ### Added |
109 | | -- References to a `CryptoRng` now also implement `CryptoRng`. (#470) |
| 208 | +- References to a `CryptoRng` now also implement `CryptoRng`. ([#470]) |
| 209 | + |
| 210 | +[0.2.1]: https://github.com/rust-random/core/compare/v0.2.0...v0.2.1 |
| 211 | + |
| 212 | +[#470]: https://github.com/rust-random/rand/pull/470 |
110 | 213 |
|
111 | 214 | ## [0.2.0] - 2018-05-21 |
112 | 215 | ### Changed |
113 | | -- Enable the `std` feature by default. (#409) |
| 216 | +- Enable the `std` feature by default. ([#409]) |
114 | 217 | - Remove `BlockRng{64}::inner` and `BlockRng::inner_mut`; instead making `core` public |
115 | | -- Change `BlockRngCore::Results` bound to also require `AsMut<[Self::Item]>`. (#419) |
| 218 | +- Change `BlockRngCore::Results` bound to also require `AsMut<[Self::Item]>`. ([#419]) |
116 | 219 | ### Added |
117 | | -- Add `BlockRng{64}::index` and `BlockRng{64}::generate_and_set`. (#374, #419) |
118 | | -- Implement `std::io::Read` for RngCore. (#434) |
| 220 | +- Add `BlockRng{64}::index` and `BlockRng{64}::generate_and_set`. ([#374], [#419]) |
| 221 | +- Implement `std::io::Read` for RngCore. ([#434]) |
| 222 | + |
| 223 | +[0.2.0]: https://github.com/rust-random/core/compare/v0.1.0...v0.2.0 |
| 224 | + |
| 225 | +[#374]: https://github.com/rust-random/rand/pull/374 |
| 226 | +[#409]: https://github.com/rust-random/rand/pull/409 |
| 227 | +[#419]: https://github.com/rust-random/rand/pull/419 |
| 228 | +[#434]: https://github.com/rust-random/rand/pull/434 |
119 | 229 |
|
120 | 230 | ## [0.1.0] - 2018-04-17 |
121 | 231 | (Split out of the Rand crate, changes here are relative to rand 0.4.2.) |
122 | 232 | ### Added |
123 | | -- `RngCore` and `SeedableRng` are now part of `rand_core`. (#288) |
124 | | -- Add modules to help implementing RNGs `impl` and `le`. (#209, #228) |
125 | | -- Add `Error` and `ErrorKind`. (#225) |
126 | | -- Add `CryptoRng` marker trait. (#273) |
127 | | -- Add `BlockRngCore` trait. (#281) |
128 | | -- Add `BlockRng` and `BlockRng64` wrappers to help implementations. (#281, #325) |
129 | | -- Add `RngCore::try_fill_bytes`. (#225) |
| 233 | +- `RngCore` and `SeedableRng` are now part of `rand_core`. ([#288]) |
| 234 | +- Add modules to help implementing RNGs `impl` and `le`. ([#209], [#228]) |
| 235 | +- Add `Error` and `ErrorKind`. ([#225]) |
| 236 | +- Add `CryptoRng` marker trait. ([#273]) |
| 237 | +- Add `BlockRngCore` trait. ([#281]) |
| 238 | +- Add `BlockRng` and `BlockRng64` wrappers to help implementations. ([#281], [#325]) |
| 239 | +- Add `RngCore::try_fill_bytes`. ([#225]) |
130 | 240 | ### Changed |
131 | | -- Revise the `SeedableRng` trait. (#233) |
132 | | -- Remove default implementations for `RngCore::next_u64` and `RngCore::fill_bytes`. (#288) |
133 | | - |
134 | | -## [0.0.1] - 2017-09-14 (yanked) |
135 | | -Experimental version as part of the rand crate refactor. |
| 241 | +- Revise the `SeedableRng` trait. ([#233]) |
| 242 | +- Remove default implementations for `RngCore::next_u64` and `RngCore::fill_bytes`. ([#288]) |
| 243 | + |
| 244 | +[0.1.0]: https://github.com/rust-random/core/compare/v0.0.0...v0.1.0 |
| 245 | + |
| 246 | +[#209]: https://github.com/rust-random/rand/pull/209 |
| 247 | +[#225]: https://github.com/rust-random/rand/pull/225 |
| 248 | +[#228]: https://github.com/rust-random/rand/pull/228 |
| 249 | +[#233]: https://github.com/rust-random/rand/pull/233 |
| 250 | +[#273]: https://github.com/rust-random/rand/pull/273 |
| 251 | +[#281]: https://github.com/rust-random/rand/pull/281 |
| 252 | +[#288]: https://github.com/rust-random/rand/pull/288 |
| 253 | +[#325]: https://github.com/rust-random/rand/pull/325 |
0 commit comments