- Add
#[track_caller]
on allspawn
wrappers. See PR 5465.
- Ensure
Multiaddr
handled and returned byBehaviour
are/p2p
terminated. See PR 4596. - Fix a bug in the
Behaviour::poll
method causing missed mdns packets. See PR 4861.
- Don't perform IO in
Behaviour::poll
. See PR 4623.
-
Change
mdns::Event
to holdVec
and removeDiscoveredAddrsIter
andExpiredAddrsIter
. See PR 3621. -
Raise MSRV to 1.65. See PR 3715.
-
Remove deprecated
Mdns
prefixed items. See PR 3699. -
Faster peer discovery with adaptive initial interval. See PR 3975.
- Derive
Clone
formdns::Event
. See PR 3606.
-
Update to
libp2p-core
v0.39.0
. -
Require the node's local
PeerId
to be passed into the constructor oflibp2p_mdns::Behaviour
. See PR 3153. -
Update to
libp2p-swarm
v0.42.0
. -
Don't expire mDNS records when the last connection was closed. mDNS records will only be expired when the TTL is reached and the DNS record is no longer valid. See PR 3367.
-
Update to
libp2p-core
v0.38.0
. -
Update to
libp2p-swarm
v0.41.0
. -
Update to
if-watch
3.0.0
and both renameTokioMdns
toBehaviour
living intokio::Behaviour
, and move and renameMdns
toasync_io::Behaviour
. See PR 3096. -
Remove the remaning
Mdns
prefixes from types as per discussion 2174. I.e theMdns
prefix has been removed from various types likeMdnsEvent
. Users should prefer importing the mdns protocol as a module (use libp2p::mdns;
), and refer to its types viamdns::
. For example:mdns::Behaviour
ormdns::Event
. -
Replace
GenMdns
'sNetworkBehaviour
implementioninject_*
methods with the newon_*
methods. See PR 3011. -
Use
trust-dns-proto
to parse DNS messages. See PR 3102. -
Update
rust-version
to reflect the actual MSRV: 1.62.0. See PR 3090.
-
Remove default features. If you previously depended on
async-io
you need to enable this explicitly now. See PR 2918. -
Update to
libp2p-core
v0.37.0
. -
Update to
libp2p-swarm
v0.40.0
. -
Fix a bug that could cause a delay of ~10s until peers would get discovered when using the tokio runtime. See PR 2939.
-
Removed the
lazy_static
dependency. See PR 2977. -
Update to
if-watch
v2.0.0
and thus theasync
methodMdns::new
andTokioMdns::new
becomes synchronous. See PR 2978.
-
Update to
libp2p-swarm
v0.39.0
. -
Allow users to choose between async-io and tokio runtime in the mdns protocol implementation.
async-io
is a default feature, with an additionaltokio
feature (see PR 2748) -
Fix high CPU usage with Tokio library (see PR 2748).
-
Update to
libp2p-core
v0.36.0
.
-
Update to
libp2p-swarm
v0.38.0
. -
Update to
if-watch
v1.1.1
. -
Update to
libp2p-core
v0.35.0
.
-
Update to
libp2p-core
v0.34.0
. -
Update to
libp2p-swarm
v0.37.0
.
-
Update to
libp2p-core
v0.33.0
. -
Update to
libp2p-swarm
v0.36.0
.
- Update to
libp2p-swarm
v0.35.0
.
-
Update to
libp2p-core
v0.32.0
. -
Update to
libp2p-swarm
v0.34.0
. -
Merge NetworkBehaviour's inject_* paired methods (see PR 2445).
-
Update dependencies.
-
Use a random alphanumeric string instead of the local peer ID for mDNS peer name (see PR 2311).
Note that previous versions of
libp2p-mdns
expect the peer name to be a valid peer ID. Thus they will be unable to discover nodes running this new version oflibp2p-mdns
. -
Migrate to Rust edition 2021 (see PR 2339).
-
Fix generation of peer expiration event and listen on specified IP version (see PR 2359).
-
Support multiple interfaces (see PR 2383).
- Update dependencies.
-
Make default features of
libp2p-core
optional. PR 2181 -
Update dependencies.
-
Add support for IPv6. To enable set the multicast address in
MdnsConfig
toIPV6_MDNS_MULTICAST_ADDRESS
. See PR 2161 for details. -
Prevent timers from firing at the same time. See PR 2212 for details.
- Update dependencies.
- Fix discovered event emission. PR 2065
- Fix timely discovery of peers after listening on a new address. PR 2053
-
Derive
Debug
andClone
forMdnsConfig
. -
Update
libp2p-swarm
.
-
Introduce
MdnsConfig
with configurable TTL of discovered peer records and configurable multicast query interval. The default query interval is increased from 20 seconds to 5 minutes, to significantly reduce bandwidth usage. To ensure timely peer discovery in the majority of cases, a multicast query is initiated whenever a change on a network interface is detected, which includes MDNS initialisation at node startup. If necessary the MDNS query interval can be reduced via theMdnsConfig
. TheMdnsService
has been removed from the public API, making it compulsory that all uses occur through theMdns
NetworkBehaviour
. AnMdnsConfig
must now be given toMdns::new()
. PR 1977. -
Update
libp2p-swarm
.
- Update dependencies.
- Update dependencies.
- Update
libp2p-swarm
andlibp2p-core
.
-
Create multiple multicast response packets as required to avoid hitting the limit of 9000 bytes per MDNS packet. PR 1877.
-
Detect interface changes and join the MDNS multicast group on all interfaces as they become available. PR 1830.
-
Replace the use of macros for abstracting over
tokio
andasync-std
with the use ofasync-io
. As a result there may now be an additional reactor thread running calledasync-io
when usingtokio
, with the futures still being polled by thetokio
runtime. PR 1830.
- Update
libp2p-swarm
andlibp2p-core
.
- Update dependencies.
-
Update
libp2p-swarm
andlibp2p-core
. -
Double receive buffer to 4KiB. PR 1779.
- Update
libp2p-swarm
andlibp2p-core
.
-
Bump
libp2p-core
andlibp2p-swarm
dependencies. -
Allow libp2p-mdns to use either async-std or tokio to drive required UDP socket (PR 1699).
- Updated dependencies.
- Updated dependencies.