@@ -11,26 +11,63 @@ You may also find the [Update Guide](UPDATING.md) useful.
11
11
12
12
## [ 0.6.0] - Unreleased
13
13
14
- ### Crate features and organisation
15
- - The ISAAC and Xorshift RNGs have been moved to their own crates: ` rand_isaac `
16
- and ` rand_xorshift ` . (#551 , #557 )
14
+ ### Project organisation
15
+ - Rand has moved from [ rust-lang-nursery] ( https://github.com/rust-lang-nursery/rand )
16
+ to [ rust-random] ( https://github.com/rust-random/rand ) ! (#578 )
17
+ - Update copyright and licence notices (#591 , #611 )
18
+ - Migrate policy documentation from the wiki (#544 )
19
+
20
+ ### Platforms
21
+ - Add fork protection on Unix (#466 )
22
+ - Added support for wasm-bindgen. (#541 , #559 , #562 , #600 )
23
+ - Enable ` OsRng ` for powerpc64, sparc and sparc64 (#609 )
24
+ - Use ` syscall ` from ` libc ` on Linux instead of redefining it (#629 )
25
+
26
+ ### RNGs
27
+ - Switch ` SmallRng ` to use PCG (#623 )
28
+ - Implement ` Pcg32 ` and ` Pcg64Mcg ` generators (#632 )
29
+ - Move ISAAC RNGs to a dedicated crate (#551 )
30
+ - Move Xorshift RNG to its own crate (#557 )
31
+ - Move ChaCha and HC128 RNGs to dedicated crates (#607 , #636 )
32
+ - Remove usage of ` Rc ` from ` ThreadRng ` (#615 )
33
+
34
+ ### Sampling and distributions
35
+ - Implement ` Rng.gen_ratio() ` and ` Bernoulli::new_ratio() ` (#491 )
36
+ - Make ` Uniform ` strictly respect ` f32 ` / ` f64 ` high/low bounds (#477 )
37
+ - Allow ` gen_range ` and ` Uniform ` to work on non-` Copy ` types (#506 )
17
38
- ` Uniform ` supports inclusive ranges: ` Uniform::from(a..=b) ` . This is
18
39
automatically enabled for Rust >= 1.27. (#566 )
19
- - Support for ` i128 ` and ` u128 ` is automatically enabled for Rust >= 1.26. This
20
- renders the ` i128_support ` feature obsolete. It still exists for backwards
21
- compatibility but does not have any effect. This breaks programs using Rand
22
- with ` i128_support ` on nightlies older than Rust 1.26. (#571 )
40
+ - Implement ` TrustedLen ` and ` FusedIterator ` for ` DistIter ` (#620 )
23
41
24
- ### New distributions
42
+ #### New distributions
43
+ - Add the ` Dirichlet ` distribution (#485 )
25
44
- Added sampling from the unit sphere and circle. (#567 )
45
+ - Implement the triangular distribution (#575 )
46
+ - Implement the Weibull distribution (#576 )
47
+ - Implement the Beta distribution (#574 )
48
+
49
+ #### Optimisations
26
50
27
- ### Sequences module
51
+ - Optimise ` Bernoulli::new ` (#500 )
52
+ - Optimise ` char ` sampling (#519 )
53
+ - Optimise sampling of ` std::time::Duration ` (#583 )
54
+
55
+ ### Sequences
56
+ - Redesign the ` seq ` module (#483 , #515 )
57
+ - Add ` WeightedIndex ` and ` choose_weighted ` (#518 , #547 )
28
58
- Optimised and changed return type of the ` sample_indices ` function. (#479 )
29
- - Added weighted sampling. ( # 518 )
59
+ - Use ` Iterator::size_hint() ` to speed up ` IteratorRandom::choose ` ( # 593 )
30
60
31
- ### Platform support
32
- - Added support for wasm-bindgen. (#541 )
33
- - Added basic SIMD support. (#523 )
61
+ ### SIMD
62
+ - Support for generating SIMD types (#523 , #542 , #561 , #630 )
63
+
64
+ ### Other
65
+ - Revise CI scripts (#632 , #635 )
66
+ - Remove functionality already deprecated in 0.5 (#499 )
67
+ - Support for ` i128 ` and ` u128 ` is automatically enabled for Rust >= 1.26. This
68
+ renders the ` i128_support ` feature obsolete. It still exists for backwards
69
+ compatibility but does not have any effect. This breaks programs using Rand
70
+ with ` i128_support ` on nightlies older than Rust 1.26. (#571 )
34
71
35
72
36
73
## [ 0.5.5] - 2018-08-07
0 commit comments