chore: leverage cargo's workspace inheritance

Previously, we would specify the version and path of our workspace dependencies in each of our crates. This is error prone as https://github.com/libp2p/rust-libp2p/pull/3658#discussion_r1153278072 for example shows. Problems like these happened in the past too.

There is no need for us to ever depend on a earlier version than the most current one in our crates. It thus makes sense that we manage this version in a single place.

Cargo supports a feature called "workspace inheritance" which allows us to share a dependency declaration across a workspace and inherit it with `{ workspace = true }`.

We do this for all our workspace dependencies and for the MSRV.

Resolves #3787.

Pull-Request: #3715.
This commit is contained in:
Thomas Eizinger
2023-05-02 11:14:14 +02:00
committed by GitHub
parent d1fadc592d
commit 996b5c8bd0
89 changed files with 726 additions and 432 deletions

View File

@ -1,5 +1,7 @@
# This workflow _produces_ caches which are used to speed up pull request builds.
# The caches are split by Rust version (stable vs MSRV per crate) because those caches cannot share any artifacts.
# This workflow _produces_ a cache that is used to speed up pull request builds.
#
# Our CI runs a job per crate, meaning all jobs share compilation artifacts but never the full cache.
# Thus, we make a single cache here that is used by all jobs and the jobs only read from this cache.
name: Cache factory
@ -13,42 +15,6 @@ concurrency:
cancel-in-progress: true
jobs:
gather_msrv_versions:
runs-on: ubuntu-latest
outputs:
versions: ${{ steps.find-rust-versions.outputs.versions }}
steps:
- uses: actions/checkout@v3
- id: find-rust-versions
run: |
RUST_VERSIONS=$(cargo metadata --format-version=1 --no-deps | jq -c '.packages | map(.rust_version) | unique | del(..|nulls)')
echo "versions=${RUST_VERSIONS}" >> $GITHUB_OUTPUT
make_msrv_cache:
runs-on: ubuntu-latest
needs: gather_msrv_versions
strategy:
fail-fast: false
matrix:
rust: ${{ fromJSON(needs.gather_msrv_versions.outputs.versions) }}
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
- uses: Swatinem/rust-cache@6fd3edff6979b79f87531400ad694fb7f2c84b1f # v2.2.1
with:
shared-key: msrv-cache
- name: Compile all crates which have MSRV ${{ matrix.rust }}
run: |
cargo metadata --format-version=1 --no-deps | \
jq -r '.packages[] | select(.rust_version == "${{ matrix.rust }}") | "+\(.rust_version) build --all-features --package \(.name)"' |
xargs --verbose -L 1 cargo
make_stable_rust_cache:
runs-on: ubuntu-latest
steps:

View File

@ -32,32 +32,10 @@ jobs:
- name: Install Protoc
run: sudo apt-get install -y protobuf-compiler
- uses: dtolnay/rust-toolchain@stable
- uses: actions/checkout@v3
- name: Get MSRV for ${{ matrix.crate }}
id: parse-msrv
run: |
RUST_VERSION=$(cargo metadata --format-version=1 --no-deps | jq -r '.packages[] | select(.name == "${{ matrix.crate }}") | .rust_version')
echo "version=${RUST_VERSION}" >> $GITHUB_OUTPUT
shell: bash
- name: Install Rust ${{ steps.parse-msrv.outputs.version }} for MSRV check
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ steps.parse-msrv.outputs.version }}
- uses: r7kamura/rust-problem-matchers@d58b70c4a13c4866d96436315da451d8106f8f08 #v1.3.0
- uses: Swatinem/rust-cache@6fd3edff6979b79f87531400ad694fb7f2c84b1f # v2.2.1
with:
shared-key: msrv-cache
save-if: false
- name: Check if ${{ matrix.crate }} compiles on MSRV (Rust ${{ steps.parse-msrv.outputs.version }})
run: cargo +${{ steps.parse-msrv.outputs.version }} build --package ${{ matrix.crate }} --all-features
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@6fd3edff6979b79f87531400ad694fb7f2c84b1f # v2.2.1
@ -90,6 +68,21 @@ jobs:
cargo metadata --format-version=1 --no-deps | \
jq -e -r '.packages[] | select(.name == "${{ matrix.crate }}") | .dependencies | all(.name != "libp2p")'
- uses: taiki-e/cache-cargo-install-action@7dd0cff2732612ac642812bcec4ada5a279239ed # v1
with:
tool: tomlq
- name: Enforce version in `workspace.dependencies` matches latest version
if: matrix.crate != 'libp2p'
run: |
PACKAGE_VERSION=$(cargo metadata --format-version=1 --no-deps | jq -e -r '.packages[] | select(.name == "${{ matrix.crate }}") | .version')
SPECIFIED_VERSION=$(tomlq 'workspace.dependencies.${{ matrix.crate }}.version' --file ./Cargo.toml)
echo "Package version: $PACKAGE_VERSION";
echo "Specified version: $SPECIFIED_VERSION";
test "$PACKAGE_VERSION" = "$SPECIFIED_VERSION"
cross:
name: Compile on ${{ matrix.target }}
strategy:
@ -122,6 +115,30 @@ jobs:
- run: cargo check --package libp2p --all-features --target=${{ matrix.target }}
msrv:
name: Compile with MSRV
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Extract MSRV from workspace manifest
shell: bash
run: |
MSRV=$(grep -oP 'rust-version\s*=\s*"\K[^"]+' Cargo.toml)
echo "MSRV=$MSRV" >> $GITHUB_ENV
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ env.MSRV }}
- uses: r7kamura/rust-problem-matchers@d58b70c4a13c4866d96436315da451d8106f8f08 #v1.3.0
- uses: Swatinem/rust-cache@6fd3edff6979b79f87531400ad694fb7f2c84b1f # v2.2.1
with:
save-if: ${{ github.ref == 'refs/heads/master' }}
- run: cargo +$MSRV check --workspace --all-features
feature_matrix: # Test various feature combinations work correctly
name: Compile with select features (${{ matrix.features }})
runs-on: ubuntu-latest

78
Cargo.lock generated
View File

@ -2272,7 +2272,7 @@ checksum = "7fc7aa29613bd6a620df431842069224d8bc9011086b1db4c0e0cd47fa03ec9a"
[[package]]
name = "libp2p"
version = "0.51.3"
version = "0.52.0"
dependencies = [
"async-std",
"async-trait",
@ -2323,7 +2323,7 @@ dependencies = [
[[package]]
name = "libp2p-allow-block-list"
version = "0.1.1"
version = "0.2.0"
dependencies = [
"async-std",
"libp2p-core",
@ -2336,7 +2336,7 @@ dependencies = [
[[package]]
name = "libp2p-autonat"
version = "0.10.2"
version = "0.11.0"
dependencies = [
"async-std",
"async-trait",
@ -2356,7 +2356,7 @@ dependencies = [
[[package]]
name = "libp2p-connection-limits"
version = "0.1.0"
version = "0.2.0"
dependencies = [
"async-std",
"libp2p-core",
@ -2373,7 +2373,7 @@ dependencies = [
[[package]]
name = "libp2p-core"
version = "0.39.2"
version = "0.40.0"
dependencies = [
"async-std",
"either",
@ -2404,7 +2404,7 @@ dependencies = [
[[package]]
name = "libp2p-dcutr"
version = "0.9.1"
version = "0.10.0"
dependencies = [
"async-std",
"asynchronous-codec",
@ -2436,19 +2436,21 @@ dependencies = [
[[package]]
name = "libp2p-deflate"
version = "0.39.0"
version = "0.40.0"
dependencies = [
"async-std",
"flate2",
"futures",
"futures_ringbuf",
"libp2p-core",
"libp2p-tcp",
"quickcheck-ext",
"rand 0.8.5",
]
[[package]]
name = "libp2p-dns"
version = "0.39.0"
version = "0.40.0"
dependencies = [
"async-std",
"async-std-resolver",
@ -2465,7 +2467,7 @@ dependencies = [
[[package]]
name = "libp2p-floodsub"
version = "0.42.1"
version = "0.43.0"
dependencies = [
"asynchronous-codec",
"cuckoofilter",
@ -2484,7 +2486,7 @@ dependencies = [
[[package]]
name = "libp2p-gossipsub"
version = "0.44.4"
version = "0.45.0"
dependencies = [
"async-std",
"asynchronous-codec",
@ -2522,7 +2524,7 @@ dependencies = [
[[package]]
name = "libp2p-identify"
version = "0.42.2"
version = "0.43.0"
dependencies = [
"async-std",
"asynchronous-codec",
@ -2548,7 +2550,7 @@ dependencies = [
[[package]]
name = "libp2p-identity"
version = "0.1.2"
version = "0.2.0"
dependencies = [
"asn1_der",
"base64 0.21.0",
@ -2576,7 +2578,7 @@ dependencies = [
[[package]]
name = "libp2p-kad"
version = "0.43.3"
version = "0.44.0"
dependencies = [
"arrayvec",
"asynchronous-codec",
@ -2607,7 +2609,7 @@ dependencies = [
[[package]]
name = "libp2p-mdns"
version = "0.43.1"
version = "0.44.0"
dependencies = [
"async-io",
"async-std",
@ -2633,7 +2635,7 @@ dependencies = [
[[package]]
name = "libp2p-metrics"
version = "0.12.0"
version = "0.13.0"
dependencies = [
"libp2p-core",
"libp2p-dcutr",
@ -2649,7 +2651,7 @@ dependencies = [
[[package]]
name = "libp2p-mplex"
version = "0.39.0"
version = "0.40.0"
dependencies = [
"async-std",
"asynchronous-codec",
@ -2684,7 +2686,7 @@ dependencies = [
[[package]]
name = "libp2p-noise"
version = "0.42.2"
version = "0.43.0"
dependencies = [
"async-io",
"bytes",
@ -2709,7 +2711,7 @@ dependencies = [
[[package]]
name = "libp2p-perf"
version = "0.1.0"
version = "0.2.0"
dependencies = [
"anyhow",
"async-std",
@ -2734,7 +2736,7 @@ dependencies = [
[[package]]
name = "libp2p-ping"
version = "0.42.0"
version = "0.43.0"
dependencies = [
"async-std",
"either",
@ -2754,7 +2756,7 @@ dependencies = [
[[package]]
name = "libp2p-plaintext"
version = "0.39.1"
version = "0.40.0"
dependencies = [
"asynchronous-codec",
"bytes",
@ -2773,7 +2775,7 @@ dependencies = [
[[package]]
name = "libp2p-pnet"
version = "0.22.3"
version = "0.23.0"
dependencies = [
"futures",
"libp2p-core",
@ -2794,7 +2796,7 @@ dependencies = [
[[package]]
name = "libp2p-quic"
version = "0.7.0-alpha.3"
version = "0.8.0-alpha"
dependencies = [
"async-std",
"bytes",
@ -2821,7 +2823,7 @@ dependencies = [
[[package]]
name = "libp2p-relay"
version = "0.15.2"
version = "0.16.0"
dependencies = [
"asynchronous-codec",
"bytes",
@ -2848,7 +2850,7 @@ dependencies = [
[[package]]
name = "libp2p-rendezvous"
version = "0.12.1"
version = "0.13.0"
dependencies = [
"async-trait",
"asynchronous-codec",
@ -2878,7 +2880,7 @@ dependencies = [
[[package]]
name = "libp2p-request-response"
version = "0.24.1"
version = "0.25.0"
dependencies = [
"async-std",
"async-trait",
@ -2898,7 +2900,7 @@ dependencies = [
[[package]]
name = "libp2p-swarm"
version = "0.42.2"
version = "0.43.0"
dependencies = [
"async-std",
"either",
@ -2928,7 +2930,7 @@ dependencies = [
[[package]]
name = "libp2p-swarm-derive"
version = "0.32.0"
version = "0.33.0"
dependencies = [
"heck",
"quote",
@ -2937,7 +2939,7 @@ dependencies = [
[[package]]
name = "libp2p-swarm-test"
version = "0.1.0"
version = "0.2.0"
dependencies = [
"async-trait",
"futures",
@ -2954,7 +2956,7 @@ dependencies = [
[[package]]
name = "libp2p-tcp"
version = "0.39.0"
version = "0.40.0"
dependencies = [
"async-io",
"async-std",
@ -2972,7 +2974,7 @@ dependencies = [
[[package]]
name = "libp2p-tls"
version = "0.1.0"
version = "0.2.0"
dependencies = [
"futures",
"futures-rustls",
@ -2994,7 +2996,7 @@ dependencies = [
[[package]]
name = "libp2p-uds"
version = "0.38.0"
version = "0.39.0"
dependencies = [
"async-std",
"futures",
@ -3006,7 +3008,7 @@ dependencies = [
[[package]]
name = "libp2p-wasm-ext"
version = "0.39.0"
version = "0.40.0"
dependencies = [
"futures",
"js-sys",
@ -3018,7 +3020,7 @@ dependencies = [
[[package]]
name = "libp2p-webrtc"
version = "0.4.0-alpha.4"
version = "0.5.0-alpha"
dependencies = [
"anyhow",
"async-trait",
@ -3056,7 +3058,7 @@ dependencies = [
[[package]]
name = "libp2p-websocket"
version = "0.41.0"
version = "0.42.0"
dependencies = [
"async-std",
"either",
@ -3078,7 +3080,7 @@ dependencies = [
[[package]]
name = "libp2p-yamux"
version = "0.43.1"
version = "0.44.0"
dependencies = [
"async-std",
"futures",
@ -3357,7 +3359,7 @@ dependencies = [
[[package]]
name = "multistream-select"
version = "0.12.1"
version = "0.13.0"
dependencies = [
"async-std",
"bytes",
@ -3933,7 +3935,7 @@ dependencies = [
[[package]]
name = "quick-protobuf-codec"
version = "0.1.0"
version = "0.2.0"
dependencies = [
"asynchronous-codec",
"bytes",
@ -4388,7 +4390,7 @@ dependencies = [
[[package]]
name = "rw-stream-sink"
version = "0.3.0"
version = "0.4.0"
dependencies = [
"async-std",
"futures",

View File

@ -55,3 +55,47 @@ members = [
"transports/websocket",
]
resolver = "2"
[workspace.package]
rust-version = "1.65.0"
[workspace.dependencies]
libp2p-allow-block-list = { version = "0.2.0", path = "misc/allow-block-list" }
libp2p-autonat = { version = "0.11.0", path = "protocols/autonat" }
libp2p-connection-limits = { version = "0.2.0", path = "misc/connection-limits" }
libp2p-core = { version = "0.40.0", path = "core" }
libp2p-dcutr = { version = "0.10.0", path = "protocols/dcutr" }
libp2p-deflate = { version = "0.40.0", path = "transports/deflate" }
libp2p-dns = { version = "0.40.0", path = "transports/dns" }
libp2p-floodsub = { version = "0.43.0", path = "protocols/floodsub" }
libp2p-gossipsub = { version = "0.45.0", path = "protocols/gossipsub" }
libp2p-identify = { version = "0.43.0", path = "protocols/identify" }
libp2p-identity = { version = "0.2.0", path = "identity" }
libp2p-kad = { version = "0.44.0", path = "protocols/kad" }
libp2p-mdns = { version = "0.44.0", path = "protocols/mdns" }
libp2p-metrics = { version = "0.13.0", path = "misc/metrics" }
libp2p-mplex = { version = "0.40.0", path = "muxers/mplex" }
libp2p-muxer-test-harness = { version = "0.1.0", path = "muxers/test-harness" }
libp2p-noise = { version = "0.43.0", path = "transports/noise" }
libp2p-perf = { version = "0.2.0", path = "protocols/perf" }
libp2p-ping = { version = "0.43.0", path = "protocols/ping" }
libp2p-plaintext = { version = "0.40.0", path = "transports/plaintext" }
libp2p-pnet = { version = "0.23.0", path = "transports/pnet" }
libp2p-quic = { version = "0.8.0-alpha", path = "transports/quic" }
libp2p-relay = { version = "0.16.0", path = "protocols/relay" }
libp2p-rendezvous = { version = "0.13.0", path = "protocols/rendezvous" }
libp2p-request-response = { version = "0.25.0", path = "protocols/request-response" }
libp2p-swarm = { version = "0.43.0", path = "swarm" }
libp2p-swarm-derive = { version = "0.33.0", path = "swarm-derive" }
libp2p-swarm-test = { version = "0.2.0", path = "swarm-test" }
libp2p-tcp = { version = "0.40.0", path = "transports/tcp" }
libp2p-tls = { version = "0.2.0", path = "transports/tls" }
libp2p-uds = { version = "0.39.0", path = "transports/uds" }
libp2p-wasm-ext = { version = "0.40.0", path = "transports/wasm-ext" }
libp2p-webrtc = { version = "0.5.0-alpha", path = "transports/webrtc" }
libp2p-websocket = { version = "0.42.0", path = "transports/websocket" }
libp2p-yamux = { version = "0.44.0", path = "muxers/yamux" }
multistream-select = { version = "0.13.0", path = "misc/multistream-select" }
quick-protobuf-codec = { version = "0.2.0", path = "misc/quick-protobuf-codec" }
quickcheck = { package = "quickcheck-ext", path = "misc/quickcheck-ext" }
rw-stream-sink = { version = "0.4.0", path = "misc/rw-stream-sink" }

View File

@ -1,3 +1,10 @@
## 0.40.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.39.2
- Deprecate `upgrade::from_fn` without replacement as it is not used within `rust-libp2p`.

View File

@ -1,9 +1,9 @@
[package]
name = "libp2p-core"
edition = "2021"
rust-version = "1.60.0"
rust-version = { workspace = true }
description = "Core traits and structs of libp2p"
version = "0.39.2"
version = "0.40.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -16,17 +16,17 @@ fnv = "1.0"
futures = { version = "0.3.28", features = ["executor", "thread-pool"] }
futures-timer = "3"
instant = "0.1.11"
libp2p-identity = { version = "0.1", path = "../identity", features = ["peerid", "ed25519"] }
libp2p-identity = { workspace = true, features = ["peerid", "ed25519"] }
log = "0.4"
multiaddr = { version = "0.17.1" }
multihash = { version = "0.17.0", default-features = false, features = ["std"] }
multistream-select = { version = "0.12.1", path = "../misc/multistream-select" }
multistream-select = { workspace = true }
once_cell = "1.17.1"
parking_lot = "0.12.0"
pin-project = "1.0.0"
quick-protobuf = "0.8"
rand = "0.8"
rw-stream-sink = { version = "0.3.0", path = "../misc/rw-stream-sink" }
rw-stream-sink = { workspace = true }
serde = { version = "1", optional = true, features = ["derive"] }
smallvec = "1.6.1"
thiserror = "1.0"
@ -35,10 +35,10 @@ void = "1"
[dev-dependencies]
async-std = { version = "1.6.2", features = ["attributes"] }
libp2p-mplex = { path = "../muxers/mplex" }
libp2p-noise = { path = "../transports/noise" }
libp2p-mplex = { workspace = true }
libp2p-noise = { workspace = true }
multihash = { version = "0.17.0", default-features = false, features = ["arb"] }
quickcheck = { package = "quickcheck-ext", path = "../misc/quickcheck-ext" }
quickcheck = { workspace = true }
[features]
secp256k1 = [ "libp2p-identity/secp256k1" ]

View File

@ -22,9 +22,10 @@ The next unreleased version is tagged with ` - unreleased`, for example: `0.17.0
In case there isn't a version with an ` - unreleased` postfix yet, add one for the next version.
The next version number depends on the impact of your change (breaking vs non-breaking, see above).
If you are making a non-breaking change, please also bump the version number in the `Cargo.toml` manifest.
In case another crate _depends_ on the new features or APIs that you are adding, you may need to bump the dependency declaration in that `Cargo.toml` file as well.
Don't worry if you don't get this one right, we will flag it in the PR if necessary :)
If you are making a non-breaking change, please also bump the version number:
- in the `Cargo.toml` manifest of the respective crate
- in the `[workspace.dependencies]` section of the workspace `Cargo.toml` manifest
For breaking changes, a changelog entry itself is sufficient.
Bumping the version in the `Cargo.toml` file would lead to many merge conflicts once we decide to merge them.

View File

@ -1,3 +1,10 @@
## 0.2.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.1.2
- Add `impl From<ed25519::PublicKey> for PublicKey` so that `PublicKey::from(ed25519::PublicKey)` works.

View File

@ -1,9 +1,9 @@
[package]
name = "libp2p-identity"
version = "0.1.2"
version = "0.2.0"
edition = "2021"
description = "Data structures and algorithms for identifying peers in libp2p."
rust-version = "1.60.0"
rust-version = { workspace = true }
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
keywords = ["peer-to-peer", "libp2p", "networking", "cryptography"]
@ -40,7 +40,7 @@ ed25519 = [ "dep:ed25519-dalek", "dep:rand", "dep:zeroize", "dep:quick-protobuf"
peerid = [ "dep:multihash", "dep:multiaddr", "dep:bs58", "dep:rand", "dep:thiserror", "dep:sha2" ]
[dev-dependencies]
quickcheck = { package = "quickcheck-ext", path = "../misc/quickcheck-ext" }
quickcheck = { workspace = true }
base64 = "0.21.0"
serde_json = "1.0"
rmp-serde = "1.0"

View File

@ -11,8 +11,8 @@ either = "1.8.0"
env_logger = "0.10.0"
futures = "0.3.28"
libp2p = { path = "../libp2p", features = ["websocket", "yamux", "tcp", "tokio", "ping", "noise", "tls", "dns", "rsa", "macros"] }
libp2p-quic = { path = "../transports/quic", features = ["tokio"] }
libp2p-webrtc = { path = "../transports/webrtc", features = ["tokio"] }
libp2p-quic = { workspace = true, features = ["tokio"] }
libp2p-webrtc = { workspace = true, features = ["tokio"] }
libp2p-mplex = { path = "../muxers/mplex" }
log = "0.4"
rand = "0.8.5"

View File

@ -1,3 +1,10 @@
## 0.52.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.51.3
- Deprecate the `mplex` feature.

View File

@ -3,7 +3,7 @@ name = "libp2p"
edition = "2021"
rust-version = "1.65.0"
description = "Peer-to-peer networking library"
version = "0.51.3"
version = "0.52.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -96,44 +96,45 @@ futures-timer = "3.0.2" # Explicit dependency to be used in `wasm-bindgen` featu
getrandom = "0.2.3" # Explicit dependency to be used in `wasm-bindgen` feature
instant = "0.1.11" # Explicit dependency to be used in `wasm-bindgen` feature
libp2p-allow-block-list = { version = "0.1.0", path = "../misc/allow-block-list" }
libp2p-autonat = { version = "0.10.0", path = "../protocols/autonat", optional = true }
libp2p-connection-limits = { version = "0.1.0", path = "../misc/connection-limits" }
libp2p-core = { version = "0.39.0", path = "../core" }
libp2p-dcutr = { version = "0.9.0", path = "../protocols/dcutr", optional = true }
libp2p-floodsub = { version = "0.42.0", path = "../protocols/floodsub", optional = true }
libp2p-identify = { version = "0.42.0", path = "../protocols/identify", optional = true }
libp2p-identity = { version = "0.1.0", path = "../identity" }
libp2p-kad = { version = "0.43.0", path = "../protocols/kad", optional = true }
libp2p-metrics = { version = "0.12.0", path = "../misc/metrics", optional = true }
libp2p-mplex = { version = "0.39.0", path = "../muxers/mplex", optional = true }
libp2p-noise = { version = "0.42.2", path = "../transports/noise", optional = true }
libp2p-ping = { version = "0.42.0", path = "../protocols/ping", optional = true }
libp2p-plaintext = { version = "0.39.0", path = "../transports/plaintext", optional = true }
libp2p-pnet = { version = "0.22.2", path = "../transports/pnet", optional = true }
libp2p-relay = { version = "0.15.0", path = "../protocols/relay", optional = true }
libp2p-rendezvous = { version = "0.12.0", path = "../protocols/rendezvous", optional = true }
libp2p-request-response = { version = "0.24.0", path = "../protocols/request-response", optional = true }
libp2p-swarm = { version = "0.42.0", path = "../swarm" }
libp2p-wasm-ext = { version = "0.39.0", path = "../transports/wasm-ext", optional = true }
libp2p-yamux = { version = "0.43.1", path = "../muxers/yamux", optional = true }
libp2p-allow-block-list = { workspace = true }
libp2p-autonat = { workspace = true, optional = true }
libp2p-connection-limits = { workspace = true }
libp2p-core = { workspace = true }
libp2p-dcutr = { workspace = true, optional = true }
libp2p-floodsub = { workspace = true, optional = true }
libp2p-identify = { workspace = true, optional = true }
libp2p-identity = { workspace = true }
libp2p-kad = { workspace = true, optional = true }
libp2p-metrics = { workspace = true, optional = true }
libp2p-mplex = { workspace = true, optional = true }
libp2p-noise = { workspace = true, optional = true }
libp2p-ping = { workspace = true, optional = true }
libp2p-plaintext = { workspace = true, optional = true }
libp2p-pnet = { workspace = true, optional = true }
libp2p-relay = { workspace = true, optional = true }
libp2p-rendezvous = { workspace = true, optional = true }
libp2p-request-response = { workspace = true, optional = true }
libp2p-swarm = { workspace = true }
libp2p-wasm-ext = { workspace = true, optional = true }
libp2p-yamux = { workspace = true, optional = true }
multiaddr = { version = "0.17.0" }
pin-project = "1.0.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
libp2p-deflate = { version = "0.39.0", path = "../transports/deflate", optional = true }
libp2p-dns = { version = "0.39.0", path = "../transports/dns", optional = true }
libp2p-mdns = { version = "0.43.0", path = "../protocols/mdns", optional = true }
libp2p-perf = { version = "0.1.0", path = "../protocols/perf", optional = true }
libp2p-quic = { version = "0.7.0-alpha.3", path = "../transports/quic", optional = true }
libp2p-tcp = { version = "0.39.0", path = "../transports/tcp", optional = true }
libp2p-tls = { version = "0.1.0", path = "../transports/tls", optional = true }
libp2p-uds = { version = "0.38.0", path = "../transports/uds", optional = true }
libp2p-webrtc = { version = "0.4.0-alpha.3", path = "../transports/webrtc", optional = true }
libp2p-websocket = { version = "0.41.0", path = "../transports/websocket", optional = true }
libp2p-deflate = { workspace = true, optional = true }
libp2p-dns = { workspace = true, optional = true }
libp2p-mdns = { workspace = true, optional = true }
libp2p-perf = { workspace = true, optional = true }
libp2p-quic = { workspace = true, optional = true }
libp2p-tcp = { workspace = true, optional = true }
libp2p-tls = { workspace = true, optional = true }
libp2p-uds = { workspace = true, optional = true }
libp2p-webrtc = { workspace = true, optional = true }
libp2p-websocket = { workspace = true, optional = true }
[target.'cfg(not(target_os = "unknown"))'.dependencies]
libp2p-gossipsub = { version = "0.44.0", path = "../protocols/gossipsub", optional = true }
libp2p-gossipsub = { workspace = true, optional = true }
[dev-dependencies]
async-std = { version = "1.6.2", features = ["attributes"] }
@ -143,9 +144,9 @@ env_logger = "0.10.0"
clap = { version = "4.1.6", features = ["derive"] }
tokio = { version = "1.15", features = ["io-util", "io-std", "macros", "rt", "rt-multi-thread"] }
libp2p-mplex = { path = "../muxers/mplex" }
libp2p-noise = { path = "../transports/noise" }
libp2p-tcp = { path = "../transports/tcp", features = ["tokio"] }
libp2p-mplex = { workspace = true }
libp2p-noise = { workspace = true }
libp2p-tcp = { workspace = true, features = ["tokio"] }
# Passing arguments to the docsrs builder in order to properly document cfg's.
# More information: https://docs.rs/about/builds#cross-compiling

View File

@ -1,3 +1,10 @@
## 0.2.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.1.1
- Correctly unblock and disallow peer in `unblock_peer` and `disallow_peer` functions.

View File

@ -1,21 +1,21 @@
[package]
name = "libp2p-allow-block-list"
edition = "2021"
rust-version = "1.62.0"
rust-version = { workspace = true }
description = "Allow/block list connection management for libp2p."
version = "0.1.1"
version = "0.2.0"
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
keywords = ["peer-to-peer", "libp2p", "networking"]
categories = ["network-programming", "asynchronous"]
[dependencies]
libp2p-core = { version = "0.39.0", path = "../../core" }
libp2p-swarm = { version = "0.42.1", path = "../../swarm" }
libp2p-identity = { version = "0.1.0", path = "../../identity", features = ["peerid"] }
libp2p-core = { workspace = true }
libp2p-swarm = { workspace = true }
libp2p-identity = { workspace = true, features = ["peerid"] }
void = "1"
[dev-dependencies]
async-std = { version = "1.12.0", features = ["attributes"] }
libp2p-swarm-derive = { path = "../../swarm-derive" }
libp2p-swarm-test = { path = "../../swarm-test" }
libp2p-swarm-derive = { workspace = true }
libp2p-swarm-test = { workspace = true }

View File

@ -1,3 +1,10 @@
## 0.2.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.1.0
- Initial release.

View File

@ -1,25 +1,25 @@
[package]
name = "libp2p-connection-limits"
edition = "2021"
rust-version = "1.62.0"
rust-version = { workspace = true }
description = "Connection limits for libp2p."
version = "0.1.0"
version = "0.2.0"
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
keywords = ["peer-to-peer", "libp2p", "networking"]
categories = ["network-programming", "asynchronous"]
[dependencies]
libp2p-core = { version = "0.39.0", path = "../../core" }
libp2p-swarm = { version = "0.42.1", path = "../../swarm" }
libp2p-identity = { version = "0.1.0", path = "../../identity", features = ["peerid"] }
libp2p-core = { workspace = true }
libp2p-swarm = { workspace = true }
libp2p-identity = { workspace = true, features = ["peerid"] }
void = "1"
[dev-dependencies]
async-std = { version = "1.12.0", features = ["attributes"] }
libp2p-identify = { path = "../../protocols/identify" }
libp2p-ping = { path = "../../protocols/ping" }
libp2p-swarm-derive = { path = "../../swarm-derive" }
libp2p-swarm-test = { path = "../../swarm-test" }
quickcheck-ext = { path = "../quickcheck-ext" }
libp2p-identify = { workspace = true }
libp2p-ping = { workspace = true }
libp2p-swarm-derive = { workspace = true }
libp2p-swarm-test = { workspace = true }
quickcheck = { workspace = true }
rand = "0.8.5"

View File

@ -365,7 +365,7 @@ mod tests {
use super::*;
use libp2p_swarm::{dial_opts::DialOpts, DialError, ListenError, Swarm, SwarmEvent};
use libp2p_swarm_test::SwarmExt;
use quickcheck_ext::*;
use quickcheck::*;
#[test]
fn max_outgoing() {

View File

@ -14,6 +14,6 @@ clap = { version = "4.2.5", features = ["derive"] }
zeroize = "1"
serde = { version = "1.0.160", features = ["derive"] }
serde_json = "1.0.96"
libp2p-core = { version = "0.39.0", path = "../../core" }
libp2p-core = { workspace = true }
base64 = "0.21.0"
libp2p-identity = { version = "0.1.0", path = "../../identity" }
libp2p-identity = { workspace = true }

View File

@ -1,3 +1,10 @@
## 0.13.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.12.0
- Update to `prometheus-client` `v0.19.0`. See [PR 3207].

View File

@ -3,7 +3,7 @@ name = "libp2p-metrics"
edition = "2021"
rust-version = "1.65.0"
description = "Metrics for libp2p"
version = "0.12.0"
version = "0.13.0"
authors = ["Max Inden <mail@max-inden.de>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -19,18 +19,18 @@ relay = ["libp2p-relay"]
dcutr = ["libp2p-dcutr"]
[dependencies]
libp2p-core = { version = "0.39.0", path = "../../core" }
libp2p-dcutr = { version = "0.9.0", path = "../../protocols/dcutr", optional = true }
libp2p-identify = { version = "0.42.0", path = "../../protocols/identify", optional = true }
libp2p-kad = { version = "0.43.0", path = "../../protocols/kad", optional = true }
libp2p-ping = { version = "0.42.0", path = "../../protocols/ping", optional = true }
libp2p-relay = { version = "0.15.0", path = "../../protocols/relay", optional = true }
libp2p-swarm = { version = "0.42.0", path = "../../swarm" }
libp2p-identity = { version = "0.1.0", path = "../../identity" }
libp2p-core = { workspace = true }
libp2p-dcutr = { workspace = true, optional = true }
libp2p-identify = { workspace = true, optional = true }
libp2p-kad = { workspace = true, optional = true }
libp2p-ping = { workspace = true, optional = true }
libp2p-relay = { workspace = true, optional = true }
libp2p-swarm = { workspace = true }
libp2p-identity = { workspace = true }
prometheus-client = "0.19.0"
[target.'cfg(not(target_os = "unknown"))'.dependencies]
libp2p-gossipsub = { version = "0.44.0", path = "../../protocols/gossipsub", optional = true }
libp2p-gossipsub = { workspace = true, optional = true }
# Passing arguments to the docsrs builder in order to properly document cfg's.
# More information: https://docs.rs/about/builds#cross-compiling

View File

@ -1,3 +1,10 @@
## 0.13.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.12.1
- Update `rust-version` to reflect the actual MSRV: 1.60.0. See [PR 3090].

View File

@ -1,9 +1,9 @@
[package]
name = "multistream-select"
edition = "2021"
rust-version = "1.60.0"
rust-version = { workspace = true }
description = "Multistream-select negotiation protocol for libp2p"
version = "0.12.1"
version = "0.13.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -21,14 +21,14 @@ unsigned-varint = "0.7"
[dev-dependencies]
async-std = "1.6.2"
env_logger = "0.10"
libp2p-core = { path = "../../core" }
libp2p-mplex = { path = "../../muxers/mplex" }
libp2p-plaintext = { path = "../../transports/plaintext" }
libp2p-swarm = { path = "../../swarm", features = ["async-std"] }
libp2p-identity = { path = "../../identity", features = ["ed25519"] }
quickcheck = { package = "quickcheck-ext", path = "../../misc/quickcheck-ext" }
libp2p-core = { workspace = true }
libp2p-mplex = { workspace = true }
libp2p-plaintext = { workspace = true }
libp2p-swarm = { workspace = true, features = ["async-std"] }
libp2p-identity = { workspace = true, features = ["ed25519"] }
quickcheck = { workspace = true }
rand = "0.8"
rw-stream-sink = { version = "0.3.0", path = "../../misc/rw-stream-sink" }
rw-stream-sink = { workspace = true }
# Passing arguments to the docsrs builder in order to properly document cfg's.
# More information: https://docs.rs/about/builds#cross-compiling

View File

@ -101,12 +101,13 @@ pub use self::negotiated::{Negotiated, NegotiatedComplete, NegotiationError};
pub use self::protocol::ProtocolError;
/// Supported multistream-select versions.
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Default)]
pub enum Version {
/// Version 1 of the multistream-select protocol. See [1] and [2].
///
/// [1]: https://github.com/libp2p/specs/blob/master/connections/README.md#protocol-negotiation
/// [2]: https://github.com/multiformats/multistream-select
#[default]
V1,
/// A "lazy" variant of version 1 that is identical on the wire but whereby
/// the dialer delays flushing protocol negotiation data in order to combine
@ -141,9 +142,3 @@ pub enum Version {
// Draft: https://github.com/libp2p/specs/pull/95
// V2,
}
impl Default for Version {
fn default() -> Self {
Version::V1
}
}

View File

@ -1,3 +1,10 @@
## 0.2.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.1.0
- Migrate from `prost` to `quick-protobuf`. This removes `protoc` dependency. See [PR 3312].

View File

@ -1,9 +1,9 @@
[package]
name = "quick-protobuf-codec"
edition = "2021"
rust-version = "1.60.0"
rust-version = { workspace = true }
description = "Asynchronous de-/encoding of Protobuf structs using asynchronous-codec, unsigned-varint and quick-protobuf."
version = "0.1.0"
version = "0.2.0"
authors = ["Max Inden <mail@max-inden.de>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"

View File

@ -1,3 +1,10 @@
## 0.4.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.3.0
- Move from https://github.com/paritytech/rw-stream-sink/ to https://github.com/libp2p/rust-libp2p. See [Issue 2504].

View File

@ -2,8 +2,8 @@
name = "rw-stream-sink"
edition = "2021"
description = "Adaptator between Stream/Sink and AsyncRead/AsyncWrite"
rust-version = "1.60.0"
version = "0.3.0"
rust-version = { workspace = true }
version = "0.4.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"

View File

@ -1,3 +1,10 @@
## 0.40.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.39.0
- Update to `libp2p-core` `v0.39.0`.

View File

@ -1,9 +1,9 @@
[package]
name = "libp2p-mplex"
edition = "2021"
rust-version = "1.60.0"
rust-version = { workspace = true }
description = "Mplex multiplexing protocol for libp2p"
version = "0.39.0"
version = "0.40.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -14,8 +14,8 @@ categories = ["network-programming", "asynchronous"]
bytes = "1"
futures = "0.3.28"
asynchronous-codec = "0.6"
libp2p-core = { version = "0.39.0", path = "../../core" }
libp2p-identity = { version = "0.1.0", path = "../../identity" }
libp2p-core = { workspace = true }
libp2p-identity = { workspace = true }
log = "0.4"
nohash-hasher = "0.2"
parking_lot = "0.12"
@ -28,10 +28,10 @@ async-std = { version = "1.7.0", features = ["attributes"] }
criterion = "0.4"
env_logger = "0.10"
futures = "0.3"
libp2p-muxer-test-harness = { path = "../test-harness" }
libp2p-plaintext = { path = "../../transports/plaintext" }
libp2p-tcp = { path = "../../transports/tcp", features = ["async-io"] }
quickcheck = { package = "quickcheck-ext", path = "../../misc/quickcheck-ext" }
libp2p-muxer-test-harness = { workspace = true }
libp2p-plaintext = { workspace = true }
libp2p-tcp = { workspace = true, features = ["async-io"] }
quickcheck = { workspace = true }
[[bench]]
name = "split_send_size"

View File

@ -8,7 +8,7 @@ license = "MIT"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
libp2p-core = { path = "../../core" }
libp2p-core = { workspace = true }
futures = "0.3.28"
log = "0.4"
futures-timer = "3.0.2"

View File

@ -1,3 +1,10 @@
## 0.44.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.43.1
- Drop `Yamux` prefix from all types.

View File

@ -1,9 +1,9 @@
[package]
name = "libp2p-yamux"
edition = "2021"
rust-version = "1.60.0"
rust-version = { workspace = true }
description = "Yamux multiplexing protocol for libp2p"
version = "0.43.1"
version = "0.44.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -12,14 +12,14 @@ categories = ["network-programming", "asynchronous"]
[dependencies]
futures = "0.3.28"
libp2p-core = { version = "0.39.0", path = "../../core" }
libp2p-core = { workspace = true }
thiserror = "1.0"
yamux = "0.10.0"
log = "0.4"
[dev-dependencies]
async-std = { version = "1.7.0", features = ["attributes"] }
libp2p-muxer-test-harness = { path = "../test-harness" }
libp2p-muxer-test-harness = { workspace = true }
# Passing arguments to the docsrs builder in order to properly document cfg's.
# More information: https://docs.rs/about/builds#cross-compiling

View File

@ -1,3 +1,10 @@
## 0.11.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.10.2
- Store server `PeerId`s in `HashSet` to avoid duplicates and lower memory consumption.

View File

@ -1,9 +1,9 @@
[package]
name = "libp2p-autonat"
edition = "2021"
rust-version = "1.62.0"
rust-version = { workspace = true }
description = "NAT and firewall detection for libp2p"
version = "0.10.2"
version = "0.11.0"
authors = ["David Craven <david@craven.ch>", "Elena Frank <elena.frank@protonmail.com>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -15,10 +15,10 @@ async-trait = "0.1"
futures = "0.3"
futures-timer = "3.0"
instant = "0.1"
libp2p-core = { version = "0.39.0", path = "../../core" }
libp2p-swarm = { version = "0.42.1", path = "../../swarm" }
libp2p-request-response = { version = "0.24.0", path = "../request-response" }
libp2p-identity = { version = "0.1.0", path = "../../identity" }
libp2p-core = { workspace = true }
libp2p-swarm = { workspace = true }
libp2p-request-response = { workspace = true }
libp2p-identity = { workspace = true }
log = "0.4"
rand = "0.8"
quick-protobuf = "0.8"
@ -26,7 +26,7 @@ quick-protobuf = "0.8"
[dev-dependencies]
async-std = { version = "1.10", features = ["attributes"] }
env_logger = "0.10"
libp2p-swarm-test = { path = "../../swarm-test" }
libp2p-swarm-test = { workspace = true }
# Passing arguments to the docsrs builder in order to properly document cfg's.
# More information: https://docs.rs/about/builds#cross-compiling

View File

@ -1,3 +1,10 @@
## 0.10.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.9.1
- Migrate from `prost` to `quick-protobuf`. This removes `protoc` dependency. See [PR 3312].

View File

@ -1,9 +1,9 @@
[package]
name = "libp2p-dcutr"
edition = "2021"
rust-version = "1.62.0"
rust-version = { workspace = true }
description = "Direct connection upgrade through relay"
version = "0.9.1"
version = "0.10.0"
authors = ["Max Inden <mail@max-inden.de>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -16,12 +16,12 @@ either = "1.6.0"
futures = "0.3.28"
futures-timer = "3.0"
instant = "0.1.11"
libp2p-core = { version = "0.39.0", path = "../../core" }
libp2p-swarm = { version = "0.42.1", path = "../../swarm" }
libp2p-identity = { version = "0.1.0", path = "../../identity" }
libp2p-core = { workspace = true }
libp2p-swarm = { workspace = true }
libp2p-identity = { workspace = true }
log = "0.4"
quick-protobuf = "0.8"
quick-protobuf-codec = { version = "0.1", path = "../../misc/quick-protobuf-codec" }
quick-protobuf-codec = { workspace = true }
thiserror = "1.0"
void = "1"
@ -29,16 +29,16 @@ void = "1"
async-std = { version = "1.12.0", features = ["attributes"] }
clap = { version = "4.2.5", features = ["derive"] }
env_logger = "0.10.0"
libp2p-dns = { path = "../../transports/dns", features = ["async-std"] }
libp2p-identify = { path = "../../protocols/identify" }
libp2p-noise = { path = "../../transports/noise" }
libp2p-ping = { path = "../../protocols/ping" }
libp2p-plaintext = { path = "../../transports/plaintext" }
libp2p-relay = { path = "../relay" }
libp2p-swarm = { path = "../../swarm", features = ["macros"] }
libp2p-swarm-test = { path = "../../swarm-test"}
libp2p-tcp = { path = "../../transports/tcp", features = ["async-io"] }
libp2p-yamux = { path = "../../muxers/yamux" }
libp2p-dns = { workspace = true, features = ["async-std"] }
libp2p-identify = { workspace = true }
libp2p-noise = { workspace = true }
libp2p-ping = { workspace = true }
libp2p-plaintext = { workspace = true }
libp2p-relay = { workspace = true }
libp2p-swarm = { workspace = true, features = ["macros"] }
libp2p-swarm-test = { workspace = true }
libp2p-tcp = { workspace = true, features = ["async-io"] }
libp2p-yamux = { workspace = true }
rand = "0.8"
# Passing arguments to the docsrs builder in order to properly document cfg's.

View File

@ -1,3 +1,10 @@
## 0.43.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.42.1
- Migrate from `prost` to `quick-protobuf`. This removes `protoc` dependency. See [PR 3312].

View File

@ -1,9 +1,9 @@
[package]
name = "libp2p-floodsub"
edition = "2021"
rust-version = "1.62.0"
rust-version = { workspace = true }
description = "Floodsub protocol for libp2p"
version = "0.42.1"
version = "0.43.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -15,12 +15,12 @@ asynchronous-codec = "0.6"
cuckoofilter = "0.5.0"
fnv = "1.0"
futures = "0.3.28"
libp2p-core = { version = "0.39.0", path = "../../core" }
libp2p-swarm = { version = "0.42.1", path = "../../swarm" }
libp2p-identity = { version = "0.1.0", path = "../../identity" }
libp2p-core = { workspace = true }
libp2p-swarm = { workspace = true }
libp2p-identity = { workspace = true }
log = "0.4"
quick-protobuf = "0.8"
quick-protobuf-codec = { version = "0.1", path = "../../misc/quick-protobuf-codec" }
quick-protobuf-codec = { workspace = true }
rand = "0.8"
smallvec = "1.6.1"
thiserror = "1.0.40"

View File

@ -1,3 +1,10 @@
## 0.45.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.44.4
- Deprecate `metrics`, `protocol`, `subscription_filter`, `time_cache` modules to make them private. See [PR 3777].

View File

@ -1,9 +1,9 @@
[package]
name = "libp2p-gossipsub"
edition = "2021"
rust-version = "1.62.0"
rust-version = { workspace = true }
description = "Gossipsub protocol for libp2p"
version = "0.44.4"
version = "0.45.0"
authors = ["Age Manning <Age@AgeManning.com>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -12,9 +12,9 @@ categories = ["network-programming", "asynchronous"]
[dependencies]
either = "1.5"
libp2p-swarm = { version = "0.42.2", path = "../../swarm" }
libp2p-core = { version = "0.39.0", path = "../../core" }
libp2p-identity = { version = "0.1.2", path = "../../identity" }
libp2p-swarm = { workspace = true }
libp2p-core = { workspace = true }
libp2p-identity = { workspace = true }
bytes = "1.4"
byteorder = "1.3.4"
fnv = "1.0.7"
@ -27,7 +27,7 @@ sha2 = "0.10.0"
base64 = "0.21.0"
smallvec = "1.6.1"
quick-protobuf = "0.8"
quick-protobuf-codec = { version = "0.1", path = "../../misc/quick-protobuf-codec" }
quick-protobuf-codec = { workspace = true }
hex_fmt = "0.3.0"
regex = "1.8.1"
serde = { version = "1", optional = true, features = ["derive"] }
@ -42,11 +42,11 @@ prometheus-client = "0.19.0"
async-std = { version = "1.6.3", features = ["unstable"] }
env_logger = "0.10.0"
hex = "0.4.2"
libp2p-core = { path = "../../core"}
libp2p-mplex = { path = "../../muxers/mplex"}
libp2p-noise = { path = "../../transports/noise"}
libp2p-swarm-test = { path = "../../swarm-test"}
quickcheck-ext = { path = "../../misc/quickcheck-ext" }
libp2p-core = { workspace = true }
libp2p-mplex = { workspace = true }
libp2p-noise = { workspace = true }
libp2p-swarm-test = { workspace = true }
quickcheck = { workspace = true }
# Passing arguments to the docsrs builder in order to properly document cfg's.
# More information: https://docs.rs/about/builds#cross-compiling

View File

@ -3709,7 +3709,7 @@ mod local_test {
use super::*;
use crate::IdentTopic;
use asynchronous_codec::Encoder;
use quickcheck_ext::*;
use quickcheck::*;
fn empty_rpc() -> Rpc {
Rpc {

View File

@ -557,7 +557,7 @@ mod tests {
use crate::IdentTopic as Topic;
use crate::{Behaviour, ConfigBuilder};
use libp2p_core::identity::Keypair;
use quickcheck_ext::*;
use quickcheck::*;
#[derive(Clone, Debug)]
struct Message(RawMessage);

View File

@ -26,7 +26,7 @@ use libp2p_gossipsub::{MessageAuthenticity, ValidationMode};
use libp2p_swarm::Swarm;
use libp2p_swarm_test::SwarmExt as _;
use log::debug;
use quickcheck_ext::{QuickCheck, TestResult};
use quickcheck::{QuickCheck, TestResult};
use rand::{seq::SliceRandom, SeedableRng};
use std::{task::Poll, time::Duration};

View File

@ -1,3 +1,10 @@
## 0.43.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.42.2
- Do not implicitly dial a peer upon `identify::Behaviour::push`.

View File

@ -1,9 +1,9 @@
[package]
name = "libp2p-identify"
edition = "2021"
rust-version = "1.62.0"
rust-version = { workspace = true }
description = "Nodes identifcation protocol for libp2p"
version = "0.42.2"
version = "0.43.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -14,12 +14,12 @@ categories = ["network-programming", "asynchronous"]
asynchronous-codec = "0.6"
futures = "0.3.28"
futures-timer = "3.0.2"
libp2p-core = { version = "0.39.0", path = "../../core" }
libp2p-swarm = { version = "0.42.1", path = "../../swarm" }
libp2p-identity = { version = "0.1.2", path = "../../identity" }
libp2p-core = { workspace = true }
libp2p-swarm = { workspace = true }
libp2p-identity = { workspace = true }
log = "0.4.1"
lru = "0.10.0"
quick-protobuf-codec = { version = "0.1", path = "../../misc/quick-protobuf-codec" }
quick-protobuf-codec = { workspace = true }
quick-protobuf = "0.8"
smallvec = "1.6.1"
thiserror = "1.0"
@ -29,11 +29,11 @@ either = "1.8.0"
[dev-dependencies]
async-std = { version = "1.6.2", features = ["attributes"] }
env_logger = "0.10"
libp2p-mplex = { path = "../../muxers/mplex" }
libp2p-yamux = { path = "../../muxers/yamux" }
libp2p-noise = { path = "../../transports/noise" }
libp2p-swarm = { path = "../../swarm", features = ["async-std"] }
libp2p-tcp = { path = "../../transports/tcp", features = ["async-io"] }
libp2p-mplex = { workspace = true }
libp2p-yamux = { workspace = true }
libp2p-noise = { workspace = true }
libp2p-swarm = { workspace = true, features = ["async-std"] }
libp2p-tcp = { workspace = true, features = ["async-io"] }
# Passing arguments to the docsrs builder in order to properly document cfg's.
# More information: https://docs.rs/about/builds#cross-compiling

View File

@ -1,3 +1,10 @@
## 0.44.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.43.3
- Preserve existing `KeepAlive::Until` timeout instead of continuously setting new `KeepAlive::Until(Instant::now() + self.config.idle_timeout)`.

View File

@ -3,7 +3,7 @@ name = "libp2p-kad"
edition = "2021"
rust-version = "1.65.0"
description = "Kademlia protocol for libp2p"
version = "0.43.3"
version = "0.44.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -18,10 +18,10 @@ fnv = "1.0"
asynchronous-codec = "0.6"
futures = "0.3.28"
log = "0.4"
libp2p-core = { version = "0.39.0", path = "../../core" }
libp2p-swarm = { version = "0.42.1", path = "../../swarm" }
libp2p-core = { workspace = true }
libp2p-swarm = { workspace = true }
quick-protobuf = "0.8"
libp2p-identity = { version = "0.1.0", path = "../../identity" }
libp2p-identity = { workspace = true }
rand = "0.8"
sha2 = "0.10.0"
smallvec = "1.6.1"
@ -36,9 +36,9 @@ thiserror = "1"
[dev-dependencies]
env_logger = "0.10.0"
futures-timer = "3.0"
libp2p-noise = { path = "../../transports/noise" }
libp2p-yamux = { path = "../../muxers/yamux" }
quickcheck = { package = "quickcheck-ext", path = "../../misc/quickcheck-ext" }
libp2p-noise = { workspace = true }
libp2p-yamux = { workspace = true }
quickcheck = { workspace = true }
[features]
serde = ["dep:serde", "bytes/serde"]

View File

@ -1,3 +1,10 @@
## 0.44.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.43.1
- Derive `Clone` for `mdns::Event`. See [PR 3606].

View File

@ -1,8 +1,8 @@
[package]
name = "libp2p-mdns"
edition = "2021"
rust-version = "1.62.0"
version = "0.43.1"
rust-version = { workspace = true }
version = "0.44.0"
description = "Implementation of the libp2p mDNS discovery method"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
@ -15,9 +15,9 @@ async-io = { version = "1.13.0", optional = true }
data-encoding = "2.3.2"
futures = "0.3.28"
if-watch = "3.0.1"
libp2p-core = { version = "0.39.0", path = "../../core" }
libp2p-swarm = { version = "0.42.1", path = "../../swarm" }
libp2p-identity = { version = "0.1.0", path = "../../identity" }
libp2p-core = { workspace = true }
libp2p-swarm = { workspace = true }
libp2p-identity = { workspace = true }
log = "0.4.14"
rand = "0.8.3"
smallvec = "1.6.1"
@ -33,12 +33,12 @@ async-io = ["dep:async-io", "if-watch/smol"]
[dev-dependencies]
async-std = { version = "1.9.0", features = ["attributes"] }
env_logger = "0.10.0"
libp2p-noise = { path = "../../transports/noise" }
libp2p-swarm = { path = "../../swarm", features = ["tokio", "async-std"] }
libp2p-tcp = { path = "../../transports/tcp", features = ["tokio", "async-io"] }
libp2p-yamux = { path = "../../muxers/yamux" }
libp2p-noise = { workspace = true }
libp2p-swarm = { workspace = true, features = ["tokio", "async-std"] }
libp2p-tcp = { workspace = true, features = ["tokio", "async-io"] }
libp2p-yamux = { workspace = true }
tokio = { version = "1.28", default-features = false, features = ["macros", "rt", "rt-multi-thread", "time"] }
libp2p-swarm-test = { path = "../../swarm-test" }
libp2p-swarm-test = { workspace = true }
[[test]]
name = "use-async-std"

View File

@ -1,3 +1,10 @@
## 0.2.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.1.0
- Initial release.

View File

@ -1,9 +1,9 @@
[package]
name = "libp2p-perf"
edition = "2021"
rust-version = "1.64.0"
rust-version = { workspace = true }
description = "libp2p perf protocol implementation"
version = "0.1.0"
version = "0.2.0"
authors = ["Max Inden <mail@max-inden.de>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -17,21 +17,21 @@ clap = { version = "4.2.5", features = ["derive"] }
env_logger = "0.10.0"
futures = "0.3.28"
instant = "0.1.11"
libp2p-core = { version = "0.39.0", path = "../../core" }
libp2p-dns = { version = "0.39.0", path = "../../transports/dns", features = ["async-std"] }
libp2p-identity = { version = "0.1.0", path = "../../identity" }
libp2p-noise = { version = "0.42.2", path = "../../transports/noise" }
libp2p-quic = { version = "0.7.0-alpha.2", path = "../../transports/quic", features = ["async-std"] }
libp2p-swarm = { version = "0.42.1", path = "../../swarm", features = ["macros", "async-std"] }
libp2p-tcp = { version = "0.39.0", path = "../../transports/tcp", features = ["async-io"] }
libp2p-yamux = { version = "0.43.1", path = "../../muxers/yamux" }
libp2p-core = { workspace = true }
libp2p-dns = { workspace = true, features = ["async-std"] }
libp2p-identity = { workspace = true }
libp2p-noise = { workspace = true }
libp2p-quic = { workspace = true, features = ["async-std"] }
libp2p-swarm = { workspace = true, features = ["macros", "async-std"] }
libp2p-tcp = { workspace = true, features = ["async-io"] }
libp2p-yamux = { workspace = true }
log = "0.4"
thiserror = "1.0"
void = "1"
[dev-dependencies]
rand = "0.8"
libp2p-swarm-test = { path = "../../swarm-test"}
libp2p-swarm-test = { workspace = true }
# Passing arguments to the docsrs builder in order to properly document cfg's.
# More information: https://docs.rs/about/builds#cross-compiling

View File

@ -1,3 +1,10 @@
## 0.43.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.42.0
- Update to `libp2p-core` `v0.39.0`.

View File

@ -1,9 +1,9 @@
[package]
name = "libp2p-ping"
edition = "2021"
rust-version = "1.62.0"
rust-version = { workspace = true }
description = "Ping protocol for libp2p"
version = "0.42.0"
version = "0.43.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -15,9 +15,9 @@ either = "1.8.0"
futures = "0.3.28"
futures-timer = "3.0.2"
instant = "0.1.11"
libp2p-core = { version = "0.39.0", path = "../../core" }
libp2p-swarm = { version = "0.42.1", path = "../../swarm" }
libp2p-identity = { version = "0.1.0", path = "../../identity" }
libp2p-core = { workspace = true }
libp2p-swarm = { workspace = true }
libp2p-identity = { workspace = true }
log = "0.4.1"
rand = "0.8"
void = "1.0"
@ -25,9 +25,9 @@ void = "1.0"
[dev-dependencies]
async-std = "1.6.2"
env_logger = "0.10.0"
libp2p-swarm = { path = "../../swarm", features = ["macros"] }
libp2p-swarm-test = { path = "../../swarm-test" }
quickcheck = { package = "quickcheck-ext", path = "../../misc/quickcheck-ext" }
libp2p-swarm = { workspace = true, features = ["macros"] }
libp2p-swarm-test = { workspace = true }
quickcheck = { workspace = true }
# Passing arguments to the docsrs builder in order to properly document cfg's.
# More information: https://docs.rs/about/builds#cross-compiling

View File

@ -1,3 +1,10 @@
## 0.16.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.15.2
- Send correct `PeerId` in outbound STOP message to client.

View File

@ -1,9 +1,9 @@
[package]
name = "libp2p-relay"
edition = "2021"
rust-version = "1.62.0"
rust-version = { workspace = true }
description = "Communications relaying for libp2p"
version = "0.15.2"
version = "0.16.0"
authors = ["Parity Technologies <admin@parity.io>", "Max Inden <mail@max-inden.de>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -17,12 +17,12 @@ either = "1.6.0"
futures = "0.3.28"
futures-timer = "3"
instant = "0.1.11"
libp2p-core = { version = "0.39.0", path = "../../core" }
libp2p-swarm = { version = "0.42.1", path = "../../swarm", features = ["async-std"] }
libp2p-identity = { version = "0.1.0", path = "../../identity" }
libp2p-core = { workspace = true }
libp2p-swarm = { workspace = true, features = ["async-std"] }
libp2p-identity = { workspace = true }
log = "0.4"
quick-protobuf = "0.8"
quick-protobuf-codec = { version = "0.1", path = "../../misc/quick-protobuf-codec" }
quick-protobuf-codec = { workspace = true }
rand = "0.8.4"
static_assertions = "1"
thiserror = "1.0"
@ -30,11 +30,11 @@ void = "1"
[dev-dependencies]
env_logger = "0.10.0"
libp2p-ping = { path = "../../protocols/ping" }
libp2p-plaintext = { path = "../../transports/plaintext" }
libp2p-swarm = { path = "../../swarm", features = ["macros"] }
libp2p-yamux = { path = "../../muxers/yamux" }
quickcheck = { package = "quickcheck-ext", path = "../../misc/quickcheck-ext" }
libp2p-ping = { workspace = true }
libp2p-plaintext = { workspace = true }
libp2p-swarm = { workspace = true, features = ["macros"] }
libp2p-yamux = { workspace = true }
quickcheck = { workspace = true }
# Passing arguments to the docsrs builder in order to properly document cfg's.
# More information: https://docs.rs/about/builds#cross-compiling

View File

@ -1,3 +1,10 @@
## 0.13.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.12.1
- Migrate from `prost` to `quick-protobuf`. This removes `protoc` dependency. See [PR 3312].

View File

@ -1,9 +1,9 @@
[package]
name = "libp2p-rendezvous"
edition = "2021"
rust-version = "1.62.0"
rust-version = { workspace = true }
description = "Rendezvous protocol for libp2p"
version = "0.12.1"
version = "0.13.0"
authors = ["The COMIT guys <hello@comit.network>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -16,12 +16,12 @@ bimap = "0.6.3"
futures = { version = "0.3", default-features = false, features = ["std"] }
futures-timer = "3.0.2"
instant = "0.1.11"
libp2p-core = { version = "0.39.0", path = "../../core" }
libp2p-swarm = { version = "0.42.1", path = "../../swarm" }
libp2p-identity = { version = "0.1.0", path = "../../identity" }
libp2p-core = { workspace = true }
libp2p-swarm = { workspace = true }
libp2p-identity = { workspace = true }
log = "0.4"
quick-protobuf = "0.8"
quick-protobuf-codec = { version = "0.1", path = "../../misc/quick-protobuf-codec" }
quick-protobuf-codec = { workspace = true }
rand = "0.8"
thiserror = "1"
void = "1"
@ -29,16 +29,16 @@ void = "1"
[dev-dependencies]
async-trait = "0.1"
env_logger = "0.10.0"
libp2p-swarm = { path = "../../swarm", features = ["macros", "tokio"] }
libp2p-mplex = { path = "../../muxers/mplex" }
libp2p-noise = { path = "../../transports/noise" }
libp2p-ping = { path = "../ping" }
libp2p-identify = { path = "../identify" }
libp2p-yamux = { path = "../../muxers/yamux" }
libp2p-tcp = { path = "../../transports/tcp", features = ["tokio"] }
libp2p-swarm = { workspace = true, features = ["macros", "tokio"] }
libp2p-mplex = { workspace = true }
libp2p-noise = { workspace = true }
libp2p-ping = { workspace = true }
libp2p-identify = { workspace = true }
libp2p-yamux = { workspace = true }
libp2p-tcp = { workspace = true, features = ["tokio"] }
rand = "0.8"
tokio = { version = "1.28", features = [ "rt-multi-thread", "time", "macros", "sync", "process", "fs", "net" ] }
libp2p-swarm-test = { path = "../../swarm-test" }
libp2p-swarm-test = { workspace = true }
# Passing arguments to the docsrs builder in order to properly document cfg's.
# More information: https://docs.rs/about/builds#cross-compiling

View File

@ -1,3 +1,10 @@
## 0.25.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.24.1
- Deprecate `handler`, `codec` modules to make them private. See [PR 3847].

View File

@ -1,9 +1,9 @@
[package]
name = "libp2p-request-response"
edition = "2021"
rust-version = "1.62.0"
rust-version = { workspace = true }
description = "Generic Request/Response Protocols"
version = "0.24.1"
version = "0.25.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -14,20 +14,20 @@ categories = ["network-programming", "asynchronous"]
async-trait = "0.1"
futures = "0.3.28"
instant = "0.1.11"
libp2p-core = { version = "0.39.0", path = "../../core" }
libp2p-swarm = { version = "0.42.1", path = "../../swarm" }
libp2p-identity = { version = "0.1.0", path = "../../identity" }
libp2p-core = { workspace = true }
libp2p-swarm = { workspace = true }
libp2p-identity = { workspace = true }
rand = "0.8"
smallvec = "1.6.1"
[dev-dependencies]
async-std = { version = "1.6.2", features = ["attributes"] }
env_logger = "0.10.0"
libp2p-noise = { path = "../../transports/noise" }
libp2p-tcp = { path = "../../transports/tcp", features = ["async-io"] }
libp2p-yamux = { path = "../../muxers/yamux" }
libp2p-noise = { workspace = true }
libp2p-tcp = { workspace = true, features = ["async-io"] }
libp2p-yamux = { workspace = true }
rand = "0.8"
libp2p-swarm-test = { path = "../../swarm-test" }
libp2p-swarm-test = { workspace = true }
# Passing arguments to the docsrs builder in order to properly document cfg's.
# More information: https://docs.rs/about/builds#cross-compiling

View File

@ -1,3 +1,10 @@
## 0.33.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.32.0
- Fix `NetworkBehaviour` Derive macro for generic types when `out_event` was not provided. Previously the enum generated

View File

@ -1,9 +1,9 @@
[package]
name = "libp2p-swarm-derive"
edition = "2021"
rust-version = "1.60.0"
rust-version = { workspace = true }
description = "Procedural macros of libp2p-swarm"
version = "0.32.0"
version = "0.33.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"

View File

@ -1,3 +1,10 @@
## 0.2.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.1.0
- Initial release.

View File

@ -1,6 +1,6 @@
[package]
name = "libp2p-swarm-test"
version = "0.1.0"
version = "0.2.0"
edition = "2021"
rust-version = "1.65.0"
license = "MIT"
@ -13,12 +13,12 @@ categories = ["network-programming", "asynchronous"]
[dependencies]
async-trait = "0.1.68"
libp2p-core = { version = "0.39.1", path = "../core" }
libp2p-identity = { version = "0.1.1", path = "../identity" }
libp2p-plaintext = { version = "0.39.1", path = "../transports/plaintext" }
libp2p-swarm = { version = "0.42.0", path = "../swarm" }
libp2p-tcp = { version = "0.39.0", path = "../transports/tcp", features = ["async-io"] }
libp2p-yamux = { version = "0.43.1", path = "../muxers/yamux" }
libp2p-core = { workspace = true }
libp2p-identity = { workspace = true }
libp2p-plaintext = { workspace = true }
libp2p-swarm = { workspace = true }
libp2p-tcp = { workspace = true, features = ["async-io"] }
libp2p-yamux = { workspace = true }
futures = "0.3.28"
log = "0.4.17"
rand = "0.8.5"

View File

@ -1,3 +1,10 @@
## 0.43.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.42.2
- Add `ConnectionEvent::{is_outbound,is_inbound}`. See [PR 3625].

View File

@ -1,9 +1,9 @@
[package]
name = "libp2p-swarm"
edition = "2021"
rust-version = "1.62.0"
rust-version = { workspace = true }
description = "The libp2p swarm"
version = "0.42.2"
version = "0.43.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -16,9 +16,9 @@ fnv = "1.0"
futures = "0.3.28"
futures-timer = "3.0.2"
instant = "0.1.11"
libp2p-core = { version = "0.39.0", path = "../core" }
libp2p-identity = { version = "0.1.0", path = "../identity" }
libp2p-swarm-derive = { version = "0.32.0", path = "../swarm-derive", optional = true }
libp2p-core = { workspace = true }
libp2p-identity = { workspace = true }
libp2p-swarm-derive = { workspace = true, optional = true }
log = "0.4"
rand = "0.8"
smallvec = "1.6.1"
@ -41,15 +41,15 @@ async-std = { version = "1.6.2", features = ["attributes"] }
either = "1.6.0"
env_logger = "0.10"
futures = "0.3.28"
libp2p-identify = { path = "../protocols/identify" }
libp2p-identity = { version = "0.1.0", path = "../identity", features = ["ed25519"] }
libp2p-kad = { path = "../protocols/kad" }
libp2p-ping = { path = "../protocols/ping" }
libp2p-plaintext = { path = "../transports/plaintext" }
libp2p-swarm-derive = { path = "../swarm-derive" }
libp2p-swarm-test = { path = "../swarm-test" }
libp2p-yamux = { path = "../muxers/yamux" }
quickcheck = { package = "quickcheck-ext", path = "../misc/quickcheck-ext" }
libp2p-identify = { workspace = true }
libp2p-identity = { workspace = true, features = ["ed25519"] }
libp2p-kad = { workspace = true }
libp2p-ping = { workspace = true }
libp2p-plaintext = { workspace = true }
libp2p-swarm-derive = { workspace = true }
libp2p-swarm-test = { workspace = true }
libp2p-yamux = { workspace = true }
quickcheck = { workspace = true }
void = "1"
[[test]]

View File

@ -1,3 +1,10 @@
## 0.40.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.39.0
- Update to `libp2p-core` `v0.39.0`.

View File

@ -1,9 +1,9 @@
[package]
name = "libp2p-deflate"
edition = "2021"
rust-version = "1.60.0"
rust-version = { workspace = true }
description = "Deflate encryption protocol for libp2p"
version = "0.39.0"
version = "0.40.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -12,11 +12,13 @@ categories = ["network-programming", "asynchronous"]
[dependencies]
futures = "0.3.28"
libp2p-core = { version = "0.39.0", path = "../../core" }
libp2p-core = { workspace = true }
flate2 = "1.0"
[dev-dependencies]
quickcheck = { package = "quickcheck-ext", path = "../../misc/quickcheck-ext" }
async-std = "1.6.2"
libp2p-tcp = { workspace = true, features = ["async-io"] }
quickcheck = { workspace = true }
rand = "0.8"
futures_ringbuf = "0.3.1"

View File

@ -1,3 +1,10 @@
## 0.40.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.39.0
- Update to `libp2p-core` `v0.39.0`.

View File

@ -1,9 +1,9 @@
[package]
name = "libp2p-dns"
edition = "2021"
rust-version = "1.60.0"
rust-version = { workspace = true }
description = "DNS transport implementation for libp2p"
version = "0.39.0"
version = "0.40.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -11,8 +11,8 @@ keywords = ["peer-to-peer", "libp2p", "networking"]
categories = ["network-programming", "asynchronous"]
[dependencies]
libp2p-core = { version = "0.39.0", path = "../../core" }
libp2p-identity = { version = "0.1.0", path = "../../identity" }
libp2p-core = { workspace = true }
libp2p-identity = { workspace = true }
log = "0.4.1"
futures = "0.3.28"
async-std-resolver = { version = "0.22", optional = true }

View File

@ -1,3 +1,10 @@
## 0.42.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.42.2
- Deprecate all noise handshakes apart from XX.

View File

@ -1,9 +1,9 @@
[package]
name = "libp2p-noise"
edition = "2021"
rust-version = "1.60.0"
rust-version = { workspace = true }
description = "Cryptographic handshake protocol using the noise framework."
version = "0.42.2"
version = "0.43.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -12,8 +12,8 @@ repository = "https://github.com/libp2p/rust-libp2p"
bytes = "1"
curve25519-dalek = "3.0.0"
futures = "0.3.28"
libp2p-core = { version = "0.39.0", path = "../../core" }
libp2p-identity = { version = "0.1.2", path = "../../identity", features = ["ed25519"] }
libp2p-core = { workspace = true }
libp2p-identity = { workspace = true, features = ["ed25519"] }
log = "0.4"
quick-protobuf = "0.8"
once_cell = "1.17.1"
@ -33,8 +33,8 @@ snow = { version = "0.9.2", features = ["default-resolver"], default-features =
[dev-dependencies]
async-io = "1.13.0"
env_logger = "0.10.0"
libp2p-tcp = { path = "../tcp", features = ["async-io"] }
quickcheck = { package = "quickcheck-ext", path = "../../misc/quickcheck-ext" }
libp2p-tcp = { workspace = true, features = ["async-io"] }
quickcheck = { workspace = true }
# Passing arguments to the docsrs builder in order to properly document cfg's.
# More information: https://docs.rs/about/builds#cross-compiling

View File

@ -1,3 +1,10 @@
## 0.40.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.39.1
- Migrate from `prost` to `quick-protobuf`. This removes `protoc` dependency. See [PR 3312].

View File

@ -1,9 +1,9 @@
[package]
name = "libp2p-plaintext"
edition = "2021"
rust-version = "1.60.0"
rust-version = { workspace = true }
description = "Plaintext encryption dummy protocol for libp2p"
version = "0.39.1"
version = "0.40.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -14,8 +14,8 @@ categories = ["network-programming", "asynchronous"]
asynchronous-codec = "0.6"
bytes = "1"
futures = "0.3.28"
libp2p-core = { version = "0.39.0", path = "../../core" }
libp2p-identity = { version = "0.1.2", path = "../../identity" }
libp2p-core = { workspace = true }
libp2p-identity = { workspace = true }
log = "0.4.8"
quick-protobuf = "0.8"
unsigned-varint = { version = "0.7", features = ["asynchronous_codec"] }
@ -23,8 +23,8 @@ void = "1.0.2"
[dev-dependencies]
env_logger = "0.10.0"
libp2p-identity = { path = "../../identity", features = ["ed25519"] }
quickcheck = { package = "quickcheck-ext", path = "../../misc/quickcheck-ext" }
libp2p-identity = { workspace = true, features = ["ed25519"] }
quickcheck = { workspace = true }
rand = "0.8"
futures_ringbuf = "0.3.1"

View File

@ -1,3 +1,10 @@
## 0.23.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.22.3
- Fix handshake over websocket. See [PR 3476]

View File

@ -1,9 +1,9 @@
[package]
name = "libp2p-pnet"
edition = "2021"
rust-version = "1.60.0"
rust-version = { workspace = true }
description = "Private swarm support for libp2p"
version = "0.22.3"
version = "0.23.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -19,14 +19,14 @@ rand = "0.8"
pin-project = "1.0.2"
[dev-dependencies]
libp2p-core = { path = "../../core", features = ["rsa", "ecdsa", "secp256k1"] }
libp2p-identity = { path = "../../identity", features = ["ed25519"] }
libp2p-noise = { path = "../noise" }
libp2p-swarm = { path = "../../swarm", features = ["tokio"] }
libp2p-tcp = { path = "../tcp", features = ["tokio"] }
libp2p-websocket = { path = "../websocket" }
libp2p-yamux = { path = "../../muxers/yamux" }
quickcheck = { package = "quickcheck-ext", path = "../../misc/quickcheck-ext" }
libp2p-core = { workspace = true, features = ["rsa", "ecdsa", "secp256k1"] }
libp2p-identity = { workspace = true, features = ["ed25519"] }
libp2p-noise = { workspace = true }
libp2p-swarm = { workspace = true, features = ["tokio"] }
libp2p-tcp = { workspace = true, features = ["tokio"] }
libp2p-websocket = { workspace = true }
libp2p-yamux = { workspace = true }
quickcheck = { workspace = true }
tokio = { version = "1.28.0", features = ["full"] }
# Passing arguments to the docsrs builder in order to properly document cfg's.

View File

@ -1,3 +1,10 @@
## 0.8.0-alpha - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.7.0-alpha.3
- Depend `libp2p-tls` `v0.1.0`.

View File

@ -1,9 +1,9 @@
[package]
name = "libp2p-quic"
version = "0.7.0-alpha.3"
version = "0.8.0-alpha"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2021"
rust-version = "1.62.0"
rust-version = { workspace = true }
description = "TLS based QUIC transport implementation for libp2p"
repository = "https://github.com/libp2p/rust-libp2p"
license = "MIT"
@ -14,9 +14,9 @@ bytes = "1.4.0"
futures = "0.3.28"
futures-timer = "3.0.2"
if-watch = "3.0.1"
libp2p-core = { version = "0.39.0", path = "../../core" }
libp2p-tls = { version = "0.1.0", path = "../tls" }
libp2p-identity = { version = "0.1.0", path = "../../identity" }
libp2p-core = { workspace = true }
libp2p-tls = { workspace = true }
libp2p-identity = { workspace = true }
log = "0.4"
parking_lot = "0.12.0"
quinn-proto = { version = "0.9.3", default-features = false, features = ["tls-rustls"] }
@ -39,10 +39,10 @@ rustc-args = ["--cfg", "docsrs"]
[dev-dependencies]
async-std = { version = "1.12.0", features = ["attributes"] }
env_logger = "0.10.0"
libp2p-muxer-test-harness = { path = "../../muxers/test-harness" }
libp2p-noise = { path = "../noise" }
libp2p-tcp = { path = "../tcp", features = ["async-io"] }
libp2p-yamux = { path = "../../muxers/yamux" }
libp2p-muxer-test-harness = { workspace = true }
libp2p-noise = { workspace = true }
libp2p-tcp = { workspace = true, features = ["async-io"] }
libp2p-yamux = { workspace = true }
quickcheck = "1"
tokio = { version = "1.28.0", features = ["macros", "rt-multi-thread", "time"] }

View File

@ -1,3 +1,10 @@
## 0.40.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.39.0
- Update to `libp2p-core` `v0.39.0`.

View File

@ -1,9 +1,9 @@
[package]
name = "libp2p-tcp"
edition = "2021"
rust-version = "1.60.0"
rust-version = { workspace = true }
description = "TCP/IP transport protocol for libp2p"
version = "0.39.0"
version = "0.40.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -16,8 +16,8 @@ futures = "0.3.28"
futures-timer = "3.0"
if-watch = "3.0.1"
libc = "0.2.142"
libp2p-core = { version = "0.39.0", path = "../../core" }
libp2p-identity = { version = "0.1.0", path = "../../identity" }
libp2p-core = { workspace = true }
libp2p-identity = { workspace = true }
log = "0.4.11"
socket2 = { version = "0.4.0", features = ["all"] }
tokio = { version = "1.28.0", default-features = false, features = ["net"], optional = true }

View File

@ -1,3 +1,10 @@
## 0.2.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.1.0
- Promote to `v0.1.0`.

View File

@ -1,8 +1,8 @@
[package]
name = "libp2p-tls"
version = "0.1.0"
version = "0.2.0"
edition = "2021"
rust-version = "1.60.0"
rust-version = { workspace = true }
description = "TLS configuration based on libp2p TLS specs."
repository = "https://github.com/libp2p/rust-libp2p"
license = "MIT"
@ -11,8 +11,8 @@ exclude = ["src/test_assets"]
[dependencies]
futures = { version = "0.3.28", default-features = false }
futures-rustls = "0.22.2"
libp2p-core = { version = "0.39.0", path = "../../core" }
libp2p-identity = { version = "0.1.2", path = "../../identity" }
libp2p-core = { workspace = true }
libp2p-identity = { workspace = true }
rcgen = "0.10.0"
ring = "0.16.20"
thiserror = "1.0.40"
@ -29,10 +29,10 @@ features = ["dangerous_configuration"] # Must enable this to allow for custom ve
[dev-dependencies]
hex = "0.4.3"
hex-literal = "0.4.1"
libp2p-core = { path = "../../core" }
libp2p-identity = { path = "../../identity", features = ["ed25519", "rsa", "secp256k1", "ecdsa"] }
libp2p-swarm = { path = "../../swarm" }
libp2p-yamux = { path = "../../muxers/yamux" }
libp2p-core = { workspace = true }
libp2p-identity = { workspace = true, features = ["ed25519", "rsa", "secp256k1", "ecdsa"] }
libp2p-swarm = { workspace = true }
libp2p-yamux = { workspace = true }
tokio = { version = "1.28.0", features = ["full"] }
# Passing arguments to the docsrs builder in order to properly document cfg's.

View File

@ -1,3 +1,10 @@
## 0.39.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.38.0
- Update to `libp2p-core` `v0.39.0`.

View File

@ -1,9 +1,9 @@
[package]
name = "libp2p-uds"
edition = "2021"
rust-version = "1.60.0"
rust-version = { workspace = true }
description = "Unix domain sockets transport for libp2p"
version = "0.38.0"
version = "0.39.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]
async-std = { version = "1.6.2", optional = true }
libp2p-core = { version = "0.39.0", path = "../../core" }
libp2p-core = { workspace = true }
log = "0.4.1"
futures = "0.3.28"
tokio = { version = "1.28", default-features = false, features = ["net"], optional = true }

View File

@ -1,3 +1,10 @@
## 0.40.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.39.0
- Update to `libp2p-core` `v0.39.0`.

View File

@ -1,9 +1,9 @@
[package]
name = "libp2p-wasm-ext"
edition = "2021"
rust-version = "1.60.0"
rust-version = { workspace = true }
description = "Allows passing in an external transport in a WASM environment"
version = "0.39.0"
version = "0.40.0"
authors = ["Pierre Krieger <pierre.krieger1708@gmail.com>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -13,7 +13,7 @@ categories = ["network-programming", "asynchronous"]
[dependencies]
futures = "0.3.28"
js-sys = "0.3.61"
libp2p-core = { version = "0.39.0", path = "../../core" }
libp2p-core = { workspace = true }
parity-send-wrapper = "0.1.0"
wasm-bindgen = "0.2.42"
wasm-bindgen-futures = "0.4.34"

View File

@ -1,3 +1,10 @@
## 0.5.0-alpha - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.4.0-alpha.4
- Make `Fingerprint` type public. See [PR 3648].

View File

@ -1,12 +1,12 @@
[package]
name = "libp2p-webrtc"
version = "0.4.0-alpha.4"
version = "0.5.0-alpha"
authors = ["Parity Technologies <admin@parity.io>"]
description = "WebRTC transport for libp2p"
repository = "https://github.com/libp2p/rust-libp2p"
license = "MIT"
edition = "2021"
rust-version = "1.60.0"
rust-version = { workspace = true }
keywords = ["peer-to-peer", "libp2p", "networking"]
categories = ["network-programming", "asynchronous"]
@ -18,14 +18,14 @@ futures = "0.3"
futures-timer = "3"
hex = "0.4"
if-watch = "3.0"
libp2p-core = { version = "0.39.0", path = "../../core" }
libp2p-noise = { version = "0.42.2", path = "../../transports/noise" }
libp2p-identity = { version = "0.1.0", path = "../../identity" }
libp2p-core = { workspace = true }
libp2p-noise = { workspace = true }
libp2p-identity = { workspace = true }
log = "0.4"
sha2 = "0.10.6"
multihash = { version = "0.17.0", default-features = false }
quick-protobuf = "0.8"
quick-protobuf-codec = { version = "0.1", path = "../../misc/quick-protobuf-codec" }
quick-protobuf-codec = { workspace = true }
rand = "0.8"
rcgen = "0.9.3"
serde = { version = "1.0", features = ["derive"] }
@ -44,8 +44,8 @@ pem = ["webrtc?/pem"]
anyhow = "1.0"
env_logger = "0.10"
hex-literal = "0.4"
libp2p-swarm = { path = "../../swarm", features = ["macros", "tokio"] }
libp2p-ping = { path = "../../protocols/ping" }
libp2p-swarm = { workspace = true, features = ["macros", "tokio"] }
libp2p-ping = { workspace = true }
tokio = { version = "1.28", features = ["full"] }
unsigned-varint = { version = "0.7", features = ["asynchronous_codec"] }
void = "1"

View File

@ -1,3 +1,10 @@
## 0.42.0 - unreleased
- Raise MSRV to 1.65.
See [PR 3715].
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715
## 0.41.0
- Update to `libp2p-core` `v0.39.0`.

View File

@ -1,9 +1,9 @@
[package]
name = "libp2p-websocket"
edition = "2021"
rust-version = "1.60.0"
rust-version = { workspace = true }
description = "WebSocket transport for libp2p"
version = "0.41.0"
version = "0.42.0"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
@ -14,19 +14,19 @@ categories = ["network-programming", "asynchronous"]
futures-rustls = "0.22"
either = "1.5.3"
futures = "0.3.28"
libp2p-core = { version = "0.39.0", path = "../../core" }
libp2p-identity = { version = "0.1.0", path = "../../identity" }
libp2p-core = { workspace = true }
libp2p-identity = { workspace = true }
log = "0.4.8"
parking_lot = "0.12.0"
quicksink = "0.1"
rw-stream-sink = { version = "0.3.0", path = "../../misc/rw-stream-sink" }
rw-stream-sink = { workspace = true }
soketto = { version = "0.7.0", features = ["deflate"] }
url = "2.1"
webpki-roots = "0.23"
[dev-dependencies]
libp2p-tcp = { path = "../tcp", features = ["async-io"] }
libp2p-dns = { path = "../dns", features = ["async-std"] }
libp2p-tcp = { workspace = true, features = ["async-io"] }
libp2p-dns = { workspace = true, features = ["async-std"] }
async-std = { version = "1.6.5", features = ["attributes"] }
rcgen = "0.9.3"