Matthias Beyer
e2737c7b71
protocols/kad: Expose NoKnownPeers
( #3114 )
2022-11-13 22:08:28 +00:00
Thomas Eizinger
cafa73444b
.github/: Use Description
for commit message and add Notes
( #3082 )
2022-11-13 20:01:24 +01:00
Thomas Eizinger
afb777e937
swarm-derive: Add prelude
configuration option to NetworkBehaviour
macro ( #3055 )
...
Currently, our `NetworkBehaviour` derive macro depends on the `libp2p` crate to be in scope. This prevents standalone usage which forces us to depend on `libp2p` in all our tests where we want to derive a `NetworkBehaviour`.
This PR introduces a `prelude` option that - by default - points to `libp2p::swarm::derive_prelude`, a new module added to `libp2p_swarm`. With this config option, users of `libp2p_swarm` can now refer to the macro without depending on `libp2p`, breaking the circular dependency in our workspace. For consistency with the ecosystem, the macro is now also re-exported by `libp2p_swarm` instead of `libp2p` at the same position as the trait that it implements.
Lastly, we introduce an off-by-default `macros` feature flag that shrinks the dependency tree for users that don't need the derive macro.
2022-11-12 23:59:14 +00:00
Hannes
c32f03c317
*: Fix newly raised clippy warnings ( #3106 )
...
Fixed minor issues raised by clippy to improve correctness and readablitity.
2022-11-11 20:30:58 +00:00
Steve Loeppky
90df86d9e7
Update ROADMAP.md based on previous feedback. ( #3091 )
...
Co-authored-by: Prithvi Shahi <shahi.prithvi@gmail.com >
2022-11-10 11:08:00 -08:00
dependabot[bot]
e1e6413fc0
build(deps): Bump Swatinem/rust-cache from 2.1.0 to 2.2.0 ( #3104 )
2022-11-10 12:14:17 +00:00
dependabot[bot]
313ed588fe
build(deps): Bump Swatinem/rust-cache from 2.0.1 to 2.1.0 ( #3093 )
2022-11-08 08:23:07 +00:00
efarg
ba14ffdd42
protocols/identify: Change default cache_size of Config to 100 ( #2995 )
...
`Config` struct's member `cache_size` now defaults to `100`.
2022-11-04 19:40:30 +00:00
João Oliveira
280c51ef83
*: Link to libp2p/specs in doc comments ( #3077 )
2022-11-04 10:32:41 +00:00
Nick Loadholtes
1ba9e4579d
protocols/gossipsub: Make use of prost-codec
( #3070 )
2022-11-04 10:12:08 +00:00
Thomas Eizinger
b528d336cd
*: Fix clippy warnings introduced by Rust 1.65 release ( #3081 )
2022-11-04 09:40:09 +00:00
dependabot[bot]
f9b4af3d9d
build(deps): Update rcgen requirement from 0.9.2 to 0.10.0 ( #3059 )
2022-11-03 01:40:53 +00:00
Thomas Eizinger
95e27ece8e
.github: Add mergify configuration ( #3026 )
2022-11-03 12:25:12 +11:00
Thomas Eizinger
53d445e61c
protocols/kademlia: Refactor stream state machines ( #3074 )
...
* Refactor `InboundSubstreamState` to implement `Stream`
This allows us to use `stream::SelectAll` instead of iterating
through the states ourselves. It also allows us to fix an existing
TODO where we don't properly close a stream.
* Refactor `OutboundSubstreamState` to implement `Stream`
* Remove unnecessary keep_alive changes
The same thing is happening further down.
* Remove code duplication in answering requests
* Debug assert that we can answer every request
2022-11-02 19:20:55 +00:00
Thomas Eizinger
f4ce1fe9ae
swarm/pool: Misc refactoring ( #3073 )
...
* Remove unreachable error case
Instead of taking the connection out of the map again, construct
the event to be returned with the data we already have available.
* Remove `Pool::get` and `PoolConnection`
These are effectively not used.
* Replace `iter_pending_info` with its only usage: `is_dialing`
* Add `is_for_same_remote_as` convenience function
* Remove `PendingConnection`
* Rename `PendingConnectionInfo` to `PendingConnection`
With the latter being gone, the name is now free.
* Merge `EstablishedConnectionInfo` and `EstablishedConnection`
This is a leftover from when `Pool` was still in `libp2p-core` and
one of them was a public API and the other one wasn't.
All of this is private to `libp2p-swarm` so we no longer need to
differentiate.
* Don't `pub use` out of `pub(crate)` modules
2022-11-02 18:47:00 +00:00
João Oliveira
64e38bd6b4
swarm/: Link ThreadPool
in documentation ( #3067 )
2022-11-02 15:09:55 +00:00
Thomas Eizinger
df659e5bcd
core/muxer: Remove deprecated functions ( #3031 )
2022-11-02 15:09:12 +00:00
João Oliveira
49679d31e7
swarm/CHANGELOG.md: Fix version mismatch with v0.40.1 ( #3063 )
2022-11-02 13:41:28 +00:00
dependabot[bot]
ee5c9b7202
build(deps): Update multiaddr requirement from 0.14.0 to 0.15.0 ( #3051 )
...
Updates the requirements on [multiaddr](https://github.com/multiformats/rust-multiaddr ) to permit the latest version.
- [Release notes](https://github.com/multiformats/rust-multiaddr/releases )
- [Changelog](https://github.com/multiformats/rust-multiaddr/blob/master/CHANGELOG.md )
- [Commits](https://github.com/multiformats/rust-multiaddr/compare/v0.14.0...v0.15.0 )
---
updated-dependencies:
- dependency-name: multiaddr
dependency-type: direct:production
...
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-11-02 12:57:21 +00:00
Thomas Eizinger
71131e0622
*: Don't leak prost
dependency in error types ( #3058 )
...
With the current design, a major version bump of `prost` leaks into
all consumers of `prost-codec`.
2022-11-02 12:02:21 +00:00
Max Inden
b42f28630e
ROADMAP: Follow ups on recent review ( #3062 )
...
* ROADMAP: Remove project board for now
* ROADMAP: Encourage feedback
* ROADMAP: Remove TLS
* ROADMAP: Link to specs/ROADMAP.md
* ROADMAP: Prioritize QUIC beyond the first iteration
* ROADMAP: No longer mark QUIC as experimental
2022-10-26 10:20:34 +01:00
Andrew Mackenzie
5bce6edff9
examples/gossipsub-chat: Add mDNS peer discovery ( #2996 )
...
Co-authored-by: João Oliveira <hello@jxs.pt >
Co-authored-by: Max Inden <mail@max-inden.de >
2022-10-26 11:43:14 +11:00
Thomas Eizinger
437b387159
CHANGELOG.md: Move libp2p-tls
to correct version ( #3057 )
...
Co-authored-by: Max Inden <mail@max-inden.de >
2022-10-25 22:09:46 +11:00
Thomas Eizinger
4d1b165982
transports/tcp: Unify symbol naming ( #2961 )
...
Co-authored-by: Elena Frank <elena.frank@protonmail.com >
2022-10-24 15:41:08 +11:00
Hannes
fcadc83aca
*: Use auto_doc_cfg
instead of doc(cfg)
attributes ( #2983 )
...
Co-authored-by: João Oliveira <hello@jxs.pt >
Co-authored-by: Thomas Eizinger <thomas@eizinger.io >
2022-10-24 13:00:20 +11:00
Thomas Eizinger
159a10b812
transports/tls: Add libp2p-tls
as per spec ( #2945 )
...
Co-authored-by: David Craven <david@craven.ch >
Co-authored-by: Demi Marie Obenour <demiobenour@gmail.com >
Co-authored-by: Elena Frank <elena.frank@protonmail.com >
Co-authored-by: Max Inden <mail@max-inden.de
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com >
Co-authored-by: Roman Proskuryakov <r.proskuryakoff@gmail.com >
2022-10-24 11:54:44 +11:00
dependabot[bot]
a0adaf6a54
build(deps): Bump Swatinem/rust-cache from 2.0.0 to 2.0.1 ( #3033 )
...
* build(deps): Bump Swatinem/rust-cache from 2.0.0 to 2.0.1
Bumps [Swatinem/rust-cache](https://github.com/Swatinem/rust-cache ) from 2.0.0 to 2.0.1.
- [Release notes](https://github.com/Swatinem/rust-cache/releases )
- [Changelog](https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md )
- [Commits](6720f05bc4...22c9328bcb
)
---
updated-dependencies:
- dependency-name: Swatinem/rust-cache
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Apply suggestions from code review
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-21 19:03:44 +01:00
dependabot[bot]
d10d433b9f
build(deps): Update ed25519-compact requirement from 1.0.11 to 2.0.2 ( #3016 )
...
Updates the requirements on [ed25519-compact](https://github.com/jedisct1/rust-ed25519-compact ) to permit the latest version.
- [Release notes](https://github.com/jedisct1/rust-ed25519-compact/releases )
- [Commits](https://github.com/jedisct1/rust-ed25519-compact/compare/1.0.11...2.0.2 )
---
updated-dependencies:
- dependency-name: ed25519-compact
dependency-type: direct:production
...
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>
Co-authored-by: Max Inden <mail@max-inden.de >
2022-10-21 16:18:35 +01:00
Max Inden
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
Max Inden
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
João Oliveira
4a4d4ad5c9
protocols/identify: Fix Identify protocol link in module doc ( #3047 )
2022-10-20 14:59:30 +01:00
Thomas Eizinger
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
Roland Kuhn
c84a0fb86b
swarm: Improve rendering of ConnectionLimit
error ( #3043 )
2022-10-20 10:46:23 +11:00
Thomas Eizinger
4d4833f8c2
muxers: Add test harness for StreamMuxer
implementations ( #2952 )
2022-10-17 11:23:13 +11:00
Thomas Eizinger
981d586bfe
.github/workflows: Don't allow concurrent workflow runs ( #3000 )
2022-10-15 15:38:53 +11:00
Max Inden
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
Max Inden
d530e5112c
*: Prepare v0.49.0 ( #2931 )
2022-10-14 15:30:16 +01:00
ControlCplusControlV
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
Qinxuan Chen
d9a2e6c1bd
build(deps): Update clap
to v4 ( #3015 )
2022-10-14 15:51:23 +11:00
Chad Nehemiah
3371d7ceab
.github/workflows: Enforce semver compliance with cargo semver-checks
( #2647 )
2022-10-12 20:42:44 +01:00
Thomas Eizinger
eb10af7a4b
protocols/{relay,dcutr}: Replace std::time::SystemTime
with instant::SystemTime
( #2991 )
2022-10-12 14:09:47 +01:00
Thomas Eizinger
f711dd5ce0
core/muxer: Deprecate StreamMuxerExt::next_{inbound,outbound}
( #3002 )
2022-10-12 13:36:39 +01:00
Thomas Eizinger
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
Thomas Eizinger
31a45f2d76
Cargo.toml: Deprecate executor specific features for sub-crates ( #2962 )
2022-10-11 23:10:10 +11:00
Elena Frank
aba5ccbce3
core/transport: Improve docs for Transport::address_translation
( #2976 )
2022-10-09 21:53:17 +01:00
Thomas Eizinger
ba99464434
.github/workflows: Re-activate documentation of private items ( #2990 )
2022-10-09 21:30:53 +01:00
Hannes
ece25973d5
transport/pnet: Update salsa20
to 0.10 ( #2989 )
2022-10-08 17:13:00 +11:00
Hannes
87ab49e812
protocols/mdns: Update to if-watch v2.0.0 ( #2978 )
2022-10-05 21:23:50 +01:00
Hannes
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
Hannes
33b5c05529
*: Updated comments in examples ( #2985 )
2022-10-05 18:49:03 +01:00