Releases: libp2p/go-libp2p-pubsub
Releases · libp2p/go-libp2p-pubsub
v0.3.1
v0.3.0
Reference Implementation of Gossipsub v1.1.
Spec: https://github.com/libp2p/specs/blob/master/pubsub/gossipsub/gossipsub-v1.1.md
v0.2.6
v0.2.5
v0.2.4
v0.2.3
v0.2.2
v0.2.1
v0.2.0
This release has a number of large changes and bugfixes:
Functionality and Interfaces
Active Peer Discovery
PubSub can now actively discover peers for a given topic using libp2p Discovery libp2p/go-libp2p-pubsub-router#28 #184
- Passing the
WithDiscovery
option into PubSub will cause active discovery of peers until they reach an appropriate threshold defined by each router (i.e. floodsub, gossipsub, etc.) - This includes both initial bootstrapping and continuous polling if the number of peers for a given topic drops too low
Topic Handles
Added Topic
and TopicEventHandler
objects to serve as the entry points to PubSub functionality #198 #184
- Calling
pubsub.Join(topic, topicOpts...)
will return aTopic
object thatPublish
andSubscribe
can be called on.- The new
topic.Publish
function has an updated function signature - The old
pubsub.Publish
andpubsub.Subscribe
methods are still usable, but have been deprecated - Option for publish to block until the router has enough peers. Fixes #211 and some testing race conditions
- The new
- The events added in v0.1.0 have been moved from
Subscription
to a separateTopicEventHandler
that can be created by theTopic
.
Message contains reference to the message deliverer
Messages returned by Subscription
now contain the peer ID of the peer that actually delivered the message
Bugfixes
- Subscription cancellation fix #200, #201
- Gossipsub on Join minor fix #194, #196
- Gossipsub protocol compliance fix libp2p/docs#66, #204
- minor spec update we're complying with at libp2p/specs#219
- Gossipsub cache documentation and some defensive coding #205