All notable changes to this project will be documented in this file.
[0.3.0] 2020-11-11
- 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.
- 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
withgithub.com/datadog/zstd
, see PR-385. - Fix retry policy not effective with non-FQDN topics, see PR-386.
[0.2.0] 2020-08-28
- 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://
anddata://
, 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.
- 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.
Our thanks go to the following contributors from the community for helping this release:
[0.1.1] 2020-06-19
- Fixed batching flag logic
- Fix data race when accessing partition producer state
- Fixed tls connection issue
- Add flag to disable forced topic creation
- Add Athenz authentication provider
- Fixed race condition in producer Flush() operation
- Removed unnecessary flush in sync Send() operation
- Allow empty payload for nonbatch message
- Add internal connectionReader readAtLeast error information
- Fix zstd memory leak of zstdProvider
- Expose replicated from filed on message struct
- Fix send async comments
- Fix perf-produce cannot be closed
- Fix perf-producer target
- Fix fail to add batchbuilder
- skip debug print out when batch disabled with no messages
- Add check for max message size
- Build and test with multiple versions of Go
- When CGO is enabled, use C version of ZStd
- Stop partition discovery on Close
- Microbenchmark for compression
- Allow to have multiple connections per broker
- Increase writeRequestsCh channel buffer size
Our thanks go to the following contributors from the community for helping this release:
- yarthur1
- vergnes
- sijie
- shustsud
- rueian
- mileschao
- keithnull
- abatilo
- cornelk
- equanz
- jerrypeng
- jonyhy96
[0.1.0] 2020-03-24
- Support
TLS
logic - Support
Authentication
logic - Support
Proxy
logic - Support
Hostname verification
logic
- Add
Send()
method inProducer
interface - Add
SendAsync()
method inProducer
interface - Add
LastSequenceID()
method inProducer
interface - Add
Flush()
method inProducer
interface - Add
Close()
method inProducer
interface - Add
Topic()
method inProducer
interface - Add
Name()
method inProducer
interface - Support
MessageRouter
logic - Support
batch
logic - Support
compression message
logic - Support
HashingScheme
logic - Support
User defined properties producer
logic
- Add
Subscription()
method inConsumer
interface - Add
Unsubscribe()
method inConsumer
interface - Add
Receive()
method inConsumer
interface - Add
Ack()
method inConsumer
interface - Add
AckID()
method inConsumer
interface - Add
Nack()
method inConsumer
interface - Add
NackID()
method inConsumer
interface - Add
Seek()
method inConsumer
interface - Add
SeekByTime()
method inConsumer
interface - Add
Close()
method inConsumer
interface - Support
Dead Letter Queue
consumer policy - Support
Topics Pattern
andTopics
logic - Support
topic consumer regx
logic - Support
multi topics consumer
logic - Support
Exclusive
,Failover
,Shared
andKeyShared
subscribe type logic - Support
Latest
andEarliest
logic - Support
ReadCompacted
logic - Support
ReplicateSubscriptionState
logic - Support
User defined properties consumer
logic - Support
Delayed Delivery Messages
logic
- Add
Topic()
method inReader
interface - Add
Next()
method inReader
interface - Add
HasNext()
method inReader
interface - Add
Close()
method inReader
interface - Support
read compacted
logic - Support
start messageID
logic - Support
User defined properties reader
logic
Our thanks go to the following contributors from the community for helping this release: