Commit Graph

2752 Commits

Author SHA1 Message Date
ffdd8125b3 docs(readme): add taple to notable users
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.
2023-08-18 20:16:02 +00:00
bf7fe680ac refactor(tcp): reducing branching in Transport::create_socket
Following https://github.com/libp2p/rust-libp2p/pull/4289#discussion_r1285812762, hereby is the PR to also improve the `create_socket`  using [`for_addr`](https://docs.rs/socket2/latest/socket2/struct.Domain.html#method.for_address). We also add a test for listening on IPv4 and IPv6 separately.

Pull-Request: #4328.
2023-08-18 19:30:14 +00:00
08292c567e docs: remove archived ursa project from README
Pull-Request: #4340.
2023-08-18 18:40:42 +00:00
16b2f1563d chore: use workspace rust-version
Pull-Request: #4344.
2023-08-18 09:02:22 +00:00
fb61697390 deps(identity): update ed25519-dalek to 2.0
Pull-Request: #4337.
2023-08-18 10:03:22 +02:00
cbdbaa836e feat(quic): promote to stable release
- Cut a stable release of `libp2p-quic`.
- Export `libp2p-quic` as `libp2p::quic`.
- Update examples to use `libp2p-quic` through `libp2p`.

Pull-Request: #4325.
2023-08-17 07:54:29 +00:00
2c4c961d69 deps: bump log from 0.4.19 to 0.4.20
Pull-Request: #4322.
2023-08-14 10:16:13 +00:00
a648b273b2 deps: bump webpki-roots from 0.25.1 to 0.25.2
Pull-Request: #4320.
2023-08-14 09:57:25 +00:00
c2648d775a deps: bump async-trait from 0.1.72 to 0.1.73
Pull-Request: #4321.
2023-08-14 09:38:56 +00:00
8022769daf deps: bump clap from 4.3.19 to 4.3.21
Pull-Request: #4319.
2023-08-14 09:20:07 +00:00
a4b8ff4673 deps: bump tokio from 1.29.1 to 1.31.0
Pull-Request: #4318.
2023-08-14 09:00:31 +00:00
b265ed2d03 deps: bump Swatinem/rust-cache from 2.6.0 to 2.6.1
Pull-Request: #4317.
2023-08-14 08:21:15 +00:00
01e7353d04 docs(roadmap): update to reflect ongoing wasm browser work
Update ROADMAP to reflect in-progress works

Pull-Request: #4315.
2023-08-12 09:02:47 +00:00
8e00d1244c fix(swarm): import libp2p-yamux dev-dependency via path
Follow-up to https://github.com/libp2p/rust-libp2p/pull/4091.

Pull-Request: #4314.
2023-08-11 15:13:33 +00:00
79aca371d1 fix(quic): add support for reusing an existing socket for local dialing
Tracked in #4259. Now if a listener supports loopback interfaces, when a remote address is also a loopback address, we reuse an existing listener.

Pull-Request: #4304.
2023-08-11 12:14:37 +00:00
5a8eb793fe chore: prepare libp2p v0.52.2
Pull-Request: #4312.
2023-08-11 10:10:42 +00:00
da94dcb23b chore(deps): bump github.com/libp2p/go-libp2p from 0.27.5 to 0.27.8 in /wasm-tests/webtransport-tests/echo-server
Pull-Request: #4308.
2023-08-09 13:48:20 +00:00
02dc432227 fix(quic): allow listening on ipv4 and ipv6 separately
Resolves #4165.

Pull-Request: #4289.
2023-08-08 16:48:08 +00:00
b5d993267f feat: memory based connection limits
Implements memory-based connection limits where the user can specify an absolute or a relative limit of the process' memory usage in relation to the available system memory.

Related: #4252.

Pull-Request: #4281.
2023-08-08 16:29:21 +00:00
188b70eaf0 deps: bump r7kamura/rust-problem-matchers from 1.3.0 to 1.4.0
Pull-Request: #4303.
2023-08-08 09:10:58 +00:00
8937105e07 docs(roadmap): fix headings, update str0m, webtransport, autonatv2 & address pipeline
Pull-Request: #4292.
2023-08-07 13:19:08 +00:00
6478fafc70 deps: bump x509-parser from 0.15.0 to 0.15.1
Pull-Request: #4297.
2023-08-07 10:47:47 +00:00
925243243c deps: bump axum from 0.6.19 to 0.6.20
Pull-Request: #4301.
2023-08-07 10:31:38 +00:00
e65155281e fix(kad): reduce noise of "remote supports our protocol" log
This PR changes the logging of the Kademlia connection handler related to the remote Kademlia mode changes:
- Downgrade log level for the remote kademlia protocol report from `info` to `debug`.
- Introduce connection_id for the handler to improve logging.

Pull-Request: #4278.
2023-08-07 09:31:15 +00:00
72fd50ae6c deps: bump serde from 1.0.179 to 1.0.183
Pull-Request: #4294.
2023-08-07 09:14:58 +00:00
1278161603 deps: bump regex from 1.9.1 to 1.9.3
Pull-Request: #4295.
2023-08-07 08:35:57 +00:00
f95f39f634 feat(gossipsub): add getter function to obtain TopicScoreParams
Added a getter function to obtain `TopicScoreParams`. I need this function for testing which checks if scoring parameters are updated as expected.

Pull-Request: #4231.
2023-08-03 15:19:25 +00:00
4b9c1e5e48 deps: bump Swatinem/rust-cache from 2.5.1 to 2.6.0
Pull-Request: #4288.
2023-08-03 09:22:47 +00:00
cb8a92026a deps(yamux): update yamux to v0.12
Pull-Request: #3013.
2023-08-02 15:02:54 +00:00
37d57f41de fix(relay): remove unconditional async-std dependency
`libp2p-relay` crate specifies the `libp2p-swarm/async-std` feature, which causes an `async-std` dependency to always be introduced.

Pull-Request: #4283.
2023-08-02 13:46:27 +00:00
4d637aedb7 docs: fix last OutboundQueryCompleted in kad doc
`OutboundQueryCompleted` hasn't been fully replaced by `OutboundQueryProgressed` in kad doc.

Pull-Request: #4257.
2023-08-02 10:43:37 +00:00
fbf35e14cb fix(examples/file-sharing): set Kademlia Mode::Server
Explicitly set `libp2p-kad` `Kademlia::set_mode` to `Mode::Server` to reduce complexity of example, i.e. not having to explicitly set external addresses.

Pull-Request: #4197.
2023-08-01 13:53:38 +00:00
c86b665a65 chore(roadmap): move QUIC quinn to done
Done with https://github.com/libp2p/rust-libp2p/pull/3454.

Pull-Request: #4277.
2023-07-31 20:17:36 +00:00
d20dec05be chore(ci): bump cargo semver-checks to 0.22.1
Pull-Request: #4227.
2023-07-31 18:31:43 +00:00
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