Version 0.2 (#841)

This commit is contained in:
Pierre Krieger
2019-01-10 13:27:45 +01:00
committed by GitHub
parent b8a312f7d5
commit e39d6d8bd2
21 changed files with 79 additions and 67 deletions

13
CHANGELOG.md Normal file
View File

@ -0,0 +1,13 @@
# Version 0.2
- The `Transport` trait now has an `Error` associated type instead of always using `std::io::Error`.
- Merged `PeriodicPing` and `PingListen` into one `Ping` behaviour.
- `Floodsub` now generates `FloodsubEvent`s instead of direct floodsub messages.
- Added `ProtocolsHandler::connection_keep_alive`. If all the handlers return `false`, then the connection to the remote node will automatically be gracefully closed after a few seconds.
- The crate now successfuly compiles for the `wasm32-unknown-unknown` target.
- Updated `ring` to version 0.13.
- Updated `secp256k1` to version 0.12.
- The enum returned by `RawSwarm::peer()` can now return `LocalNode`. This makes it impossible to accidentally attempt to dial the local node.
- Removed `Transport::map_err_dial`.
- Removed the `Result` from some connection-related methods in the `RawSwarm`, as they could never error.
- If a node doesn't respond to pings, we now generate an error on the connection instead of trying to gracefully close it.

View File

@ -1,7 +1,7 @@
[package]
name = "libp2p"
description = "Peer-to-peer networking library"
version = "0.1.0"
version = "0.2.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -18,27 +18,27 @@ bytes = "0.4"
futures = "0.1"
multiaddr = { package = "parity-multiaddr", version = "0.1.0", path = "./misc/multiaddr" }
multihash = { package = "parity-multihash", version = "0.1.0", path = "./misc/multihash" }
libp2p-mplex = { version = "0.1.0", path = "./muxers/mplex" }
libp2p-identify = { version = "0.1.0", path = "./protocols/identify" }
libp2p-kad = { version = "0.1.0", path = "./protocols/kad" }
libp2p-floodsub = { version = "0.1.0", path = "./protocols/floodsub" }
libp2p-ping = { version = "0.1.0", path = "./protocols/ping" }
libp2p-plaintext = { version = "0.1.0", path = "./protocols/plaintext" }
libp2p-ratelimit = { version = "0.1.0", path = "./transports/ratelimit" }
libp2p-core = { version = "0.1.0", path = "./core" }
libp2p-core-derive = { version = "0.1.0", path = "./misc/core-derive" }
libp2p-secio = { version = "0.1.0", path = "./protocols/secio", default-features = false }
libp2p-uds = { version = "0.1.0", path = "./transports/uds" }
libp2p-websocket = { version = "0.1.0", path = "./transports/websocket", optional = true }
libp2p-yamux = { version = "0.1.0", path = "./muxers/yamux" }
libp2p-mplex = { version = "0.2.0", path = "./muxers/mplex" }
libp2p-identify = { version = "0.2.0", path = "./protocols/identify" }
libp2p-kad = { version = "0.2.0", path = "./protocols/kad" }
libp2p-floodsub = { version = "0.2.0", path = "./protocols/floodsub" }
libp2p-ping = { version = "0.2.0", path = "./protocols/ping" }
libp2p-plaintext = { version = "0.2.0", path = "./protocols/plaintext" }
libp2p-ratelimit = { version = "0.2.0", path = "./transports/ratelimit" }
libp2p-core = { version = "0.2.0", path = "./core" }
libp2p-core-derive = { version = "0.2.0", path = "./misc/core-derive" }
libp2p-secio = { version = "0.2.0", path = "./protocols/secio", default-features = false }
libp2p-uds = { version = "0.2.0", path = "./transports/uds" }
libp2p-websocket = { version = "0.2.0", path = "./transports/websocket", optional = true }
libp2p-yamux = { version = "0.2.0", path = "./muxers/yamux" }
tokio-codec = "0.1"
tokio-executor = "0.1"
tokio-io = "0.1"
[target.'cfg(not(any(target_os = "emscripten", target_os = "unknown")))'.dependencies]
libp2p-dns = { version = "0.1.0", path = "./transports/dns" }
libp2p-mdns = { version = "0.1.0", path = "./misc/mdns" }
libp2p-tcp = { version = "0.1.0", path = "./transports/tcp" }
libp2p-dns = { version = "0.2.0", path = "./transports/dns" }
libp2p-mdns = { version = "0.2.0", path = "./misc/mdns" }
libp2p-tcp = { version = "0.2.0", path = "./transports/tcp" }
[target.'cfg(any(target_os = "emscripten", target_os = "unknown"))'.dependencies]
stdweb = { version = "0.4", default-features = false }

View File

@ -2,7 +2,7 @@
name = "libp2p-core"
edition = "2018"
description = "Core traits and structs of libp2p"
version = "0.1.0"
version = "0.2.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -16,7 +16,7 @@ fnv = "1.0"
log = "0.4"
multiaddr = { package = "parity-multiaddr", version = "0.1.0", path = "../misc/multiaddr" }
multihash = { package = "parity-multihash", version = "0.1.0", path = "../misc/multihash" }
multistream-select = { version = "0.1.0", path = "../misc/multistream-select" }
multistream-select = { version = "0.2.0", path = "../misc/multistream-select" }
futures = { version = "0.1", features = ["use_std"] }
parking_lot = "0.7"
protobuf = "2.0.2"
@ -29,9 +29,9 @@ tokio-timer = "0.2"
void = "1"
[dev-dependencies]
libp2p-ping = { version = "0.1.0", path = "../protocols/ping" }
libp2p-tcp = { version = "0.1.0", path = "../transports/tcp" }
libp2p-mplex = { version = "0.1.0", path = "../muxers/mplex" }
libp2p-ping = { version = "0.2.0", path = "../protocols/ping" }
libp2p-tcp = { version = "0.2.0", path = "../transports/tcp" }
libp2p-mplex = { version = "0.2.0", path = "../muxers/mplex" }
rand = "0.6"
tokio = "0.1"
tokio-codec = "0.1"

View File

@ -1,7 +1,7 @@
[package]
name = "libp2p-core-derive"
description = "Procedural macros of libp2p-core"
version = "0.1.0"
version = "0.2.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -16,5 +16,5 @@ syn = { version = "0.15.22", default-features = false, features = ["clone-impls"
quote = "0.6"
[dev-dependencies]
libp2p = { version = "0.1.0", path = "../.." }
libp2p = { version = "0.2.0", path = "../.." }
void = "1.0"

View File

@ -1,6 +1,6 @@
[package]
name = "libp2p-mdns"
version = "0.1.0"
version = "0.2.0"
description = "Implementation of the libp2p mDNS discovery method"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
@ -12,7 +12,7 @@ categories = ["network-programming", "asynchronous"]
data-encoding = "2.0"
dns-parser = "0.8"
futures = "0.1"
libp2p-core = { version = "0.1.0", path = "../../core" }
libp2p-core = { version = "0.2.0", path = "../../core" }
multiaddr = { package = "parity-multiaddr", version = "0.1.0", path = "../multiaddr" }
net2 = "0.2"
rand = "0.6"

View File

@ -1,7 +1,7 @@
[package]
name = "multistream-select"
description = "Multistream-select negotiation protocol for libp2p"
version = "0.1.0"
version = "0.2.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"

View File

@ -10,7 +10,7 @@ categories = ["network-programming", "asynchronous"]
publish = false
[dependencies]
libp2p-core = { version = "0.1.0", path = "../../core" }
libp2p-secio = { version = "0.1.0", path = "../../protocols/secio" }
libp2p-core = { version = "0.2.0", path = "../../core" }
libp2p-secio = { version = "0.2.0", path = "../../protocols/secio" }
num_cpus = "1.8"
rand = "0.6"

View File

@ -2,7 +2,7 @@
name = "libp2p-mplex"
edition = "2018"
description = "Mplex multiplexing protocol for libp2p"
version = "0.1.0"
version = "0.2.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.1.0", path = "../../core" }
libp2p-core = { version = "0.2.0", path = "../../core" }
log = "0.4"
parking_lot = "0.7"
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.1.0", path = "../../transports/tcp" }
libp2p-tcp = { version = "0.2.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.1.0"
version = "0.2.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.1.0", path = "../../core" }
libp2p-core = { version = "0.2.0", path = "../../core" }
log = "0.4"
tokio-io = "0.1"
yamux = "0.1.1"

View File

@ -1,7 +1,7 @@
[package]
name = "libp2p-floodsub"
description = "Floodsub protocol for libp2p"
version = "0.1.0"
version = "0.2.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -14,7 +14,7 @@ bytes = "0.4"
cuckoofilter = "0.3.2"
fnv = "1.0"
futures = "0.1"
libp2p-core = { version = "0.1.0", path = "../../core" }
libp2p-core = { version = "0.2.0", path = "../../core" }
protobuf = "2.0.2"
rand = "0.6"
smallvec = "0.6.5"

View File

@ -1,7 +1,7 @@
[package]
name = "libp2p-identify"
description = "Nodes identifcation protocol for libp2p"
version = "0.1.0"
version = "0.2.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -12,7 +12,7 @@ categories = ["network-programming", "asynchronous"]
bytes = "0.4"
fnv = "1"
futures = "0.1"
libp2p-core = { version = "0.1.0", path = "../../core" }
libp2p-core = { version = "0.2.0", path = "../../core" }
log = "0.4.1"
multiaddr = { package = "parity-multiaddr", version = "0.1.0", path = "../../misc/multiaddr" }
parking_lot = "0.7"
@ -25,5 +25,5 @@ unsigned-varint = { version = "0.2.1", features = ["codec"] }
void = "1.0"
[dev-dependencies]
libp2p-tcp = { version = "0.1.0", path = "../../transports/tcp" }
libp2p-tcp = { version = "0.2.0", path = "../../transports/tcp" }
tokio = "0.1"

View File

@ -1,7 +1,7 @@
[package]
name = "libp2p-kad"
description = "Kademlia protocol for libp2p"
version = "0.1.0"
version = "0.2.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -15,9 +15,9 @@ bigint = "4.2"
bytes = "0.4"
fnv = "1.0"
futures = "0.1"
libp2p-identify = { version = "0.1.0", path = "../../protocols/identify" }
libp2p-ping = { version = "0.1.0", path = "../../protocols/ping" }
libp2p-core = { version = "0.1.0", path = "../../core" }
libp2p-identify = { version = "0.2.0", path = "../../protocols/identify" }
libp2p-ping = { version = "0.2.0", path = "../../protocols/ping" }
libp2p-core = { version = "0.2.0", path = "../../core" }
log = "0.4"
multiaddr = { package = "parity-multiaddr", version = "0.1.0", path = "../../misc/multiaddr" }
multihash = { package = "parity-multihash", version = "0.1.0", path = "../../misc/multihash" }
@ -32,5 +32,5 @@ unsigned-varint = { version = "0.2.1", features = ["codec"] }
void = "1.0"
[dev-dependencies]
libp2p-tcp = { version = "0.1.0", path = "../../transports/tcp" }
libp2p-tcp = { version = "0.2.0", path = "../../transports/tcp" }
tokio = "0.1"

View File

@ -1,7 +1,7 @@
[package]
name = "libp2p-observed-address"
description = "Observed addresses protocol for libp2p"
version = "0.1.0"
version = "0.2.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"
futures = "0.1"
libp2p-core = { version = "0.1.0", path = "../../core" }
libp2p-core = { version = "0.2.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.1.0"
version = "0.2.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -12,10 +12,9 @@ categories = ["network-programming", "asynchronous"]
[dependencies]
arrayvec = "0.4"
bytes = "0.4"
libp2p-core = { version = "0.1.0", path = "../../core" }
libp2p-core = { version = "0.2.0", path = "../../core" }
log = "0.4.1"
multiaddr = { package = "parity-multiaddr", version = "0.1.0", path = "../../misc/multiaddr" }
multistream-select = { version = "0.1.0", path = "../../misc/multistream-select" }
futures = "0.1"
parking_lot = "0.7"
rand = "0.6"
@ -25,6 +24,6 @@ tokio-timer = "0.2.6"
void = "1.0"
[dev-dependencies]
libp2p-tcp = { version = "0.1.0", path = "../../transports/tcp" }
libp2p-tcp = { version = "0.2.0", path = "../../transports/tcp" }
tokio = "0.1"
tokio-tcp = "0.1"

View File

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

View File

@ -2,7 +2,7 @@
name = "libp2p-secio"
edition = "2018"
description = "Secio encryption protocol for libp2p"
version = "0.1.0"
version = "0.2.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -13,7 +13,7 @@ categories = ["network-programming", "asynchronous"]
asn1_der = "0.5"
bytes = "0.4"
futures = "0.1"
libp2p-core = { version = "0.1.0", path = "../../core" }
libp2p-core = { version = "0.2.0", path = "../../core" }
log = "0.4.1"
protobuf = "2.0.2"
rand = "0.6"
@ -42,6 +42,6 @@ rsa = ["ring/rsa_signing"]
aes-all = ["aesni", "lazy_static"]
[dev-dependencies]
libp2p-tcp = { version = "0.1.0", path = "../../transports/tcp" }
libp2p-tcp = { version = "0.2.0", path = "../../transports/tcp" }
tokio = "0.1"
tokio-tcp = "0.1"

View File

@ -1,7 +1,7 @@
[package]
name = "libp2p-dns"
description = "DNS transport implementation for libp2p"
version = "0.1.0"
version = "0.2.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -9,7 +9,7 @@ keywords = ["peer-to-peer", "libp2p", "networking"]
categories = ["network-programming", "asynchronous"]
[dependencies]
libp2p-core = { version = "0.1.0", path = "../../core" }
libp2p-core = { version = "0.2.0", path = "../../core" }
log = "0.4.1"
futures = "0.1"
multiaddr = { package = "parity-multiaddr", version = "0.1.0", path = "../../misc/multiaddr" }
@ -17,5 +17,5 @@ tokio-dns-unofficial = "0.4"
tokio-io = "0.1"
[dev-dependencies]
libp2p-tcp = { version = "0.1.0", path = "../../transports/tcp" }
libp2p-tcp = { version = "0.2.0", path = "../../transports/tcp" }
tokio = "0.1"

View File

@ -1,7 +1,7 @@
[package]
name = "libp2p-ratelimit"
description = "Transfer rate limiting transport adapter for libp2p"
version = "0.1.1"
version = "0.2.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]
aio-limited = "0.1"
futures = "0.1"
libp2p-core = { version = "0.1.0", path = "../../core" }
libp2p-core = { version = "0.2.0", path = "../../core" }
log = "0.4"
tokio-executor = "0.1"
tokio-io = "0.1"

View File

@ -1,7 +1,7 @@
[package]
name = "libp2p-tcp"
description = "TCP/IP transport protocol for libp2p"
version = "0.1.0"
version = "0.2.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -9,7 +9,7 @@ keywords = ["peer-to-peer", "libp2p", "networking"]
categories = ["network-programming", "asynchronous"]
[dependencies]
libp2p-core = { version = "0.1.0", path = "../../core" }
libp2p-core = { version = "0.2.0", path = "../../core" }
log = "0.4.1"
futures = "0.1"
multiaddr = { package = "parity-multiaddr", version = "0.1.0", path = "../../misc/multiaddr" }

View File

@ -1,7 +1,7 @@
[package]
name = "libp2p-uds"
description = "Unix domain sockets transport for libp2p"
version = "0.1.0"
version = "0.2.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -9,7 +9,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.1.0", path = "../../core" }
libp2p-core = { version = "0.2.0", path = "../../core" }
log = "0.4.1"
futures = "0.1"
multiaddr = { package = "parity-multiaddr", version = "0.1.0", path = "../../misc/multiaddr" }

View File

@ -1,7 +1,7 @@
[package]
name = "libp2p-websocket"
description = "WebSocket transport for libp2p"
version = "0.1.0"
version = "0.2.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -9,7 +9,7 @@ keywords = ["peer-to-peer", "libp2p", "networking"]
categories = ["network-programming", "asynchronous"]
[dependencies]
libp2p-core = { version = "0.1.0", path = "../../core" }
libp2p-core = { version = "0.2.0", path = "../../core" }
futures = "0.1"
multiaddr = { package = "parity-multiaddr", version = "0.1.0", path = "../../misc/multiaddr" }
log = "0.4.1"
@ -23,5 +23,5 @@ websocket = { version = "0.21.0", default-features = false, features = ["async",
stdweb = { version = "0.4", default-features = false }
[target.'cfg(not(any(target_os = "emscripten", target_os = "unknown")))'.dev-dependencies]
libp2p-tcp = { version = "0.1.0", path = "../tcp" }
libp2p-tcp = { version = "0.2.0", path = "../tcp" }
tokio = "0.1"