Skip to content

Update to rand version 0.10#27

Open
matheus23 wants to merge 1 commit into
tomtomwombat:mainfrom
matheus23:matheus23/rand-0.10
Open

Update to rand version 0.10#27
matheus23 wants to merge 1 commit into
tomtomwombat:mainfrom
matheus23:matheus23/rand-0.10

Conversation

@matheus23
Copy link
Copy Markdown

This updates rand to version 0.10.

We would need this to ship to be able to update noq (and quinn) to rand version 0.10 without causing users to have duplicate rand dependencies in their dependency tree.

@tomtomwombat
Copy link
Copy Markdown
Owner

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?

@tomtomwombat
Copy link
Copy Markdown
Owner

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.

@matheus23
Copy link
Copy Markdown
Author

Thank you.
Yeah it looks like disabling the rand feature is sufficient for our use cases, thank you!

Feel free to keep this PR open for a future MSRV increase or close it 👍

github-merge-queue Bot pushed a commit to n0-computer/noq that referenced this pull request Mar 23, 2026
## 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.
matheus23 added a commit to n0-computer/iroh that referenced this pull request Mar 30, 2026
## 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.
@Ludea
Copy link
Copy Markdown

Ludea commented Apr 23, 2026

with this PR we can build fastbloom for wasip3 (not released yet but already available as RC ).
getrandom 0.10 support this target

@djc
Copy link
Copy Markdown
Contributor

djc commented May 13, 2026

@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:

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants