NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #4786 most downloaded on crates.io
Mplex multiplexing protocol for libp2p
Last release 27 days ago
11 Sep 2026
Release timing varies
gaps range from 2 weeks to 1.2 years
Most releases are documented
notes for 29 of 48 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
50 releases · first in 2019
Raise MSRV to 1.88.0. See PR 6273.
Rename MplexConfig to Config for consistency with other crates (see discussion 2174). See PR 5870.
MplexConfig to Config for consistency with other crates (see discussion 2174).
See PR 5870.One column per quarter.
<!-- Update to libp2p-core v0.43.0 -->
<!-- Update to libp2p-core v0.43.0 -->
<!-- Update to libp2p-swarm v0.45.0 -->
<!-- Update to libp2p-swarm v0.45.0 -->
Migrate to {In,Out}boundConnectionUpgrade traits. See PR 4695.
{In,Out}boundConnectionUpgrade traits.
See PR 4695.Raise MSRV to 1.65. See [PR 3715].
- Update to libp2p-core v0.39.0.
libp2p-core v0.39.0.Update rust-version to reflect the actual MSRV: 1.60.0. See [PR 3090].
Update to libp2p-core v0.38.0.
Update rust-version to reflect the actual MSRV: 1.60.0. See PR 3090.
Bump rand to 0.8 and quickcheck to 1. See [PR 2857].
- Update to libp2p-core v0.36.0
libp2p-core v0.36.0- Update to libp2p-core v0.35.0
libp2p-core v0.35.0Substream now implements AsyncRead and AsyncWrite. See [PR 2706].
Substream now implements AsyncRead and AsyncWrite. See PR 2706.libp2p-core v0.34.0- Update to libp2p-core v0.33.0.
libp2p-core v0.33.0.Update to parking_lot v0.12.0. See [PR 2463].
Update to libp2p-core v0.32.0.
Update to parking_lot v0.12.0. See PR 2463.
Add fn set_protocol_name(&mut self, protocol_name: &'static [u8]) to MplexConfig
Update dependencies.
Add fn set_protocol_name(&mut self, protocol_name: &'static [u8]) to MplexConfig
Migrate to Rust edition 2021 (see PR 2339).
Make default features of libp2p-core optional. PR 2181
libp2p-core optional.
PR 2181Nothing published for this version
Support stream IDs of up to 60 bit length. See [PR 2094] for details.
Update dependencies.
Support stream IDs of up to 60 bit length. See PR 2094 for details.
- Update dependencies.
- Update dependencies.
- Update dependencies.
- Update libp2p-core.
libp2p-core.Change the default split_send_size from 1KiB to 8KiB. PR 1834.
Update libp2p-core.
Change the default split_send_size from 1KiB to 8KiB.
PR 1834.
Change the default configuration to use MaxBufferBehaviour::Block and yield from waiting for the next substream or reading from a particular substream
Change the default configuration to use MaxBufferBehaviour::Block
and yield from waiting for the next substream or reading from a
particular substream whenever the current read loop may have
already filled a substream buffer, to give the current task a
chance to read from the buffer(s) before the MaxBufferBehaviour
takes effect. This is primarily relevant for
MaxBufferBehaviour::ResetStream.
PR 1825.
Tweak the naming in the MplexConfig API for better
consistency with libp2p-yamux.
PR 1822.
Update dependencies.
Be lenient with duplicate Close frames received. Version 0.23.0 started treating duplicate Close frames for a substream as a protocol violation. As so
Close frames received. Version
0.23.0 started treating duplicate Close frames for a
substream as a protocol violation. As some libp2p implementations
seem to occasionally send such frames and it is a harmless
redundancy, this releases reverts back to the pre-0.23 behaviour
of ignoring duplicate Close frames.More granular execution of pending flushes, better logging and avoiding unnecessary hashing. PR 1785.
More granular execution of pending flushes, better logging and avoiding unnecessary hashing. PR 1785.
Split receive buffers per substream. PR 1784.
Address a potential stall when reading from substreams.
Send a Reset or Close to the remote when a substream is dropped,
as appropriate for the current state of the substream,
removing that substream from the tracked open substreams,
to avoid artificially running into substream limits.
Change the semantics of the max_substreams configuration. Now,
outbound substream attempts beyond the configured limit are delayed,
with a task wakeup once an existing substream closes, i.e. the limit
results in back-pressure for new outbound substreams. New inbound
substreams beyond the limit are immediately answered with a Reset.
If too many (by some internal threshold) pending frames accumulate,
e.g. as a result of an aggressive number of inbound substreams being
opened beyond the configured limit, the connection is closed ("DoS protection").
Update dependencies.
- Bump libp2p-core dependency.
libp2p-core dependency.- Bump libp2p-core dependency.
libp2p-core dependency.Update libp2p-core, i.e. StreamMuxer::poll_inbound has been renamed to poll_event and returns a StreamMuxerEvent.
libp2p-core, i.e. StreamMuxer::poll_inbound has been renamed
to poll_event and returns a StreamMuxerEvent.Deprecated method Multiplex::is_remote_acknowledged has been removed as part of PR 1616.
Deprecated method Multiplex::is_remote_acknowledged has been removed
as part of PR 1616.
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
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 →