Releases: apache/pulsar-client-cpp
Releases · apache/pulsar-client-cpp
v4.2.0
What's Changed
- [fix][cmake] apple build by @daeho-ro in #562
- Fix broken CI due to token string not trimmed by @BewareMyPower in #565
- [fix][client-cpp] modern boost cancel method without args by @daeho-ro in #561
- [feat][client] Support null value messages by @Bhargavkonidena in #563
- [fix][cpp-client] Pass seek error to callback when SEEK command fails by @zhanglistar in #549
- [fix][client-cpp] Fail producers immediately when topic is terminated by @dwang-qm in #567
- [fix][client-cpp] Restore pulsar/Version.h for the dev package by @dwarburt in #572
- [cleanup] remove unused openssl header by @hdu-sdlzx in #574
- [fix][cpp] Clear stale consumer connection after reconnect subscribe failure by @shibd in #577
- [improve][client] Implement tls_client_auth for AuthOauth2 by @izumo27 in #575
- [fix][client-cpp] Fix TypedMessageTest to use receiveAsync template overload with decoder by @geniusjoe in #580
- feat: introduce a v2 createProducer API to carry error message when fail by @BewareMyPower in #579
- feat: add v2 APIs to create Consumer, Reader or TableView by @BewareMyPower in #581
- Fix macOS cross-architecture build on arm64 when target arch is x86_64 by @BewareMyPower in #582
- chore: remove unnecessary WARN logs for send or receive timeouts by @BewareMyPower in #584
- feat: expose replicated_from proto field to Message by @BewareMyPower in #583
- Fix release workflows by @BewareMyPower in #586
New Contributors
- @daeho-ro made their first contribution in #562
- @Bhargavkonidena made their first contribution in #563
- @dwang-qm made their first contribution in #567
- @dwarburt made their first contribution in #572
- @geniusjoe made their first contribution in #580
Full Changelog: v4.1.0...v4.2.0
v4.1.0
Highlights
- PIP-121 — AutoClusterFailover: Clients can now fail over between Pulsar clusters automatically using a new
ServiceInfoProviderabstraction that updates service info dynamically (#541, #547). - TLS 1.3 support (#529).
- Millisecond-precision operation timeout: New configuration option to set operation timeouts in milliseconds (#543).
- Security: Dependencies bumped to pick up upstream CVE fixes (#540).
Features
- Add TLS 1.3 support by @ciuncan in #529
- PIP-121: Introduce
ServiceInfoProviderto update service info dynamically by @BewareMyPower in #541 - PIP-121: Implement
AutoClusterFailoverby @BewareMyPower in #547 - Add operation timeout configuration in milliseconds by @zhanglistar in #543
- Implement missing
pulsar_message_set_schema_versionin the C API by @zhanglistar in #552
Improvements
- Enhance connection and timeout logging by @zhanglistar in #539
- Bump dependencies to latest versions for CVEs by @BewareMyPower in #540
- Replace deprecated Boost.Asio APIs by @arhoads in #535
Bug Fixes
- Fix
seekblocking forever when thesubscribeRPC is slower than theseekRPC by @BewareMyPower in #533 - Fix multi-topics consumer crash when one internal consumer fails
getBrokerConsumerStatsAsyncby @BewareMyPower in #538 - Fix clang-tidy errors not being detected, and fix the underlying issues by @BewareMyPower in #544
- Fix incorrect last sequence id when sending messages in a batch by @zhanglistar in #546
- Fix crash caused by Asio object lifetime and thread-safety issue by @BewareMyPower in #551
- Fix
Readersegfault whenmessageListenerThreads=0by @zhanglistar in #553 - Fix connection leak caused by request timers not being cancelled in time by @BewareMyPower in #555
- Fix
hasMessageAvailablereturning true after seeking to a timestamp newer than the last message by @BewareMyPower in #556 - Fix aarch64 build on Alpine by @BewareMyPower in #558
Tests
- Fix flaky
ReaderTest.testAsyncReadby @zhanglistar in #545 - Fix stray log output after client close by @zhanglistar in #548
New Contributors
- @ciuncan made their first contribution in #529
- @zhanglistar made their first contribution in #539
Full Changelog: v4.0.0...v4.1.0
v4.0.1
What's Changed
- Fix the seek method could be blocked forever when subscribe RPC is slower than seek RPC by @BewareMyPower in #533
- [improve][client] Add TLSv1.3 support by @ciuncan in #529
New Contributors
Full Changelog: v4.0.0...v4.0.1
v4.0.0
What's Changed
- Support get the producer name of a message by @BewareMyPower in #524
- Bump the C++ standard to 17 by @BewareMyPower in #525
- [fix][ProtobufNativeSchema] Fix build by converting abseil string_view to std::string by @dannf in #527
- Support getting encryption context on a message by @BewareMyPower in #526
New Contributors
Full Changelog: v3.8.0...v4.0.0
v3.8.0
What's Changed
- [fix] Fix an issue where zero queue consumers are unable to receive messages after topic unloading by @massakam in #473
- Make it optional to link statically to libgcc and libstdc++ by @BewareMyPower in #474
- Bumped version to 3.8.0-pre by @BewareMyPower in #470
- Fix multi-topics-consumer new topic listeners stuck in paused state by @oversearch in #481
- fix: ignore ping command in connection keepalive logic by @erobot in #480
- Bump curl, openssl, zlib to address CVEs by @BewareMyPower in #482
- [ci] Fix upload-artifact v3 is not supported by @BewareMyPower in #484
- Fix the scripts for downloading GitHub Action artifacts by @BewareMyPower in #485
- Fix TableView's existing key-value will never be updated by @BewareMyPower in #487
- Fix stage-release.sh does not delete the Windows temporary directories by @BewareMyPower in #488
- [CI] Add clang-tidy check with clang-analyzer and performance checks by @BewareMyPower in #490
- Avoid getLastMessageId RPC when calling hasMessageAvailable after seek by timestamp by @BewareMyPower in #491
- Fix acknowledgeCumulative never returns when accepting an invalid message id for a multi-topics consumer by @BewareMyPower in #492
- Remove static link to libstdc++ to avoid conflicts by @BewareMyPower in #493
- [improve] modify the negativeACK structure to reduce memory overhead by @gy-deng in #497
- Fix hasMessageAvailable incorrectly returns true when read to latest after seeking by timestamp by @BewareMyPower in #498
- fix: remove unnecessary copies by @gy-deng in #499
- Fix duplicated subscribed topics not deduplicated by @BewareMyPower in #501
- Fix crash caused by Message::getTopicName when the message is a producer message by @BewareMyPower in #503
- Use vcpkg to build alpine packages by @BewareMyPower in #505
New Contributors
- @oversearch made their first contribution in #481
- @gy-deng made their first contribution in #497
Full Changelog: v3.7.0...v3.8.0
v3.7.2
What's Changed
- Remove static link to libstdc++ to avoid conflicts by @BewareMyPower in #493
- Fix acknowledgeCumulative never returns when accepting an invalid message id for a multi-topics consumer by @BewareMyPower in #492
- Avoid getLastMessageId RPC when calling hasMessageAvailable after seek by timestamp by @BewareMyPower in #491
- Fix stage-release.sh does not delete the Windows temporary directories by @BewareMyPower in #488
Full Changelog: v3.7.1...v3.7.2
v3.7.1
What's Changed
- Fix TableView's existing key-value will never be updated by @BewareMyPower in #487
- Fix the scripts for downloading GitHub Action artifacts by @BewareMyPower in #485
- [ci] Fix upload-artifact v3 is not supported by @BewareMyPower in #484
- Bump curl, openssl, zlib to address CVEs by @BewareMyPower in #482
- Fix multi-topics-consumer new topic listeners stuck in paused state by @oversearch in #481
- fix: ignore ping command in connection keepalive logic by @erobot in #480
- Make it optional to link statically to libgcc and libstdc++ by @BewareMyPower in #474
- [fix] Fix an issue where zero queue consumers are unable to receive messages after topic unloading by @massakam in #473
Full Changelog: v3.7.0...v3.7.1
v3.7.0
What's Changed
- Fix buffer overflow for non-batched send when the message metadata size exceeds 64KB by @BewareMyPower in #443
- fix: Keep compatible with old boost versions by @erobot in #444
- Bumped version to 3.7.0-pre by @shibd in #445
- Fix ack failure on message listener in multi topics consumer by @nkurihar in #447
- Fix the YAML format error in latest image by @BewareMyPower in #452
- Fix default operation timeout by @arhoads in #450
- Expose keep alive interval for c and c++ client by @shibd in #457
- Handle the exception from the token supplier by @BewareMyPower in #458
- [fix][doc] Update README to build wireshark plugin correctly by @ocadaruma in #460
- Bump macos runner image to 14 by @BewareMyPower in #463
- Fix startMessageInclusive does not work if the 1st message is a chunked message by @BewareMyPower in #462
- [fix] Fix issue where cert chain is not taken into account in mTLS authentication by @massakam in #467
- Fix some compiler warnings in public headers by @erobot in #468
- Use vcpkg to build macOS packages by @BewareMyPower in #465
New Contributors
- @nkurihar made their first contribution in #447
- @arhoads made their first contribution in #450
- @ocadaruma made their first contribution in #460
Full Changelog: v3.6.0...v3.7.0
v3.6.0
What's Changed
- [feat] Add startPaused setting to consumer by @massakam in #416
- Support customize vcpkg directory when INTEGRATE_VCPKG is ON by @BewareMyPower in #417
- Fix broken wireshark build workflow on macOS by @BewareMyPower in #414
- Bumped version to 3.6.0-pre by @BewareMyPower in #418
- Fix minor issues reported by CodeQL by @merlimat in #421
- Fix wrong results of hasMessageAvailable and readNext after seeking by timestamp by @BewareMyPower in #422
- fix: Incorrect acknowledgment behavior in the listener of the multi-t… by @shibd in #423
- Support seek operation on a multi-topics consumer by @BewareMyPower in #426
- Log the default location of trusted CA certificates when tlsTrustCertsFilePath is not specified by @BewareMyPower in #429
- Use Rocky Linux 8 and vcpkg to build RPM packages by @BewareMyPower in #428
- Add -Bsymbolic link option to avoid symbol interposition by @BewareMyPower in #432
- [CI] Use macos-12 to build macOS libraries by @BewareMyPower in #433
- feat: expose partitions update interval configuration to C client by @shibd in #437
- Fix consumer might not subscribe after a reconnection by @BewareMyPower in #438
- Fix invalid memory access on the first pending batch receive callback by @BewareMyPower in #441
Full Changelog: v3.5.1...v3.6.0
v3.5.1
What's Changed
- Fix wrong results of hasMessageAvailable and readNext after seeking by timestamp by @BewareMyPower in #422
- Fix minor issues reported by CodeQL by @merlimat in #421
- Support customize vcpkg directory when INTEGRATE_VCPKG is ON by @BewareMyPower in #417
- Fix broken wireshark build workflow on macOS by @BewareMyPower in #414
Full Changelog: v3.5.0...v3.5.1