Skip to content

Replace core2 with no_std_io2#407

Merged
vmx merged 3 commits intomultiformats:masterfrom
cwlittle:core2-replacement
Apr 15, 2026
Merged

Replace core2 with no_std_io2#407
vmx merged 3 commits intomultiformats:masterfrom
cwlittle:core2-replacement

Conversation

@cwlittle
Copy link
Copy Markdown
Contributor

core2 was yanked a couple of hours ago. This MR removes the dependency in favor of no_std_io2.

@LockedThread
Copy link
Copy Markdown

bro is doing god's work fixing all of the core2 usages

Benten-Ben added a commit to BentenAI/rust-cid that referenced this pull request Apr 15, 2026
core2 was archived upstream on 2026-04-14 ("No longer supported. Use
core directly."). core::io::{Read, Write} are not yet stable in Rust
(tracking issue rust-lang/rust#68315), so a direct migration is not
currently possible.

no_std_io2 0.8.1 is an API-compatible drop-in replacement for core2's
io module, purpose-built for crates that need the std::io trait shape
in no_std contexts.

This mirrors the approach taken in multiformats/rust-multihash#407
for multiformats org consistency.

Closes multiformats#184.
Copy link
Copy Markdown

@athola athola left a comment

Choose a reason for hiding this comment

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

added minor nit comment, rest approved

Comment thread Cargo.toml Outdated
Copy link
Copy Markdown
Member

@vmx vmx left a comment

Choose a reason for hiding this comment

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

Thanks everyone involved! This is such a clean change now. Also thanks for checking out an older version of no_std_io2 to reduce the number of changes.

@jxs
Copy link
Copy Markdown
Contributor

jxs commented Apr 15, 2026

@vmx can we release a patch version with this? So that we can unblock rust-libp2p builds: libp2p/rust-libp2p#6383

@vmx vmx merged commit af177c0 into multiformats:master Apr 15, 2026
11 checks passed
vmx pushed a commit to multiformats/rust-cid that referenced this pull request Apr 15, 2026
core2 was archived upstream on 2026-04-14 ("No longer supported. Use
core directly."). core::io::{Read, Write} are not yet stable in Rust
(tracking issue rust-lang/rust#68315), so a direct migration is not
currently possible.

no_std_io2 0.8.1 is an API-compatible drop-in replacement for core2's
io module, purpose-built for crates that need the std::io trait shape
in no_std contexts.

This mirrors the approach taken in multiformats/rust-multihash#407
for multiformats org consistency.

The dependencies that also had this `no_std_io2` change were also
explicitly updated to the corresponding versions.

Closes #184.
Comment thread derive/src/lib.rs
SWvheerden pushed a commit to tari-project/tari that referenced this pull request Apr 17, 2026
Description
---
chore: update multiaddr (core2 yanked)

Motivation and Context
---
All versions of `core2` were yanked. When packages use tari_common they
will fail to build with a fresh cargo.lock.

We see this on Ootle packages (and we can't publish them).

multihash has been updated to use `no_std_io2` instead
(multiformats/rust-multihash#407) - multihash is
a dep of multiaddr

Breaking Changes
---

- [x] None
- [ ] Requires data directory on base node to be deleted
- [ ] Requires hard fork
- [ ] Other - Please specify

<!-- Does this include a breaking change? If so, include this line as a
footer -->
<!-- BREAKING CHANGE: Description what the user should do, e.g. delete a
database, resync the chain -->
0xskr33p pushed a commit to 0xskr33p/tari that referenced this pull request Apr 19, 2026
Description
---
chore: update multiaddr (core2 yanked)

Motivation and Context
---
All versions of `core2` were yanked. When packages use tari_common they
will fail to build with a fresh cargo.lock.

We see this on Ootle packages (and we can't publish them).

multihash has been updated to use `no_std_io2` instead
(multiformats/rust-multihash#407) - multihash is
a dep of multiaddr

Breaking Changes
---

- [x] None
- [ ] Requires data directory on base node to be deleted
- [ ] Requires hard fork
- [ ] Other - Please specify

<!-- Does this include a breaking change? If so, include this line as a
footer -->
<!-- BREAKING CHANGE: Description what the user should do, e.g. delete a
database, resync the chain -->
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.

6 participants