2022-02-03 11:31:41 +01:00
|
|
|
# 0.36.0 [unreleased]
|
|
|
|
|
2022-02-03 16:38:41 +00:00
|
|
|
- Update to `libp2p-core` `v0.32.0`.
|
|
|
|
|
|
|
|
- Update to `libp2p-swarm` `v0.34.0`.
|
|
|
|
|
2022-02-03 11:31:41 +01:00
|
|
|
- Move from `open-metrics-client` to `prometheus-client` (see [PR 2442]).
|
|
|
|
|
2022-02-07 14:00:46 -05:00
|
|
|
- Emit gossip of all non empty topics (see [PR 2481]).
|
|
|
|
|
2022-02-09 10:08:28 -05:00
|
|
|
- Merge NetworkBehaviour's inject_\* paired methods (see PR 2445).
|
|
|
|
|
2022-02-14 21:24:58 +11:00
|
|
|
- Revert to wasm-timer (see [PR 2506]).
|
|
|
|
|
2022-02-03 11:31:41 +01:00
|
|
|
[PR 2442]: https://github.com/libp2p/rust-libp2p/pull/2442
|
2022-02-07 14:00:46 -05:00
|
|
|
[PR 2481]: https://github.com/libp2p/rust-libp2p/pull/2481
|
2022-02-09 10:08:28 -05:00
|
|
|
[PR 2445]: https://github.com/libp2p/rust-libp2p/pull/2445
|
2022-02-14 21:24:58 +11:00
|
|
|
[PR 2506]: https://github.com/libp2p/rust-libp2p/pull/2506
|
2022-02-03 11:31:41 +01:00
|
|
|
|
2022-01-27 11:29:09 +01:00
|
|
|
# 0.35.0 [2022-01-27]
|
2021-11-24 17:26:03 +01:00
|
|
|
|
|
|
|
- Update dependencies.
|
|
|
|
|
2021-11-26 09:34:58 -07:00
|
|
|
- Migrate to Rust edition 2021 (see [PR 2339]).
|
|
|
|
|
2021-12-21 17:31:19 -05:00
|
|
|
- Add metrics for network and configuration performance analysis (see [PR 2346]).
|
|
|
|
|
protocols/gossipsub: Improve bandwidth (#2327)
This PR adds some bandwidth improvements to gossipsub.
After a bit of inspection on live networks a number of improvements have been
made that can help reduce unnecessary bandwidth on gossipsub networks. This PR
introduces the following:
- A 1:1 tracking of all in-flight IWANT requests. This not only ensures that all
IWANT requests are answered and peers penalized accordingly, but gossipsub
will no no longer create multiple IWANT requests for multiple peers.
Previously, gossipsub sampled the in-flight IWANT requests in order to
penalize peers for not responding with a high probability that we would detect
non-responsive nodes. Futher, it was possible to re-request IWANT messages
that are already being requested causing added duplication in messages and
wasted unnecessary IWANT control messages. This PR shifts this logic to only
request message ids that we are not currently requesting from peers.
- Triangle routing naturally gives rise to unnecessary duplicates. Consider a
mesh of 4 peers that are interconnected. Peer 1 sends a new message to 2,3,4.
2 propagates to 3,4 and 3 propagates to 2,4 and 4 propagates to 2,3. In this
case 3 has received the message 3 times. If we keep track of peers that send
us messages, when publishing or forwarding we no longer send to peers that
have sent us a duplicate, we can eliminate one of the sends in the scenario
above. This only occurs when message validation is async however. This PR adds
this logic to remove some elements of triangle-routing duplicates.
Co-authored-by: Divma <26765164+divagant-martian@users.noreply.github.com>
Co-authored-by: Max Inden <mail@max-inden.de>
Co-authored-by: Diva M <divma@protonmail.com>
2021-12-21 22:09:15 +11:00
|
|
|
- Improve bandwidth performance by tracking IWANTs and reducing duplicate sends
|
|
|
|
(see [PR 2327]).
|
|
|
|
|
2022-01-11 15:38:51 -05:00
|
|
|
- Implement `Serialize` and `Deserialize` for `MessageId` and `FastMessageId` (see [PR 2408])
|
|
|
|
|
2021-12-30 14:23:41 -05:00
|
|
|
- Fix `GossipsubConfigBuilder::build()` requiring `&self` to live for `'static` (see [PR 2409])
|
|
|
|
|
2022-01-17 12:08:34 -05:00
|
|
|
- Implement Unsubscribe backoff as per [libp2p specs PR 383] (see [PR 2403]).
|
|
|
|
|
2021-12-21 17:31:19 -05:00
|
|
|
[PR 2346]: https://github.com/libp2p/rust-libp2p/pull/2346
|
2021-11-26 09:34:58 -07:00
|
|
|
[PR 2339]: https://github.com/libp2p/rust-libp2p/pull/2339
|
protocols/gossipsub: Improve bandwidth (#2327)
This PR adds some bandwidth improvements to gossipsub.
After a bit of inspection on live networks a number of improvements have been
made that can help reduce unnecessary bandwidth on gossipsub networks. This PR
introduces the following:
- A 1:1 tracking of all in-flight IWANT requests. This not only ensures that all
IWANT requests are answered and peers penalized accordingly, but gossipsub
will no no longer create multiple IWANT requests for multiple peers.
Previously, gossipsub sampled the in-flight IWANT requests in order to
penalize peers for not responding with a high probability that we would detect
non-responsive nodes. Futher, it was possible to re-request IWANT messages
that are already being requested causing added duplication in messages and
wasted unnecessary IWANT control messages. This PR shifts this logic to only
request message ids that we are not currently requesting from peers.
- Triangle routing naturally gives rise to unnecessary duplicates. Consider a
mesh of 4 peers that are interconnected. Peer 1 sends a new message to 2,3,4.
2 propagates to 3,4 and 3 propagates to 2,4 and 4 propagates to 2,3. In this
case 3 has received the message 3 times. If we keep track of peers that send
us messages, when publishing or forwarding we no longer send to peers that
have sent us a duplicate, we can eliminate one of the sends in the scenario
above. This only occurs when message validation is async however. This PR adds
this logic to remove some elements of triangle-routing duplicates.
Co-authored-by: Divma <26765164+divagant-martian@users.noreply.github.com>
Co-authored-by: Max Inden <mail@max-inden.de>
Co-authored-by: Diva M <divma@protonmail.com>
2021-12-21 22:09:15 +11:00
|
|
|
[PR 2327]: https://github.com/libp2p/rust-libp2p/pull/2327
|
2022-01-11 15:38:51 -05:00
|
|
|
[PR 2408]: https://github.com/libp2p/rust-libp2p/pull/2408
|
2021-12-30 14:23:41 -05:00
|
|
|
[PR 2409]: https://github.com/libp2p/rust-libp2p/pull/2409
|
2022-01-17 12:08:34 -05:00
|
|
|
[PR 2403]: https://github.com/libp2p/rust-libp2p/pull/2403
|
|
|
|
[libp2p specs PR 383]: https://github.com/libp2p/specs/pull/383
|
2021-11-26 09:34:58 -07:00
|
|
|
|
2021-11-16 16:39:42 +01:00
|
|
|
# 0.34.0 [2021-11-16]
|
2021-10-30 12:41:30 +02:00
|
|
|
|
2021-11-16 08:59:39 -05:00
|
|
|
- Add topic and mesh metrics (see [PR 2316]).
|
|
|
|
|
2021-11-03 18:21:51 -05:00
|
|
|
- Fix bug in internal peer's topics tracking (see [PR 2325]).
|
|
|
|
|
2021-10-30 12:41:30 +02:00
|
|
|
- Use `instant` and `futures-timer` instead of `wasm-timer` (see [PR 2245]).
|
|
|
|
|
2021-11-15 14:17:23 +01:00
|
|
|
- Update dependencies.
|
|
|
|
|
2021-10-30 12:41:30 +02:00
|
|
|
[PR 2245]: https://github.com/libp2p/rust-libp2p/pull/2245
|
2021-11-03 18:21:51 -05:00
|
|
|
[PR 2325]: https://github.com/libp2p/rust-libp2p/pull/2325
|
2021-11-16 08:59:39 -05:00
|
|
|
[PR 2316]: https://github.com/libp2p/rust-libp2p/pull/2316
|
2021-10-30 12:41:30 +02:00
|
|
|
|
2021-11-02 20:40:48 +01:00
|
|
|
# 0.33.0 [2021-11-01]
|
2021-07-22 22:34:13 +02:00
|
|
|
|
2021-09-27 17:21:37 +10:00
|
|
|
- Add an event to register peers that do not support the gossipsub protocol
|
|
|
|
[PR 2241](https://github.com/libp2p/rust-libp2p/pull/2241)
|
|
|
|
|
2021-08-18 12:08:45 +02:00
|
|
|
- Make default features of `libp2p-core` optional.
|
|
|
|
[PR 2181](https://github.com/libp2p/rust-libp2p/pull/2181)
|
|
|
|
|
2021-08-11 17:37:10 +02:00
|
|
|
- Improve internal peer tracking.
|
|
|
|
[PR 2175](https://github.com/libp2p/rust-libp2p/pull/2175)
|
|
|
|
|
2021-07-22 22:34:13 +02:00
|
|
|
- Update dependencies.
|
|
|
|
|
2021-08-03 07:29:56 -05:00
|
|
|
- Allow `message_id_fn`s to accept closures that capture variables.
|
|
|
|
[PR 2103](https://github.com/libp2p/rust-libp2p/pull/2103)
|
|
|
|
|
2021-10-01 16:23:08 +00:00
|
|
|
- Implement std::error::Error for error types.
|
|
|
|
[PR 2254](https://github.com/libp2p/rust-libp2p/pull/2254)
|
|
|
|
|
2021-07-12 21:24:58 +02:00
|
|
|
# 0.32.0 [2021-07-12]
|
2021-05-27 14:04:33 +02:00
|
|
|
|
|
|
|
- Update dependencies.
|
|
|
|
|
2021-06-12 08:11:55 +02:00
|
|
|
- Reduce log levels across the crate to lessen noisiness of libp2p-gossipsub (see [PR 2101]).
|
|
|
|
|
|
|
|
[PR 2101]: https://github.com/libp2p/rust-libp2p/pull/2101
|
|
|
|
|
2021-05-17 12:43:24 +02:00
|
|
|
# 0.31.0 [2021-05-17]
|
2021-05-14 17:16:50 +10:00
|
|
|
|
|
|
|
- Keep connections to peers in a mesh alive. Allow closing idle connections to peers not in a mesh
|
|
|
|
[PR-2043].
|
|
|
|
|
|
|
|
[PR-2043]: https://github.com/libp2p/rust-libp2p/pull/2043https://github.com/libp2p/rust-libp2p/pull/2043
|
|
|
|
|
2021-04-27 15:00:13 +02:00
|
|
|
# 0.30.1 [2021-04-27]
|
|
|
|
|
|
|
|
- Remove `regex-filter` feature flag thus always enabling `regex::RegexSubscriptionFilter` [PR
|
|
|
|
2056](https://github.com/libp2p/rust-libp2p/pull/2056).
|
|
|
|
|
2021-04-13 20:15:15 +02:00
|
|
|
# 0.30.0 [2021-04-13]
|
2021-03-18 14:55:33 +01:00
|
|
|
|
|
|
|
- Update `libp2p-swarm`.
|
|
|
|
|
2021-04-01 13:57:29 +02:00
|
|
|
- Update dependencies.
|
|
|
|
|
2021-03-17 15:28:13 +01:00
|
|
|
# 0.29.0 [2021-03-17]
|
2021-02-25 11:35:52 +01:00
|
|
|
|
|
|
|
- Update `libp2p-swarm`.
|
|
|
|
|
2021-03-15 12:31:21 +01:00
|
|
|
- Update dependencies.
|
|
|
|
|
2021-02-15 20:06:50 +01:00
|
|
|
# 0.28.0 [2021-02-15]
|
2021-01-20 10:50:23 +01:00
|
|
|
|
|
|
|
- Prevent non-published messages being added to caches.
|
|
|
|
[PR 1930](https://github.com/libp2p/rust-libp2p/pull/1930)
|
|
|
|
|
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
|
|
|
|
|
|
|
- Update dependencies.
|
|
|
|
|
|
|
|
- Implement Gossipsub v1.1 specification.
|
|
|
|
[PR 1720](https://github.com/libp2p/rust-libp2p/pull/1720)
|
|
|
|
|
2020-12-18 10:03:20 +01:00
|
|
|
# 0.26.0 [2020-12-17]
|
2020-12-15 14:40:39 +01:00
|
|
|
|
|
|
|
- Update `libp2p-swarm` and `libp2p-core`.
|
|
|
|
|
2020-11-25 15:30:13 +01:00
|
|
|
# 0.25.0 [2020-11-25]
|
2020-11-17 11:15:20 +01:00
|
|
|
|
|
|
|
- Update `libp2p-swarm` and `libp2p-core`.
|
|
|
|
|
2020-11-09 17:46:07 +01:00
|
|
|
# 0.24.0 [2020-11-09]
|
2020-10-31 01:51:27 +11:00
|
|
|
|
|
|
|
- Update dependencies.
|
|
|
|
|
2020-10-16 20:36:47 +02:00
|
|
|
# 0.23.0 [2020-10-16]
|
2020-09-11 12:16:36 +02:00
|
|
|
|
2020-09-11 15:19:05 +02:00
|
|
|
- Update dependencies.
|
2020-09-11 12:16:36 +02:00
|
|
|
|
2020-09-09 12:20:25 +02:00
|
|
|
# 0.22.0 [2020-09-09]
|
2020-08-23 16:57:20 +02:00
|
|
|
|
2020-09-03 12:31:04 +02:00
|
|
|
- Update `libp2p-swarm` and `libp2p-core`.
|
2020-08-23 16:57:20 +02:00
|
|
|
|
2020-08-18 17:04:34 +02:00
|
|
|
# 0.21.0 [2020-08-18]
|
2020-07-29 09:28:04 +02:00
|
|
|
|
2020-08-13 12:10:52 +02:00
|
|
|
- Add public API to list topics and peers. [PR 1677](https://github.com/libp2p/rust-libp2p/pull/1677).
|
|
|
|
|
2020-08-13 01:59:16 +10:00
|
|
|
- Add message signing and extended privacy/validation configurations. [PR 1583](https://github.com/libp2p/rust-libp2p/pull/1583).
|
|
|
|
|
2020-07-29 09:28:04 +02:00
|
|
|
- `Debug` instance for `Gossipsub`. [PR 1673](https://github.com/libp2p/rust-libp2p/pull/1673).
|
|
|
|
|
2020-08-04 11:30:09 +02:00
|
|
|
- Bump `libp2p-core` and `libp2p-swarm` dependency.
|
|
|
|
|
2020-07-01 15:36:20 +02:00
|
|
|
# 0.20.0 [2020-07-01]
|
|
|
|
|
|
|
|
- Updated dependencies.
|
|
|
|
|
2020-06-23 11:51:49 +02:00
|
|
|
# 0.19.3 [2020-06-23]
|
|
|
|
|
2020-07-01 15:36:20 +02:00
|
|
|
- Maintenance release fixing linter warnings.
|
2020-06-23 11:51:49 +02:00
|
|
|
|
2020-06-22 11:41:28 +02:00
|
|
|
# 0.19.2 [2020-06-22]
|
|
|
|
|
2020-07-01 15:36:20 +02:00
|
|
|
- Updated dependencies.
|