Skip to content

Latest commit

 

History

History
238 lines (195 loc) · 13.3 KB

CHANGELOG.md

File metadata and controls

238 lines (195 loc) · 13.3 KB

Pulsar-client-go Changelog

All notable changes to this project will be documented in this file.

[0.3.0] 2020-11-11

Feature

  • Support retry letter topic in Go client, see PR-359.
  • Support limit the retry number of reconnectToBroker, see PR-360.
  • Support key shared policy in Go client, see PR-363.
  • Add schema logic in producer and consumer, see PR-368.

Improve

  • Fix panic on receiverQueueSize set to -1, see PR-361.
  • Fix may lead to panic test case, see PR-369.
  • Send delay message individually even batching is enabled, see PR-372.
  • Fixed buffer resize when writing request on connection, see PR-374.
  • Fixed deadlock in DLQ ack processing, see PR-375.
  • Fix deadlock when connection closed, see PR-376.
  • Fix producer deadlock after write failure, see PR-378.
  • Fix maxMessageSize not effective even if aligned with broker, see PR-381.
  • Update default router to switch partition on all batching thresholds, see PR-383.
  • Replaced github.com/DataDog/zstd with github.com/datadog/zstd, see PR-385.
  • Fix retry policy not effective with non-FQDN topics, see PR-386.

[0.2.0] 2020-08-28

Feature

  • Expose BatchingMaxSize from ProducerOptions, see PR-280.
  • Allow applications to configure the compression level, see PR-290.
  • Support producer name for Message, see PR-299.
  • Support oauth2 authentication for pulsar-client-go, see PR-313.
  • Add interceptor feature for Go client, see PR-314.
  • Export client metrics to Prometheus, see PR-317.
  • Add Name method to Consumer interface, see PR-321.
  • Add oauth2 to the provider, see PR-338.
  • Support specified the oauth2 private key with prefix file:// and data://, see PR-343.
  • Fix the keyfile unmarshal error, see PR-339.
  • Add a new method to create auth provider from tls cert supplier, see PR-347.
  • Add seek logic for reader, see PR-356.

Improve

  • Use .asf.yaml to configure github repo, see PR-216.
  • Auto update the client to handle changes in number of partitions, see PR-221.
  • Clean callbacks of connection after run loop stopped, see PR-248.
  • Fix unable to close consumer after unsubscribe in Shared Subscription, see PR-283.
  • Introduced lifecycle for compression providers, see PR-284.
  • Use maxPendingMessages for sizing producer eventsChan, see PR-285.
  • Avoid contention on producer mutex on critical path, see PR-286.
  • Switched to DataDog zstd wrapper, reusing the compression ctx, see PR-287.
  • Fix panic when creating consumer with ReceiverQueueSize set to -1, see PR-289.
  • Used pooled buffering for compression and batch serialization, see PR-292.
  • Use gogofast to have in-place protobuf serialization, see PR-294.
  • Added semaphore implementation with lower contention, see PR-298.
  • Fixed pooled buffer lifecycle, see PR-300.
  • Removed blocking queue iterator, see PR-301.
  • Fix panic in CreateReader API using custom MessageID for ReaderOptions, see PR-305.
  • Change connection failed warn log to error and print error message, see PR-309.
  • Share buffer pool across all partitions, see PR-310.
  • Add rerun feature test command to repo, see PR-311.
  • Fix CompressMaxSize() for ZLib provider, see PR-312.
  • Reduce the size of the MessageID structs by one word on 64-bit arch, see PR-316.
  • Do not allocate MessageIDs on the heap, see PR-319.
  • Different MessageID implementations for message Production and Consumption, see PR-324.
  • Fix producer block when the producer with the same id, see PR-326.
  • Get the last message when LatestMessageID and inclusive, see PR-329.
  • Fix go.mod issue with invalid version, see PR-330.
  • Fix producer goroutine leak, see PR-331.
  • Fix producer state by reconnecting when receiving unexpected receipts, see PR-336.
  • Avoid producer deadlock on connection closing, see PR-337.

Contributors

Our thanks go to the following contributors from the community for helping this release:

[0.1.1] 2020-06-19

Improve

Contributors

Our thanks go to the following contributors from the community for helping this release:

[0.1.0] 2020-03-24

New Feature

Client

  • Support TLS logic
  • Support Authentication logic
  • Support Proxy logic
  • Support Hostname verification logic

Producer

  • Add Send() method in Producer interface
  • Add SendAsync() method in Producer interface
  • Add LastSequenceID() method in Producer interface
  • Add Flush() method in Producer interface
  • Add Close() method in Producer interface
  • Add Topic() method in Producer interface
  • Add Name() method in Producer interface
  • Support MessageRouter logic
  • Support batch logic
  • Support compression message logic
  • Support HashingScheme logic
  • Support User defined properties producer logic

Consumer

  • Add Subscription() method in Consumer interface
  • Add Unsubscribe() method in Consumer interface
  • Add Receive() method in Consumer interface
  • Add Ack() method in Consumer interface
  • Add AckID() method in Consumer interface
  • Add Nack() method in Consumer interface
  • Add NackID() method in Consumer interface
  • Add Seek() method in Consumer interface
  • Add SeekByTime() method in Consumer interface
  • Add Close() method in Consumer interface
  • Support Dead Letter Queue consumer policy
  • Support Topics Pattern and Topics logic
  • Support topic consumer regx logic
  • Support multi topics consumer logic
  • Support Exclusive, Failover, Shared and KeyShared subscribe type logic
  • Support Latest and Earliest logic
  • Support ReadCompacted logic
  • Support ReplicateSubscriptionState logic
  • Support User defined properties consumer logic
  • Support Delayed Delivery Messages logic

Reader

  • Add Topic() method in Reader interface
  • Add Next() method in Reader interface
  • Add HasNext() method in Reader interface
  • Add Close() method in Reader interface
  • Support read compacted logic
  • Support start messageID logic
  • Support User defined properties reader logic

Contributors

Our thanks go to the following contributors from the community for helping this release: