- Raise MSRV to 1.88.0. See PR 6273.
- Update
yamuxto versionv0.13.3.`
- Deprecate
WindowUpdateMode::on_receive. It does not enforce flow-control, i.e. breaks backpressure. UseWindowUpdateMode::on_readinstead. Seeyamuxcrate versionv0.12.1and Yamux PR #177. yamuxv0.13enables 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-yamuxuseyamuxv0.13(new version) by default and fall back toyamuxv0.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-yamuxwill switch over toyamuxv0.13entirely with the next breaking release. See PR 4970.
- Migrate to
{In,Out}boundConnectionUpgradetraits. See PR 4695.
- Update to
yamuxv0.12which 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,LocalIncomingandLocalConfigas well as anything from the underlyingyamuxcrate from the public API. See PR 3908.
- Drop
Yamuxprefix from all types. Users are encouraged to import theyamuxmodule and refer to types viayamux::Muxer,yamux::Configetc. See PR 3852.
- Update to
libp2p-corev0.39.0.
-
Update to
libp2p-corev0.38.0. -
Update
rust-versionto reflect the actual MSRV: 1.60.0. See PR 3090.
- Yield from
StreamMuxer::pollas soon as we receive a single substream. This fixes issue 3041. See PR 3071.
- Update to
libp2p-corev0.37.0.
-
Update to
libp2p-corev0.36.0 -
Remove
OpenSubstreamTokenas 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-corev0.35.0
- Update to
libp2p-corev0.34.0.
- Update to
libp2p-corev0.33.0.
-
Update to
libp2p-corev0.32.0. -
Update to
parking_lotv0.12.0. See PR 2463.
-
Update dependencies.
-
Migrate to Rust edition 2021 (see PR 2339).
-
Update to
yamuxv0.10.0and thus defaulting toWindowUpdateMode::OnRead. See PR 2435.
-
Make default features of
libp2p-coreoptional. PR 2181 -
Update dependencies.
-
Implement
From<io::Error> for YamuxErrorinstead ofInto. PR 2169
- Update dependencies.
- Update to
yamuxv0.9.0PR 1960.
- Update
libp2p-core.
- Update
yamuxto0.8.1.
- Update dependencies.
- Update
libp2p-core.
- Update
libp2p-core.
-
Tweak the naming in the
MplexConfigAPI 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_openis 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.0will also set the flag. Version0.24.0will still set the flag but will always implement the new meaning, and (finally) version0.25.0will 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_openset totrue, one can directly upgrade from version0.21.0to0.25.0without any intermediate upgrades. -
Bump
libp2p-coredependency.
-
Bump
libp2p-coredependency. -
Allow overriding the mode (client/server), e.g. in the context of TCP hole punching. PR 1691.
- Update
libp2p-core, i.e.StreamMuxer::poll_inboundhas been renamed topoll_eventand returns aStreamMuxerEvent.
- Deprecated method
Yamux::is_remote_acknowledgedhas been removed as part of PR 1616.