Commit Graph

2618 Commits

Author SHA1 Message Date
23d7d1a247 feat(kad): implement common traits on RoutingUpdate
A few weeks ago when I was debugging my wrong setup with kademlia, I could not conveniently debug `RoutingUpdate` after adding an address to the DHT. It would be nice to have a few derivable traits on a public enum.

Pull-Request: #4270.
2023-07-31 14:23:45 +00:00
8ff2cf3a37 fix(relay): export RateLimiter type
The `rate-limiter` module  was not made publicly available. This change exports the `RateLimiter` trait defined within that module which allows users to define their own rate limiters. To make common usecases easy, we also provide a set of constructor functions for common rate limiters.

Resolves #3741.

Pull-Request: #3742.
2023-07-31 13:58:20 +00:00
3af3d5d23a chore(quic): prepare v0.9.0-alpha
Pull-Request: #4262.
2023-07-31 11:11:57 +00:00
856d85f9b6 deps: bump webpki-roots from 0.24.0 to 0.25.1
Pull-Request: #4272.
2023-07-31 10:41:14 +00:00
d566f45ae2 deps: bump syn from 2.0.27 to 2.0.28
Pull-Request: #4273.
2023-07-31 09:17:09 +00:00
55f05aa6c8 deps: bump serde from 1.0.178 to 1.0.179
Pull-Request: #4271.
2023-07-31 09:00:23 +00:00
ceccb8e9c0 chore: fix clippy
Pull-Request: #4267.
2023-07-31 05:53:53 +00:00
5499333ff3 fix(identity): use test fixture for ed25519
Use test fixture from https://github.com/libp2p/specs/pull/537/ for ed25519 roundtrip test.

Pull-Request: #4228.
2023-07-29 19:56:11 +00:00
6d3015a4aa docs(readme): add safe network to notable users
Pull-Request: #4264.
2023-07-28 20:41:46 +00:00
fbfe0836a8 docs(readme): add Mina project as notable user
Pull-Request: #4263.
2023-07-28 14:07:00 +00:00
1ebff97de7 docs(readme): rename iroh to beetle
Pull-Request: #4265.
2023-07-28 12:01:15 +00:00
6121f23800 docs: add maintainer handbook
This short document describes certain maintainer knowledge that IMO is good to have and should likely make on-boarding a bit easier too.

Pull-Request: #4220.
2023-07-28 11:12:56 +00:00
4e1fa9b8b8 refactor(quic): rewrite quic using quinn
Rewrite quic using quinn instead of quinn-proto. libp2p-quic::endpoint::Driver is eliminated (and that hard quinn-proto machinery). Also:
- ECN bits are handled
- Support Generic Send Offload (GSO)

Pull-Request: #3454.
2023-07-28 10:22:03 +00:00
f10f1a274a chore: prepare identity v0.2.2 and swarm v0.43.2
Pull-Request: #4256.
2023-07-26 13:59:01 +00:00
53df98298a fix(connection-limits): correct connection tracking
The connection limit behaviour was not taking into account connection errors. Also, it was using the behaviour events to indicate established connections which is not always going to be the case because other behaviours can deny the connections (thanks @divagant-martian).

Closes #4249

Pull-Request: #4250.
2023-07-26 13:36:14 +00:00
da743ec486 fix(swarm): display cause of denied listen error
The display of `ListenError` could be more helpful. The inner `cause` already implements `Error` which in turn requires `Display`. This is then just a matter of using said impl requirement to get an useful display

Pull-Request: #4232.
2023-07-24 19:52:51 +00:00
7f2ef013a8 feat(identity): implement from_protobuf_encoding for RSA keys
Add support for reading a libp2p RSA keypair from a Protobuf.

Pull-Request: #4193.
2023-07-24 19:03:04 +00:00
cf3cff147c fix(kad): prevent simultaneous dials to peer
By default, dialing is prevented when already connected. `kad` already checks this manually before doing dials. By changing the condition from `Disconnected` to `NotDialing`, we prevent simultaneous dials to a peer.

Pull-Request: #4224.
2023-07-24 17:06:48 +00:00
3f0fef2823 deps: bump asynchronous-codec from 0.6.1 to 0.6.2
Pull-Request: #4244.
2023-07-24 16:51:08 +00:00
cfa879396c deps: bump tempfile from 3.6.0 to 3.7.0
Pull-Request: #4247.
2023-07-24 16:35:29 +00:00
b52c3ac317 deps: bump serde from 1.0.171 to 1.0.175
Pull-Request: #4246.
2023-07-24 16:19:48 +00:00
12c98dca35 deps: bump either from 1.8.1 to 1.9.0
Pull-Request: #4243.
2023-07-24 16:02:14 +00:00
521eea2d01 deps: bump thiserror from 1.0.43 to 1.0.44
Pull-Request: #4242.
2023-07-24 15:46:36 +00:00
458fb7b15b deps: bump tower-http from 0.4.1 to 0.4.3
Pull-Request: #4240.
2023-07-24 15:31:08 +00:00
9546dd44d5 deps: bump async-trait from 0.1.71 to 0.1.72
Pull-Request: #4239.
2023-07-24 15:14:58 +00:00
f97ff9f514 deps: bump num-traits from 0.2.15 to 0.2.16
Pull-Request: #4238.
2023-07-24 12:17:02 +00:00
9bfa964147 deps: bump rmp-serde from 1.1.1 to 1.1.2
Pull-Request: #4237.
2023-07-24 11:50:11 +00:00
136acf05b0 deps: bump quote from 1.0.31 to 1.0.32
Pull-Request: #4236.
2023-07-24 09:46:58 +00:00
293128dd13 deps: bump syn from 2.0.26 to 2.0.27
Pull-Request: #4235.
2023-07-24 08:32:27 +00:00
52cf26f530 refactor(request-reponse): replace serde_cbor with cbor4ii
As per `RUSTSEC-2021-0127`, serde_cbor is unmaintained.

Fixes #4182.
Related: https://github.com/rustsec/advisory-db/pull/1114.

Pull-Request: #4187.
2023-07-20 13:18:36 +00:00
b18c77e21c chore(libp2p): expose json feature from request-response
`cbor` feature was exposed in `libp2p` but not `json`.

Pull-Request: #4188.
2023-07-20 08:44:32 +00:00
f0b1b122e6 feat(relay): add functions to Limit to access its data
Currently, `Limit` is supplied to many of relay client events, however there is no way to access the fields. This PR adds functions to allow access to the data from those fields.

Pull-Request: #4162.
2023-07-20 08:06:33 +00:00
660fadba35 chore(gossipsub): include in libp2p meta crate when compiling for wasm
Since https://github.com/libp2p/rust-libp2p/pull/3973, gossipsub now fully supports wasm targets. It functions properly when added as a dependency on its own. However, when trying to use it under libp2p by activating a feature, it's not possible and the compiler will raise an error like `unresolved import libp2p::gossipsub`. This pull request enables the use of gossipsub for wasm targets when it's activated as a feature of the libp2p dependency.

Pull-Request: #4217.
2023-07-20 07:48:21 +00:00
1acf4a5e17 deps: bump actions/upload-pages-artifact from 1.0.9 to 2.0.0
Pull-Request: #4183.
2023-07-19 13:56:45 +00:00
6ac15bdb98 deps: bump lru from 0.10.1 to 0.11.0
Pull-Request: #4198.
2023-07-19 13:41:32 +00:00
a10733f8a4 chore: update Rust version for clippy check to 1.71
We also need to prepend the `clippy::allow` with an `unknown_lints` lint because clippy 1.71 does not (yet) know about this new lint.

Pull-Request: #4219.
2023-07-19 13:25:58 +00:00
132688961f deps: bump clap from 4.3.11 to 4.3.12
Pull-Request: #4206.
2023-07-19 13:10:14 +00:00
e4d6d193a4 deps: bump sec1 from 0.7.2 to 0.7.3
Pull-Request: #4207.
2023-07-19 12:53:22 +00:00
8c0c9cc90b deps: bump anyhow from 1.0.71 to 1.0.72
Pull-Request: #4205.
2023-07-19 12:37:34 +00:00
130955748e deps: bump quote from 1.0.29 to 1.0.31
Pull-Request: #4204.
2023-07-19 12:21:53 +00:00
0f0506e08a deps: bump axum from 0.6.18 to 0.6.19
Pull-Request: #4203.
2023-07-19 12:06:09 +00:00
bc866417e6 deps: bump syn from 2.0.25 to 2.0.26
Pull-Request: #4202.
2023-07-19 11:49:33 +00:00
a49ad7785c deps: bump proc-macro2 from 1.0.63 to 1.0.66
Pull-Request: #4200.
2023-07-19 11:34:09 +00:00
42be5b5d16 deps: bump serde from 1.0.168 to 1.0.171
Pull-Request: #4199.
2023-07-19 11:18:10 +00:00
c70f3245dc deps: bump prometheus-client from 0.21.1 to 0.21.2
Pull-Request: #4173.
2023-07-19 11:01:53 +00:00
237f37abae ci: automatically merge PRs of semver-compatible updates
We receive a lot of PRs from dependabot for version updates to our lockfile and Cargo.toml. Whilst it is nice that those are explicit, they require quite some work from maintainers. Often, these PRs only get queued to be merged when a maintainer is next active on a repository which is also likely at a time they want to merge other PRs.

We don't want to automatically merge all updates that are coming in because they might be breaking changes for us if they are exposed in our public API. We solve this by only merging updates that are in a semver-compatible range:

- For major >= 1 updates, only approve them if they have the same major version.
- For major == 0 updates, only approve them if they have the same minor version.

We also add a rule to automatically queue PRs from dependabot with an approval. This avoids us having to approve AND apply the `send-it` label.

Resolves #4186.
Pull-Request: #4210.
2023-07-19 12:45:23 +02:00
d3b4714730 chore: apply suggestions from clippy beta (1.72)
Pull-Request: #4211.
2023-07-18 08:45:26 +00:00
efdba39f83 deps: bump thiserror from 1.0.40 to 1.0.43
Pull-Request: #4174.
2023-07-17 08:45:14 +00:00
30024f38d4 fix: clippy useless_conversion and useless_vec
Pull-Request: #4190.
2023-07-16 03:31:37 +00:00
a3efb40892 fix(examples/kv-store): set kademlia mode to Server
Pull-Request: #4195.
2023-07-16 02:08:34 +00:00