Skip to main content

Pulsar Client Go


  • Support send timeout in Producer side, see PR-394.
  • Add metric for internal publish latency, see PR-397.
  • Add key_based Batch logic, see PR-363.
  • Add error label to publish errors metric, see PR-405.
  • Add const client label to metrics, see PR-406.
  • Attach topic and custom labels to Prometheus metrics, see PR-410.
  • Add orderingKey apis, see PR-427.
  • Support jwt and trusted cert for pulsar perf client, see PR-427.


  • Fix bot action CI yaml file, see PR-395.
  • Update go-keyring to v1.1.6 to remove warnings on MacOS Catalina+ , see PR-404.
  • Read the clock fewer times during message routing, see PR-372.
  • Close dangling autoDiscovery goroutine in consumer, see PR-411.
  • Fix discard unacked messages, see PR-413.
  • Fixed logic to attempt reconnections to same broker, see PR-414.
  • Reduce the default TCP connection timeout from 30 to 5 seconds, see PR-415.
  • Removed unused import "C" statement, see PR-416.
  • Renamed Metrics.RpcRequestCount to RPCRequestCount to conform to style check, see PR-417.
  • Fix leaked nack tracker goroutine, see PR-418.
  • Clearing message queues after seek requests, see PR-419.
  • Fix retry policy not effective with partitioned topic, see PR-425.
  • Deduplicate user provided topics before using them, see PR-426.
  • The reader.HasNext() returns true on empty topic, see PR-441.
  • Upgrade gogo/protobuf to 1.3.2, see PR-446.
  • Fix logrusWrapper shrink interfaces slice into an interface, see PR-449.
  • Logging what really caused lookup failure, see PR-450.
  • Make state thread safe in consumer_partition and connection, see PR-451.
  • Fix KeyFileTypeServiceAccount not found compile error, see PR-455.
  • Fix unsubscribe blocked when consumer is closing or has closed, see PR-457.
  • The asynchronized send timeout checking without pending queue lock, see PR-460.