PackageTrack
Sign in Get early access

libp2p-request-response

Generic Request/Response Protocols

0.29.0 14M downloads/mo #2600 most downloaded on crates.io libp2p/rust-libp2p

What this package is like to depend on

Last release 1 years ago

27 Jun 2025

Release timing varies

gaps range from 8 days to 5 months

Nearly every release is documented

notes for 36 of 39 stable releases

1 version withdrawn

withdrawn after publishing

6 years old

41 releases · first in 2020

0 releases in the last 12 months

see the full history below

Release timeline

41 releases · Jul 2020 to Jun 2025
2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 41
  1. 0.29.0 27 Jun 2025
    Release notes
    • fix: public cbor/json codec module See PR 5830.

    • feat: add Behaviour::send_request_with_addresses() See PR 5938.

    • fix: don't fail outbound request on DialError::DialPeerConditionFalse. See PR 6000

    <!-- Update to libp2p-swarm v0.47.0 -->

    Open source →
  2. 0.28.1 27 Jun 2025 withdrawn

    Nothing published for this version

  3. 0.28.0 14 Jan 2025
    Release notes
    • Deprecate void crate. See PR 5676.

    • Add connection id to the events emitted by a request-response Behaviour. See PR 5719.

    • Allow configurable request and response sizes for json and cbor codec. See PR 5792.

    <!-- Update to libp2p-core v0.43.0 -->

    Open source →
  4. 0.27.0 09 Aug 2024
    Release notes

    <!-- Update to libp2p-swarm v0.45.0 -->

    Open source →
  5. 0.26.3 04 Jun 2024
    Release notes
    • Report failure when streams are at capacity. See PR 5417.

    • Report dial IO errors to the user. See PR 5429.

    Open source →
  6. 0.26.2 01 May 2024
    Release notes
    • Deprecate Behaviour::add_address in favor of Swarm::add_peer_address. See PR 4371.
    Open source →
  7. 0.26.1 09 Dec 2023
    Release notes
    • Derive PartialOrd and Ord for {Out,In}boundRequestId. See PR 4956.
    Open source →
  8. 0.26.0 05 Nov 2023
    Release notes
    • Remove request_response::Config::set_connection_keep_alive in favor of SwarmBuilder::idle_connection_timeout. See PR 4679.
    • Allow at most 100 concurrent inbound + outbound streams per instance of request_response::Behaviour. This limit is configurable via Config::with_max_concurrent_streams. See PR 3914.
    • Report IO failures on inbound and outbound streams. See PR 3914.
    • Introduce dedicated types for InboundRequestId and OutboundRequestId. See PR 3914.
    • Keep peer addresses in HashSet instead of SmallVec to prevent adding duplicate addresses. See PR 4700.
    Open source →
  9. 0.25.3 26 Oct 2023

    Nothing published for this version

  10. 0.25.2 18 Oct 2023
    Release notes
    • Deprecate request_response::Config::set_connection_keep_alive in favor of SwarmBuilder::idle_connection_timeout. See PR 4029.

    <!-- Internal changes

    • Allow deprecated usage of KeepAlive::Until

    -->

    Open source →
  11. 0.25.1 11 Aug 2023
    Release notes
    • Replace unmaintained serde_cbor dependency with cbor4ii. See PR 4187.
    Open source →
  12. 0.25.0 20 Jun 2023
    Release notes
    • Add request_response::json::Behaviour and request_response::cbor::Behaviour building on top of the serde traits. To conveniently construct these, we remove the Codec parameter from Behaviour::new and add Behaviour::with_codec. See PR 3952.

    • Raise MSRV to 1.65. See PR 3715.

    • Remove deprecated RequestResponse prefixed items. See PR 3702.

    • Remove InboundFailure::UnsupportedProtocols and InboundFailure::InboundTimeout. These variants are no longer constructed. See PR 3605.

    • Don't close connections if individual streams fail. Log the error instead. See PR 3913.

    Open source →
  13. 0.24.1 01 May 2023
    Release notes
    • Deprecate handler, codec modules to make them private. See PR 3847.
    Open source →
  14. 0.24.0 24 Feb 2023
    Release notes
    • Update to libp2p-core v0.39.0.

    • Rename types as per discussion 2174. RequestResponse has been renamed to Behaviour. The RequestResponse prefix has been removed from various types like RequestResponseEvent. Users should prefer importing the request_response protocol as a module (use libp2p::request_response;), and refer to its types via request_response::. For example: request_response::Behaviour or request_response::Event. See PR 3159.

    • Update to libp2p-swarm v0.42.0.

    Open source →
  15. 0.23.0 25 Nov 2022
    Release notes
    • Update to libp2p-core v0.38.0.

    • Update to libp2p-swarm v0.41.0.

    • Replace RequestResponse's NetworkBehaviour implementation inject_* methods with the new on_* methods. See PR 3011.

    • Replace RequestResponseHandler's ConnectionHandler implementation inject_* methods with the new on_* methods. See PR 3085.

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

    Open source →
  16. 0.22.1 14 Oct 2022

    Nothing published for this version

  17. 0.21.0 07 Sep 2022
    Release notes
    • Update to libp2p-swarm v0.39.0.

    • Update to libp2p-core v0.36.0.

    Open source →
  18. 0.20.0 22 Aug 2022
    Release notes
    • Update to libp2p-swarm v0.38.0.

    • Update to libp2p-core v0.35.0.

    Open source →
  19. 0.19.0 05 Jul 2022
    Release notes
    • Update to libp2p-core v0.34.0.

    • Update to libp2p-swarm v0.37.0.

    Open source →
  20. 0.18.0 31 May 2022
    Release notes
    • Update to libp2p-core v0.33.0.

    • Update to libp2p-swarm v0.36.0.

    Open source →
  21. 0.17.0 04 Apr 2022
    Release notes
    • Update to libp2p-swarm v0.35.0.
    Open source →
  22. 0.16.0 22 Feb 2022
    Release notes
    • Update to libp2p-core v0.32.0.

    • Update to libp2p-swarm v0.34.0.

    • Merge NetworkBehaviour's inject_* paired methods (see PR 2445).

    Open source →
  23. 0.15.0 27 Jan 2022
    Release notes
    • Update dependencies.

    • Remove unused lru crate (see PR 2358).

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

    Open source →
  24. 0.14.1 10 Jan 2022

    Nothing published for this version

  25. 0.14.0 16 Nov 2021
    Release notes
    • Use instant instead of wasm-timer (see PR 2245).

    • Update dependencies.

    Open source →
  26. 0.13.0 01 Nov 2021
    Release notes
    • Make default features of libp2p-core optional. PR 2181

    • Update dependencies.

    • Manually implement Debug for RequestResponseHandlerEvent and RequestProtocol. See PR 2183.

    • Remove RequestResponse::throttled and the throttled module. See PR 2236.

    Open source →
  27. 0.13.0-rc.1 15 Oct 2021 pre-release

    Nothing published for this version

  28. 0.12.0 12 Jul 2021
    Release notes
    • Update dependencies.
    Open source →
  29. 0.11.0 13 Apr 2021
    Release notes
    • Update libp2p-swarm.
    • Implement std::error::Error for InboundFailure and OutboundFailure PR 2033.
    Open source →
  30. 0.10.0 17 Mar 2021
    Release notes
    • Update libp2p-swarm.

    • Close stream even when no response has been sent. PR 1987.

    • Update dependencies.

    Open source →
  31. 0.9.1 15 Feb 2021
    Release notes
    • Make is_pending_outbound return true on pending connection. PR 1928.

    • Update dependencies.

    Open source →
  32. 0.9.0 12 Jan 2021
    Release notes
    • Update dependencies.

    • Re-export throttled-specific response channel. PR 1902.

    Open source →
  33. 0.8.0 18 Dec 2020
    Release notes
    • Update libp2p-swarm and libp2p-core.

    • Emit InboundFailure::ConnectionClosed for inbound requests that failed due to the underlying connection closing. PR 1886.

    • Derive Clone for InboundFailure and Outbound}Failure. PR 1891

    Open source →
  34. 0.7.0 08 Dec 2020
    Release notes
    • Refine emitted events for inbound requests, introducing the ResponseSent event and the ResponseOmission inbound failures. This effectively removes previous support for one-way protocols without responses. PR 1867.
    Open source →
  35. 0.6.0 25 Nov 2020
    Release notes
    • Update libp2p-swarm and libp2p-core.
    Open source →
  36. 0.5.0 09 Nov 2020
    Release notes
    • Update dependencies.
    Open source →
  37. 0.4.0 16 Oct 2020
    Release notes
    • Update dependencies.
    Open source →
  38. 0.3.0 09 Sep 2020
    Release notes
    • Add support for opt-in request-based flow-control to any request-response protocol via RequestResponse::throttled(). PR 1726.

    • Update libp2p-swarm and libp2p-core.

    Open source →
  39. 0.2.0 18 Aug 2020
    Release notes
    • Fixed connection keep-alive, permitting connections to close due to inactivity.
    • Bump libp2p-core and libp2p-swarm dependencies.
    Open source →
  40. 0.1.1 13 Jul 2020
    Release notes
    • Always properly close() the substream after sending requests and responses in the InboundUpgrade and OutboundUpgrade. Otherwise this is left to RequestResponseCodec::write_request and RequestResponseCodec::write_response, which can be a pitfall and lead to subtle problems (see e.g. https://github.com/libp2p/rust-libp2p/pull/1606).
    Open source →
  41. 0.1.0 01 Jul 2020
    Release notes
    • Initial release.
    Open source →

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