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 2025Releases
latest 41-
0.29.027 Jun 2025Release notes
Open source →-
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 -->
-
-
0.28.127 Jun 2025 withdrawnNothing published for this version
-
0.28.014 Jan 2025Release notes
Open source →-
Deprecate
voidcrate. 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
jsonandcborcodec. See PR 5792.
<!-- Update to libp2p-core v0.43.0 -->
-
-
0.27.009 Aug 2024 -
0.26.304 Jun 2024 -
0.26.201 May 2024Release notes
Open source →- Deprecate
Behaviour::add_addressin favor ofSwarm::add_peer_address. See PR 4371.
- Deprecate
-
0.26.109 Dec 2023 -
0.26.005 Nov 2023Release notes
Open source →- Remove
request_response::Config::set_connection_keep_alivein favor ofSwarmBuilder::idle_connection_timeout. See PR 4679. - Allow at most 100 concurrent inbound + outbound streams per instance of
request_response::Behaviour. This limit is configurable viaConfig::with_max_concurrent_streams. See PR 3914. - Report IO failures on inbound and outbound streams. See PR 3914.
- Introduce dedicated types for
InboundRequestIdandOutboundRequestId. See PR 3914. - Keep peer addresses in
HashSetinstead ofSmallVecto prevent adding duplicate addresses. See PR 4700.
- Remove
-
0.25.326 Oct 2023Nothing published for this version
-
0.25.218 Oct 2023Release notes
Open source →- Deprecate
request_response::Config::set_connection_keep_alivein favor ofSwarmBuilder::idle_connection_timeout. See PR 4029.
<!-- Internal changes
- Allow deprecated usage of
KeepAlive::Until
-->
- Deprecate
-
0.25.111 Aug 2023 -
0.25.020 Jun 2023Release notes
Open source →-
Add
request_response::json::Behaviourandrequest_response::cbor::Behaviourbuilding on top of theserdetraits. To conveniently construct these, we remove theCodecparameter fromBehaviour::newand addBehaviour::with_codec. See PR 3952. -
Raise MSRV to 1.65. See PR 3715.
-
Remove deprecated
RequestResponseprefixed items. See PR 3702. -
Remove
InboundFailure::UnsupportedProtocolsandInboundFailure::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.
-
-
0.24.101 May 2023 -
0.24.024 Feb 2023Release notes
Open source →-
Update to
libp2p-corev0.39.0. -
Rename types as per discussion 2174.
RequestResponsehas been renamed toBehaviour. TheRequestResponseprefix has been removed from various types likeRequestResponseEvent. Users should prefer importing the request_response protocol as a module (use libp2p::request_response;), and refer to its types viarequest_response::. For example:request_response::Behaviourorrequest_response::Event. See PR 3159. -
Update to
libp2p-swarmv0.42.0.
-
-
0.23.025 Nov 2022Release notes
Open source →-
Update to
libp2p-corev0.38.0. -
Update to
libp2p-swarmv0.41.0. -
Replace
RequestResponse'sNetworkBehaviourimplementationinject_*methods with the newon_*methods. See PR 3011. -
Replace
RequestResponseHandler'sConnectionHandlerimplementationinject_*methods with the newon_*methods. See PR 3085. -
Update
rust-versionto reflect the actual MSRV: 1.62.0. See PR 3090.
-
-
0.22.114 Oct 2022Nothing published for this version
-
0.21.007 Sep 2022 -
0.20.022 Aug 2022 -
0.19.005 Jul 2022 -
0.18.031 May 2022 -
0.17.004 Apr 2022 -
0.16.022 Feb 2022Release notes
Open source →-
Update to
libp2p-corev0.32.0. -
Update to
libp2p-swarmv0.34.0. -
Merge NetworkBehaviour's inject_* paired methods (see PR 2445).
-
-
0.15.027 Jan 2022 -
0.14.110 Jan 2022Nothing published for this version
-
0.14.016 Nov 2021 -
0.13.001 Nov 2021 -
0.13.0-rc.115 Oct 2021 pre-releaseNothing published for this version
-
0.12.012 Jul 2021 -
0.11.013 Apr 2021Release notes
Open source →- Update
libp2p-swarm. - Implement
std::error::ErrorforInboundFailureandOutboundFailurePR 2033.
- Update
-
0.10.017 Mar 2021Release notes
Open source →-
Update
libp2p-swarm. -
Close stream even when no response has been sent. PR 1987.
-
Update dependencies.
-
-
0.9.115 Feb 2021Release notes
Open source →-
Make
is_pending_outboundreturn true on pending connection. PR 1928. -
Update dependencies.
-
-
0.9.012 Jan 2021Release notes
Open source →-
Update dependencies.
-
Re-export
throttled-specific response channel. PR 1902.
-
-
0.8.018 Dec 2020 -
0.7.008 Dec 2020Release notes
Open source →- Refine emitted events for inbound requests, introducing
the
ResponseSentevent and theResponseOmissioninbound failures. This effectively removes previous support for one-way protocols without responses. PR 1867.
- Refine emitted events for inbound requests, introducing
the
-
0.6.025 Nov 2020 -
0.5.009 Nov 2020 -
0.4.016 Oct 2020 -
0.3.009 Sep 2020Release notes
Open source →-
Add support for opt-in request-based flow-control to any request-response protocol via
RequestResponse::throttled(). PR 1726. -
Update
libp2p-swarmandlibp2p-core.
-
-
0.2.018 Aug 2020Release notes
Open source →- Fixed connection keep-alive, permitting connections to close due to inactivity.
- Bump
libp2p-coreandlibp2p-swarmdependencies.
-
0.1.113 Jul 2020Release notes
Open source →- Always properly
close()the substream after sending requests and responses in theInboundUpgradeandOutboundUpgrade. Otherwise this is left toRequestResponseCodec::write_requestandRequestResponseCodec::write_response, which can be a pitfall and lead to subtle problems (see e.g. https://github.com/libp2p/rust-libp2p/pull/1606).
- Always properly
-
0.1.001 Jul 2020