mirror of
https://github.com/fluencelabs/rust-libp2p
synced 2025-05-31 11:41:21 +00:00
With this commit `libp2p-identify` no longer discards the whole identify payload in case a listen addr of the remote node is invalid, but instead logs the failure, skips the invalid multiaddr and parses the remaining identify payload. This is especially relevant when rolling out a new protocol to a live network. Say that most nodes of a network run on an implementation version v1. Say that the `multiaddr` implementation is not aware of the `webrtc/` protocol. Say that a new version (v2) is rolled out to the network with support for the `webrtc/` protocol, listening via `webrtc/` by default. In such case all v1 nodes would discard all identify payloads of v2 nodes, given that the v2 identify payloads would contain the `webrtc/` protocol in their `listen_addr` addresses. See https://github.com/libp2p/rust-libp2p/issues/3244 for details.
200 lines
4.9 KiB
Markdown
200 lines
4.9 KiB
Markdown
# 0.42.0 [unreleased]
|
||
|
||
- Update to `libp2p-core` `v0.39.0`.
|
||
|
||
- Move I/O from `Behaviour` to `Handler`. Handle `Behaviour`'s Identify and Push requests independently by incoming order,
|
||
previously Push requests were prioritized. see [PR 3208].
|
||
|
||
- Update to `libp2p-swarm` `v0.42.0`.
|
||
|
||
[PR 3208]: https://github.com/libp2p/rust-libp2p/pull/3208
|
||
|
||
# 0.41.1
|
||
|
||
- Skip invalid multiaddr in `listen_addrs`. See [PR 3246].
|
||
|
||
[PR 3246]: https://github.com/libp2p/rust-libp2p/pull/3246
|
||
|
||
# 0.41.0
|
||
|
||
- Change default `cache_size` of `Config` to 100. See [PR 2995].
|
||
|
||
- Update to `prost-codec` `v0.3.0`.
|
||
|
||
- Update to `libp2p-core` `v0.38.0`.
|
||
|
||
- Update to `libp2p-swarm` `v0.41.0`.
|
||
|
||
- Replace `Behaviour`'s `NetworkBehaviour` implemention `inject_*` methods with the new `on_*` methods.
|
||
See [PR 3011].
|
||
|
||
- Replace `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].
|
||
|
||
[PR 3085]: https://github.com/libp2p/rust-libp2p/pull/3085
|
||
[PR 3011]: https://github.com/libp2p/rust-libp2p/pull/3011
|
||
[PR 2995]: https://github.com/libp2p/rust-libp2p/pull/2995
|
||
[PR 3090]: https://github.com/libp2p/rust-libp2p/pull/3090
|
||
|
||
# 0.40.0
|
||
|
||
- Update dependencies.
|
||
|
||
- Rename types as per [discussion 2174].
|
||
`Identify` has been renamed to `Behaviour`.
|
||
The `Identify` prefix has been removed from various types like `IdentifyEvent`.
|
||
Users should prefer importing the identify protocol as a module (`use libp2p::identify;`),
|
||
and refer to its types via `identify::`. For example: `identify::Behaviour` or `identify::Event`.
|
||
|
||
[discussion 2174]: https://github.com/libp2p/rust-libp2p/discussions/2174
|
||
|
||
- Update to `libp2p-core` `v0.37.0`.
|
||
|
||
- Update to `libp2p-swarm` `v0.40.0`.
|
||
|
||
# 0.39.0
|
||
|
||
- Update to `libp2p-swarm` `v0.39.0`.
|
||
|
||
- Update to `libp2p-core` `v0.36.0`.
|
||
|
||
# 0.38.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 `PROTOCOL_NAME` and `PUSH_PROTOCOL_NAME`. See [PR 2734].
|
||
|
||
- Update to `libp2p-core` `v0.35.0`.
|
||
|
||
[PR 2788]: https://github.com/libp2p/rust-libp2p/pull/2788
|
||
[PR 2734]: https://github.com/libp2p/rust-libp2p/pull/2734/
|
||
|
||
# 0.37.0
|
||
|
||
- Update to `libp2p-core` `v0.34.0`.
|
||
|
||
- Update to `libp2p-swarm` `v0.37.0`.
|
||
|
||
- Extend log message on second identify push stream with peer ID.
|
||
|
||
# 0.36.1
|
||
|
||
- Allow at most one inbound identify push stream.
|
||
|
||
# 0.36.0
|
||
|
||
- Update to `libp2p-core` `v0.33.0`.
|
||
|
||
- Update to `libp2p-swarm` `v0.36.0`.
|
||
|
||
- Expose explicits errors via `UpgradeError` instead of generic `io::Error`. See [PR 2630].
|
||
|
||
[PR 2630]: https://github.com/libp2p/rust-libp2p/pull/2630
|
||
# 0.35.0
|
||
|
||
- Update to `libp2p-swarm` `v0.35.0`.
|
||
|
||
# 0.34.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).
|
||
|
||
[PR 2445]: https://github.com/libp2p/rust-libp2p/pull/2445
|
||
|
||
# 0.33.0 [2022-01-27]
|
||
|
||
- Update dependencies.
|
||
|
||
- Migrate to Rust edition 2021 (see [PR 2339]).
|
||
|
||
[PR 2339]: https://github.com/libp2p/rust-libp2p/pull/2339
|
||
|
||
# 0.32.0 [2021-11-16]
|
||
|
||
- Use `futures-timer` instead of `wasm-timer` (see [PR 2245]).
|
||
- Filter invalid peers from cache used in `addresses_of_peer` – [PR 2338].
|
||
|
||
- Update dependencies.
|
||
|
||
[PR 2245]: https://github.com/libp2p/rust-libp2p/pull/2245
|
||
[PR 2338]: https://github.com/libp2p/rust-libp2p/pull/2338
|
||
|
||
# 0.31.0 [2021-11-01]
|
||
|
||
- Make default features of `libp2p-core` optional.
|
||
[PR 2181](https://github.com/libp2p/rust-libp2p/pull/2181)
|
||
|
||
- Update dependencies.
|
||
|
||
- Assist in peer discovery by optionally returning reported listen addresses
|
||
of other peers from `addresses_of_peer` (see [PR
|
||
2232](https://github.com/libp2p/rust-libp2p/pull/2232)), disabled by default.
|
||
|
||
# 0.30.0 [2021-07-12]
|
||
|
||
- Update dependencies.
|
||
|
||
# 0.29.0 [2021-04-13]
|
||
|
||
- Add support for configurable automatic push to connected peers
|
||
on listen addr changes. Disabled by default.
|
||
[PR 2004](https://github.com/libp2p/rust-libp2p/pull/2004)
|
||
|
||
- Implement the `/ipfs/id/push/1.0.0` protocol.
|
||
cf. https://github.com/libp2p/specs/tree/master/identify#identifypush
|
||
[PR 1999](https://github.com/libp2p/rust-libp2p/pull/1999)
|
||
|
||
- Emit `IdentifyEvent::Pushed` event after successfully pushing identification
|
||
information to peer [PR
|
||
2030](https://github.com/libp2p/rust-libp2p/pull/2030).
|
||
|
||
# 0.28.0 [2021-03-17]
|
||
|
||
- Update `libp2p-swarm`.
|
||
|
||
- Update dependencies.
|
||
|
||
# 0.27.0 [2021-01-12]
|
||
|
||
- Update dependencies.
|
||
|
||
# 0.26.0 [2020-12-17]
|
||
|
||
- Update `libp2p-swarm` and `libp2p-core`.
|
||
|
||
# 0.25.0 [2020-11-25]
|
||
|
||
- Update `libp2p-swarm` and `libp2p-core`.
|
||
|
||
# 0.24.0 [2020-11-09]
|
||
|
||
- Update dependencies.
|
||
|
||
# 0.23.0 [2020-10-16]
|
||
|
||
- Update `libp2p-swarm` and `libp2p-core`.
|
||
|
||
# 0.22.0 [2020-09-09]
|
||
|
||
- Update `libp2p-swarm` and `libp2p-core`.
|
||
|
||
# 0.21.0 [2020-08-18]
|
||
|
||
- Bump `libp2p-core` and `libp2p-swarm` dependencies.
|
||
|
||
# 0.20.0 [2020-07-01]
|
||
|
||
- Updated dependencies.
|
||
|
||
# 0.19.2 [2020-06-22]
|
||
|
||
- Updated dependencies.
|