To follow up on the release strategy in #205 , here is a rough plan for Rand 0.5:
Related issues which need solving:
There are some extra changes which should be relatively easy to add after the above:
Desired additions:
Finally, a list of other planned changes, which probably won't make 0.5:
Replace gen_ascii_chars with Alphanumeric distribution: Add Alphanumeric distribution #279
Revise character distributions (more classes, possible renaming): likely not desired
Add SeedableRng::from_hashable: Seeding PRNGs (traits and bit size) dhardy/rand#18 , SeedableRng::Seed and from_hashable dhardy/rand#62
Change the RNG used by StdRng: Replace ISAAC with HC-128 dhardy/rand#53
Change the RNG used by weak_rng: Requirements for a small fast RNG dhardy/rand#60 , Shootout: small, fast PRNGs dhardy/rand#52
Publish one or more PRNG algorithm crates and remove XorShiftRng, IsaacRng, ChaChaRng, etc. from rand (don't export): To provide (or not) specific PRNGs? dhardy/rand#58
Revise WeightedChoice & sequences code: Sequence sampling: seq, WeightedChoice dhardy/rand#82
Fork protection: WIPEONFORK [Linux] dhardy/rand#59
Revise other Rng methods: gen_iter, gen_weighted_bool, gen_ascii_chars, choose, shuffle: Revise Rng methods #293 , Deprecate gen_iter and add iteration examples #286 , Add Alphanumeric distribution #279
To follow up on the release strategy in #205, here is a rough plan for Rand 0.5:
Hc128RngAdd HC-128 #210SeedableRng::from_rngto replaceRandimpls on PRNGs; updateseedtype Port new SeedableRng trait #233IndependentSample→Distributionand removeSampleReplace distribution::Sample with Distribution + polymorphism over Rng #256RandwithUniformdistribution Replace distribution::Sample with Distribution + polymorphism over Rng #256RngtoRng: RngCoreRngCore and extension trait Rng #265Rngetc. to newrand-corecrate [requiresSampleRng;MoveAdd rand-core sub-crate and update version numbers #288]Rngto rand-core crate? #264AddHalfOpen01distributionRelated issues which need solving:
try_fill_bytes: Renametry_fillorfill_bytes? dhardy/rand#27Uniform; Distributions: Uniform, Uniform01, Open01, etc. dhardy/rand#81Rand: Fate of theRandtrait dhardy/rand#83rand-coremembers inrand? dhardy/rand#15Distribution::sampleprototype to use Distribution sample prototype and sized-ness ofRng#287RngCoremethods?There are some extra changes which should be relatively easy to add after the above:
Rangecode Port new Range implementation and only have one uniform float distribution #274CryptoRng: RngCoreextension trait Small changes from experimental branch #273thread_rng()toHC-128? Replace ISAAC with HC-128 dhardy/rand#53New iterator codeRng::iter #275 rejected; Deprecate gen_iter and add iteration examples #286 mergedDesired additions:
Bernoullidistribution andgen_boolthen deprecategen_weighted_bool(see ReviseRngmethods #293)Finally, a list of other planned changes, which probably won't make 0.5:
gen_ascii_charswithAlphanumericdistribution: Add Alphanumeric distribution #279SeedableRng::from_hashable: Seeding PRNGs (traits and bit size) dhardy/rand#18, SeedableRng::Seed and from_hashable dhardy/rand#62StdRng: Replace ISAAC with HC-128 dhardy/rand#53weak_rng: Requirements for a small fast RNG dhardy/rand#60, Shootout: small, fast PRNGs dhardy/rand#52XorShiftRng,IsaacRng,ChaChaRng, etc. fromrand(don't export): To provide (or not) specific PRNGs? dhardy/rand#58WeightedChoice& sequences code: Sequence sampling:seq,WeightedChoicedhardy/rand#82Rngmethods #293, Deprecate gen_iter and add iteration examples #286, Add Alphanumeric distribution #279