2023-01-18 19:56:32 +11:00
|
|
|
# 0.39.0 [unreleased]
|
|
|
|
|
|
|
|
- Move `ConnectionId` to `libp2p-swarm`. See [PR 3221].
|
|
|
|
- Move `PendingPoint` to `libp2p-swarm` and make it crate-private. See [PR 3221].
|
|
|
|
|
|
|
|
[PR 3221]: https://github.com/libp2p/rust-libp2p/pull/3221
|
|
|
|
|
2022-11-25 10:37:55 +01:00
|
|
|
# 0.38.0
|
2022-11-02 23:02:21 +11:00
|
|
|
|
2022-11-03 02:09:12 +11:00
|
|
|
- Remove deprecated functions `StreamMuxerExt::next_{inbound,outbound}`. See [PR 3031].
|
|
|
|
|
2022-11-02 23:02:21 +11:00
|
|
|
- Hide `prost::Error` from public API in `FromEnvelopeError::InvalidPeerRecord` and `signed_envelope::DecodingError`. See [PR 3058].
|
|
|
|
|
2022-11-15 15:26:03 +01:00
|
|
|
- Move `Executor` to `libp2p-swarm`. See [PR 3097].
|
|
|
|
|
2022-11-18 22:04:16 +11:00
|
|
|
- Update `rust-version` to reflect the actual MSRV: 1.60.0. See [PR 3090].
|
|
|
|
|
|
|
|
- Update `multistream-select` to `v0.12.1`. See [PR 3090].
|
|
|
|
|
2022-11-23 11:51:47 +11:00
|
|
|
- Improve error messages in case keys cannot be decoded because of missing feature flags. See [PR 2972].
|
|
|
|
|
2023-01-18 10:05:59 +11:00
|
|
|
- Remove `EitherError` in favor of `either::Either`. See [PR 3337].
|
|
|
|
|
2023-01-18 11:58:09 +11:00
|
|
|
- Remove `EitherTransport` in favor of implementing `Transport` on `either::Either`. See [PR 3338].
|
|
|
|
|
2023-01-18 13:35:07 +11:00
|
|
|
- Remove `EitherUpgrade` in favor of implementing `UpgradeInfo`, `InboundUpgrade` and `OutboundUpgrade` on `either::Either`. See [PR 3339].
|
|
|
|
|
2023-01-18 21:17:18 +11:00
|
|
|
- Remove `EitherFuture2` in favor of `EitherFuture`. See [PR 3340].
|
|
|
|
|
2023-01-23 23:31:30 +11:00
|
|
|
- Remove `EitherOutput` in favor of `future::Either`. See [PR 3341].
|
|
|
|
|
2022-11-03 02:09:12 +11:00
|
|
|
[PR 3031]: https://github.com/libp2p/rust-libp2p/pull/3031
|
2022-11-02 23:02:21 +11:00
|
|
|
[PR 3058]: https://github.com/libp2p/rust-libp2p/pull/3058
|
2022-11-15 15:26:03 +01:00
|
|
|
[PR 3097]: https://github.com/libp2p/rust-libp2p/pull/3097
|
2022-11-18 22:04:16 +11:00
|
|
|
[PR 3090]: https://github.com/libp2p/rust-libp2p/pull/3090
|
2022-11-23 11:51:47 +11:00
|
|
|
[PR 2972]: https://github.com/libp2p/rust-libp2p/pull/2972
|
2023-01-18 10:05:59 +11:00
|
|
|
[PR 3337]: https://github.com/libp2p/rust-libp2p/pull/3337
|
2023-01-18 11:58:09 +11:00
|
|
|
[PR 3338]: https://github.com/libp2p/rust-libp2p/pull/3338
|
2023-01-18 13:35:07 +11:00
|
|
|
[PR 3339]: https://github.com/libp2p/rust-libp2p/pull/3339
|
2023-01-18 21:17:18 +11:00
|
|
|
[PR 3340]: https://github.com/libp2p/rust-libp2p/pull/3340
|
2023-01-23 23:31:30 +11:00
|
|
|
[PR 3341]: https://github.com/libp2p/rust-libp2p/pull/3341
|
2022-11-02 23:02:21 +11:00
|
|
|
|
2022-10-14 15:30:16 +01:00
|
|
|
# 0.37.0
|
2022-09-22 21:35:42 +04:00
|
|
|
|
|
|
|
- Implement `Hash` and `Ord` for `PublicKey`. See [PR 2915].
|
|
|
|
|
2022-10-14 15:30:16 +01:00
|
|
|
- Remove default features. If you previously depended on `secp256k1` or `ecdsa` you need to enable these explicitly
|
2022-09-30 01:32:22 +10:00
|
|
|
now. See [PR 2918].
|
|
|
|
|
2022-10-12 23:36:39 +11:00
|
|
|
- Deprecate `StreamMuxerExt::next_{inbound,outbound}`. See [PR 3002].
|
|
|
|
|
2022-09-22 21:35:42 +04:00
|
|
|
[PR 2915]: https://github.com/libp2p/rust-libp2p/pull/2915
|
2022-09-30 01:32:22 +10:00
|
|
|
[PR 2918]: https://github.com/libp2p/rust-libp2p/pull/2918
|
2022-10-12 23:36:39 +11:00
|
|
|
[PR 3002]: https://github.com/libp2p/rust-libp2p/pull/3002
|
2022-09-22 21:35:42 +04:00
|
|
|
|
2022-09-07 09:44:51 +02:00
|
|
|
# 0.36.0
|
2022-09-07 09:16:22 +03:00
|
|
|
|
|
|
|
- Make RSA keypair support optional. To enable RSA support, `rsa` feature should be enabled.
|
|
|
|
See [PR 2860].
|
|
|
|
|
2022-09-07 17:08:23 +10:00
|
|
|
- Add `ReadyUpgrade`. See [PR 2855].
|
|
|
|
|
|
|
|
[PR 2855]: https://github.com/libp2p/rust-libp2p/pull/2855
|
2022-09-07 09:16:22 +03:00
|
|
|
[PR 2860]: https://github.com/libp2p/rust-libp2p/pull/2860/
|
|
|
|
|
2022-08-23 09:51:58 +02:00
|
|
|
# 0.35.1
|
|
|
|
|
|
|
|
- Update to `p256` `v0.11.0`. See [PR 2636].
|
|
|
|
|
|
|
|
[PR 2636]: https://github.com/libp2p/rust-libp2p/pull/2636/
|
|
|
|
|
2022-08-22 05:14:04 +02:00
|
|
|
# 0.35.0
|
2022-07-18 04:20:11 +01:00
|
|
|
|
2022-08-30 03:03:54 -05:00
|
|
|
- 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].
|
2022-07-25 15:49:22 +01:00
|
|
|
- Drop `Unpin` requirement from `SubstreamBox`. See [PR 2762] and [PR 2776].
|
2022-07-27 08:23:07 +02:00
|
|
|
- Drop `Sync` requirement on `StreamMuxer` for constructing `StreamMuxerBox`. See [PR 2775].
|
2022-08-03 15:12:11 +02:00
|
|
|
- Use `Pin<&mut Self>` as the receiver type for all `StreamMuxer` poll functions. See [PR 2765].
|
2022-08-16 04:50:17 +02:00
|
|
|
- Change `StreamMuxer` interface to be entirely poll-based. All functions on `StreamMuxer` now
|
|
|
|
require a `Context` and return `Poll`. This gives callers fine-grained control over what they
|
|
|
|
would like to make progress on. See [PR 2724] and [PR 2797].
|
2022-07-18 04:20:11 +01:00
|
|
|
|
|
|
|
[PR 2724]: https://github.com/libp2p/rust-libp2p/pull/2724
|
2022-07-23 20:48:52 +02:00
|
|
|
[PR 2762]: https://github.com/libp2p/rust-libp2p/pull/2762
|
2022-07-27 08:23:07 +02:00
|
|
|
[PR 2775]: https://github.com/libp2p/rust-libp2p/pull/2775
|
2022-07-25 15:49:22 +01:00
|
|
|
[PR 2776]: https://github.com/libp2p/rust-libp2p/pull/2776
|
2022-08-03 15:12:11 +02:00
|
|
|
[PR 2765]: https://github.com/libp2p/rust-libp2p/pull/2765
|
2022-08-16 04:50:17 +02:00
|
|
|
[PR 2797]: https://github.com/libp2p/rust-libp2p/pull/2797
|
2022-08-30 03:03:54 -05:00
|
|
|
[PR 2788]: https://github.com/libp2p/rust-libp2p/pull/2788
|
2022-07-18 04:20:11 +01:00
|
|
|
|
2022-07-05 13:09:58 +02:00
|
|
|
# 0.34.0
|
2022-06-15 21:33:32 +02:00
|
|
|
|
2022-06-23 13:52:11 +02:00
|
|
|
- Remove `{read,write,flush,shutdown,destroy}_substream` functions from `StreamMuxer` trait
|
|
|
|
in favor of forcing `StreamMuxer::Substream` to implement `AsyncRead + AsyncWrite`. See [PR 2707].
|
2022-06-24 08:26:49 +02:00
|
|
|
- Replace `Into<std::io::Error>` bound on `StreamMuxer::Error` with `std::error::Error`. See [PR 2710].
|
2022-06-15 21:33:32 +02:00
|
|
|
|
2022-07-04 04:16:57 +02:00
|
|
|
- Remove the concept of individual `Transport::Listener` streams from `Transport`.
|
|
|
|
Instead the `Transport` is polled directly via `Transport::poll`. The
|
|
|
|
`Transport` is now responsible for driving its listeners. See [PR 2652].
|
|
|
|
|
2022-06-15 21:33:32 +02:00
|
|
|
[PR 2691]: https://github.com/libp2p/rust-libp2p/pull/2691
|
2022-06-23 13:52:11 +02:00
|
|
|
[PR 2707]: https://github.com/libp2p/rust-libp2p/pull/2707
|
2022-06-24 08:26:49 +02:00
|
|
|
[PR 2710]: https://github.com/libp2p/rust-libp2p/pull/2710
|
2022-07-04 04:16:57 +02:00
|
|
|
[PR 2652]: https://github.com/libp2p/rust-libp2p/pull/2652
|
2022-06-15 21:33:32 +02:00
|
|
|
|
2022-05-31 13:12:53 +02:00
|
|
|
# 0.33.0
|
2022-04-06 20:23:16 +02:00
|
|
|
|
|
|
|
- Have methods on `Transport` take `&mut self` instead of `self`. See [PR 2529].
|
2022-05-29 17:23:13 +02:00
|
|
|
- Remove `StreamMuxer::flush_all`. See [PR 2669].
|
2022-05-29 16:27:40 +02:00
|
|
|
- Rename `StreamMuxer::close` to `StreamMuxer::poll_close`. See [PR 2666].
|
2022-05-23 16:56:59 +02:00
|
|
|
- Remove deprecated function `StreamMuxer::is_remote_acknowledged`. See [PR 2665].
|
2022-04-06 20:23:16 +02:00
|
|
|
|
|
|
|
[PR 2529]: https://github.com/libp2p/rust-libp2p/pull/2529
|
2022-05-29 16:27:40 +02:00
|
|
|
[PR 2666]: https://github.com/libp2p/rust-libp2p/pull/2666
|
2022-05-23 16:56:59 +02:00
|
|
|
[PR 2665]: https://github.com/libp2p/rust-libp2p/pull/2665
|
2022-05-29 17:23:13 +02:00
|
|
|
[PR 2669]: https://github.com/libp2p/rust-libp2p/pull/2669
|
|
|
|
|
2022-04-06 20:23:16 +02:00
|
|
|
|
2022-04-04 18:27:41 +02:00
|
|
|
# 0.32.1
|
2022-03-10 20:43:16 +11:00
|
|
|
|
|
|
|
- Add `PeerId::try_from_multiaddr` to extract a `PeerId` from a `Multiaddr` that ends in `/p2p/<peer-id>`.
|
|
|
|
|
2022-02-22 14:05:19 +01:00
|
|
|
# 0.32.0 [2022-02-22]
|
2022-02-03 16:38:41 +00:00
|
|
|
|
2022-02-13 21:57:38 +01:00
|
|
|
- Remove `Network`. `libp2p-core` is from now on an auxiliary crate only. Users
|
|
|
|
that have previously used `Network` only, will need to use `Swarm` instead. See
|
|
|
|
[PR 2492].
|
|
|
|
|
2022-02-03 16:38:41 +00:00
|
|
|
- Update to `multiaddr` `v0.14.0`.
|
|
|
|
|
|
|
|
- Update to `multihash` `v0.16.0`.
|
2022-02-03 12:49:01 +01:00
|
|
|
|
|
|
|
- Implement `Display` on `DialError`. See [PR 2456].
|
|
|
|
|
2022-02-16 15:16:04 +01:00
|
|
|
- Update to `parking_lot` `v0.12.0`. See [PR 2463].
|
|
|
|
|
2022-02-09 16:39:02 +01:00
|
|
|
- Validate PeerRecord signature matching peer ID. See [RUSTSEC-2022-0009].
|
|
|
|
|
2022-02-15 23:47:32 +01:00
|
|
|
- Don't take ownership of key in `PeerRecord::new` and `SignedEnvelope::new`. See [PR 2516].
|
|
|
|
|
2022-02-21 01:45:57 -08:00
|
|
|
- Remove `SignedEnvelope::payload` in favor of
|
|
|
|
`SignedEnvelope::payload_and_signing_key`. The caller is expected to check
|
|
|
|
that the returned signing key makes sense in the payload's context. See [PR 2522].
|
|
|
|
|
2022-02-03 12:49:01 +01:00
|
|
|
[PR 2456]: https://github.com/libp2p/rust-libp2p/pull/2456
|
2022-02-09 16:39:02 +01:00
|
|
|
[RUSTSEC-2022-0009]: https://rustsec.org/advisories/RUSTSEC-2022-0009.html
|
2022-02-13 21:57:38 +01:00
|
|
|
[PR 2492]: https://github.com/libp2p/rust-libp2p/pull/2492
|
2022-02-15 23:47:32 +01:00
|
|
|
[PR 2516]: https://github.com/libp2p/rust-libp2p/pull/2516
|
2022-02-16 15:16:04 +01:00
|
|
|
[PR 2463]: https://github.com/libp2p/rust-libp2p/pull/2463/
|
2022-02-21 01:45:57 -08:00
|
|
|
[PR 2522]: https://github.com/libp2p/rust-libp2p/pull/2522
|
2022-02-03 12:49:01 +01:00
|
|
|
|
2022-01-27 11:29:09 +01:00
|
|
|
# 0.31.0 [2022-01-27]
|
2021-11-26 10:48:12 -05:00
|
|
|
|
2021-11-26 09:34:58 -07:00
|
|
|
- Update dependencies.
|
|
|
|
|
2021-11-26 10:48:12 -05:00
|
|
|
- Report concrete connection IDs in `NetworkEvent::ConnectionEstablished` and
|
|
|
|
`NetworkEvent::ConnectionClosed` (see [PR 2350]).
|
|
|
|
|
2021-11-26 09:34:58 -07:00
|
|
|
- Migrate to Rust edition 2021 (see [PR 2339]).
|
|
|
|
|
2021-11-30 17:47:35 +01:00
|
|
|
- Add support for ECDSA identities (see [PR 2352]).
|
|
|
|
|
2021-12-19 14:50:55 +01:00
|
|
|
- Add `ConnectedPoint::is_relayed` (see [PR 2392]).
|
|
|
|
|
2022-01-13 18:07:07 +01:00
|
|
|
- Enable overriding _dial concurrency factor_ per dial via
|
|
|
|
`DialOpts::override_dial_concurrency_factor`.
|
|
|
|
|
2022-01-18 21:21:11 +01:00
|
|
|
- Introduces `libp2p_core::DialOpts` mirroring `libp2p_swarm::DialOpts`.
|
2022-01-13 18:07:07 +01:00
|
|
|
Passed as an argument to `Network::dial`.
|
2022-01-18 21:21:11 +01:00
|
|
|
- Removes `Peer::dial` in favor of `Network::dial`.
|
2022-01-13 18:07:07 +01:00
|
|
|
|
|
|
|
See [PR 2404].
|
|
|
|
|
2022-01-11 15:38:51 -05:00
|
|
|
- Implement `Serialize` and `Deserialize` for `PeerId` (see [PR 2408])
|
|
|
|
|
2022-01-18 21:21:11 +01:00
|
|
|
- Report negotiated and expected `PeerId` as well as remote address in
|
|
|
|
`DialError::WrongPeerId` (see [PR 2428]).
|
|
|
|
|
2022-01-17 16:35:14 +01:00
|
|
|
- Allow overriding role when dialing. This option is needed for NAT and firewall
|
|
|
|
hole punching.
|
|
|
|
|
|
|
|
- Add `Transport::dial_as_listener`. As `Transport::dial` but
|
|
|
|
overrides the role of the local node on the connection . I.e. has the
|
|
|
|
local node act as a listener on the outgoing connection.
|
|
|
|
|
|
|
|
- Add `override_role` option to `DialOpts`.
|
|
|
|
|
|
|
|
See [PR 2363].
|
|
|
|
|
2021-11-26 09:34:58 -07:00
|
|
|
[PR 2339]: https://github.com/libp2p/rust-libp2p/pull/2339
|
2021-11-30 17:47:35 +01:00
|
|
|
[PR 2350]: https://github.com/libp2p/rust-libp2p/pull/2350
|
|
|
|
[PR 2352]: https://github.com/libp2p/rust-libp2p/pull/2352
|
2021-12-19 14:50:55 +01:00
|
|
|
[PR 2392]: https://github.com/libp2p/rust-libp2p/pull/2392
|
2022-01-13 18:07:07 +01:00
|
|
|
[PR 2404]: https://github.com/libp2p/rust-libp2p/pull/2404
|
2022-01-11 15:38:51 -05:00
|
|
|
[PR 2408]: https://github.com/libp2p/rust-libp2p/pull/2408
|
2022-01-18 21:21:11 +01:00
|
|
|
[PR 2428]: https://github.com/libp2p/rust-libp2p/pull/2428
|
2022-01-17 16:35:14 +01:00
|
|
|
[PR 2363]: https://github.com/libp2p/rust-libp2p/pull/2363
|
2021-11-26 10:48:12 -05:00
|
|
|
|
2021-11-16 16:39:42 +01:00
|
|
|
# 0.30.1 [2021-11-16]
|
2021-10-30 12:41:30 +02:00
|
|
|
|
|
|
|
- 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]
|
|
|
|
|
2022-01-18 21:21:11 +01:00
|
|
|
- Fix build with secp256k1 disabled [PR 2057](https://github.com/libp2p/rust-libp2p/pull/2057).
|
2021-04-26 17:53:50 +03:00
|
|
|
|
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)).
|