-
-
Notifications
You must be signed in to change notification settings - Fork 459
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Tracker: rand 0.9 #1165
Comments
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):
I suggest only doing this late before v0.9 since both will cause significant merge conflicts and there is currently some on-going work. |
Fixing the clippy warnings is not a big deal, we are already doing pretty well. Also see #1197. |
We should consider bumping the MSRV to Rust 1.51.0 (March 2021), enabling usage of const generics by default. |
Question: do we make a breaking release of See my comment in #1269:
|
What breaking changes would we want to release for |
Possible future changes: #1261, and @newpavlov mentioned somewhere using const generics to re-write |
I also would like to rework a bit the crypto traits. We have some issues with them in RustCrypto, see: RustCrypto/traits#1148 |
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 ( |
I guess we could go all the way to 1.60 (April 2022). We already have a PR for 1.56: #1269. |
Lets go with a breaking release for @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. |
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? |
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). |
Update: a pre-release is planned. I'd like to get a couple more significant changes in before the actual release:
|
We should also resolve this, one way or another: |
I don't think #1399 is a blocker, it's one of the caveats of using |
Fair point, although we already have value-breaking changes here.
|
We are looking at updating the The simplest way to implement this is to use CC: @newpavlov |
At the rate we're going, that may still be a year old by the time 0.9 is ready (though I hope not). I am not aware of any hard constraints here. |
Is there a reason you can't use zerocopy 0.7.32? What 0.8 features do you need? Maybe we could backport things to 0.7 to unblock you? |
Update: I've submitted #1446; at least as of the current state of |
@dhardy, sorry for disappearing for so long. I can take another look at the uniform changes this weekend (probably Sunday), but don't wait for me if you want to get the release out sooner! |
Our to-do list is now done (excepting replacing ChaCha code with the One last thing I'd like to solve, however, is I'm away on holiday from Thursday and would love to make a beta release of v0.9 before then. |
I have published an alpha: https://github.com/rust-random/rand/tree/0.9.0-alpha.2 (master + #1471 + #1480 + a couple of tweaks to |
Can https://github.com/rust-random/rngs get alpha releases too? Pretty sure it's not possible to upgrade if use something like |
Create MSRV policy and hardcode dependencies, otherwise you can lose MSRV if dependency upgrades its MSRV in minor version. I am happy with any MSRV <= 1.60. Usually 1.56.0 is used for simple crates because its lowest 2021 edition. |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
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.
|
PR for beta release: #1535 |
It may be worth to bump MSRV to 1.63 following the |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
|
This is incredibly exciting, thank you! |
Blocker:
getrandom
v0.3Zerocopy v0.8 — 0.8 Release Roadmap google/zerocopy#671Planned breaking changes for rand 0.9 are:
rand
useResult
(Error handling of distributions::Uniform::new #1195, API differences between Uniform and Bernoulli #1211)FromSeed
traitRNG rename (likely reject) Rename Rng -> RngExt, RngCore -> Rng #1288SliceRandom::choose_multiple(_weighted)
is impossible if you aren't simply forwarding the calls to an inner[T]
#1307Rng::gen
to avoid conflicting with a keyword in Rust 2024 #1435scale
parameter for the uniform float distribution. #1301 or UniformFloat: allow inclusion of high in all cases #1462Possibly also:
Non-breaking TODOs:
Not planned:
Replacing rand_chacha with chacha20 #1348chacha20: returning rand_core feature RustCrypto/stream-ciphers#333The text was updated successfully, but these errors were encountered: