Lines Matching +full:versions +full:- +full:compatibility
3 …](https://…
5 [](https://rust-random.github.io/book/)
6 [](https://rust-random.github.io/rand/ran…
8 …sion](https://img.shields.io/badge/rustc-1.36+-lightgray.svg)](https://github.com/rust-random/rand…
12 - Easy random value generation and usage via the [`Rng`](https://docs.rs/rand/*/rand/trait.Rng.ht…
15 - Secure seeding via the [`getrandom` crate](https://crates.io/crates/getrandom)
17 - A modular design built over [`rand_core`](https://crates.io/crates/rand_core)
18 ([see the book](https://rust-random.github.io/book/crates.html))
19 - Fast implementations of the best-in-class [cryptographic](https://rust-random.github.io/book/gu…
20 …[non-cryptographic](https://rust-random.github.io/book/guide-rngs.html#basic-pseudo-random-number-…
21 - A flexible [`distributions`](https://docs.rs/rand/*/rand/distributions/index.html) module
22 - Samplers for a large number of random number distributions via our own
25 - [Portably reproducible output](https://rust-random.github.io/book/portability.html)
26 - `#[no_std]` compatibility (partial)
27 - *Many* performance optimisations
31 - Small. Most low-level crates are small, but the higher-level `rand` and
33 - Simple (implementation). We have a strong focus on correctness, speed and flexibility, but
34 not simplicity. If you prefer a small-and-simple library, there are
37 - Slow. We take performance seriously, with considerations also for set-up
38 time of new distributions, commonly-used parameters, and parameters of the
43 - [The Rust Rand Book](https://rust-random.github.io/book)
44 - [API reference (master branch)](https://rust-random.github.io/rand)
45 - [API reference (docs.rs)](https://docs.rs/rand)
57 To get started using Rand, see [The Book](https://rust-random.github.io/book).
60 ## Versions section in Rand
63 which minimise breakage) but not yet at 1.0. We maintain compatibility with
64 pinned versions of the Rust compiler (see below).
66 Current Rand versions are:
68 - Version 0.7 was released in June 2019, moving most non-uniform distributions
71 - Version 0.8 was released in December 2020 with many small changes.
76 reading the [Upgrade Guide](https://rust-random.github.io/book/update.html).
83 Rand libs have inter-dependencies and make use of the
84 [semver trick](https://github.com/dtolnay/semver-trick/) in order to make traits
85 compatible across crate versions. (This is especially important for `RngCore`
86 and `SeedableRng`.) A few crate releases are thus compatibility shims,
87 depending on the *next* lib version (e.g. `rand_core` versions `0.2.2` and
92 ### Yanked versions
94 Some versions of Rand crates have been yanked ("unreleased"). Where this occurs,
101 Rand 0.7 requires Rustc 1.32 or greater while versions 0.5 require Rustc 1.22 or
103 greater. Subsets of the Rand code may work with older Rust versions, but this is
114 - `std` enables functionality dependent on the `std` lib
115 - `alloc` (implied by `std`) enables functionality requiring an allocator
116 - `getrandom` (implied by `std`) is an optional dependency providing the code
118 - `std_rng` enables inclusion of `StdRng`, `thread_rng` and `random`
123 - `log` enables logging via the `log` crate
127 - `small_rng` enables inclusion of the `SmallRng` PRNG
128 - `nightly` enables some optimizations requiring nightly Rust
129 - `simd_support` (experimental) enables sampling of SIMD values
131 - `min_const_gen` enables generating random arrays of
132 any size using min-const-generics, requiring Rust ≥ 1.51.
135 compiler versions will be compatible. This is especially true of Rand's
139 `default-features = false`). In this case, `OsRng` and `from_entropy` are
146 The WASM target `wasm32-unknown-unknown` is not *automatically* supported by
148 `wasm32-wasi` or add a direct dependency on `getrandom` with the `js` feature
150 [getrandom#WebAssembly support](https://docs.rs/getrandom/latest/getrandom/#webassembly-support).
157 See [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT), and