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.