Skip to content

Latest commit

 

History

History
223 lines (138 loc) · 6.84 KB

CHANGELOG.md

File metadata and controls

223 lines (138 loc) · 6.84 KB

0.45.1

  • Deprecate WindowUpdateMode::on_receive. It does not enforce flow-control, i.e. breaks backpressure. Use WindowUpdateMode::on_read instead. See yamux crate version v0.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. Have libp2p-yamux use yamux v0.13 (new version) by default and fall back to yamux 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 to yamux v0.13 entirely with the next breaking release. See PR 4970.

0.45.0

  • Migrate to {In,Out}boundConnectionUpgrade traits. See PR 4695.

0.44.1

  • 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.

0.44.0

  • Raise MSRV to 1.65. See PR 3715.

  • Remove deprecated items. See PR 3897.

  • Remove Incoming, LocalIncoming and LocalConfig as well as anything from the underlying yamux crate from the public API. See PR 3908.

0.43.1

  • Drop Yamux prefix from all types. Users are encouraged to import the yamux module and refer to types via yamux::Muxer, yamux::Config etc. See PR 3852.

0.43.0

  • Update to libp2p-core v0.39.0.

0.42.0

  • Update to libp2p-core v0.38.0.

  • Update rust-version to reflect the actual MSRV: 1.60.0. See PR 3090.

0.41.1

  • Yield from StreamMuxer::poll as soon as we receive a single substream. This fixes issue 3041. See PR 3071.

0.41.0

  • Update to libp2p-core v0.37.0.

0.40.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.

0.39.0

  • Update to libp2p-core v0.35.0

0.38.0

  • Update to libp2p-core v0.34.0.

0.37.0

  • Update to libp2p-core v0.33.0.

0.36.0 [2022-02-22]

  • Update to libp2p-core v0.32.0.

  • Update to parking_lot v0.12.0. See PR 2463.

0.35.0 [2022-01-27]

  • Update dependencies.

  • Migrate to Rust edition 2021 (see PR 2339).

  • Update to yamux v0.10.0 and thus defaulting to WindowUpdateMode::OnRead. See PR 2435.

0.34.0 [2021-11-01]

  • Make default features of libp2p-core optional. PR 2181

  • Update dependencies.

  • Implement From<io::Error> for YamuxError instead of Into. PR 2169

0.33.0 [2021-07-12]

  • Update dependencies.

0.32.0 [2021-04-13]

0.31.0 [2021-03-17]

  • Update libp2p-core.

0.30.1 [2021-02-17]

  • Update yamux to 0.8.1.

0.30.0 [2021-01-12]

  • Update dependencies.

0.29.0 [2020-12-17]

  • Update libp2p-core.

0.28.0 [2020-11-25]

  • Update libp2p-core.

0.27.0 [2020-11-09]

  • Tweak the naming in the MplexConfig API for better consistency with libp2p-mplex. PR 1822.

  • Update dependencies.

0.26.0 [2020-10-16]

  • Update libp2p-core.

0.25.0 [2020-09-09]

  • 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 option lazy_open is removed. Yamux will automatically send an initial window update if the receive window is configured to be larger than the default.

0.24.0 [2020-09-09]

  • 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.

0.23.0 [2020-09-09]

  • 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.

0.22.0 [2020-09-09]

  • 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 version 0.23.0 will also set the flag. Version 0.24.0 will still set the flag but will always implement the new meaning, and (finally) version 0.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 with lazy_open set to true, one can directly upgrade from version 0.21.0 to 0.25.0 without any intermediate upgrades.

  • Bump libp2p-core dependency.

0.21.0 [2020-08-18]

  • Bump libp2p-core dependency.

  • Allow overriding the mode (client/server), e.g. in the context of TCP hole punching. PR 1691.

0.20.0 [2020-07-01]

  • Update libp2p-core, i.e. StreamMuxer::poll_inbound has been renamed to poll_event and returns a StreamMuxerEvent.

0.19.1 [2020-06-22]

  • Deprecated method Yamux::is_remote_acknowledged has been removed as part of PR 1616.