Skip to content

Commit d109f18

Browse files
committed
Update changelog for rand v0.8
1 parent f2ab650 commit d109f18

File tree

1 file changed

+50
-25
lines changed

1 file changed

+50
-25
lines changed

CHANGELOG.md

Lines changed: 50 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -9,35 +9,60 @@ A [separate changelog is kept for rand_core](rand_core/CHANGELOG.md).
99
You may also find the [Upgrade Guide](https://rust-random.github.io/book/update.html) useful.
1010

1111
## [0.8.0] - 2020-12-18
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)
12+
### Platform support
2713
- 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)
3619
- The `nightly` feature no longer implies the `simd_support` feature (#1048)
3720
- 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)
3836
- 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)
4166

4267
## [0.7.3] - 2020-01-10
4368
### Fixes

0 commit comments

Comments
 (0)