Commit Graph

2414 Commits

Author SHA1 Message Date
56a4a946c6 Roadmap.md: Discuss the near term future of rust-libp2p (#2997)
The items in this roadmap are ordered by importance where importance is defined as:

- Enable others to build with rust-libp2p before building components ourself.
  - e.g.[cross behaviour communication](#cross-behaviour-communication) over[Kademlia client
    mode](#kademlia-client-mode) where the former enables the latter
- Invest into tools that enable us to work more efficiently
  - e.g.[Testground](#testground-abstraction) and [release process](#release-process)
- Better do one thing well than many things close to right.
  - e.g. deprioritize [BitSwap implementation](#bitswap-implementation) and continue on
    [QUIC](#quic-support) even once first ieration is merged. That does not imply that we won't
    support community members implementing it.
- Improve existing components before introducing new ones.
  - e.g.[Kademlia client mode](#kademlia-client-mode) before [WebTransport](#webtransport)
2022-10-20 21:37:02 +01:00
cec1a8d26f docs/release: Document cargo-release process and mention root changelog (#3028)
* docs/release: Document cargo-release process

* docs/release: Document update to root level changelog.md
2022-10-20 20:56:02 +01:00
4a4d4ad5c9 protocols/identify: Fix Identify protocol link in module doc (#3047) 2022-10-20 14:59:30 +01:00
3e4a0640fd Cargo.toml: Remove deprecated executor-specific features (#3001)
Co-authored-by: Max Inden <mail@max-inden.de>
2022-10-20 14:17:20 +11:00
c84a0fb86b swarm: Improve rendering of ConnectionLimit error (#3043) 2022-10-20 10:46:23 +11:00
4d4833f8c2 muxers: Add test harness for StreamMuxer implementations (#2952) 2022-10-17 11:23:13 +11:00
981d586bfe .github/workflows: Don't allow concurrent workflow runs (#3000) 2022-10-15 15:38:53 +11:00
b5612dc431 transports/dns/: Don't feature flag std::io import (#3027)
Functions like `parse_dnsaddr_txt` depend on the `std::io` import. Given
that the function is not feature flagged, compilation without features
fails.
2022-10-14 16:55:50 +01:00
d530e5112c *: Prepare v0.49.0 (#2931) 2022-10-14 15:30:16 +01:00
2c65b0a601 README: Add fuel-core as a notable user (#3003)
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2022-10-14 19:10:52 +11:00
d9a2e6c1bd build(deps): Update clap to v4 (#3015) 2022-10-14 15:51:23 +11:00
3371d7ceab .github/workflows: Enforce semver compliance with cargo semver-checks (#2647) 2022-10-12 20:42:44 +01:00
eb10af7a4b protocols/{relay,dcutr}: Replace std::time::SystemTime with instant::SystemTime (#2991) 2022-10-12 14:09:47 +01:00
f711dd5ce0 core/muxer: Deprecate StreamMuxerExt::next_{inbound,outbound} (#3002) 2022-10-12 13:36:39 +01:00
eba2efe29a protocols/noise: Inline handshake functions into upgrade traits (#2909)
- Remove `Deref` implementation on `AuthenticKeypair`.
- Make `handshake` module private.
- Deprecate `AuthenticKeypair::into_identity`.
2022-10-11 18:48:16 +01:00
31a45f2d76 Cargo.toml: Deprecate executor specific features for sub-crates (#2962) 2022-10-11 23:10:10 +11:00
aba5ccbce3 core/transport: Improve docs for Transport::address_translation (#2976) 2022-10-09 21:53:17 +01:00
ba99464434 .github/workflows: Re-activate documentation of private items (#2990) 2022-10-09 21:30:53 +01:00
ece25973d5 transport/pnet: Update salsa20 to 0.10 (#2989) 2022-10-08 17:13:00 +11:00
87ab49e812 protocols/mdns: Update to if-watch v2.0.0 (#2978) 2022-10-05 21:23:50 +01:00
4a4019da50 transport/dns: Update async-std-resolver and trust-dns-resolver (#2988)
* build(deps): Update async-std-resolver requirement from 0.21 to 0.22

Updates the requirements on [async-std-resolver](https://github.com/bluejekyll/trust-dns) to permit the latest version.
- [Release notes](https://github.com/bluejekyll/trust-dns/releases)
- [Changelog](https://github.com/bluejekyll/trust-dns/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bluejekyll/trust-dns/compare/v0.21.0...v0.22.0)

---
updated-dependencies:
- dependency-name: async-std-resolver
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bumped versions of async-std-resolver and trust-dns-resolver

* Updated changelog

* Update transports/pnet/CHANGELOG.md

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Max Inden <mail@max-inden.de>
2022-10-05 20:49:00 +01:00
33b5c05529 *: Updated comments in examples (#2985) 2022-10-05 18:49:03 +01:00
bdf9209824 swarm: Split off "keep alive" functionality from DummyConnectionHandler (#2859)
Previously, the `DummyConnectionHandler` offered a "keep alive" functionality,
i.e. it allowed users to set the value of what is returned from
`ConnectionHandler::keep_alive`. This handler is primarily used in tests or
`NetworkBehaviour`s that don't open any connections (like mDNS). In all of these
cases, it is statically known whether we want to keep connections alive. As
such, this functionality is better represented by a static
`KeepAliveConnectionHandler` that always returns `KeepAlive::Yes` and a
`DummyConnectionHandler` that always returns `KeepAlive::No`.

To follow the naming conventions described in
https://github.com/libp2p/rust-libp2p/issues/2217, we introduce a top-level
`keep_alive` and `dummy` behaviour in `libp2p-swarm` that contains both the
`NetworkBehaviour` and `ConnectionHandler` implementation for either case.
2022-10-05 17:50:11 +01:00
da0403dc45 protocols/mdns: Removed obsolete lazy static use from mdns (#2977)
Co-authored-by: Max Inden <mail@max-inden.de>
2022-10-05 10:26:30 +11:00
4577c5a81d transports/tcp: Only translate tcp addresses (#2970)
Return `None` in in `<GenTcpTransport as Transport>::address_translation` if the
address is not a tcp address. Relevant if in case of something like
`OrTransport<TcpTransport, QuicTransport>`, where tcp would currently perform
the address translation for quic addresses.
2022-10-04 18:42:05 +01:00
f13f9edeb4 protocols/identify: Fix bad changelog entries and manifest version (#2974)
Fix bad changelog entries and manifest version for libp2p-identify
2022-10-04 18:06:45 +01:00
f359c2ce5c .github/worksflows/ci: Fix bad use of bash (#2963) 2022-10-04 12:29:03 +01:00
215a8e12f3 {core,muxers/mplex}: Fix bad version bump (#2960) 2022-10-04 12:04:42 +01:00
a905a36cbc protocols/mdns: Optimise InterfaceState::poll for low latency (#2939) 2022-10-04 18:45:39 +11:00
1b793242e6 .cargo: Run clippy on ALL the source files (#2949) 2022-10-04 18:24:38 +11:00
e6da99e4f8 .github/workflows: Deny cargo doc warnings in CI (#2936)
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2022-10-04 12:01:45 +11:00
a7a96e5502 protocols/identify: Revise symbol naming (#2927) 2022-10-04 11:17:31 +11:00
1da75b2b25 protocols/ping: Properly deprecate types with Ping prefix (#2937)
Co-authored-by: Elena Frank <elena.frank@protonmail.com>
Co-authored-by:  João Oliveira <hello@jxs.pt>
2022-10-01 00:19:34 +10:00
cce296e55e protocols/{autonat,dcutr}: Fixing filename collision in examples (#2959)
Co-authored-by: Ryan Plauche <ryan@littlebearlabs.io>
2022-09-30 13:58:35 +10:00
f6bb846c36 *: Remove default features from all crates (#2918)
Remove default features. You need to enable required features
explicitly now. As a quick workaround, you may want to use the
new `full` feature which activates all features.
2022-09-29 16:32:22 +01:00
c71115d055 misc/multistream-select/: Remove parallel dialing optimization (#2934)
This is to avoid the usage of the now optional `ls` command, and
stay compatible with go-multistream.

Closes #2925
2022-09-29 14:36:11 +01:00
749ff00a79 transports/noise: Have NoiseAuthenticated::xx use X25519Spec (#2954)
We support two versions of the Noise XX handshake with X25519, but only one of
them is compliant with the specification and thus compliant with other
implementations. We should always default to the spec compliant handshake.

Fixes bug introduced in https://github.com/libp2p/rust-libp2p/pull/2887/
2022-09-29 13:16:22 +01:00
04b07c4d14 swarm-derive: Specify NetworkBehaviour by full path (#2932)
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
Co-authored-by: Max Inden <mail@max-inden.de>
2022-09-27 19:27:32 +10:00
b28ab2c6bc build(deps): Update lru to 0.8.0 (#2908)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Max Inden <mail@max-inden.de>
2022-09-27 11:39:10 +10:00
d747537911 README: Update notable users (#2922)
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2022-09-24 22:49:45 +10:00
0063722bda examples/README: Reference hole punching tutorial (#2935) 2022-09-24 22:14:46 +10:00
121a11c7f1 swarm: Provide peer_id to inject_dial_failure on connection limit error (#2928) 2022-09-23 12:57:52 +02:00
bcff814b92 core/identity: Implement Hash and Ord for PublicKey (#2915)
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2022-09-22 19:35:42 +02:00
0a12418b18 build(deps): Bump actions/stale from 3 to 6 (#2929)
Bumps [actions/stale](https://github.com/actions/stale) from 3 to 6.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v3...v6)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-22 18:14:35 +02:00
e530118fb0 build(deps): Bump rand to 0.8 and quickcheck to 1 (#2857)
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
Co-authored-by: Max Inden <mail@max-inden.de>
2022-09-22 18:48:32 +10:00
a4d1e58836 swarm/connection: Enforce limit on inbound substreams via StreamMuxer (#2861)
* Provide separate functions for injecting in- and outbound streams

* Inline `HandlerWrapper` into `Connection`

* Only poll for new inbound streams if we are below the limit

* yamux: Buffer inbound streams in `StreamMuxer::poll`
2022-09-21 15:02:21 +02:00
f4362cb8aa CHANGELOG: Add missing entry for noise update (#2912) 2022-09-21 14:14:53 +02:00
ed1b89902a protocols/noise: Add NoiseConfig::with_prologue (#2903) 2022-09-21 13:46:35 +02:00
39d63513d4 chore: Update .github/workflows/stale.yml [skip ci] 2022-09-19 13:41:33 +00:00
45faefa36c *: Unfiy how we depend on crates across the workspace (#2886) 2022-09-19 17:32:02 +10:00