@@ -8,36 +8,61 @@ A [separate changelog is kept for rand_core](rand_core/CHANGELOG.md).
8
8
9
9
You may also find the [ Upgrade Guide] ( https://rust-random.github.io/book/update.html ) useful.
10
10
11
- ## [ Unreleased]
12
- ### Additions
13
- - impl PartialEq+Eq for StdRng, SmallRng, and StepRng (#975 )
14
- - Added a ` serde1 ` feature and added Serialize/Deserialize to ` UniformInt ` and ` WeightedIndex ` (#974 )
15
- - Document types supported by ` random ` (#994 )
16
- - Implement weighted sampling without replacement (#976 , #1013 )
17
- - Add ` IteratorRandom::choose_stable ` as an alternative to ` choose ` which does not depend on size hints (#1057 )
18
-
19
- ### Changes
20
- - ` getrandom ` updated to v0.2 (#1041 )
21
- - ` ThreadRng ` is no longer ` Copy ` to enable safe usage within thread-local destructors (see #968 )
22
- - ` gen_range(a, b) ` was replaced with ` gen_range(a..b) ` , and ` gen_range(a..=b) `
23
- is supported (#744 , #1003 ). Note that ` a ` and ` b ` can no longer be references or SIMD types.
24
- - Replace ` AsByteSliceMut ` with ` Fill ` (#940 )
25
- - Move alias method for ` WeightedIndex ` to ` rand_distr ` (#945 )
26
- - ` Alphanumeric ` samples bytes instead of chars (#935 )
11
+ ## [ 0.8.0] - 2020-12-18
12
+ ### Platform support
27
13
- The minimum supported Rust version is now 1.36 (#1011 )
28
- - Restrict ` rand::rngs::adapter ` to ` std ` (#1027 )
29
- - Better NaN handling for ` WeightedIndex ` (#1005 )
30
- - Implement ` IntoIterator ` for ` IndexVec ` , replacing the ` into_iter ` method (#1007 )
31
- - Reduce packaged crate size (#983 )
32
- - Drop some unsafe code (#962 , #963 , #1011 )
33
- - Improve treatment of rounding errors in ` WeightedIndex::update_weights ` (#956 )
34
- - ` StdRng ` : Switch from ChaCha20 to ChaCha12 for better performance (#1028 )
35
- - ` SmallRng ` : Replace PCG algorithm with xoshiro{128,256}++ (#1038 )
14
+ - ` getrandom ` updated to v0.2 (#1041 )
15
+ - Remove ` wasm-bindgen ` and ` stdweb ` feature flags. For details of WASM support,
16
+ see the [ getrandom documentation] ( https://docs.rs/getrandom/latest ) . (#948 )
17
+ - ` ReadRng::next_u32 ` and ` next_u64 ` now use little-Endian conversion instead
18
+ of native-Endian, affecting results on Big-Endian platforms (#1061 )
36
19
- The ` nightly ` feature no longer implies the ` simd_support ` feature (#1048 )
37
20
- Fix ` simd_support ` feature to work on current nightlies (#1056 )
21
+
22
+ ### Rngs
23
+ - ` ThreadRng ` is no longer ` Copy ` to enable safe usage within thread-local destructors (#1035 )
24
+ - ` gen_range(a, b) ` was replaced with ` gen_range(a..b) ` . ` gen_range(a..=b) ` is
25
+ also supported. Note that ` a ` and ` b ` can no longer be references or SIMD types. (#744 , #1003 )
26
+ - Replace ` AsByteSliceMut ` with ` Fill ` and add support for ` [bool], [char], [f32], [f64] ` (#940 )
27
+ - Restrict ` rand::rngs::adapter ` to ` std ` (#1027 ; see also #928 )
28
+ - ` StdRng ` : add new ` std_rng ` feature flag (enabled by default, but might need
29
+ to be used if disabling default crate features) (#948 )
30
+ - ` StdRng ` : Switch from ChaCha20 to ChaCha12 for better performance (#1028 )
31
+ - ` SmallRng ` : Replace PCG algorithm with xoshiro{128,256}++ (#1038 )
32
+
33
+ ### Sequences
34
+ - Add ` IteratorRandom::choose_stable ` as an alternative to ` choose ` which does
35
+ not depend on size hints (#1057 )
38
36
- Improve accuracy and performance of ` IteratorRandom::choose ` (#1059 )
39
- - ` ReadRng::next_u32 ` and ` next_u64 ` now use little-Endian conversion instead
40
- of native-Endian, affecting results on Big-Endian platforms (#1026 )
37
+ - Implement ` IntoIterator ` for ` IndexVec ` , replacing the ` into_iter ` method (#1007 )
38
+ - Add value stability tests for ` seq ` module (#933 )
39
+
40
+ ### Misc
41
+ - Support ` PartialEq ` and ` Eq ` for ` StdRng ` , ` SmallRng ` and ` StepRng ` (#979 )
42
+ - Added a ` serde1 ` feature and added Serialize/Deserialize to ` UniformInt ` and ` WeightedIndex ` (#974 )
43
+ - Drop some unsafe code (#962 , #963 , #1011 )
44
+ - Reduce packaged crate size (#983 )
45
+ - Migrate to GitHub Actions from Travis+AppVeyor (#1073 )
46
+
47
+ ### Distributions
48
+ - ` Alphanumeric ` samples bytes instead of chars (#935 )
49
+ - ` Uniform ` now supports ` char ` , enabling ` rng.gen_range('A'..='Z') ` (#1068 )
50
+ - Add ` UniformSampler::sample_single_inclusive ` (#1003 )
51
+
52
+ #### Weighted sampling
53
+ - Implement weighted sampling without replacement (#976 , #1013 )
54
+ - ` rand::distributions::alias_method::WeightedIndex ` was moved to ` rand_distr::WeightedAliasIndex ` .
55
+ The simpler alternative ` rand::distribution::WeightedIndex ` remains. (#945 )
56
+ - Improve treatment of rounding errors in ` WeightedIndex::update_weights ` (#956 )
57
+ - ` WeightedIndex ` : return error on NaN instead of panic (#1005 )
58
+
59
+ ### Documentation
60
+ - Document types supported by ` random ` (#994 )
61
+ - Document notes on password generation (#995 )
62
+ - Note that ` SmallRng ` may not be the best choice for performance and in some
63
+ other cases (#1038 )
64
+ - Use ` doc(cfg) ` to annotate feature-gated items (#1019 )
65
+ - Adjust README (#1065 )
41
66
42
67
## [ 0.7.3] - 2020-01-10
43
68
### Fixes
0 commit comments