PackageTrack
Sign in Get early access

multistream-select

Multistream-select negotiation protocol for libp2p

0.13.0 20M downloads/mo #2116 most downloaded on crates.io libp2p/rust-libp2p

What this package is like to depend on

Last release 3 years ago

no release in 18 months

Release timing varies

gaps range from 2 weeks to 9 months

Some releases are documented

notes for 14 of 25 stable releases

Nothing withdrawn

no release was ever pulled

8 years old

25 releases · first in 2019

0 releases in the last 12 months

see the full history below

Release timeline

25 releases · Jan 2019 to Jun 2023
2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 25
  1. 0.13.0 20 Jun 2023
    Release notes
    • Don't wait for negotiation on <Negotiated as AsyncWrite>::poll_close. This can save one round-trip for protocols that use stream closing as an operation in ones protocol, e.g. using stream closing to signal the end of a request. See PR 4019 for details.

    • Raise MSRV to 1.65. See PR 3715.

    Open source →
  2. 0.12.1 25 Nov 2022
    Release notes
    • Update rust-version to reflect the actual MSRV: 1.60.0. See PR 3090.
    Open source →
  3. 0.12.0 14 Oct 2022
    Release notes
    • Remove parallel dialing optimization, to avoid requiring the use of the ls command. See PR 2934.
    Open source →
  4. 0.11.0 27 Jan 2022
    Release notes
    • Migrate to Rust edition 2021 (see PR 2339).
    Open source →
  5. 0.10.4 15 Oct 2021
    Release notes
    • Implement From<io::Error> for ProtocolError instead of Into. PR 2169
    Open source →
  6. 0.10.2 01 Mar 2021
    Release notes
    • Re-enable "parallel negotiation" if the dialer has 3 or more alternative protocols. PR 1934
    Open source →
  7. 0.10.1 15 Feb 2021
    Release notes
    • Update dependencies.
    Open source →
  8. 0.10.0 12 Jan 2021
    Release notes
    • Update dependencies.
    Open source →
  9. 0.9.1 02 Dec 2020
    Release notes
    • Ensure uniform outcomes for failed negotiations with both V1 and V1Lazy. PR 1871
    Open source →
  10. 0.9.0 25 Nov 2020
    Release notes
    • 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.

    Open source →
  11. 0.8.5 09 Nov 2020
    Release notes
    • 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.
    Open source →
  12. 0.8.4 20 Oct 2020
    Release notes
    • Temporarily disable the internal selection of "parallel" protocol negotiation for the dialer to later change the response format of the "ls" message for spec compliance. See https://github.com/libp2p/rust-libp2p/issues/1795.
    Open source →
  13. 0.8.3 16 Oct 2020
    Release notes
    • Fix a regression resulting in a panic with the V1Lazy protocol. PR 1783.

    • Fix a potential deadlock during protocol negotiation due to a missing flush, potentially resulting in sporadic protocol upgrade timeouts. PR 1781.

    • Update dependencies.

    Open source →
  14. 0.8.2 22 Jun 2020
    Release notes
    • Updated dependencies.
    Open source →
  15. 0.8.1 25 May 2020

    Nothing published for this version

  16. 0.8.0 01 Apr 2020

    Nothing published for this version

  17. 0.7.0 07 Jan 2020

    Nothing published for this version

  18. 0.6.1 11 Dec 2019

    Nothing published for this version

  19. 0.6.0 06 Nov 2019

    Nothing published for this version

  20. 0.5.1 19 Aug 2019

    Nothing published for this version

  21. 0.5.0 15 Aug 2019

    Nothing published for this version

  22. 0.4.0 29 Mar 2019

    Nothing published for this version

  23. 0.3.0 30 Jan 2019

    Nothing published for this version

  24. 0.2.0 10 Jan 2019

    Nothing published for this version

  25. 0.1.0 02 Jan 2019

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive