Releases: apache/pulsar-client-cpp
Releases · apache/pulsar-client-cpp
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
v3.5.0
What's Changed
- Fix ProducerBusy or ConsumerBusy error when configuring multiple brokers per connection by @BewareMyPower in #337
- Use absolute path to find credential files in unit tests by @BewareMyPower in #340
- Fix close() returns ResultAlreadyClosed after unsubscribe or close by @BewareMyPower in #338
- Fix lazy partitioned producer might send duplicated messages by @BewareMyPower in #342
- Bumped version to 3.5.0-pre by @BewareMyPower in #344
- Fix crash when removing connection from the pool by @BewareMyPower in #347
- Log topic lookup result by @erobot in #351
- Fix bad_weak_ptr when close a ClientConnection during construction by @BewareMyPower in #350
- Fix the flush callback might be called repeatedly by @BewareMyPower in #353
- Fix Protobuf symbols not found in libpulsarwithdeps.a when building on macOS by @BewareMyPower in #354
- Gather the macOS binaries when releasing by @BewareMyPower in #355
- Fix HTTP lookup segfault when the redirect host cannot be resolved by @BewareMyPower in #356
- Install Version.h when installing by CMakeLists by @BewareMyPower in #361
- Add the Consumer::getConsumerName API by @BewareMyPower in #360
- Fix accessing destroyed objects in the callback of async_wait by @BewareMyPower in #362
- Fix tlsTrustCertsFilePath config is not applied for OAuth2 by @BewareMyPower in #364
- [feat] [C API] Expose Get/Set Listener Name in C API by @roryschadler in #370
- Integrate vcpkg to manage dependencies for all platforms by @BewareMyPower in #371
- Fix the unstable wireshark workflow on macOS by @BewareMyPower in #374
- [PIP-60] [Proxy-Client] Support SNI routing for Pulsar CPP client by @rdhabalia in #373
- [fix] Fix issue where custom logger setting is ignored by @massakam in #377
- Retry on new partition producer creation failure by @erobot in #378
- Remove the Boost.Random dependency by @BewareMyPower in #380
- Depend on the independent Asio instead of Boost.Asio by default by @BewareMyPower in #382
- Fix Boost source code download failure by @BewareMyPower in #384
- Fix
StartMessageIdInclusive
not work when reader reads from latest msg id by @RobertIndie in #386 - Fix wrong TimeUtils::currentTimeMillis() implementation by @BewareMyPower in #387
- Fix the operation timeout is not honored for GetSchema requests by @BewareMyPower in #383
- [docs] Add example for how to import the library by @BewareMyPower in #379
- [feat] PIP-307 added assigned broker urls for CloseProudcer and CloseConsumer commands and handler logic by @heesung-sn in #389
- Pin the Pulsar version to 3.1.1 temporarily for the regression in Pulsar by @BewareMyPower in #395
- Fix multi-topics consumer could receive old messages after seek by @BewareMyPower in #388
- Do not close the socket when the broker failed due to MetadataStoreException by @BewareMyPower in #390
- Fix an unbalanced release of the producer's pending semaphore by @erobot in #392
- Disable topic level policies to make tests work for latest Pulsar by @BewareMyPower in #397
- Fix broken main branch after Pulsar image was upgraded to 3.2.0 by @BewareMyPower in #400
- Fix segmenatation fault if connection is closed during handshake by @BewareMyPower in #399
- Add codeql code scanning configuration by @merlimat in #10
- Fix creating producer or consumer is not retried for connection failure by @BewareMyPower in #396
- Disable batch send for dlq producer. by @shibd in #403
- [feat] PIP-188 Support blue-green migration by @heesung-sn in #402
- Fix blue-green migration might be stuck due to an existing reconnection by @BewareMyPower in #406
- Update dependencies to latest versions by @BewareMyPower in #404
- Fix the incompatibility with Clang and C++20 by @BewareMyPower in #408
- [improve] add physicalAddress as part of connection pool key by @heesung-sn in #411
- [CI] Pin the clang-format version to 11 by @BewareMyPower in #412
- [fix] Change return code of MultiTopicsConsumerImpl::closeAsync after unsubscribe or close by @massakam in #413
- Fix hasMessageAvailable might return true after seeking to latest by @BewareMyPower in #409
New Contributors
- @roryschadler made their first contribution in #370
- @rdhabalia made their first contribution in #373
- @heesung-sn made their first contribution in #389
Full Changelog: v3.4.0...v3.5.0
v3.4.2
What's Changed
- Fix tlsTrustCertsFilePath config is not applied for OAuth2 by @BewareMyPower in #364
- Fix accessing destroyed objects in the callback of async_wait by @BewareMyPower in #362
- Install Version.h when installing by CMakeLists by @BewareMyPower in #361
- Fix HTTP lookup segfault when the redirect host cannot be resolved by @BewareMyPower in #356
- Gather the macOS binaries when releasing by @BewareMyPower in #355
Full Changelog: v3.4.1...v3.4.2
v3.4.1
What's Changed
- Fix Protobuf symbols not found in libpulsarwithdeps.a when building on macOS by @BewareMyPower in #354
- Fix the flush callback might be called repeatedly by @BewareMyPower in #353
- Log topic lookup result by @erobot in #351
- Fix bad_weak_ptr when close a ClientConnection during construction by @BewareMyPower in #350
- Fix crash when removing connection from the pool by @BewareMyPower in #347
- Fix lazy partitioned producer might send duplicated messages by @BewareMyPower in #342
- Use absolute path to find credential files in unit tests by @BewareMyPower in #340
- Fix close() returns ResultAlreadyClosed after unsubscribe or close by @BewareMyPower in #338
Full Changelog: v3.4.0...v3.4.1
v3.4.0
What's Changed
- Fix: client reconnected every authenticationRefreshCheckSeconds when using tls authentication by @jffp113 in #304
- Bumped version to 3.4.0-pre by @BewareMyPower in #305
- Avoid copying OpSendMsg when sending messages by @BewareMyPower in #308
- Avoid calling serializeSingleMessageInBatchWithPayload each time a message is added by @BewareMyPower in #309
- Avoid double attempt at reconnecting by @merlimat in #310
- Fix the visibility compilation error for GCC <= 7 by @BewareMyPower in #312
- [fix] Add the curl wrapper to avoid inconsistent curl options by @BewareMyPower in #313
- Fix broken cpp-build-windows workflow by @BewareMyPower in #316
- Fix broken wireshark build workflow on macOS by @BewareMyPower in #318
- Avoid accessing a null ClientConnection instance by @BewareMyPower in #317
- Fix the handler instance is expired when the connection is established by @BewareMyPower in #323
- Fix pending requests failed with ResultConnectError when disconnecting by @BewareMyPower in #322
- [fix] Fix consumer doesn't acknowledge all chunk message Ids by @RobertIndie in #321
- Fix segmentation fault when sending messages after receiving an error by @BewareMyPower in #326
- Fix topic not shown correctly in the consumer string by @BewareMyPower in #329
- Delay the timing of setting reconnectionPending to false to avoid double attempt at reconnecting by @shustsud in #328
- Fix segmentation fault caused by async_receive by @BewareMyPower in #330
- Fix topic name is shown as a pointer rather than string by @BewareMyPower in #331
- Avoid blocking the message listener threads by @erobot in #332
- Upgrade libcurl to 8.4.0 to fix CVEs by @BewareMyPower in #335
- Fix possible deadlock of Future when adding a listener after completed by @BewareMyPower in #334
- Added support for multiple connections to each broker by @merlimat in #336
- Fix ProducerBusy or ConsumerBusy error when configuring multiple brokers per connection by @BewareMyPower #337
New Contributors
Full Changelog: v3.3.0...v3.4.0
v3.3.0
What's Changed
- [feat] Support end-to-end encryption in C Reader API by @rbarbey in #262
- [doc] Fix compile perf on MacOS and Ubuntu. by @shibd in #263
- [Doc] Add links to client docs and feature matrix in README.md by @momo-jun in #264
- Fix deadlock for negative acknowledgment by @BewareMyPower in #266
- Support specifying the C++ standard for some higher dependencies by @BewareMyPower in #269
- Bumped version to 3.3.0-pre by @BewareMyPower in #271
- Fix batch receive for C client unit test failed. by @shibd in #272
- [improve] AuthAthenz supports Copper Argos by @shustsud in #274
- [feat][consumer] Support parse broker metadata by @shoothzj in #276
- add cmake-build-debug dir to gitignore by @shoothzj in #275
- [docs] Fix the developer guide for macOS users by @BewareMyPower in #279
- Fix flaky testConsumerEventWithoutPartition caused by the change of Pulsar 3.0 by @BewareMyPower in #281
- [feat][Message] Add getIndex method on Message by @shoothzj in #277
- Fix testSchemaIncompatibility for Protobuf 3.20.0 or later by @BewareMyPower in #282
- Remove log4cxx dependency and its specified configuration by @BewareMyPower in #283
- Close the socket gracefully on Windows by @BewareMyPower in #284
- Fix ci failed on macOS env. by @shibd in #288
- Fix broker return error code confusion when not setting subscription name. by @shibd in #289
- feat: Support message copy for C client. by @shibd in #285
- Add missing TLS-related method definitions for C client. by @shibd in #287
- [feat] Support configure startMessageIdInclusive for the reader by @RobertIndie in #291
- Fix build failure with the Protobuf 23.3 by @BewareMyPower in #290
- Fix retriable errors not handled well when creating producer or consumer by @BewareMyPower in #293
- [fix] producer will not be created when topic update partition by @TakaHiR07 in #295
- Fix the buggy Future and Promise implementations by @BewareMyPower in #299
- Fix the test script does not work for Docker on macOS by @BewareMyPower in #297
- feat: Support table view for C client. by @shibd in #294
- Fix the wrong backoff computation when retrying by @BewareMyPower in #296
- Fix the build failure with C++20 standard by @BewareMyPower in #302
- [fix] callback of send batch message receives a wrong result when flushing by @TakaHiR07 in #303
- [fix][client] Memory leak during GET_LAST_MESSAGE_ID command processing. by @fundaev in #301
New Contributors
- @rbarbey made their first contribution in #262
- @momo-jun made their first contribution in #264
- @shustsud made their first contribution in #274
- @shoothzj made their first contribution in #276
- @TakaHiR07 made their first contribution in #295
- @fundaev made their first contribution in #301
Full Changelog: v3.2.0...v3.3.0
v3.2.0
What's Changed
- Fix segmentation fault during the destruction of ConsumerImpl by @BewareMyPower in #121
- [improve] Exclude debug artifact in the release and tar the windows artifacts by @RobertIndie in #124
- [fix] Fix NamedEntity::checkName regression by @erobot in #127
- [fix] Fix PartitionedProducerImpl::closeAsync to close sub-producers properly by @erobot in #125
- [fix] Fix acknowledge MessageId list does not work when ackGroupingTimeMs is 0 by @BewareMyPower in #128
- Fix the broken master by the upgrade of GTest by @BewareMyPower in #133
- [fix] Close broker producer created after producer close by @erobot in #131
- [fix] Fix a crash when closing a connection while connecting by @erobot in #136
- Boost optional by @fregate in #138
- Add BatchedMessageIdImpl to acknowledge batched messages by @BewareMyPower in #132
- Bumped version to 3.2.0-pre by @RobertIndie in #141
- [fix] Use sudo when executing
apt-get install
by @RobertIndie in #143 - [fix][doc] CMake is added to the Homebrew Mac Installation list by @erichare in #145
- [fix] Use authoritative argument correctly in BinaryProtoLookupService::findBroker by @erobot in #146
- [feat] PIP 107: Introduce chunk message ID by @RobertIndie in #148
- [fix] Fix
auxv
detection by @AtkinsChang in #152 - [fix][build] Hide non-exported symbols from the dependencies by @BewareMyPower in #155
- Format .c suffix file. by @shibd in #159
- [fix] Fix MessageId serialization when it's a batched message by @BewareMyPower in #153
- [fix] Fix log for connection disconnected expectedly by @RobertIndie in #156
- The C API supports setting the log level. by @shibd in #158
- [feat] Add pulsar_logger_t as the configurable C logger by @BewareMyPower in #162
- [feat] Support messages with generic types by @BewareMyPower in #149
- Fix segfault caused by socket I/O on a closed io_service by @BewareMyPower in #168
- [fix] Fix missing schema related function definitions by @romainbrancourt in #171
- [feat] Support batch index acknowledgment by @BewareMyPower in #151
- [fix] Fix hostname verification by @izumo27 in #126
- Fix broken main branch caused by wrong getBitSet method by @BewareMyPower in #177
- [feat] Reader support readeNextAsync interface. by @shibd in #176
- [feat] Support Dead Letter Topic. by @shibd in #139
- [feat] Support auto download schema when create producer. by @shibd in #157
- Fix Wireshark build by @Demogorgon314 in #182
- Support the Wireshark plugin for more Wireshark distributions by @BewareMyPower in #183
- [feat] Support partitioned topic reader. by @shibd in #154
- [fix] Avoid resource leakage of AckGroupingTracker by @erobot in #185
- [fix] Use ClientConfiguration::getTlsTrustCertsFilePath for the OAuth2 flow by @BewareMyPower in #190
- [fix] Fix deadlock when closing the partitioned producer by @RobertIndie in #187
- [Fix] NegativeAcksTracker need close when consumer closed. by @shibd in #188
- [TableView-1] Add table view API by @shibd in #189
- [improve] Add configuration to limit times of client's lookup redirection. by @tongsucn in #129
- Fix broken main branch that failed to build the wireshark dissector on macOS by @BewareMyPower in #199
- [feat] Add producer interceptor by @RobertIndie in #169
- [refactor] Handle responses in methods instead of switch cases by @BewareMyPower in #197
- [fix] Redeliver messages that can't be decrypted. by @shibd in #160
- [improve] Refactor client version format by @RobertIndie in #206
- [fix] Handle exceptions when creating timers when fd limit is reached by @BewareMyPower in #203
- [TableView-2] Implement all interfaces. by @shibd in #196
- Fix Client::close might hang forever for a multi-topics consumer by @BewareMyPower in #211
- Fix testPublishEmptyValue flaky test. by @shibd in #216
- Fix flaky testAcknowledgeCumulativeWithPartition by @BewareMyPower in #214
- Fix event loop thread might exit unexpectedly by @BewareMyPower in #217
- Use shared_ptr for topic name in message ids by @merlimat in #218
- [feat] Add consumer interceptor by @RobertIndie in #210
- Make stats timers thread safe to use by @BewareMyPower in #223
- Fix TableViewTest.testCreateTableView flaky test. by @shibd in #222
- [feat] Support ExclusiveWithFencing producer access mode. by @shibd in #201
- Fix possible crash caused by MessageId::getTopicName by @BewareMyPower in #225
- [feat] Add
onNegativeAcksSend
to the consumer interceptor by @RobertIndie in #220 - [fix] Use unique topic name in ConsumerInterceptorsTest by @RobertIndie in #231
- Fix flaky test ProducerTest.testWaitForExclusiveProducer by @shibd in #233
- Support waiting for the ACK response by @BewareMyPower in #232
- [fix][flaky] Remove zero queue case in ConsumerInterceptorTest to reduce flaky by @RobertIndie in #239
- Fix ack non-persistent topic will be blocked. by @shibd in #240
- [feat] Support pattern subscribe non-persistent topic. by @shibd in #207
- [fix] Consumer batch receive will cause data loss. by @shibd in #228
- Fix typo in comment by @izumo27 in #243
- [feat] Support set producer access mode for C client. by @shibd in #245
- [fix] Fix compilation error that occurs when USE_LOG4CXX is ON by @massakam in #244
- Speed up the process to start standalone for tests by @BewareMyPower in #236
- [feat] Support set batch index ack for C client. by @shibd in #246
- [cleanup] Remove useless variable
interceptors_
inProducerImplBase
by @RobertIndie in #250 - Fix the static library might failed to link on Windows by @BewareMyPower in #251
- [feat] Support set consumer regex subscription mode for C client. by @shibd in #247
- Support the base64 encoded credentials for OAuth2 authentication by @BewareMyPower in #249
- [C API] Support synchronous consumer batch receive by @BewareMyPower in #252
- PIP-254: Support configuring client version with a description suffix by @BewareMyPower in #253
- Complete batch receive other feature of C client by @shibd in #254
- [Bug Fix][KeySharedPolicy] Fixed bug where KeySharedPolicy::setStickyRanges duplicated ranges. by @hyperevo in #242
- Improve the C APIs for batch receive policy and fix the wrong documents by @BewareMyPower in https://github.com/apache/pulsar-client-c...
v3.1.2
What's Changed
- [fix] Use ClientConfiguration::getTlsTrustCertsFilePath for the OAuth2 flow by @BewareMyPower in #190
- [fix] Avoid resource leakage of AckGroupingTracker by @erobot in #185
- Support the Wireshark plugin for more Wireshark distributions by @BewareMyPower in #183
- Fix Wireshark build by @Demogorgon314 in #182
Full Changelog: v3.1.1...v3.1.2
v3.1.1
What's Changed
- Fix segfault caused by socket I/O on a closed io_service by @BewareMyPower in #168
- [fix][build] Hide non-exported symbols from the dependencies by @BewareMyPower in #155
- [fix] Use authoritative argument correctly in BinaryProtoLookupService::findBroker by @erobot in #146
- [fix] Fix a crash when closing a connection while connecting by @erobot in #136
- [fix] Close broker producer created after producer close by @erobot in #131
- [fix] Fix hostname verification by @izumo27 in #126
Full Changelog: v3.1.0...v3.1.1