2021-10-30 12:41:30 +02:00
|
|
|
# 0.30.1 [unreleased]
|
|
|
|
|
|
|
|
- Use `instant` instead of `wasm-timer` (see [PR 2245]).
|
|
|
|
|
|
|
|
[PR 2245]: https://github.com/libp2p/rust-libp2p/pull/2245
|
|
|
|
|
2021-11-02 20:40:48 +01:00
|
|
|
# 0.30.0 [2021-11-01]
|
2021-07-22 22:34:13 +02:00
|
|
|
|
2021-07-31 03:22:53 +10:00
|
|
|
- Add `ConnectionLimit::with_max_established` (see [PR 2137]).
|
|
|
|
|
2021-07-28 17:59:08 +02:00
|
|
|
- Add `Keypair::to_protobuf_encoding` (see [PR 2142]).
|
|
|
|
|
2021-07-22 22:34:13 +02:00
|
|
|
- Change `PublicKey::into_protobuf_encoding` to `PublicKey::to_protobuf_encoding` (see [PR 2145]).
|
|
|
|
|
|
|
|
- Change `PublicKey::into_peer_id` to `PublicKey::to_peer_id` (see [PR 2145]).
|
|
|
|
|
|
|
|
- Change `PeerId::from_public_key(PublicKey)` to `PeerId::from_public_key(&PublicKey)` (see [PR 2145]).
|
|
|
|
|
|
|
|
- Add `From<&PublicKey> for PeerId` (see [PR 2145]).
|
|
|
|
|
2021-08-11 12:41:28 +02:00
|
|
|
- Remove `TInEvent` and `TOutEvent` trait paramters on most public types.
|
|
|
|
`TInEvent` and `TOutEvent` are implied through `THandler` and thus
|
|
|
|
superflucious. Both are removed in favor of a derivation through `THandler`
|
|
|
|
(see [PR 2183]).
|
|
|
|
|
|
|
|
- Require `ConnectionHandler::{InEvent,OutEvent,Error}` to implement `Debug`
|
|
|
|
(see [PR 2183]).
|
|
|
|
|
2021-08-19 20:17:18 +02:00
|
|
|
- Remove `DisconnectedPeer::set_connected` and `Pool::add` (see [PR 2195]).
|
|
|
|
|
2021-08-31 17:00:51 +02:00
|
|
|
- Report `ConnectionLimit` error through `ConnectionError` and thus through
|
|
|
|
`NetworkEvent::ConnectionClosed` instead of previously through
|
|
|
|
`PendingConnectionError` and thus `NetworkEvent::{IncomingConnectionError,
|
|
|
|
DialError}` (see [PR 2191]).
|
|
|
|
|
|
|
|
- Report abortion of pending connection through `DialError`,
|
|
|
|
`UnknownPeerDialError` or `IncomingConnectionError` (see [PR 2191]).
|
2021-08-19 20:17:18 +02:00
|
|
|
|
2021-09-06 16:04:30 +10:00
|
|
|
- Remove deprecated functions `upgrade::write_one`, `upgrade::write_with_len_prefix`
|
|
|
|
and `upgrade::read_one` (see [PR 2213]).
|
|
|
|
|
2021-09-08 00:36:52 +10:00
|
|
|
- Add `SignedEnvelope` and `PeerRecord` according to [RFC0002] and [RFC0003]
|
|
|
|
(see [PR 2107]).
|
|
|
|
|
2021-10-11 22:38:55 +02:00
|
|
|
- Report `ListenersEvent::Closed` when dropping a listener in `ListenersStream::remove_listener`,
|
|
|
|
return `bool` instead of `Result<(), ()>` (see [PR 2261]).
|
|
|
|
|
2021-10-14 18:05:07 +02:00
|
|
|
- Concurrently dial address candidates within a single dial attempt (see [PR 2248]) configured
|
|
|
|
via `Network::with_dial_concurrency_factor`.
|
|
|
|
|
|
|
|
- On success of a single address, provide errors of the thus far failed dials via
|
|
|
|
`NetworkEvent::ConnectionEstablished::outgoing`.
|
|
|
|
|
|
|
|
- On failure of all addresses, provide the errors via `NetworkEvent::DialError`.
|
|
|
|
|
2021-07-22 22:34:13 +02:00
|
|
|
[PR 2145]: https://github.com/libp2p/rust-libp2p/pull/2145
|
2021-09-06 16:04:30 +10:00
|
|
|
[PR 2213]: https://github.com/libp2p/rust-libp2p/pull/2213
|
2021-07-28 17:59:08 +02:00
|
|
|
[PR 2142]: https://github.com/libp2p/rust-libp2p/pull/2142
|
2021-08-11 12:41:28 +02:00
|
|
|
[PR 2137]: https://github.com/libp2p/rust-libp2p/pull/2137
|
|
|
|
[PR 2183]: https://github.com/libp2p/rust-libp2p/pull/2183
|
2021-08-31 17:00:51 +02:00
|
|
|
[PR 2191]: https://github.com/libp2p/rust-libp2p/pull/2191
|
2021-08-19 20:17:18 +02:00
|
|
|
[PR 2195]: https://github.com/libp2p/rust-libp2p/pull/2195
|
2021-09-08 00:36:52 +10:00
|
|
|
[PR 2107]: https://github.com/libp2p/rust-libp2p/pull/2107
|
2021-10-14 18:05:07 +02:00
|
|
|
[PR 2248]: https://github.com/libp2p/rust-libp2p/pull/2248
|
2021-10-11 22:38:55 +02:00
|
|
|
[PR 2261]: https://github.com/libp2p/rust-libp2p/pull/2261
|
2021-09-08 00:36:52 +10:00
|
|
|
[RFC0002]: https://github.com/libp2p/specs/blob/master/RFC/0002-signed-envelopes.md
|
|
|
|
[RFC0003]: https://github.com/libp2p/specs/blob/master/RFC/0003-routing-records.md
|
2021-07-22 22:34:13 +02:00
|
|
|
|
2021-07-12 21:24:58 +02:00
|
|
|
# 0.29.0 [2021-07-12]
|
2021-05-27 14:04:33 +02:00
|
|
|
|
|
|
|
- Switch from `parity-multiaddr` to upstream `multiaddr`.
|
2021-05-21 14:15:51 +02:00
|
|
|
|
|
|
|
- Update dependencies.
|
|
|
|
|
2021-06-08 10:14:31 +02:00
|
|
|
- Implement `Keypair::from_protobuf_encoding` for ed25519 keys (see [PR 2090]).
|
|
|
|
|
2021-07-04 00:23:10 +10:00
|
|
|
- Deprecate `upgrade::write_one`.
|
|
|
|
Deprecate `upgrade::write_with_len_prefix`.
|
|
|
|
Deprecate `upgrade::read_one`.
|
|
|
|
Introduce `upgrade::read_length_prefixed` and `upgrade::write_length_prefixed`.
|
|
|
|
See [PR 2111](https://github.com/libp2p/rust-libp2p/pull/2111).
|
|
|
|
|
2021-06-08 10:14:31 +02:00
|
|
|
[PR 2090]: https://github.com/libp2p/rust-libp2p/pull/2090
|
|
|
|
|
2021-04-26 17:53:50 +03:00
|
|
|
# 0.28.3 [2021-04-26]
|
|
|
|
|
|
|
|
- Fix build with secp256k1 disabled [PR 2057](https://github.com/libp2p/rust-libp2p/pull/2057].
|
|
|
|
|
2021-04-13 20:15:15 +02:00
|
|
|
# 0.28.2 [2021-04-13]
|
2021-03-22 13:53:47 +01:00
|
|
|
|
|
|
|
- Update dependencies.
|
|
|
|
|
2021-03-17 16:36:19 +01:00
|
|
|
# 0.28.1 [2021-03-17]
|
|
|
|
|
|
|
|
- Update `paritytech-multiaddr` to `>=v0.11.2`.
|
|
|
|
|
2021-03-17 15:28:13 +01:00
|
|
|
# 0.28.0 [2021-03-17]
|
2021-03-17 10:53:19 +01:00
|
|
|
|
|
|
|
- `Network::dial()` understands `/p2p` addresses and `Transport::dial`
|
|
|
|
gets a "fully qualified" `/p2p` address when dialing a specific peer,
|
|
|
|
whether through the `Network::peer()` API or via `Network::dial()`
|
|
|
|
with a `/p2p` address.
|
|
|
|
|
|
|
|
- `Network::dial()` and `network::Peer::dial()` return a `DialError`
|
|
|
|
on error.
|
2021-03-09 10:56:19 +01:00
|
|
|
|
|
|
|
- Shorten and unify `Debug` impls of public keys.
|
|
|
|
|
2021-02-15 20:06:50 +01:00
|
|
|
# 0.27.1 [2021-02-15]
|
2021-02-13 20:15:14 +01:00
|
|
|
|
|
|
|
- Update dependencies.
|
|
|
|
|
2021-01-12 20:33:43 +01:00
|
|
|
# 0.27.0 [2021-01-12]
|
2021-01-12 12:48:37 +01:00
|
|
|
|
2021-01-12 13:35:11 +01:00
|
|
|
- (Re)add `Transport::address_translation` to permit transport-specific
|
|
|
|
translations of observed addresses onto listening addresses.
|
|
|
|
[PR 1887](https://github.com/libp2p/rust-libp2p/pull/1887)
|
|
|
|
|
2021-01-12 12:48:37 +01:00
|
|
|
- Update dependencies.
|
|
|
|
|
2020-12-18 10:03:20 +01:00
|
|
|
# 0.26.0 [2020-12-17]
|
2020-12-15 14:40:39 +01:00
|
|
|
|
|
|
|
- Make `PeerId` be `Copy`, including small `PeerId` API changes.
|
|
|
|
[PR 1874](https://github.com/libp2p/rust-libp2p/pull/1874/).
|
|
|
|
|
2020-12-02 16:41:59 +01:00
|
|
|
# 0.25.2 [2020-12-02]
|
|
|
|
|
|
|
|
- Require `multistream-select-0.9.1`.
|
|
|
|
|
2020-11-25 16:51:07 +01:00
|
|
|
# 0.25.1 [2020-11-25]
|
|
|
|
|
|
|
|
- Add missing multiaddr upgrade.
|
|
|
|
|
2020-11-25 15:30:13 +01:00
|
|
|
# 0.25.0 [2020-11-25]
|
2020-11-17 11:15:20 +01:00
|
|
|
|
2020-11-23 17:22:15 +01:00
|
|
|
- The `NetworkConfig` API is now a builder that moves `self`.
|
|
|
|
[PR 1848](https://github.com/libp2p/rust-libp2p/pull/1848/).
|
|
|
|
|
|
|
|
- New configurable connection limits for established connections and
|
|
|
|
dedicated connection counters. Removed the connection limit dedicated
|
|
|
|
to outgoing pending connection _per peer_. Connection limits are now
|
|
|
|
represented by `u32` intead of `usize` types.
|
|
|
|
[PR 1848](https://github.com/libp2p/rust-libp2p/pull/1848/).
|
|
|
|
|
2020-11-17 11:15:20 +01:00
|
|
|
- Update `multihash`.
|
|
|
|
|
2020-11-18 12:03:07 +01:00
|
|
|
- Update `multistream-select`.
|
|
|
|
|
2020-11-09 17:46:07 +01:00
|
|
|
# 0.24.0 [2020-11-09]
|
2020-10-31 01:51:27 +11:00
|
|
|
|
|
|
|
- Remove `ConnectionInfo` trait and replace it with `PeerId`
|
|
|
|
everywhere. This was already effectively the case because
|
|
|
|
`ConnectionInfo` was implemented on `PeerId`.
|
|
|
|
|
2020-10-20 17:42:10 +02:00
|
|
|
# 0.23.1 [2020-10-20]
|
2020-10-20 17:03:10 +02:00
|
|
|
|
|
|
|
- Update dependencies.
|
|
|
|
|
2020-10-16 20:36:47 +02:00
|
|
|
# 0.23.0 [2020-10-16]
|
2020-10-16 16:53:02 +02:00
|
|
|
|
|
|
|
- Rework transport boxing and move timeout configuration
|
|
|
|
to the transport builder.
|
|
|
|
[PR 1794](https://github.com/libp2p/rust-libp2p/pull/1794).
|
2020-09-16 10:27:33 +02:00
|
|
|
|
|
|
|
- Update dependencies.
|
|
|
|
|
2020-09-10 11:03:14 +02:00
|
|
|
# 0.22.1 [2020-09-10]
|
|
|
|
|
|
|
|
- Require at least parity-multiaddr v0.9.2 in order to fulfill `Ord` bound on
|
|
|
|
`Multiaddr`. [PR 1742](https://github.com/libp2p/rust-libp2p/pull/1742).
|
|
|
|
|
2020-09-09 12:20:25 +02:00
|
|
|
# 0.22.0 [2020-09-09]
|
2020-08-26 13:03:35 +02:00
|
|
|
|
2020-09-09 11:21:37 +02:00
|
|
|
- Simplify incoming connection handling. The `IncomingConnectionEvent`
|
|
|
|
has been removed. Instead, pass the `IncomingConnection` obtained
|
|
|
|
from `NetworkEvent::IncomingConnection` to `Network::accept()`.
|
|
|
|
[PR 1732](https://github.com/libp2p/rust-libp2p/pull/1732).
|
|
|
|
|
2020-09-03 11:29:52 +02:00
|
|
|
- Allow any closure to be passed as an executor.
|
|
|
|
[PR 1686](https://github.com/libp2p/rust-libp2p/pull/1686)
|
|
|
|
|
2020-08-26 13:03:35 +02:00
|
|
|
- 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 compared `PeerId`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](https://github.com/libp2p/rust-libp2p/pull/1608).
|
|
|
|
|
2020-09-08 12:07:15 +02:00
|
|
|
- Return dialer address instead of listener address as `remote_addr` in
|
|
|
|
`MemoryTransport` `Listener` `ListenerEvent::Upgrade`
|
|
|
|
[PR 1724](https://github.com/libp2p/rust-libp2p/pull/1724).
|
|
|
|
|
2020-08-18 17:04:34 +02:00
|
|
|
# 0.21.0 [2020-08-18]
|
2020-08-04 11:30:09 +02:00
|
|
|
|
2020-08-24 10:48:36 +02:00
|
|
|
- Remove duplicates when performing address translation
|
|
|
|
[PR 1697](https://github.com/libp2p/rust-libp2p/pull/1697).
|
|
|
|
|
2020-08-17 10:14:44 +02:00
|
|
|
- Add `transport::Builder::multiplex_ext` for further customisation during
|
|
|
|
`StreamMuxer` creation. [PR 1691](https://github.com/libp2p/rust-libp2p/pull/1691).
|
|
|
|
|
2020-08-04 11:30:09 +02:00
|
|
|
- Refactoring of connection close and disconnect behaviour. In particular, the former
|
|
|
|
`NetworkEvent::ConnectionError` is now `NetworkEvent::ConnectionClosed` with the `error`
|
|
|
|
field being an `Option` and `None` indicating an active (but not necessarily orderly) close.
|
|
|
|
This guarantees that `ConnectionEstablished` events are always eventually paired
|
|
|
|
with `ConnectionClosed` events, regardless of how connections are closed.
|
|
|
|
Correspondingly, `EstablishedConnection::close` is now `EstablishedConnection::start_close`
|
|
|
|
to reflect that an orderly close completes asynchronously in the background, with the
|
|
|
|
outcome observed by continued polling of the `Network`. In contrast, `disconnect`ing
|
|
|
|
a peer takes effect immediately without an orderly connection shutdown.
|
|
|
|
See [PR 1619](https://github.com/libp2p/rust-libp2p/pull/1619) for further details.
|
|
|
|
|
2020-08-06 15:35:24 +02:00
|
|
|
- Add `ConnectedPoint::get_remote_address`
|
|
|
|
([PR 1649](https://github.com/libp2p/rust-libp2p/pull/1649)).
|
|
|
|
|
2020-08-04 23:13:38 +02:00
|
|
|
# 0.20.1 [2020-07-17]
|
2020-07-17 12:01:49 +02:00
|
|
|
|
|
|
|
- Update ed25519-dalek dependency.
|
|
|
|
|
2020-07-01 15:36:20 +02:00
|
|
|
# 0.20.0 [2020-07-01]
|
|
|
|
|
|
|
|
- Conditional compilation fixes for the `wasm32-wasi` target
|
|
|
|
([PR 1633](https://github.com/libp2p/rust-libp2p/pull/1633)).
|
2020-06-30 17:10:53 +02:00
|
|
|
|
|
|
|
- Rename `StreamMuxer::poll_inbound` to `poll_event` and change the
|
|
|
|
return value to `StreamMuxerEvent`. This new `StreamMuxerEvent` 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`.
|
|
|
|
|
2020-06-22 11:41:28 +02:00
|
|
|
# 0.19.2 [2020-06-22]
|
|
|
|
|
|
|
|
- Add PartialOrd and Ord for PeerId
|
|
|
|
([PR 1594](https://github.com/libp2p/rust-libp2p/pull/1594)).
|
|
|
|
|
|
|
|
- Updated dependencies.
|
|
|
|
|
|
|
|
- Deprecate `StreamMuxer::is_remote_acknowledged`
|
|
|
|
([PR 1616](https://github.com/libp2p/rust-libp2p/pull/1616)).
|