NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #2547 most downloaded on crates.io
Nodes identification protocol for libp2p
Last release 26 days ago
11 Sep 2026
Release timing varies
gaps range from 2 weeks to 1.2 years
Most releases are documented
notes for 37 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
64 releases · first in 2019
Use futures-timer instead of tokio's timer for stream timeouts so the bounded Delay works on wasm32; tokio's timer has no driver in the browser and pa
Use futures-timer instead of tokio's timer for stream timeouts so the bounded Delay works on
wasm32; tokio's timer has no driver in the browser and panics at runtime.
See PR 6488.
Raise MSRV to 1.88.0. See PR 6273.
Check actual port reuse in instead of original intent. See PR 6096.
Revert migration to quick-protobuf, migrate back to prost.
See PR 6363.
Implement optional signedPeerRecord support for identify messages. See PR 5785
One column per quarter.
Add hide_listen_addrs option to prevent leaking (local) listen addresses. See PR 5507.
hide_listen_addrs option to prevent leaking (local) listen addresses.
See PR 5507.identify::Config fields private and add getter functions.
See PR 5663.Infos received from remote peers that contain a public key that doesn't match their peer ID.
See PR 5707.<!-- Update to libp2p-core v0.43.0 -->
Address translation is moved here from libp2p-core. See PR 4568
Emit ToSwarm::NewExternalAddrOfPeer for all external addresses of remote peers. For this work, the address cache must be enabled via identify::Config:
ToSwarm::NewExternalAddrOfPeer for all external addresses of remote peers.
For this work, the address cache must be enabled via identify::Config::with_cache_size.
The default is 0, i.e. disabled.
See PR 4371.Ensure Multiaddr handled and returned by Behaviour are /p2p terminated. See PR 4596.
Multiaddr handled and returned by Behaviour are /p2p terminated.
See PR 4596.Remove deprecated initial_delay. Identify requests are always sent instantly after the connection has been established. See PR 4735
Info to the libp2p-identify::Event::Pushed to report pushed info.
See PR 4527initial_delay.
Identify requests are always sent instantly after the connection has been established.
See PR 4735NewExternalAddrCandidate.
Instead, only report each observed address once per connection.
This allows users to probabilistically deem an address as external if it gets reported as a candidate repeatedly.
See PR 4721.Handle partial push messages. Previously, push messages with partial information were ignored. See [PR 4495].
Remove deprecated Identify prefixed symbols. See [PR 3698].
Observed addresses (aka. external address candidates) of the local node, reported by a remote node via libp2p-identify, are no longer automatically considered confirmed external addresses, in other words they are no longer trusted by default.
Instead users need to confirm the reported observed address either manually, or by using libp2p-autonat.
In trusted environments users can simply extract observed addresses from a libp2p-identify::Event::Received { info: libp2p_identify::Info { observed_addr }} and confirm them via Swarm::add_external_address.
See PR 3954 and PR 4052.
Remove deprecated Identify prefixed symbols. See PR 3698.
Raise MSRV to 1.65. See PR 3715.
Reduce the initial delay before running the identify protocol to 0 and make the option deprecated. See PR 3545.
Fix aborting the answering of an identify request in rare situations. See PR 3876.
Actively push changes in listen protocols to remote. See PR 3980.
Do not implicitly dial a peer upon identify::Behaviour::push. Previously, we would dial each peer in the provided list. Now, we skip peers that we are
identify::Behaviour::push.
Previously, we would dial each peer in the provided list.
Now, we skip peers that we are not connected to.
See PR 3843.Migrate from prost to quick-protobuf. This removes protoc dependency. See [PR 3312].
prost to quick-protobuf. This removes protoc dependency. See PR 3312.Move I/O from Behaviour to Handler. Handle Behaviour's Identify and Push requests independently by incoming order, previously Push requests were prior
Update to libp2p-core v0.39.0.
Move I/O from Behaviour to Handler. Handle Behaviour's Identify and Push requests independently by incoming order,
previously Push requests were prioritized. see PR 3208.
Update to libp2p-swarm v0.42.0.
Don't close the stream when reading the identify info in protocol::recv. See PR 3344.
Skip invalid multiaddr in listen_addrs. See [PR 3246].
listen_addrs. See PR 3246.Change default cache_size of Config to 100. See [PR 2995].
Change default cache_size of Config to 100. See PR 2995.
Update to prost-codec v0.3.0.
Update to libp2p-core v0.38.0.
Update to libp2p-swarm v0.41.0.
Replace Behaviour's NetworkBehaviour implementation inject_* methods with the new on_* methods.
See PR 3011.
Replace Handler's ConnectionHandler implementation inject_* methods with the new on_* methods.
See PR 3085.
Update rust-version to reflect the actual MSRV: 1.62.0. See PR 3090.
Rename types as per [discussion 2174]. Identify has been renamed to Behaviour. The Identify prefix has been removed from various types like IdentifyEv
Update dependencies.
Rename types as per discussion 2174.
Identify has been renamed to Behaviour.
The Identify prefix has been removed from various types like IdentifyEvent.
Users should prefer importing the identify protocol as a module (use libp2p::identify;),
and refer to its types via identify::. For example: identify::Behaviour or identify::Event.
Update to libp2p-core v0.37.0.
Update to libp2p-swarm v0.40.0.
Update to libp2p-swarm v0.39.0.
Update to libp2p-swarm v0.39.0.
Update to libp2p-core v0.36.0.
Update prost requirement from 0.10 to 0.11 which no longer installs the protoc Protobuf compiler. Thus you will need protoc installed locally. See [PR
Update to libp2p-swarm v0.37.0.
Update to libp2p-core v0.34.0.
Update to libp2p-swarm v0.37.0.
Extend log message on second identify push stream with peer ID.
Allow at most one inbound identify push stream.
Update to libp2p-swarm v0.36.0.
Update to libp2p-core v0.33.0.
Update to libp2p-swarm v0.36.0.
Expose explicit errors via UpgradeError instead of generic io::Error. See PR 2630.
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).
Migrate to Rust edition 2021 (see [PR 2339]).
Update dependencies.
Migrate to Rust edition 2021 (see PR 2339).
Nothing published for this version
Use futures-timer instead of wasm-timer (see [PR 2245]).
Make default features of libp2p-core optional. PR 2181
Nothing published for this version
Nothing published for this version
- Update dependencies.
Add support for configurable automatic push to connected peers on listen addr changes. Disabled by default. PR 2004
Add support for configurable automatic push to connected peers on listen addr changes. Disabled by default. PR 2004
Implement the /ipfs/id/push/1.0.0 protocol.
cf. https://github.com/libp2p/specs/tree/master/identify#identifypush
PR 1999
Emit IdentifyEvent::Pushed event after successfully pushing identification
information to peer PR
2030.
- Update libp2p-swarm. - Update dependencies.
Update libp2p-swarm.
Update dependencies.
- Update dependencies.
Update libp2p-swarm and libp2p-core.
libp2p-swarm and libp2p-core.Update libp2p-swarm and libp2p-core.
libp2p-swarm and libp2p-core.- Update dependencies.
Update libp2p-swarm and libp2p-core.
libp2p-swarm and libp2p-core.Update libp2p-swarm and libp2p-core.
libp2p-swarm and libp2p-core.Bump libp2p-core and libp2p-swarm dependencies.
libp2p-core and libp2p-swarm dependencies.- 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
Your coding agent can read these notes before it upgrades. Set up the MCP server →