- Remove
ConnectionInfo
trait and replace it withPeerId
everywhere. This was already effectively the case becauseConnectionInfo
was implemented onPeerId
.
- Update dependencies.
-
Rework transport boxing and move timeout configuration to the transport builder. PR 1794.
-
Update dependencies.
- Require at least parity-multiaddr v0.9.2 in order to fulfill
Ord
bound onMultiaddr
. PR 1742.
-
Simplify incoming connection handling. The
IncomingConnectionEvent
has been removed. Instead, pass theIncomingConnection
obtained fromNetworkEvent::IncomingConnection
toNetwork::accept()
. PR 1732. -
Allow any closure to be passed as an executor. PR 1686
-
Remove
PeerId
compatibility mode for "identity" and SHA2 hashes. Historically, before 0.12,PeerId
s were incorrectly always hashed with SHA2. Starting from version 0.13, rust-libp2p accepted both hashed and non-hashed keys as input. Starting from version 0.16 rust-libp2p comparedPeerId
s of "identity" and SHA2 hashes equal, which made it possible to connect through secio or noise to nodes with an identity hash for the same peer ID. Starting from version 0.17, rust-libp2p switched to not hashing the key (i.e. the correct behaviour) while retaining equality between peer IDs using the "identity" hash and SHA2. Finally, with this release, that will no longer be the case and it is assumed that peer IDs whose length is less or equal to 42 bytes always use the "identity" hash so two peer IDs are equal if and only if they use the same hash algorithm and have the same hash digest. PR 1608. -
Return dialer address instead of listener address as
remote_addr
inMemoryTransport
Listener
ListenerEvent::Upgrade
PR 1724.
-
Remove duplicates when performing address translation PR 1697.
-
Add
transport::Builder::multiplex_ext
for further customisation duringStreamMuxer
creation. PR 1691. -
Refactoring of connection close and disconnect behaviour. In particular, the former
NetworkEvent::ConnectionError
is nowNetworkEvent::ConnectionClosed
with theerror
field being anOption
andNone
indicating an active (but not necessarily orderly) close. This guarantees thatConnectionEstablished
events are always eventually paired withConnectionClosed
events, regardless of how connections are closed. Correspondingly,EstablishedConnection::close
is nowEstablishedConnection::start_close
to reflect that an orderly close completes asynchronously in the background, with the outcome observed by continued polling of theNetwork
. In contrast,disconnect
ing a peer takes effect immediately without an orderly connection shutdown. See PR 1619 for further details. -
Add
ConnectedPoint::get_remote_address
(PR 1649).
- Update ed25519-dalek dependency.
-
Conditional compilation fixes for the
wasm32-wasi
target (PR 1633). -
Rename
StreamMuxer::poll_inbound
topoll_event
and change the return value toStreamMuxerEvent
. This newStreamMuxerEvent
makes it possible for the multiplexing layer to notify the upper layers of a change in the address of the underlying connection. -
Add
ConnectionHandler::inject_address_change
.