- Derive
PartialOrd
andOrd
for{Out,In}boundRequestId
. See PR 4956.
- Remove
request_response::Config::set_connection_keep_alive
in 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
InboundRequestId
andOutboundRequestId
. See PR 3914. - Keep peer addresses in
HashSet
instead ofSmallVec
to prevent adding duplicate addresses. See PR 4700.
- Deprecate
request_response::Config::set_connection_keep_alive
in favor ofSwarmBuilder::idle_connection_timeout
. See PR 4029.
- Replace unmaintained
serde_cbor
dependency withcbor4ii
. See PR 4187.
-
Add
request_response::json::Behaviour
andrequest_response::cbor::Behaviour
building on top of theserde
traits. To conveniently construct these, we remove theCodec
parameter fromBehaviour::new
and addBehaviour::with_codec
. See PR 3952. -
Raise MSRV to 1.65. See PR 3715.
-
Remove deprecated
RequestResponse
prefixed items. See PR 3702. -
Remove
InboundFailure::UnsupportedProtocols
andInboundFailure::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.
- Deprecate
handler
,codec
modules to make them private. See PR 3847.
-
Update to
libp2p-core
v0.39.0
. -
Rename types as per discussion 2174.
RequestResponse
has been renamed toBehaviour
. TheRequestResponse
prefix 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::Behaviour
orrequest_response::Event
. See PR 3159. -
Update to
libp2p-swarm
v0.42.0
.
-
Update to
libp2p-core
v0.38.0
. -
Update to
libp2p-swarm
v0.41.0
. -
Replace
RequestResponse
'sNetworkBehaviour
implementioninject_*
methods with the newon_*
methods. See PR 3011. -
Replace
RequestResponseHandler
'sConnectionHandler
implementioninject_*
methods with the newon_*
methods. See PR 3085. -
Update
rust-version
to reflect the actual MSRV: 1.62.0. See PR 3090.
-
Bump rand to 0.8 and quickcheck to 1. See PR 2857.
-
Update to
libp2p-core
v0.37.0
. -
Update to
libp2p-swarm
v0.40.0
.
-
Update to
libp2p-swarm
v0.39.0
. -
Update to
libp2p-core
v0.36.0
.
-
Update to
libp2p-swarm
v0.38.0
. -
Update to
libp2p-core
v0.35.0
.
-
Update to
libp2p-core
v0.34.0
. -
Update to
libp2p-swarm
v0.37.0
.
-
Update to
libp2p-core
v0.33.0
. -
Update to
libp2p-swarm
v0.36.0
.
- Update to
libp2p-swarm
v0.35.0
.
-
Update to
libp2p-core
v0.32.0
. -
Update to
libp2p-swarm
v0.34.0
. -
Merge NetworkBehaviour's inject_* paired methods (see PR 2445).
-
Update dependencies.
-
Remove unused
lru
crate (see PR 2358). -
Migrate to Rust edition 2021 (see PR 2339).
-
Use
instant
instead ofwasm-timer
(see PR 2245). -
Update dependencies.
-
Make default features of
libp2p-core
optional. PR 2181 -
Update dependencies.
-
Manually implement
Debug
forRequestResponseHandlerEvent
andRequestProtocol
. See PR 2183. -
Remove
RequestResponse::throttled
and thethrottled
module. See PR 2236.
- Update dependencies.
- Update
libp2p-swarm
. - Implement
std::error::Error
forInboundFailure
andOutboundFailure
PR 2033.
-
Update
libp2p-swarm
. -
Close stream even when no response has been sent. PR 1987.
-
Update dependencies.
-
Make
is_pending_outbound
return true on pending connection. PR 1928. -
Update dependencies.
-
Update dependencies.
-
Re-export
throttled
-specific response channel. PR 1902.
-
Update
libp2p-swarm
andlibp2p-core
. -
Emit
InboundFailure::ConnectionClosed
for inbound requests that failed due to the underlying connection closing. PR 1886. -
Derive Clone for
InboundFailure
andOutbound}Failure
. PR 1891
- Refine emitted events for inbound requests, introducing
the
ResponseSent
event and theResponseOmission
inbound failures. This effectively removes previous support for one-way protocols without responses. PR 1867.
- Update
libp2p-swarm
andlibp2p-core
.
- Update dependencies.
- Update dependencies.
-
Add support for opt-in request-based flow-control to any request-response protocol via
RequestResponse::throttled()
. PR 1726. -
Update
libp2p-swarm
andlibp2p-core
.
- Fixed connection keep-alive, permitting connections to close due to inactivity.
- Bump
libp2p-core
andlibp2p-swarm
dependencies.
- Always properly
close()
the substream after sending requests and responses in theInboundUpgrade
andOutboundUpgrade
. Otherwise this is left toRequestResponseCodec::write_request
andRequestResponseCodec::write_response
, which can be a pitfall and lead to subtle problems (see e.g. libp2p#1606).
- Initial release.