Skip to content

feat: update MSRV to 1.88.0, bump Rust edition to 2024#6273

Merged
elenaf9 merged 25 commits intolibp2p:masterfrom
ackintosh:bump-msrv
Mar 31, 2026
Merged

feat: update MSRV to 1.88.0, bump Rust edition to 2024#6273
elenaf9 merged 25 commits intolibp2p:masterfrom
ackintosh:bump-msrv

Conversation

@ackintosh
Copy link
Copy Markdown
Contributor

@ackintosh ackintosh commented Feb 12, 2026

Description

refs #6268

This PR bumps the MSRV to 1.88.0 in order to address a vulnerability in the time crate, and the workspace Rust edition to 2024.

Notes & open questions

Change checklist

  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation
  • I have added tests that prove my fix is effective or that my feature works
  • A changelog entry has been made in the appropriate crates

@ackintosh ackintosh marked this pull request as ready for review February 12, 2026 21:22
This commit bumps the minor version of all crates (except libp2p-identity which maintains its own rust-version) and adds corresponding CHANGELOG entries.
@ackintosh
Copy link
Copy Markdown
Contributor Author

I've bumped the minor version of all crates, except libp2p-identity, which maintains its own rust-version.

Copy link
Copy Markdown
Member

@jxs jxs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this Akihito! Left a comment wrt libp2p-peer-store. Meanwhile can we also bump the edition to 2024? cc @elenaf9 @dariusc93

@elenaf9
Copy link
Copy Markdown
Member

elenaf9 commented Mar 17, 2026

Meanwhile can we also bump the edition to 2024? cc @elenaf9 @dariusc93

👍 we need the bump for #6260 anyway.

Edit: done with b04e82d.

Copy link
Copy Markdown
Member

@elenaf9 elenaf9 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Revert version bumps where the major version wasn't released yet, merge changelogs.

Co-authored-by: Elena Frank <elena.frank@proton.me>
@elenaf9 elenaf9 changed the title chore: update MSRV feat: update MSRV tp 1.88.0, bump Rust edition to 20204 Mar 17, 2026
@elenaf9
Copy link
Copy Markdown
Member

elenaf9 commented Mar 17, 2026

Ugh; quite a lot of lints had to be fixed, i assume due to Rust edition 2024. Also quite a huge diff from rust fmt, sorry about that, see 6d407a3.

Edit: split the commit into two to make review easier:

@elenaf9 elenaf9 changed the title feat: update MSRV tp 1.88.0, bump Rust edition to 20204 feat: update MSRV tp 1.88.0, bump Rust edition to 2024 Mar 17, 2026
@elenaf9 elenaf9 changed the title feat: update MSRV tp 1.88.0, bump Rust edition to 2024 feat: update MSRV to 1.88.0, bump Rust edition to 2024 Mar 17, 2026
@elenaf9 elenaf9 requested a review from jxs March 17, 2026 10:31
mergify bot pushed a commit that referenced this pull request Mar 17, 2026
Revert #6330.
The rmp-serde bump includes a rust edition bump, so until #6273 is merged it breaks clippy.

Pull-Request: #6347.
@jxs
Copy link
Copy Markdown
Member

jxs commented Mar 17, 2026

I've bumped the minor version of all crates, except libp2p-identity, which maintains its own rust-version.

Actually, we should consider bumping libp2p-identity as well. We already bump all other crates anyway, so a libp2p-identity bump doesn't change much for us. It would also resolve #6260. Wdyt @jxs?

yeah, since we are on it matter as well do it.
Thanks for jumping in Elena, and helping moving this forward

@elenaf9
Copy link
Copy Markdown
Member

elenaf9 commented Mar 19, 2026

I've bumped the minor version of all crates, except libp2p-identity, which maintains its own rust-version.

Actually, we should consider bumping libp2p-identity as well. We already bump all other crates anyway, so a libp2p-identity bump doesn't change much for us. It would also resolve #6260. Wdyt @jxs?

yeah, since we are on it matter as well do it. Thanks for jumping in Elena, and helping moving this forward

Hmm, so a minor bump in libp2p-identity is a bit more difficult actually, because the multiaddr crates depends on it as well and we'll end up with conflicting versions (the workspace one vs the released on that multiaddr depends on).

I think what we'd need to do is:

  • bump and release libp2p-identity -> will temporarily break our master
  • update the libp2p-identity dependency in multiaddr and release multiaddr
  • update our multiaddr dependency in the workspace -> will resolve version conflicts

Is there an easier way to solve this?

@ackintosh
Copy link
Copy Markdown
Contributor Author

Thanks @elenaf9, for moving this PR forward. I've been thinking about an easier approach, but couldn't come up with one. I agree with the approach you suggested.

@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Mar 23, 2026

This pull request has merge conflicts. Could you please resolve them @ackintosh? 🙏

@jxs
Copy link
Copy Markdown
Member

jxs commented Mar 23, 2026

I've bumped the minor version of all crates, except libp2p-identity, which maintains its own rust-version.

Actually, we should consider bumping libp2p-identity as well. We already bump all other crates anyway, so a libp2p-identity bump doesn't change much for us. It would also resolve #6260. Wdyt @jxs?

yeah, since we are on it matter as well do it. Thanks for jumping in Elena, and helping moving this forward

Hmm, so a minor bump in libp2p-identity is a bit more difficult actually, because the multiaddr crates depends on it as well and we'll end up with conflicting versions (the workspace one vs the released on that multiaddr depends on).

I think what we'd need to do is:

  • bump and release libp2p-identity -> will temporarily break our master
  • update the libp2p-identity dependency in multiaddr and release multiaddr
  • update our multiaddr dependency in the workspace -> will resolve version conflicts

Is there an easier way to solve this?

unfortunately no, libp2p-identity and libp2p-core have this problem

@elenaf9 elenaf9 mentioned this pull request Mar 23, 2026
4 tasks
# Conflicts:
#	Cargo.toml
#	protocols/autonat/CHANGELOG.md
#	protocols/gossipsub/CHANGELOG.md
#	protocols/rendezvous/CHANGELOG.md
#	protocols/request-response/CHANGELOG.md
#	protocols/request-response/tests/error_reporting.rs
#	transports/dns/CHANGELOG.md
@ackintosh
Copy link
Copy Markdown
Contributor Author

I've merged current master to fix the merge conflicts.

@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Mar 24, 2026

This pull request has merge conflicts. Could you please resolve them @ackintosh? 🙏

@elenaf9
Copy link
Copy Markdown
Member

elenaf9 commented Mar 25, 2026

I think what we'd need to do is:

  • bump and release libp2p-identity -> will temporarily break our master
  • update the libp2p-identity dependency in multiaddr and release multiaddr
  • update our multiaddr dependency in the workspace -> will resolve version conflicts

Is there an easier way to solve this?

unfortunately no, libp2p-identity and libp2p-core have this problem

I think libp2p-core isn't an issue, because multiaddr doesn't depend on it.

I would propose to handle libp2p-identity in a separate PR. I'd like to think about it some more and we shouldn't block this one on it. Okay @jxs @ackintosh?

# Conflicts:
#	protocols/gossipsub/CHANGELOG.md
# Conflicts:
#	Cargo.lock
#	Cargo.toml
#	protocols/gossipsub/src/behaviour.rs
#	protocols/gossipsub/src/behaviour/tests/mod.rs
#	transports/tls/CHANGELOG.md
#	transports/tls/Cargo.toml
@ackintosh
Copy link
Copy Markdown
Contributor Author

ackintosh commented Mar 26, 2026

Updated to keep up with the gossipsub partial messages extension and Rust 2024 edition.

@ackintosh
Copy link
Copy Markdown
Contributor Author

I think what we'd need to do is:

  • bump and release libp2p-identity -> will temporarily break our master
  • update the libp2p-identity dependency in multiaddr and release multiaddr
  • update our multiaddr dependency in the workspace -> will resolve version conflicts

Is there an easier way to solve this?

unfortunately no, libp2p-identity and libp2p-core have this problem

I think libp2p-core isn't an issue, because multiaddr doesn't depend on it.

I would propose to handle libp2p-identity in a separate PR. I'd like to think about it some more and we shouldn't block this one on it. Okay @jxs @ackintosh?

Looks good to me, thanks @elenaf9!

Copy link
Copy Markdown
Member

@jxs jxs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!
Let's merge this, syked to use if let chains and glad clippy updated them

@elenaf9 elenaf9 merged commit b6b79b2 into libp2p:master Mar 31, 2026
67 of 70 checks passed
@elenaf9
Copy link
Copy Markdown
Member

elenaf9 commented Mar 31, 2026

Thanks @ackintosh!

@ackintosh ackintosh deleted the bump-msrv branch March 31, 2026 20:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants