Publish v0.11.0 (#1205)

* Publish v0.11.0

* Update CHANGELOG.md

Co-Authored-By: Roman Borschel <romanb@users.noreply.github.com>
This commit is contained in:
Pierre Krieger 2019-07-19 10:58:49 +02:00 committed by GitHub
parent 5861474d99
commit a9c9a0784c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 91 additions and 80 deletions

View File

@ -1,3 +1,14 @@
# Version 0.11.0 (2019-07-18)
- `libp2p-kad`: Completed the core functionality of the record storage API, thereby extending the `RecordStore` for provider records. All records expire by default and are subject to regular republication and caching as per the Kademlia spec(s). Expiration and publication intervals are configurable through the `KademliaConfig`.
- `libp2p-kad`: The routing table now never stores peers without a known (listen) address. In particular, on receiving a new inbound connection, the Kademlia behaviour now emits `KademliaEvent::UnroutablePeer` to indicate that in order for the peer to be added to the routing table and hence considered a reachable node in the DHT, a listen address of the peer must be discovered and reported via `Kademlia::add_address`. This is usually achieved through the use of the `Identify` protocol on the same connection(s).
- `libp2p-kad`: Documentation updates.
- Extracted the `swarm` and `protocols_handler`-related contents from `libp2p-core` to a new `libp2p-swarm` crate.
- Renamed `RawSwarm` to `Network`.
- Added `Floodsub::publish_any`.
- Replaced unbounded channels with bounded ones at the boundary between the `Network` (formerly `RawSwarm`) and `NodeHandler`. The node handlers will now wait if the main task is busy, instead of continuing to push events to the channel.
- Fixed the `address_translation` function ignoring `/dns` addresses.
# Version 0.10.0 (2019-06-25)
- `PollParameters` is now a trait instead of a struct.

View File

@ -2,7 +2,7 @@
name = "libp2p"
edition = "2018"
description = "Peer-to-peer networking library"
version = "0.10.0"
version = "0.11.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -19,20 +19,20 @@ futures = "0.1"
multiaddr = { package = "parity-multiaddr", version = "0.5.0", path = "misc/multiaddr" }
multihash = { package = "parity-multihash", version = "0.1.0", path = "misc/multihash" }
lazy_static = "1.2"
libp2p-mplex = { version = "0.10.0", path = "muxers/mplex" }
libp2p-identify = { version = "0.10.0", path = "protocols/identify" }
libp2p-kad = { version = "0.10.0", path = "protocols/kad" }
libp2p-floodsub = { version = "0.10.0", path = "protocols/floodsub" }
libp2p-ping = { version = "0.10.0", path = "protocols/ping" }
libp2p-plaintext = { version = "0.10.0", path = "protocols/plaintext" }
libp2p-ratelimit = { version = "0.10.0", path = "transports/ratelimit" }
libp2p-core = { version = "0.10.0", path = "core" }
libp2p-core-derive = { version = "0.10.0", path = "misc/core-derive" }
libp2p-secio = { version = "0.10.0", path = "protocols/secio", default-features = false }
libp2p-mplex = { version = "0.11.0", path = "muxers/mplex" }
libp2p-identify = { version = "0.11.0", path = "protocols/identify" }
libp2p-kad = { version = "0.11.0", path = "protocols/kad" }
libp2p-floodsub = { version = "0.11.0", path = "protocols/floodsub" }
libp2p-ping = { version = "0.11.0", path = "protocols/ping" }
libp2p-plaintext = { version = "0.11.0", path = "protocols/plaintext" }
libp2p-ratelimit = { version = "0.11.0", path = "transports/ratelimit" }
libp2p-core = { version = "0.11.0", path = "core" }
libp2p-core-derive = { version = "0.11.0", path = "misc/core-derive" }
libp2p-secio = { version = "0.11.0", path = "protocols/secio", default-features = false }
libp2p-swarm = { version = "0.1.0", path = "swarm" }
libp2p-uds = { version = "0.10.0", path = "transports/uds" }
libp2p-wasm-ext = { version = "0.3.0", path = "transports/wasm-ext" }
libp2p-yamux = { version = "0.10.0", path = "muxers/yamux" }
libp2p-uds = { version = "0.11.0", path = "transports/uds" }
libp2p-wasm-ext = { version = "0.4.0", path = "transports/wasm-ext" }
libp2p-yamux = { version = "0.11.0", path = "muxers/yamux" }
parking_lot = "0.8"
smallvec = "0.6"
tokio-codec = "0.1"
@ -41,12 +41,12 @@ tokio-io = "0.1"
wasm-timer = "0.1"
[target.'cfg(not(any(target_os = "emscripten", target_os = "unknown")))'.dependencies]
libp2p-deflate = { version = "0.2.0", path = "protocols/deflate" }
libp2p-dns = { version = "0.10.0", path = "transports/dns" }
libp2p-mdns = { version = "0.10.0", path = "misc/mdns" }
libp2p-noise = { version = "0.8.0", path = "protocols/noise" }
libp2p-tcp = { version = "0.10.0", path = "transports/tcp" }
libp2p-websocket = { version = "0.10.0", path = "transports/websocket", optional = true }
libp2p-deflate = { version = "0.3.0", path = "protocols/deflate" }
libp2p-dns = { version = "0.11.0", path = "transports/dns" }
libp2p-mdns = { version = "0.11.0", path = "misc/mdns" }
libp2p-noise = { version = "0.9.0", path = "protocols/noise" }
libp2p-tcp = { version = "0.11.0", path = "transports/tcp" }
libp2p-websocket = { version = "0.11.0", path = "transports/websocket", optional = true }
[dev-dependencies]
env_logger = "0.6.0"

View File

@ -2,7 +2,7 @@
name = "libp2p-core"
edition = "2018"
description = "Core traits and structs of libp2p"
version = "0.10.0"
version = "0.11.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -43,9 +43,9 @@ untrusted = { version = "0.6" }
[dev-dependencies]
libp2p-swarm = { version = "0.1.0", path = "../swarm" }
libp2p-tcp = { version = "0.10.0", path = "../transports/tcp" }
libp2p-mplex = { version = "0.10.0", path = "../muxers/mplex" }
libp2p-secio = { version = "0.10.0", path = "../protocols/secio" }
libp2p-tcp = { version = "0.11.0", path = "../transports/tcp" }
libp2p-mplex = { version = "0.11.0", path = "../muxers/mplex" }
libp2p-secio = { version = "0.11.0", path = "../protocols/secio" }
rand = "0.6"
quickcheck = "0.8"
tokio = "0.1"

View File

@ -2,7 +2,7 @@
name = "libp2p-core-derive"
edition = "2018"
description = "Procedural macros of libp2p-core"
version = "0.10.0"
version = "0.11.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -17,4 +17,4 @@ syn = { version = "0.15.22", default-features = false, features = ["clone-impls"
quote = "0.6"
[dev-dependencies]
libp2p = { version = "0.10.0", path = "../.." }
libp2p = { version = "0.11.0", path = "../.." }

View File

@ -1,7 +1,7 @@
[package]
name = "libp2p-mdns"
edition = "2018"
version = "0.10.0"
version = "0.11.0"
description = "Implementation of the libp2p mDNS discovery method"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
@ -13,7 +13,7 @@ categories = ["network-programming", "asynchronous"]
data-encoding = "2.0"
dns-parser = "0.8"
futures = "0.1"
libp2p-core = { version = "0.10.0", path = "../../core" }
libp2p-core = { version = "0.11.0", path = "../../core" }
libp2p-swarm = { version = "0.1.0", path = "../../swarm" }
log = "0.4"
multiaddr = { package = "parity-multiaddr", version = "0.5.0", path = "../multiaddr" }

View File

@ -11,5 +11,5 @@ categories = ["network-programming", "asynchronous"]
publish = false
[dependencies]
libp2p-core = { version = "0.10.0", path = "../../core" }
libp2p-core = { version = "0.11.0", path = "../../core" }
num_cpus = "1.8"

View File

@ -2,7 +2,7 @@
name = "libp2p-mplex"
edition = "2018"
description = "Mplex multiplexing protocol for libp2p"
version = "0.10.0"
version = "0.11.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -13,7 +13,7 @@ categories = ["network-programming", "asynchronous"]
bytes = "0.4.5"
fnv = "1.0"
futures = "0.1"
libp2p-core = { version = "0.10.0", path = "../../core" }
libp2p-core = { version = "0.11.0", path = "../../core" }
log = "0.4"
parking_lot = "0.8"
tokio-codec = "0.1"
@ -21,5 +21,5 @@ tokio-io = "0.1"
unsigned-varint = { version = "0.2.1", features = ["codec"] }
[dev-dependencies]
libp2p-tcp = { version = "0.10.0", path = "../../transports/tcp" }
libp2p-tcp = { version = "0.11.0", path = "../../transports/tcp" }
tokio = "0.1"

View File

@ -2,7 +2,7 @@
name = "libp2p-yamux"
edition = "2018"
description = "Yamux multiplexing protocol for libp2p"
version = "0.10.0"
version = "0.11.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -11,7 +11,7 @@ categories = ["network-programming", "asynchronous"]
[dependencies]
futures = "0.1"
libp2p-core = { version = "0.10.0", path = "../../core" }
libp2p-core = { version = "0.11.0", path = "../../core" }
log = "0.4"
tokio-io = "0.1"
yamux = "0.2.1"

View File

@ -2,7 +2,7 @@
name = "libp2p-deflate"
edition = "2018"
description = "Deflate encryption protocol for libp2p"
version = "0.2.0"
version = "0.3.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -11,13 +11,13 @@ categories = ["network-programming", "asynchronous"]
[dependencies]
futures = "0.1"
libp2p-core = { version = "0.10.0", path = "../../core" }
libp2p-core = { version = "0.11.0", path = "../../core" }
tokio-io = "0.1.12"
flate2 = { version = "1.0", features = ["tokio"] }
[dev-dependencies]
env_logger = "0.6"
libp2p-tcp = { version = "0.10.0", path = "../../transports/tcp" }
libp2p-tcp = { version = "0.11.0", path = "../../transports/tcp" }
quickcheck = "0.8"
tokio = "0.1"
log = "0.4"

View File

@ -2,7 +2,7 @@
name = "libp2p-floodsub"
edition = "2018"
description = "Floodsub protocol for libp2p"
version = "0.10.0"
version = "0.11.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -15,7 +15,7 @@ bytes = "0.4"
cuckoofilter = "0.3.2"
fnv = "1.0"
futures = "0.1"
libp2p-core = { version = "0.10.0", path = "../../core" }
libp2p-core = { version = "0.11.0", path = "../../core" }
libp2p-swarm = { version = "0.1.0", path = "../../swarm" }
protobuf = "2.3"
rand = "0.6"

View File

@ -2,7 +2,7 @@
name = "libp2p-identify"
edition = "2018"
description = "Nodes identifcation protocol for libp2p"
version = "0.10.0"
version = "0.11.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -12,7 +12,7 @@ categories = ["network-programming", "asynchronous"]
[dependencies]
bytes = "0.4"
futures = "0.1"
libp2p-core = { version = "0.10.0", path = "../../core" }
libp2p-core = { version = "0.11.0", path = "../../core" }
libp2p-swarm = { version = "0.1.0", path = "../../swarm" }
log = "0.4.1"
multiaddr = { package = "parity-multiaddr", version = "0.5.0", path = "../../misc/multiaddr" }
@ -25,8 +25,8 @@ unsigned-varint = { version = "0.2.1", features = ["codec"] }
void = "1.0"
[dev-dependencies]
libp2p-mplex = { version = "0.10.0", path = "../../muxers/mplex" }
libp2p-secio = { version = "0.10.0", path = "../../protocols/secio" }
libp2p-tcp = { version = "0.10.0", path = "../../transports/tcp" }
libp2p-mplex = { version = "0.11.0", path = "../../muxers/mplex" }
libp2p-secio = { version = "0.11.0", path = "../../protocols/secio" }
libp2p-tcp = { version = "0.11.0", path = "../../transports/tcp" }
rand = "0.6"
tokio = "0.1"

View File

@ -2,7 +2,7 @@
name = "libp2p-kad"
edition = "2018"
description = "Kademlia protocol for libp2p"
version = "0.10.0"
version = "0.11.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -17,7 +17,7 @@ either = "1.5"
fnv = "1.0"
futures = "0.1"
log = "0.4"
libp2p-core = { version = "0.10.0", path = "../../core" }
libp2p-core = { version = "0.11.0", path = "../../core" }
libp2p-swarm = { version = "0.1.0", path = "../../swarm" }
multiaddr = { package = "parity-multiaddr", version = "0.5.0", path = "../../misc/multiaddr" }
multihash = { package = "parity-multihash", version = "0.1.0", path = "../../misc/multihash" }
@ -32,9 +32,9 @@ unsigned-varint = { version = "0.2.1", features = ["codec"] }
void = "1.0"
[dev-dependencies]
libp2p-secio = { version = "0.10.0", path = "../secio" }
libp2p-tcp = { version = "0.10.0", path = "../../transports/tcp" }
libp2p-yamux = { version = "0.10.0", path = "../../muxers/yamux" }
libp2p-secio = { version = "0.11.0", path = "../secio" }
libp2p-tcp = { version = "0.11.0", path = "../../transports/tcp" }
libp2p-yamux = { version = "0.11.0", path = "../../muxers/yamux" }
quickcheck = "0.8"
rand = "0.6.0"
tokio = "0.1"

View File

@ -1,7 +1,7 @@
[package]
name = "libp2p-noise"
description = "Cryptographic handshake protocol using the noise framework."
version = "0.8.0"
version = "0.9.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -12,7 +12,7 @@ bytes = "0.4"
curve25519-dalek = "1"
futures = "0.1"
lazy_static = "1.2"
libp2p-core = { version = "0.10.0", path = "../../core" }
libp2p-core = { version = "0.11.0", path = "../../core" }
log = "0.4"
protobuf = "2.3"
rand = "0.6.5"
@ -24,7 +24,7 @@ zeroize = "0.9"
[dev-dependencies]
env_logger = "0.6"
libp2p-tcp = { version = "0.10.0", path = "../../transports/tcp" }
libp2p-tcp = { version = "0.11.0", path = "../../transports/tcp" }
quickcheck = "0.8"
tokio = "0.1"
sodiumoxide = "0.2"

View File

@ -2,7 +2,7 @@
name = "libp2p-observed-address"
edition = "2018"
description = "Observed addresses protocol for libp2p"
version = "0.10.0"
version = "0.11.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -12,7 +12,7 @@ categories = ["network-programming", "asynchronous"]
[dependencies]
bytes = "0.4"
futures = "0.1"
libp2p-core = { version = "0.10.0", path = "../../core" }
libp2p-core = { version = "0.11.0", path = "../../core" }
tokio-codec = "0.1"
tokio-io = "0.1"
unsigned-varint = { version = "0.2.1", features = ["codec"] }

View File

@ -2,7 +2,7 @@
name = "libp2p-ping"
edition = "2018"
description = "Ping protocol for libp2p"
version = "0.10.0"
version = "0.11.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -11,7 +11,7 @@ categories = ["network-programming", "asynchronous"]
[dependencies]
bytes = "0.4"
libp2p-core = { version = "0.10.0", path = "../../core" }
libp2p-core = { version = "0.11.0", path = "../../core" }
libp2p-swarm = { version = "0.1.0", path = "../../swarm" }
log = "0.4.1"
multiaddr = { package = "parity-multiaddr", version = "0.5.0", path = "../../misc/multiaddr" }
@ -22,9 +22,9 @@ wasm-timer = "0.1"
void = "1.0"
[dev-dependencies]
libp2p-tcp = { version = "0.10.0", path = "../../transports/tcp" }
libp2p-secio = { version = "0.10.0", path = "../../protocols/secio" }
libp2p-yamux = { version = "0.10.0", path = "../../muxers/yamux" }
libp2p-tcp = { version = "0.11.0", path = "../../transports/tcp" }
libp2p-secio = { version = "0.11.0", path = "../../protocols/secio" }
libp2p-yamux = { version = "0.11.0", path = "../../muxers/yamux" }
quickcheck = "0.8"
tokio = "0.1"
tokio-tcp = "0.1"

View File

@ -2,7 +2,7 @@
name = "libp2p-plaintext"
edition = "2018"
description = "Plaintext encryption dummy protocol for libp2p"
version = "0.10.0"
version = "0.11.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -11,6 +11,6 @@ categories = ["network-programming", "asynchronous"]
[dependencies]
futures = "0.1"
libp2p-core = { version = "0.10.0", path = "../../core" }
libp2p-core = { version = "0.11.0", path = "../../core" }
void = "1"

View File

@ -2,7 +2,7 @@
name = "libp2p-secio"
edition = "2018"
description = "Secio encryption protocol for libp2p"
version = "0.10.0"
version = "0.11.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -12,7 +12,7 @@ categories = ["network-programming", "asynchronous"]
[dependencies]
bytes = "0.4"
futures = "0.1"
libp2p-core = { version = "0.10.0", path = "../../core" }
libp2p-core = { version = "0.11.0", path = "../../core" }
log = "0.4.6"
protobuf = "2.3"
rand = "0.6.5"
@ -44,7 +44,7 @@ aes-all = ["aesni"]
[dev-dependencies]
criterion = "0.2"
libp2p-tcp = { version = "0.10.0", path = "../../transports/tcp" }
libp2p-tcp = { version = "0.11.0", path = "../../transports/tcp" }
tokio = "0.1"
tokio-tcp = "0.1"

View File

@ -11,14 +11,14 @@ categories = ["network-programming", "asynchronous"]
[dependencies]
futures = "0.1"
libp2p-core = { version = "0.10.0", path = "../core" }
libp2p-core = { version = "0.11.0", path = "../core" }
smallvec = "0.6"
tokio-io = "0.1"
wasm-timer = "0.1"
void = "1"
[dev-dependencies]
libp2p-mplex = { version = "0.10.0", path = "../muxers/mplex" }
libp2p-mplex = { version = "0.11.0", path = "../muxers/mplex" }
quickcheck = "0.8"
rand = "0.6"

View File

@ -2,7 +2,7 @@
name = "libp2p-dns"
edition = "2018"
description = "DNS transport implementation for libp2p"
version = "0.10.0"
version = "0.11.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -10,10 +10,10 @@ keywords = ["peer-to-peer", "libp2p", "networking"]
categories = ["network-programming", "asynchronous"]
[dependencies]
libp2p-core = { version = "0.10.0", path = "../../core" }
libp2p-core = { version = "0.11.0", path = "../../core" }
log = "0.4.1"
futures = "0.1"
tokio-dns-unofficial = "0.4"
[dev-dependencies]
libp2p-tcp = { version = "0.10.0", path = "../../transports/tcp" }
libp2p-tcp = { version = "0.11.0", path = "../../transports/tcp" }

View File

@ -2,7 +2,7 @@
name = "libp2p-ratelimit"
edition = "2018"
description = "Transfer rate limiting transport adapter for libp2p"
version = "0.10.0"
version = "0.11.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -13,7 +13,7 @@ categories = ["network-programming", "asynchronous"]
aio-limited = "0.1"
bytes = "0.4"
futures = "0.1"
libp2p-core = { version = "0.10.0", path = "../../core" }
libp2p-core = { version = "0.11.0", path = "../../core" }
log = "0.4"
tokio-executor = "0.1"
tokio-io = "0.1"

View File

@ -2,7 +2,7 @@
name = "libp2p-tcp"
edition = "2018"
description = "TCP/IP transport protocol for libp2p"
version = "0.10.0"
version = "0.11.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -13,7 +13,7 @@ categories = ["network-programming", "asynchronous"]
bytes = "0.4"
get_if_addrs = "0.5.3"
ipnet = "2.0.0"
libp2p-core = { version = "0.10.0", path = "../../core" }
libp2p-core = { version = "0.11.0", path = "../../core" }
log = "0.4.1"
futures = "0.1"
tk-listen = "0.2.0"

View File

@ -2,7 +2,7 @@
name = "libp2p-uds"
edition = "2018"
description = "Unix domain sockets transport for libp2p"
version = "0.10.0"
version = "0.11.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -10,7 +10,7 @@ keywords = ["peer-to-peer", "libp2p", "networking"]
categories = ["network-programming", "asynchronous"]
[target.'cfg(all(unix, not(any(target_os = "emscripten", target_os = "unknown"))))'.dependencies]
libp2p-core = { version = "0.10.0", path = "../../core" }
libp2p-core = { version = "0.11.0", path = "../../core" }
log = "0.4.1"
futures = "0.1"
tokio-uds = "0.2"

View File

@ -1,6 +1,6 @@
[package]
name = "libp2p-wasm-ext"
version = "0.3.0"
version = "0.4.0"
authors = ["Pierre Krieger <pierre.krieger1708@gmail.com>"]
edition = "2018"
description = "Allows passing in an external transport in a WASM environment"
@ -12,7 +12,7 @@ categories = ["network-programming", "asynchronous"]
[dependencies]
futures = "0.1"
js-sys = "0.3.19"
libp2p-core = { version = "0.10.0", path = "../../core" }
libp2p-core = { version = "0.11.0", path = "../../core" }
parity-send-wrapper = "0.1.0"
tokio-io = "0.1"
wasm-bindgen = "0.2.42"

View File

@ -2,7 +2,7 @@
name = "libp2p-websocket"
edition = "2018"
description = "WebSocket transport for libp2p"
version = "0.10.0"
version = "0.11.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -12,7 +12,7 @@ categories = ["network-programming", "asynchronous"]
[dependencies]
bytes = "0.4.6"
futures = "0.1"
libp2p-core = { version = "0.10.0", path = "../../core" }
libp2p-core = { version = "0.11.0", path = "../../core" }
log = "0.4.1"
rw-stream-sink = { version = "0.1.1", path = "../../misc/rw-stream-sink" }
tokio-codec = "0.1.1"
@ -23,5 +23,5 @@ url = "1.7.2"
webpki-roots = "0.16.0"
[dev-dependencies]
libp2p-tcp = { version = "0.10.0", path = "../tcp" }
libp2p-tcp = { version = "0.11.0", path = "../tcp" }
tokio = "0.1.20"