Skip to content

Tracker: rand 0.9 #1165

Closed
Closed
@vks

Description

@vks
Collaborator

Blocker:

  • getrandom v0.3

Planned breaking changes for rand 0.9 are:

Possibly also:

Non-breaking TODOs:

Not planned:

Activity

added this to the 0.9 release milestone on Aug 24, 2021
dhardy

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.

vks

vks commented on Oct 21, 2021

@vks
CollaboratorAuthor

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

dhardy

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.

dhardy

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
vks

vks commented on Nov 22, 2022

@vks
CollaboratorAuthor

What breaking changes would we want to release for rand_core?

dhardy

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.)

newpavlov

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

coolreader18

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", ..]

34 remaining items

epage

epage commented on Sep 26, 2024

@epage
dhardy

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

dhardy

dhardy commented on Nov 23, 2024

@dhardy
Member

PR for beta release: #1535

newpavlov

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

mzdk100

mzdk100 commented on Dec 11, 2024

@mzdk100
dhardy

dhardy commented on Dec 11, 2024

@dhardy
mzdk100

mzdk100 commented on Dec 11, 2024

@mzdk100
dhardy

dhardy commented on Jan 27, 2025

@dhardy
Member

rand v0.9 is now published. Still pending:

SUPERCILEX

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

        Participants

        @tarcieri@vks@epage@dhardy@WarrenWeckesser

        Issue actions

          Tracker: rand 0.9 · Issue #1165 · rust-random/rand