Skip to content

Tracker: 0.6 release #520

Closed
Closed

Description

@dhardy

Existing and planned changes for 0.6 (excluding things already merged into the 0.5 series). @pitdicker do you have more to add?

Required items:

sequences

distributions

Core

PRNGs

Documentation

Optional items:

ThreadRng

Seeding

Optimisations and extensions

other

Activity

  1. pitdicker commented on Jun 21, 2018

    @pitdicker
    Contributor

    There are a couple of things I would like to see, but my time is getting a little more limited...

    A few things I have on my personal wish list:

    New PRNGs (dhardy#60 (comment)):

    • addition of PCG-XSL-RR 128/64 (MCG) and PCG-XSH-RR 64/32 (LCG).
    • addition of SFC-32 and SFC-64.
    • maybe addition of XoroshiroMT.
    • maybe addition of Xoroshiro128+.
    • deprecation of XorShiftRng.

    It would be nice if we could make some progress with no_std support (#313):

    • I was playing with a lock-free shared CSPRNG (to use for thread_rng with no_std).
    • have a way to set another fallback in EntropyRng, like RDRAND.
  2. dhardy commented on Jun 21, 2018

    @dhardy
    MemberAuthor

    I opened #522, but this actually concerns rand_core and can be completely independent of Rand 0.6.

  3. vks commented on Jun 21, 2018

    @vks
    Contributor
    • I agree that SeedableRng::new_from_u64 would be a great usability improvement.
    • I'm a bit sceptical about streams. They don't seem as well tested as the RNGs, and some people claim their statistical quality is poor.
    • I think xoshiro should be considered as well.
  4. dhardy commented on Jun 22, 2018

    @dhardy
    MemberAuthor

    I'm a bit sceptical about streams

    To what are you referring?

  5. pitdicker commented on Jun 22, 2018

    @pitdicker
    Contributor

    I think it is about a comment by Vigna about PCG streams. I can see why he thought it would have problems, because Xorshift and Xoroshiro are sensitive to the choice of constants, and he put a lot of effort into finding good ones.

    A post on the PCG blog proved streams implemented using different increment constants are all of similar quality, but with different multiplier constants are questionable.

  6. dhardy commented on Jun 22, 2018

    @dhardy
    MemberAuthor

    Ah, so that comment was about splitting RNGs. I'm not convinced on this issue either (more with regards to utility & applicability to threading). It would be good to create a new issue on that topic for further discussion.

    I think xoshiro should be considered as well.

    Again, the PRNGs we pick is not a topic to discuss in the tracking issue. We already have a couple of threads on this: dhardy#52, dhardy#60 (and related: dhardy#58, #431). If need be create yet another issue.

  7. vks commented on Jun 25, 2018

    @vks
    Contributor

    This is the criticism of PCG streams: Vigna, Blackman, O'Neil

    This does not make me comfortable using them, especially since they are not really tested as rigorously as the RNG itself.

  8. sicking commented on Jun 26, 2018

    @sicking
    Contributor

    I'd like to see a more thoughtful look at what the Rng trait looks like. #483 did some big revisions there and proposed we go down a path where Rng mainly has functions for directly generating values. I'd like to see what it'd look like to follow through on that more consistently.

    I won't propose any changes here in order to keep this discussion on track. But I'll file a separate issue on this topic. Implementation work for this is trivial if we can get agreement (big "if", obviously), so might be doable relatively quickly.

    Relatedly, we have a number of issues filed on the future and name of thread_rng(). This is similarly API-breaking so would be good to get done sooner rather than later. But I don't have any full proposals here, so might be too optimistic to get done for 0.6.

  9. dhardy commented on Jun 27, 2018

    @dhardy
    MemberAuthor

    @sicking we already worked on Rng a lot last year, leading up to the current Rng: RngCore design. We've already removed all core trait functions and all remaining methods do appear to be simple wrappers, as mentioned in #483. Yes, open another issue if you like.

    Good point on thread_rng.

  10. sicking commented on Jul 13, 2018

    @sicking
    Contributor

    I opened #552 for one of the two backwards-breaking changes that I'd like to consider for Rng.

  11. sicking commented on Jul 13, 2018

    @sicking
    Contributor

    And #553 for the other one.

  12. sicking commented on Jul 13, 2018

    @sicking
    Contributor

    FWIW, I'd also love to rename gen_range to just range. But it feels like the transition process would be very painful.

  13. dhardy commented on Jul 13, 2018

    @dhardy
    MemberAuthor

    At least at the moment gen_range, gen_bool and gen_ratio are somewhat consistent.

  14. dhardy commented on Aug 23, 2018

    @dhardy
    MemberAuthor

    According to the new milestone we're half way to 0.6, though one or two items (specifically thread-rng) may slip to later; probably we're well past half way in terms of work.

  15. dhardy commented on Sep 3, 2018

    @dhardy
    MemberAuthor

    Progress note: we have now completed the most important stuff for 0.6 (in my opinion), except for limited progress on introducing new PRNG crates, and SmallRng.

  16. coltfred commented on Sep 18, 2018

    @coltfred
    Contributor

    @dhardy Do you have any idea when 0.6 would be available? We're currently working off master, but would like to stabilize on a release version soon if we can. Our main driver is WASM support.

  17. dhardy commented on Sep 19, 2018

    @dhardy
    MemberAuthor

    @coltfred it would be nice to have 0.6 ready soon but I can't promise anything. Possibly around the end of the month, but that still requires some effort from those involved.

  18. coltfred commented on Sep 19, 2018

    @coltfred
    Contributor

    @dhardy It seems unclear to me which of the things listed here are going to be in 0.6. I'd also be happy to help in any way I can to drive this to the finish line.

  19. dhardy commented on Sep 22, 2018

    @dhardy
    MemberAuthor

    @coltfred thanks for the offer of help. I've updated the above list to clarify the required changes for 0.6. If you like, review open PRs or have a look at #603.

  20. coltfred commented on Sep 25, 2018

    @coltfred
    Contributor

    @dhardy I can give it a look this Friday if others haven't gotten to it. Thanks so much for this library!

  21. dhardy commented on Oct 4, 2018

    @dhardy
    MemberAuthor

    rand_xorshift and rand_pcg have now been published.

    I started updating SmallRng and removing rand_xorshift from this repo, but hit a weird compile error.

    I just created #622 regarding PRNG documentation; this isn't critical for the 0.6 release but it would be very nice to have some help with this.

  22. dhardy commented on Oct 16, 2018

    @dhardy
    MemberAuthor

    I think we're getting close to being able to make a release! Help with the following please:

  23. dhardy commented on Oct 17, 2018

    @dhardy
    MemberAuthor

    I published:

    The last three have had no recent changes and should be ready.

    Rand itself hopefully has code in sufficiently good shape for 0.6, but I'll wait two weeks before marking it final. In the mean-time, some documentation work is needed (see previous post).

  24. dhardy commented on Oct 23, 2018

    @dhardy
    MemberAuthor

    I added an item to the tracker: #634. Please help out!

  25. hcpl commented on Nov 12, 2018

    @hcpl

    Can i128_support feature be removed now that compile-time detection has been merged?

  26. dhardy commented on Nov 12, 2018

    @dhardy
    MemberAuthor

    That flag doesn't do anything any more; it's only there to avoid breakage. Probably we'll remove it for 0.7.

  27. dhardy commented on Nov 12, 2018

    @dhardy
    MemberAuthor

    That flag doesn't do anything any more; it's only there to avoid breakage. Probably we'll remove it for 0.7.

    Other news: I've scheduled the 0.6 release for Wednesday. The following two PRs will be merged first:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions