Skip to content

Latest commit

 

History

History
265 lines (164 loc) · 8.21 KB

CHANGELOG.md

File metadata and controls

265 lines (164 loc) · 8.21 KB

0.18.0

0.17.3

  • Use web-time instead of instant. See PR 5347.
  • Fix manual closure of relayed listener. See PR 5491
  • Add resource limits to CircuitReq to be set See PR 5493

0.17.2

  • Fix support for unlimited relay connection according to spec. See PR 5244.
  • use web_time Instant and SystemTime versions for wasm support. See PR 5328.

0.17.1

  • 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.

0.17.0

  • 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 the ListenerId of the corresponding Swarm::listen_on call. A failed circuit request will now appear as SwarmEvent::OutgoingConnectionError with the ConnectionId of the corresponding Swarm::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.

0.16.2

0.16.1

  • Export RateLimiter type. See PR 3742.

  • Add functions to access data within Limit. See PR 4162.

  • Remove unconditional async-std dependency. See PR 4283.

0.16.0

  • Raise MSRV to 1.65. See PR 3715.

  • Hide internals of Connection and expose only AsyncRead and AsyncWrite. See PR 3829.

  • Remove Event::CircuitReqReceiveFailed and Event::InboundCircuitReqFailed variants. These variants are no longer constructed. See PR 3605.

  • Remove deprecated items. See PR 3948.

0.15.2

  • 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.

0.15.1

  • Migrate from prost to quick-protobuf. This removes protoc dependency. See PR 3312.

0.15.0

  • Rename types as per discussion 2174. Relay has been renamed to Behaviour. The Relay, and Client prefixes have been removed from various types like ClientTransport. the v2 namespace has also been removed, users should prefer importing the relay protocol as a module (use libp2p::relay;), and refer to its types via relay::. For example: relay::Behaviour or relay::client::Behaviour. See PR 3238.

  • Update to libp2p-core v0.39.0.

  • Update to libp2p-swarm v0.42.0.

0.14.0

  • Update to prost-codec v0.3.0.

  • Update to libp2p-core v0.38.0.

  • Update to libp2p-swarm v0.41.0.

  • Replace Client and Relay's NetworkBehaviour implemention inject_* methods with the new on_* methods. See PR 3011.

  • Replace client::Handler and relay::Handler's ConnectionHandler implemention inject_* methods with the new on_* methods. See PR 3085.

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

0.13.0

  • Update to libp2p-core v0.37.0.

  • Update to libp2p-swarm v0.40.0.

  • Fix WASM compilation. See PR 2991.

0.12.0

  • Update to libp2p-swarm v0.39.0.

  • Update to libp2p-core v0.36.0.

0.11.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 and STOP_PROTOCOL_NAME. See PR 2734.

  • Update to libp2p-core v0.35.0.

0.10.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 RelayListeners within the ClientTransport. Add Transport::poll and Transport::remove_listener for ClientTransport. See PR 2652.

0.9.1

  • 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 generic io::Error. See PR 2698.

0.9.0

  • Update to libp2p-core v0.33.0.

  • Update to libp2p-swarm v0.36.0.

0.8.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.

0.7.0 [2022-02-22]

  • Update to libp2p-core v0.32.0.

  • Update to libp2p-swarm v0.34.0.

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

0.6.1 [2022-02-02]

  • Remove empty peer entries in reservations HashMap. See PR 2464.

0.6.0 [2022-01-27]

  • Update dependencies.

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

0.5.0 [2021-11-16]

  • Use instant instead of wasm-timer (see PR 2245).

  • Update dependencies.

0.4.0 [2021-11-01]

  • Make default features of libp2p-core optional. PR 2181

  • Update dependencies.

  • Implement Debug for RelayHandlerEvent and RelayHandlerIn. See PR 2183.

0.3.0 [2021-07-12]

  • Update dependencies.

0.2.0 [2021-04-13]

  • Update libp2p-swarm.

0.1.0 [2021-03-17]

  • First release supporting all major features of the circuit relay v1 specification. PR 1838.