This PR replaces our home-grown `cargo semver-checks` action with the official one: https://github.com/obi1kenobi/cargo-semver-checks-action/issues/47.
This action has support for cargo workspaces and will automatically check all crates that have `publish` set to `true`. This removes a big time component for our CI checks and introduces one that runs in parallel with all others. I hope to reduce the effective CI time through that, plus it means we need to maintain less code.
The official action would download the latest release of cargo-semver-checks. This might result in a non-reproducible CI. To avoid this, we retain the one-line download statement from our home-grown action.
Pull-Request: #3923.
This commit reverts the previous metrics behavior. Namely:
- adhering to --metrics-path flag
- listening on 0.0.0.0:8888 instead of 127.0.0.1:8080
Note that 8888 is the default IPFS debug (aka. metrics) port.
See https://github.com/mxinden/rust-libp2p-server/blob/master/src/metric_server.rs for previous behavior.
Pull-Request: #4392.
Previously, only the clippy job was denying warnings. We have many other CI jobs that compile our library in all sorts of configurations. All of them should be free of warnings.
Pull-Request: #4384.
One needs to specify a version of `libp2p` dependeny in `misc/server/Cargo.toml` or import as a workspace dependency, in order to publish to crates.io.
This commit does the latter for the sake of consistency with the other libp2p-* dependencies.
Pull-Request: #4391.
From the lint documentation:
> If both `PartialOrd` and `Ord` are implemented, they must agree. This is commonly done by wrapping the result of `cmp` in `Some` for `partial_cmp`. Not doing this may silently introduce an error upon refactoring.
Pull-Request: #4379.
Our WASM Webtransport interoperability tests previously used Chrome 112. This Chrome version fails to connect to go-libp2p with quic-go v0.38.0. See https://github.com/libp2p/go-libp2p/pull/2506 for failure. This is due to quic-go v0.38.0 moving to the updated code point for HTTP datagrams. See https://github.com/quic-go/quic-go/pull/3588 for details.
This commit upgrades our interop tests to use Chrome 115.
Pull-Request: #4383.
Request to add [TAPLE](https://www.taple.es) Project to rust-libp2p notable users. TAPLE is a permissioned DLT solution for traceability of assets and processes. We use libp2p for the network layer.
Pull-Request: #4309.
- Cut a stable release of `libp2p-quic`.
- Export `libp2p-quic` as `libp2p::quic`.
- Update examples to use `libp2p-quic` through `libp2p`.
Pull-Request: #4325.