- Use
web-time
instead ofinstant
. See PR 5347. - Fix manual closure of relayed listener. See PR 5491
- Add resource limits to
CircuitReq
to be set See PR 5493
- Fix support for unlimited relay connection according to spec. See PR 5244.
- use
web_time
Instant
andSystemTime
versions for wasm support. See PR 5328.
- Automatically register relayed addresses as external addresses. See PR 4809.
- Fix an error where performing too many reservations at once could lead to inconsistent internal state. See PR 4841.
-
Don't close connections on protocol failures within the relay-server. To achieve this, error handling was restructured:
libp2p::relay::outbound::stop::FatalUpgradeError
has been removed.libp2p::relay::outbound::stop::{Error, ProtocolViolation}
have been introduced.- Several variants of
libp2p::relay::Event
have been deprecated.
See PR 4718.
-
Fix a rare race condition when making a reservation on a relay that could lead to a failed reservation. See PR 4747.
-
Propagate errors of relay client to the listener / dialer. A failed reservation will now appear as
SwarmEvent::ListenerClosed
with theListenerId
of the correspondingSwarm::listen_on
call. A failed circuit request will now appear asSwarmEvent::OutgoingConnectionError
with theConnectionId
of the correspondingSwarm::dial
call. Lastly, a failed reservation or circuit request will no longer close the underlying relay connection. As a result, we remove the following enum variants:relay::client::Event::ReservationReqFailed
relay::client::Event::OutboundCircuitReqFailed
relay::client::Event::InboundCircuitReqDenied
relay::client::Event::InboundCircuitReqDenyFailed
See PR 4745.
-
Export
RateLimiter
type. See PR 3742. -
Add functions to access data within
Limit
. See PR 4162. -
Remove unconditional
async-std
dependency. See PR 4283.
-
Raise MSRV to 1.65. See PR 3715.
-
Hide internals of
Connection
and expose onlyAsyncRead
andAsyncWrite
. See PR 3829. -
Remove
Event::CircuitReqReceiveFailed
andEvent::InboundCircuitReqFailed
variants. These variants are no longer constructed. See PR 3605. -
Remove deprecated items. See PR 3948.
-
Send correct
PeerId
in outbound STOP message to client. See PR 3767. -
As a relay, when forwarding data between relay-connection-source and -destination and vice versa, flush write side when read currently has no more data available. See PR 3765.
- Migrate from
prost
toquick-protobuf
. This removesprotoc
dependency. See PR 3312.
-
Rename types as per discussion 2174.
Relay
has been renamed toBehaviour
. TheRelay
, andClient
prefixes have been removed from various types likeClientTransport
. thev2
namespace has also been removed, users should prefer importing the relay protocol as a module (use libp2p::relay;
), and refer to its types viarelay::
. For example:relay::Behaviour
orrelay::client::Behaviour
. See PR 3238. -
Update to
libp2p-core
v0.39.0
. -
Update to
libp2p-swarm
v0.42.0
.
-
Update to
prost-codec
v0.3.0
. -
Update to
libp2p-core
v0.38.0
. -
Update to
libp2p-swarm
v0.41.0
. -
Replace
Client
andRelay
'sNetworkBehaviour
implementioninject_*
methods with the newon_*
methods. See PR 3011. -
Replace
client::Handler
andrelay::Handler
'sConnectionHandler
implementioninject_*
methods with the newon_*
methods. See PR 3085. -
Update
rust-version
to reflect the actual MSRV: 1.62.0. See PR 3090.
-
Update to
libp2p-core
v0.37.0
. -
Update to
libp2p-swarm
v0.40.0
. -
Fix WASM compilation. See PR 2991.
-
Update to
libp2p-swarm
v0.39.0
. -
Update to
libp2p-core
v0.36.0
.
-
Update prost requirement from 0.10 to 0.11 which no longer installs the protoc Protobuf compiler. Thus you will need protoc installed locally. See PR 2788.
-
Update to
libp2p-swarm
v0.38.0
. -
Expose
HOP_PROTOCOL_NAME
andSTOP_PROTOCOL_NAME
. See PR 2734. -
Update to
libp2p-core
v0.35.0
.
-
Update to
libp2p-core
v0.34.0
. -
Update to
libp2p-swarm
v0.37.0
. -
Do not duplicate the p2p/xxx component with the relay PeerId when a client requests a reservation. See PR 2701.
-
Drive the
RelayListener
s within theClientTransport
. AddTransport::poll
andTransport::remove_listener
forClientTransport
. See PR 2652.
-
Respond to at most one incoming reservation request. Deny <= 8 incoming circuit requests with one per peer. And deny new circuits before accepting new circuits. See PR 2698.
-
Expose explicits errors via
UpgradeError
instead of genericio::Error
. See PR 2698.
-
Update to
libp2p-core
v0.33.0
. -
Update to
libp2p-swarm
v0.36.0
.
-
Expose
{Inbound,Outbound}{Hop,Stop}UpgradeError
. See PR 2586. -
Update to
libp2p-swarm
v0.35.0
. -
Remove support for Circuit Relay v1 protocol. See PR 2549.
-
Update to
libp2p-core
v0.32.0
. -
Update to
libp2p-swarm
v0.34.0
. -
Merge NetworkBehaviour's inject_* paired methods (see PR 2445).
- Remove empty peer entries in
reservations
HashMap
. See PR 2464.
-
Update dependencies.
-
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.
-
Implement
Debug
forRelayHandlerEvent
andRelayHandlerIn
. See PR 2183.
- Update dependencies.
- Update
libp2p-swarm
.
- First release supporting all major features of the circuit relay v1 specification. PR 1838.