Skip to content

Tracker: rand 0.9 #1165

Description

@vks

Blocker:

Planned breaking changes for rand 0.9 are:

Possibly also:

Non-breaking TODOs:

Not planned:

Activity

  1. added this to the 0.9 release milestone on Aug 24, 2021
  2. dhardy commented on Oct 18, 2021

    @dhardy
    Member

    We should also conform to common Rust coding standards (generally expected of open projects now). I have argued against these in the past (some poor formatting and false-positive lints, verbosity of opt-outs), but the reasons not to use these are fewer (less active development) and reasons to do so greater (mature tools and very widespread usage):

    • use rustfmt (with #[rustfmt::skip] where required), including CI check
    • use Clippy (with required opt-outs), including CI check

    I suggest only doing this late before v0.9 since both will cause significant merge conflicts and there is currently some on-going work.

  3. vks commented on Oct 21, 2021

    @vks
    ContributorAuthor

    Fixing the clippy warnings is not a big deal, we are already doing pretty well. Also see #1197.

  4. dhardy commented on Feb 22, 2022

    @dhardy
    Member

    We should consider bumping the MSRV to Rust 1.51.0 (March 2021), enabling usage of const generics by default.

  5. dhardy commented on Nov 22, 2022

    @dhardy
    Member

    Question: do we make a breaking release of rand_core at the same time or stick with 0.6.x?

    See my comment in #1269:

    • Avoiding breaking changes to rand_core lets users upgrade to Rand v0.9 more easily (no need to touch RNGs)
    • We may well make breaking changes to RngCore in the future, but likely not soon (most ideas floated depend on unstable language features)
    • We cannot release 1.0 without getrandom 1.0
    • Avoiding breaking changes effectively means we have two MSRVs and corresponding CI tests within the project, but this should be okay
  6. vks commented on Nov 22, 2022

    @vks
    ContributorAuthor

    What breaking changes would we want to release for rand_core?

  7. dhardy commented on Nov 23, 2022

    @dhardy
    Member

    Pending: #1182, #1267.

    Possible future changes: #1261, and @newpavlov mentioned somewhere using const generics to re-write RngCore with a method like fn generate(&mut self, result: &mut [u8; Self::LENGTH]). (I can't find his comment.)

  8. newpavlov commented on Nov 23, 2022

    @newpavlov
    Member

    I also would like to rework a bit the crypto traits. We have some issues with them in RustCrypto, see: RustCrypto/traits#1148

  9. coolreader18 commented on Nov 30, 2022

    @coolreader18

    Not sure if this would be the place for it, but in terms of major version bumps it'd be good to switch feature specifications over to weak feature dependencies ("dep?/feature" syntax) once the MSRV >= 1.60. Otherwise there's no actual way to e.g. enable std without also enabling rand_chacha as a dependency cause it's std = [.. "rand_chacha/std", ..]

  10. dhardy commented on Dec 1, 2022

    @dhardy
    Member

    I guess we could go all the way to 1.60 (April 2022). We already have a PR for 1.56: #1269.

  11. dhardy commented on Dec 6, 2022

    @dhardy
    Member

    Lets go with a breaking release for rand_core since we have a few proposed changes and no objections.

    @coolreader18 feel free to make a PR with your proposed changes after the 1.56 PR is merged. I'm not certain yet we'll use 1.60 but think it's unlikely there will be a significant reason not to.

  12. SUPERCILEX commented on Nov 19, 2023

    @SUPERCILEX
    Contributor

    Is it worth making a release with what we currently have? Selfishly, I'd like to be able to use my PRs, but it's also worth noting that the last release was in February 2022. I tend to prefer the regular release cadence approach rather than the wait for everything to be ready approach. Thoughts?

  13. dhardy commented on Nov 19, 2023

    @dhardy
    Member

    I would like to get a release out soon, if only because we've had a lot of changes since the last release. Will have to review (and dedicate a bit of time to this).

  14. dhardy commented on Feb 13, 2024

    @dhardy
    Member

    Update: a pre-release is planned.

    I'd like to get a couple more significant changes in before the actual release:

  15. dhardy commented on Mar 21, 2024

    @dhardy
    Member

    We should also resolve this, one way or another:

  16. 20 remaining items

  17. hsn10 commented on Aug 5, 2024

    @hsn10
  18. newpavlov commented on Aug 5, 2024

    @newpavlov
  19. tarcieri commented on Aug 5, 2024

    @tarcieri
  20. epage commented on Aug 8, 2024

    @epage
  21. joshlf commented on Sep 26, 2024

    @joshlf
  22. epage commented on Sep 26, 2024

    @epage
  23. dhardy commented on Oct 1, 2024

    @dhardy
    Member

    I marked that whole discussion off-topic (the short version is that we will not be pinning dependencies).

    Our MSRV policy is basically just "at least a year old at the time of the next Rand release, and consider other factors". In effect, I decide.

    We are open to a PR reducing the MSRV to 1.60, assuming there isn't too much fallout. #1513

  24. dhardy commented on Nov 23, 2024

    @dhardy
    Member

    PR for beta release: #1535

  25. newpavlov commented on Nov 24, 2024

    @newpavlov
    Member

    It may be worth to bump MSRV to 1.63 following the libc bump: rust-lang/libc#4040

  26. mzdk100 commented on Dec 11, 2024

    @mzdk100
  27. dhardy commented on Dec 11, 2024

    @dhardy
  28. mzdk100 commented on Dec 11, 2024

    @mzdk100
  29. dhardy commented on Jan 27, 2025

    @dhardy
    Member

    rand v0.9 is now published. Still pending:

  30. SUPERCILEX commented on Jan 27, 2025

    @SUPERCILEX
    Contributor

    This is incredibly exciting, thank you!

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

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions