Update to rand version 0.10#27
Conversation
|
Sorry for the delayed response. I think rand 0.10 has MSRV 1.85 making it incompatible with fastbloom's MSRV 1.70? Is there way around this? Just curious, why are the duplicate rand dependencies a blocker for noq's release? |
|
fastbloom only has the rand dependency with it's "rand" feature, which is optional. So one option is to disable that feature in your usage of fastbloom, if acceptable. |
|
Thank you. Feel free to keep this PR open for a future MSRV increase or close it 👍 |
## Description This updates noq and its dependencies to rand 0.10 and getrandom 0.4. ## Breaking Changes I don't think there are any of rand's APIs exposed in noq or noq-proto. So no breaking changes. ## Notes & open questions ~~Blocked on tomtomwombat/fastbloom#27 being released.~~ We can disable the rand feature for fastbloom instead. `proptest` still depends on rand 0.9: ``` $ cargo tree -i rand@0.9 rand v0.9.2 └── proptest v1.9.0 [dev-dependencies] └── noq-proto v0.16.0 (/home/philipp/program/work/noq/noq-proto) ├── noq v0.17.0 (/home/philipp/program/work/noq/noq) │ ├── bench v0.2.0 (/home/philipp/program/work/noq/bench) │ └── perf v0.2.0 (/home/philipp/program/work/noq/perf) └── perf v0.2.0 (/home/philipp/program/work/noq/perf) ``` But it's only a dev-dependency, so won't get pulled in for people depending on noq.
## Description Updates the `rand` dependency to version 0.10. As part of that, this also updates `rand_core`, `rand_chacha`, and a bunch of cryptography crates like `curve25519-dalek`, `ed25519-dalek`, `digest`, `sha1` and `sha2`. Some of the latter ones to prerelease versions to enable compilation. ## Breaking Changes - `iroh::SecretKey::generate`'s `CryptoRng` parameter is now updated from rand 0.9 to rand 0.10 ## Notes & open questions Although this is ready for review, it's not ready to be merged yet, because of patched dependencies. This is the current TODO list: - [x] ~~fastbloom needs to update to rand 0.10 and make a new release: tomtomwombat/fastbloom#27 (we can just disable fastbloom's rand feature) - [x] noq will need to merge n0-computer/noq#511 once unblocked from fastbloom - [x] swarm-discovery needs updating to hickory 0.26 rkuhn/swarm-discovery#21 - [x] portmapper will need to merge n0-computer/net-tools#118 - [x] tokio-websockets has released with rand 0.10 support - [x] igd-next has released with rand 0.10 support - [x] And finally, hickory has released [a first beta for version 0.26](https://docs.rs/crate/hickory-resolver/0.26.0-beta.1), but it has *a lot* of API changes and I'm working towards adjusting iroh code to them. ## Change checklist <!-- Remove any that are not relevant. --> - [x] Self-review.
|
with this PR we can build fastbloom for wasip3 (not released yet but already available as RC ). |
|
@tomtomwombat thanks for holding the line on the MSRV here, but we've since bumped Quinn's MSRV: and would like to adopt rand 0.10: |
This updates rand to version 0.10.
We would need this to ship to be able to update
noq(andquinn) to rand version 0.10 without causing users to have duplicate rand dependencies in their dependency tree.