PackageTrack
Sign in Get early access

libp2p-gossipsub

Gossipsub protocol for libp2p

0.49.5 8.1M downloads/mo #3497 most downloaded on crates.io libp2p/rust-libp2p

What this package is like to depend on

Last release 1 months ago

21 Jul 2026

Release timing varies

gaps range from 2 weeks to 8 months

Most releases are documented

notes for 45 of 52 stable releases

Nothing withdrawn

no release was ever pulled

7 years old

53 releases · first in 2020

3 releases in the last 12 months

see the full history below

Release timeline

53 releases · Jan 2020 to Jul 2026
2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 53
  1. 0.49.5 21 Jul 2026
    Release notes
    • Default TopicSubscriptionFilter to MaxCountSubscriptionFilter<AllowAllSubscriptionFilter> with caps of 2000 for max_subscribed_topics and max_subscriptions_per_request, capping per-peer subscription memory. Additionally, discard GRAFT control messages for topics the peer has not previously SUBSCRIBEd to, while still applying the existing backoff-violation scoring penalty where applicable. See GHSA-g3g5-x568-qvqx
    Open source →
  2. 0.49.4 26 Mar 2026
    Release notes
    • Harden time arithmetic and bound remote PRUNE backoff. See CVE
    Open source →
  3. 0.49.3 09 Mar 2026
    Release notes
    • Ignore invalid backoff values on peer prune. See CVE XXXX
    Open source →
  4. 0.49.2 05 Aug 2025
    Release notes

    chore(gossipsub): prepare v0.49.2

    Open source →
    Release notes
    • Relax Behaviour::with_metrics requirements, do not require DataTransform and TopicSubscriptionFilter to also impl Default See PR XXXX
    Open source →
  5. 0.49.1 05 Aug 2025
    Release notes
    • Fix applying P3 and P6 Score penalties when their weight is zero See PR 6097

    • Fix fanout logic to include correctly scored peers and prevent panics when memcache is set to 0. See PR 6095

    • Fix mesh not being constructed even when not adding any peer. See PR 6100

    Open source →
  6. 0.49.0 27 Jun 2025
    Release notes
    • Feature gate metrics related code. This changes some Behaviour constructor methods. See PR 6020

    • Send IDONTWANT before Publishing a new message. See PR 6017

    • Improve log messaging by renaming message to message_id. This change makes it log coherent to the field and also improve duplication of message field. See PR 5972

    • Fix a race condition for messages published which are already in the network. See PR 5928

    • Improve error messaging by renaming PublishError::InsufficientPeers to PublishError::NoPeersSubscribedToTopic. This change makes it clearer that the error occurs specifically when trying to publish to a topic with no subscribed peers, rather than a general peer availability issue. See PR 5912

    • Allow whitelisting topics for metrics to ensure metrics are recorded correctly for these topics. See PR 5895

    • Improve max_messages_per_rpc consistency by ensuring RPC control messages also adhere to the existing limits. See PR 5826

    • Respect already received IDONTWANT messages when handling IWANT. See PR 5901

    • Fix messages were not forwarded to floodsub peers. See PR 5908

    • Fix messages were published to all floodsub peers regardless of their topic. See PR 5904

    • Upgrade prometheus-client to v0.23 See PR 5960.

    • Allow customizing max transmit size and mesh-n-* parameters per topic. See PR 5868

    <!-- Update to libp2p-swarm v0.47.0 -->

    Open source →
  7. 0.48.0 14 Jan 2025
    Release notes
    • Allow broadcasting IDONTWANT messages when publishing to avoid downloading data that is already available. See PR 5773

    • Add configurable idontwant_message_size_threshold parameter. See PR 5770

    • Introduce Gossipsub v1.2 spec. See PR 5697

    • Correct state inconsistencies with the mesh and fanout when unsubscribing. See PR 5690

    • Deprecate futures-ticker and use futures-timer instead. See PR 5674.

    • Apply max_transmit_size to the inner message instead of the final payload. See PR 5642.

    • Deprecate void crate. See PR 5676.

    • Attempt to publish to at least mesh_n peers when flood publish is disabled. See PR 5578.

    • Introduce back pressure and penalize slow peers. Drop stale messages that timeout before being delivered. See PR 5595.

    • Change Behaviour::unsubscribe and Behaviour::report_message_validation_result to bool they don't need to be a Result. See PR 5595.

    • Fix cargo clippy warnings in rustc 1.84.0-beta.1. See PR 5700.

    • Fix an issue where an InsufficientPeers error could occur under certain conditions, despite having peers subscribed to a topic. See PR 5793.

    <!-- Update to libp2p-core v0.43.0 -->

    Open source →
  8. 0.47.0 09 Aug 2024
    Release notes

    <!-- Update to libp2p-swarm v0.45.0 -->

    • Add ConnectionError to FromSwarm::ConnectionClosed. See PR 5485.
    Open source →
  9. 0.46.1 09 Dec 2023
    Release notes
    • Deprecate Rpc in preparation for removing it from the public API because it is an internal type. See PR 4833.
    Open source →
  10. 0.46.0 05 Nov 2023
    Release notes
    • Remove fast_message_id_fn mechanism from Config. See PR 4285.
    • Remove deprecated gossipsub::Config::idle_timeout in favor of SwarmBuilder::idle_connection_timeout. See PR 4642.
    • Return typed error from config builder. See PR 4445.
    • Process outbound stream before inbound stream in EnabledHandler::poll(..). See PR 4778.
    Open source →
  11. 0.45.2 18 Oct 2023
    Release notes
    • Deprecate gossipsub::Config::idle_timeout in favor of SwarmBuilder::idle_connection_timeout. See PR 4648.

    <!-- Internal changes:

    • Allow new clippy lint.

    -->

    <!-- Internal changes

    • Allow deprecated usage of KeepAlive::Until

    -->

    Open source →
  12. 0.45.1 11 Aug 2023
    Release notes
    • Add getter function to obtain TopicScoreParams. See PR 4231.
    Open source →
  13. 0.45.0 20 Jun 2023
    Release notes
    • Raise MSRV to 1.65. See PR 3715.
    • Remove deprecated items. See PR 3862.
    Open source →
  14. 0.44.4 01 May 2023
    Release notes
    • Deprecate metrics, protocol, subscription_filter, time_cache modules to make them private. See PR 3777.
    • Honor the gossipsub::Config::support_floodsub in all cases. Previously, it was ignored when a custom protocol id was set via gossipsub::Config::protocol_id. See PR 3837.
    Open source →
  15. 0.44.3 12 Apr 2023
    Release notes
    • Fix erroneously duplicate message IDs. See PR 3716.

    • Gracefully disable handler on stream errors. Deprecate a few variants of HandlerError. See PR 3625.

    Open source →
  16. 0.44.2 29 Mar 2023
    Release notes
    • Signed messages now use sequential integers in the sequence number field. See PR 3551.
    Open source →
  17. 0.44.1 12 Mar 2023
    Release notes
    • Migrate from prost to quick-protobuf. This removes protoc dependency. See PR 3312.
    Open source →
  18. 0.44.0 24 Feb 2023
    Release notes
    • Update to prometheus-client v0.19.0. See PR 3207.

    • Update to libp2p-core v0.39.0.

    • Update to libp2p-swarm v0.42.0.

    • Initialize ProtocolConfig via GossipsubConfig. See PR 3381.

    • Rename types as per discussion 2174. Gossipsub has been renamed to Behaviour. The Gossipsub prefix has been removed from various types like GossipsubConfig or GossipsubMessage. It is preferred to import the gossipsub protocol as a module (use libp2p::gossipsub;), and refer to its types via gossipsub::. For example: gossipsub::Behaviour or gossipsub::RawMessage. See PR 3303.

    Open source →
  19. 0.43.0 25 Nov 2022
    Release notes
    • Update to libp2p-core v0.38.0.

    • Update to libp2p-swarm v0.41.0.

    • Update to prost-codec v0.3.0.

    • Refactoring GossipsubCodec to use common protobuf Codec. See PR 3070.

    • Replace Gossipsub's NetworkBehaviour implementation inject_* methods with the new on_* methods. See PR 3011.

    • Replace GossipsubHandler'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.

    Open source →
  20. 0.42.1 14 Oct 2022

    Nothing published for this version

  21. 0.41.0 07 Sep 2022
    Release notes
    • Update to libp2p-swarm v0.39.0.

    • Update to libp2p-core v0.36.0.

    • Allow publishing with any impl Into<TopicHash> as a topic. See PR 2862.

    Open source →
  22. 0.40.0 22 Aug 2022
    Release notes
    • 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 2788.

    • Update to libp2p-swarm v0.38.0.

    • Update to libp2p-core v0.35.0.

    • Update to prometheus-client v0.18.0. See PR 2822.

    Open source →
  23. 0.39.0 05 Jul 2022
    Release notes
    • Update to libp2p-core v0.34.0.

    • Update to libp2p-swarm v0.37.0.

    • Allow for custom protocol ID via GossipsubConfigBuilder::protocol_id(). See PR 2718.

    Open source →
  24. 0.38.1 14 Jun 2022
    Release notes
    • Fix duplicate connection id. See PR 2702.
    Open source →
  25. 0.38.0 31 May 2022
    Release notes
    • Update to libp2p-core v0.33.0.

    • Update to libp2p-swarm v0.36.0.

    • changed TimeCache::contains_key and DuplicateCache::contains to immutable methods. See PR 2620.

    • Update to prometheus-client v0.16.0. See PR 2631.

    Open source →
  26. 0.37.0 04 Apr 2022
    Release notes
    • Update to libp2p-swarm v0.35.0.

    • Fix gossipsub metric (see PR 2558).

    • Allow the user to set the buckets for the score histogram, and to adjust them from the score thresholds. See PR 2595.

    Open source →
  27. 0.36.0 22 Feb 2022
    Release notes
    • Update to libp2p-core v0.32.0.

    • Update to libp2p-swarm v0.34.0.

    • Move from open-metrics-client to prometheus-client (see PR 2442).

    • Emit gossip of all non-empty topics (see PR 2481).

    • Merge NetworkBehaviour's inject_* paired methods (see PR 2445).

    • Revert to wasm-timer (see PR 2506).

    • Do not overwrite msg's peers if put again into mcache (see PR 2493).

    Open source →
  28. 0.35.0 27 Jan 2022
    Release notes
    • Update dependencies.

    • Migrate to Rust edition 2021 (see PR 2339).

    • Add metrics for network and configuration performance analysis (see PR 2346).

    • Improve bandwidth performance by tracking IWANTs and reducing duplicate sends (see PR 2327).

    • Implement Serialize and Deserialize for MessageId and FastMessageId (see PR 2408)

    • Fix GossipsubConfigBuilder::build() requiring &self to live for 'static (see PR 2409)

    • Implement Unsubscribe backoff as per libp2p specs PR 383 (see PR 2403).

    Open source →
  29. 0.34.0 16 Nov 2021
    Release notes
    • Add topic and mesh metrics (see PR 2316).

    • Fix bug in internal peer's topics tracking (see PR 2325).

    • Use instant and futures-timer instead of wasm-timer (see PR 2245).

    • Update dependencies.

    Open source →
  30. 0.33.0 01 Nov 2021
    Release notes
    • Add an event to register peers that do not support the gossipsub protocol PR 2241

    • Make default features of libp2p-core optional. PR 2181

    • Improve internal peer tracking. PR 2175

    • Update dependencies.

    • Allow message_id_fns to accept closures that capture variables. PR 2103

    • Implement std::error::Error for error types. PR 2254

    Open source →
  31. 0.33.0-rc.1 15 Oct 2021 pre-release

    Nothing published for this version

  32. 0.32.0 12 Jul 2021
    Release notes
    • Update dependencies.

    • Reduce log levels across the crate to lessen noisiness of libp2p-gossipsub (see PR 2101).

    Open source →
  33. 0.31.0 17 May 2021
    Release notes
    • Keep connections to peers in a mesh alive. Allow closing idle connections to peers not in a mesh PR-2043.
    Open source →
  34. 0.30.1 27 Apr 2021
    Release notes
    • Remove regex-filter feature flag thus always enabling regex::RegexSubscriptionFilter PR 2056.
    Open source →
  35. 0.30.0 13 Apr 2021
    Release notes
    • Update libp2p-swarm.

    • Update dependencies.

    Open source →
  36. 0.29.0 17 Mar 2021
    Release notes
    • Update libp2p-swarm.

    • Update dependencies.

    Open source →
  37. 0.28.0 15 Feb 2021
    Release notes
    • Prevent non-published messages being added to caches. PR 1930

    • Update dependencies.

    Open source →
  38. 0.27.0 12 Jan 2021
    Release notes
    • Update dependencies.

    • Implement Gossipsub v1.1 specification. PR 1720

    Open source →
  39. 0.26.0 18 Dec 2020
    Release notes
    • Update libp2p-swarm and libp2p-core.
    Open source →
  40. 0.25.0 25 Nov 2020
    Release notes
    • Update libp2p-swarm and libp2p-core.
    Open source →
  41. 0.24.0 09 Nov 2020
    Release notes
    • Update dependencies.
    Open source →
  42. 0.23.0 16 Oct 2020
    Release notes
    • Update dependencies.
    Open source →
  43. 0.22.0 09 Sep 2020
    Release notes
    • Update libp2p-swarm and libp2p-core.
    Open source →
  44. 0.21.0 18 Aug 2020
    Release notes
    • Add public API to list topics and peers. PR 1677.

    • Add message signing and extended privacy/validation configurations. PR 1583.

    • Debug instance for Gossipsub. PR 1673.

    • Bump libp2p-core and libp2p-swarm dependency.

    Open source →
  45. 0.20.0 01 Jul 2020
    Release notes
    • Updated dependencies.
    Open source →
  46. 0.19.3 23 Jun 2020
    Release notes
    • Maintenance release fixing linter warnings.
    Open source →
  47. 0.19.2 22 Jun 2020
    Release notes
    • Updated dependencies.
    Open source →
  48. 0.19.1 25 May 2020

    Nothing published for this version

  49. 0.19.0 18 May 2020

    Nothing published for this version

  50. 0.18.0 09 Apr 2020

    Nothing published for this version

  51. 0.17.0 01 Apr 2020

    Nothing published for this version

  52. 0.16.0 14 Feb 2020

    Nothing published for this version

  53. 0.15.0 24 Jan 2020

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive