- Deprecate
WindowUpdateMode::on_receive
. It does not enforce flow-control, i.e. breaks backpressure. UseWindowUpdateMode::on_read
instead. Seeyamux
crate versionv0.12.1
and Yamux PR #177. yamux
v0.13
enables auto-tuning for the Yamux stream receive window. While preserving small buffers on low-latency and/or low-bandwidth connections, this change allows for high-latency and/or high-bandwidth connections to exhaust the available bandwidth on a single stream. Havelibp2p-yamux
useyamux
v0.13
(new version) by default and fall back toyamux
v0.12
(old version) when setting any configuration options. Thus default users benefit from the increased performance, while power users with custom configurations maintain the old behavior.libp2p-yamux
will switch over toyamux
v0.13
entirely with the next breaking release. See PR 4970.
- Migrate to
{In,Out}boundConnectionUpgrade
traits. See PR 4695.
- Update to
yamux
v0.12
which brings performance improvements and introduces an ACK backlog of 256 inbound streams. When interacting with other libp2p nodes that are also running this or a newer version, the creation of inbound streams will be backpressured once the ACK backlog is hit. See PR 3013.
-
Raise MSRV to 1.65. See PR 3715.
-
Remove deprecated items. See PR 3897.
-
Remove
Incoming
,LocalIncoming
andLocalConfig
as well as anything from the underlyingyamux
crate from the public API. See PR 3908.
- Drop
Yamux
prefix from all types. Users are encouraged to import theyamux
module and refer to types viayamux::Muxer
,yamux::Config
etc. See PR 3852.
- Update to
libp2p-core
v0.39.0
.
-
Update to
libp2p-core
v0.38.0
. -
Update
rust-version
to reflect the actual MSRV: 1.60.0. See PR 3090.
- Yield from
StreamMuxer::poll
as soon as we receive a single substream. This fixes issue 3041. See PR 3071.
- Update to
libp2p-core
v0.37.0
.
-
Update to
libp2p-core
v0.36.0
-
Remove
OpenSubstreamToken
as it is dead code. See PR 2873. -
Drive connection also via
StreamMuxer::poll
. Any received streams will be buffered up to a maximum of 25 streams. See PR 2861.
- Update to
libp2p-core
v0.35.0
- Update to
libp2p-core
v0.34.0
.
- Update to
libp2p-core
v0.33.0
.
-
Update to
libp2p-core
v0.32.0
. -
Update to
parking_lot
v0.12.0
. See PR 2463.
-
Update dependencies.
-
Migrate to Rust edition 2021 (see PR 2339).
-
Update to
yamux
v0.10.0
and thus defaulting toWindowUpdateMode::OnRead
. See PR 2435.
-
Make default features of
libp2p-core
optional. PR 2181 -
Update dependencies.
-
Implement
From<io::Error> for YamuxError
instead ofInto
. PR 2169
- Update dependencies.
- Update to
yamux
v0.9.0
PR 1960.
- Update
libp2p-core
.
- Update
yamux
to0.8.1
.
- Update dependencies.
- Update
libp2p-core
.
- Update
libp2p-core
.
-
Tweak the naming in the
MplexConfig
API for better consistency withlibp2p-mplex
. PR 1822. -
Update dependencies.
- Update
libp2p-core
.
- Update to
yamux-0.8.0
. Upgrade step 4 of 4. This version always implements the additive meaning w.r.t. initial window updates. The configuration optionlazy_open
is removed. Yamux will automatically send an initial window update if the receive window is configured to be larger than the default.
- Update to
yamux-0.7.0
. Upgrade step 3 of 4. This version sets the flag but will always interpret initial window updates as additive.
- Update to
yamux-0.6.0
. As explain below, this is step 2 of 4 in a multi-release upgrade. This version recognises and sets the flag that causes the new semantics for the initial window update.
-
Update to
yamux-0.5.0
. This is the start of a multi-release transition to a different behaviour w.r.t. the initial window update frame. Tracked in [1], this will change the initial window update to mean "in addition to the default receive window" rather than "the total receive window". This version recognises a temporary flag, that will cause the new meaning. The next version0.23.0
will also set the flag. Version0.24.0
will still set the flag but will always implement the new meaning, and (finally) version0.25.0
will no longer set the flag and always use the additive semantics. If current code uses the default Yamux configuration, all upgrades need to be performed in order because each version is only compatible with its immediate predecessor. Alternatively, if the default configuration is deployed withlazy_open
set totrue
, one can directly upgrade from version0.21.0
to0.25.0
without any intermediate upgrades. -
Bump
libp2p-core
dependency.
-
Bump
libp2p-core
dependency. -
Allow overriding the mode (client/server), e.g. in the context of TCP hole punching. PR 1691.
- Update
libp2p-core
, i.e.StreamMuxer::poll_inbound
has been renamed topoll_event
and returns aStreamMuxerEvent
.
- Deprecated method
Yamux::is_remote_acknowledged
has been removed as part of PR 1616.