NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #2223 most downloaded on crates.io
Multistream-select negotiation protocol for libp2p
Last release 27 days ago
11 Sep 2026
Ships unpredictably
gaps range from 2 weeks to 3.2 years
Some releases are documented
notes for 15 of 26 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
26 releases · first in 2019
Raise MSRV to 1.88.0. See PR 6273.
Don't wait for negotiation on ::poll_close. This can save one round-trip for protocols that use stream closing as an operation in ones protocol, e.g.
One column per quarter.
Update rust-version to reflect the actual MSRV: 1.60.0. See [PR 3090].
rust-version to reflect the actual MSRV: 1.60.0. See PR 3090.Remove parallel dialing optimization, to avoid requiring the use of the ls command. See [PR 2934].
ls command. See PR 2934.Migrate to Rust edition 2021 (see [PR 2339]).
Implement From for ProtocolError instead of Into. PR 2169
From<io::Error> for ProtocolError instead of Into.
PR 2169Re-enable "parallel negotiation" if the dialer has 3 or more alternative protocols. PR 1934
- Update dependencies.
- Update dependencies.
Ensure uniform outcomes for failed negotiations with both V1 and V1Lazy. PR 1871
V1 and V1Lazy.
PR 1871Make the V1Lazy upgrade strategy more interoperable with V1. Specifically, the listener now behaves identically with V1 and V1Lazy. Furthermore, the m
Make the V1Lazy upgrade strategy more interoperable with V1. Specifically,
the listener now behaves identically with V1 and V1Lazy. Furthermore, the
multistream-select protocol header is now also identical, making V1 and V1Lazy
indistinguishable on the wire. The remaining central effect of V1Lazy is that the dialer,
if it only supports a single protocol in a negotiation, optimistically settles on that
protocol without immediately flushing the negotiation data (i.e. protocol proposal)
and without waiting for the corresponding confirmation before it is able to start
sending application data, expecting the used protocol to be confirmed with
the response.
Fix the encoding and decoding of ls responses to
be spec-compliant and interoperable with other implementations.
For a clean upgrade, 0.8.4 must already be deployed.
During negotiation do not interpret EOF error as an IO error, but instead as a negotiation error. See https://github.com/libp2p/rust-libp2p/pull/1823.
Temporarily disable the internal selection of "parallel" protocol negotiation for the dialer to later change the response format of the "ls" message f
Fix a regression resulting in a panic with the V1Lazy protocol. PR 1783.
- Updated dependencies.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →