NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #2430 most downloaded on crates.io
Implementation of the libp2p mDNS discovery method
Last release 27 days ago
11 Sep 2026
Release timing varies
gaps range from 2 weeks to 1.2 years
Most releases are documented
notes for 36 of 56 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
58 releases · first in 2019
Fix mDNS to only advertise listening addresses that match the interface IP. Previously, all listening addresses (including loopback and addresses from
Remove async_std dependency PR 5958
async_std dependency PR 5958<!-- Update to libp2p-swarm v0.47.0 -->
One column per quarter.
Emit ToSwarm::NewExternalAddrOfPeer on discovery. See PR 5753
<!-- Update to libp2p-swarm v0.45.0 -->
<!-- Update to libp2p-swarm v0.45.0 -->
Ensure Multiaddr handled and returned by Behaviour are /p2p terminated. See PR 4596.
Don't perform IO in Behaviour::poll. See PR 4623.
Behaviour::poll.
See PR 4623.Remove deprecated Mdns prefixed items. See [PR 3699].
Derive Clone for mdns::Event. See [PR 3606].
Clone for mdns::Event. See PR 3606.Require the node's local PeerId to be passed into the constructor of libp2p_mdns::Behaviour. See [PR 3153].
Update to libp2p-core v0.39.0.
Require the node's local PeerId to be passed into the constructor of libp2p_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-swarm v0.41.0.
Update to libp2p-core v0.38.0.
Update to libp2p-swarm v0.41.0.
Update to if-watch 3.0.0 and both rename TokioMdns to Behaviour living in tokio::Behaviour,
and move and rename Mdns to async_io::Behaviour. See PR 3096.
Remove the remaining Mdns prefixes from types as per discussion 2174.
I.e the Mdns prefix has been removed from various types like MdnsEvent.
Users should prefer importing the mdns protocol as a module (use libp2p::mdns;),
and refer to its types via mdns::. For example: mdns::Behaviour or mdns::Event.
Replace GenMdns's NetworkBehaviour implementation inject_* methods with the new on_* 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].
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 the async method Mdns::new and TokioMdns::new becomes synchronous. See PR 2978.
Update to libp2p-swarm v0.39.0.
Update to libp2p-swarm v0.38.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-swarm v0.37.0.
Update to libp2p-core v0.34.0.
Update to libp2p-swarm v0.37.0.
Update to libp2p-swarm v0.36.0.
Update to libp2p-core v0.33.0.
Update to libp2p-swarm v0.36.0.
Update to libp2p-swarm v0.35.0.
libp2p-swarm v0.35.0.Update to libp2p-swarm v0.34.0.
Update to libp2p-core v0.32.0.
Update to libp2p-swarm v0.34.0.
Merge NetworkBehaviour's inject_* paired methods (see PR 2445).
Use a random alphanumeric string instead of the local peer ID for mDNS peer name (see [PR 2311]).
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 of libp2p-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
Nothing published for this version
- Update dependencies.
Fix discovered event emission. PR 2065
Fix timely discovery of peers after listening on a new address. PR 2053
Derive Debug and Clone for MdnsConfig.
Derive Debug and Clone for MdnsConfig.
Update libp2p-swarm.
Introduce MdnsConfig with configurable TTL of discovered peer records and configurable multicast query interval. The default query interval is increas
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 the MdnsConfig.
The MdnsService has been removed from the public API, making
it compulsory that all uses occur through the Mdns NetworkBehaviour.
An MdnsConfig must now be given to Mdns::new().
PR 1977.
Update libp2p-swarm.
- Update dependencies.
- Update dependencies.
Update libp2p-swarm and libp2p-core.
libp2p-swarm and libp2p-core.Create multiple multicast response packets as required to avoid hitting the limit of 9000 bytes per MDNS packet. PR 1877.
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
and async-std with the use of async-io. As a result
there may now be an additional reactor thread running
called async-io when using tokio, with the futures
still being polled by the tokio runtime.
PR 1830.
Update libp2p-swarm and libp2p-core.
libp2p-swarm and libp2p-core.- Update dependencies.
Update libp2p-swarm and libp2p-core.
Update libp2p-swarm and libp2p-core.
Double receive buffer to 4KiB. PR 1779.
Update libp2p-swarm and libp2p-core.
libp2p-swarm and libp2p-core.Bump libp2p-core and libp2p-swarm dependencies.
Bump libp2p-core and libp2p-swarm dependencies.
Allow libp2p-mdns to use either async-std or tokio to drive required UDP socket (PR 1699).
- Updated dependencies.
- Updated dependencies.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →