Releases: apache/rocketmq-client-cpp
Release of v5.0.0-rc1
This is the first release candidate of 5.0.0 that talks to RocketMQ broker in gRPC and Protobuf.
rocketmq-client-cpp-2.2.0
This release support TLS mode with OpenSSL for sending messages in sync model and consuming messages by push model. The stability of the core is further improved.
New Future:
- ISSUE-273 Use OpenSSL to add support for SSL communication with the server .
Improvement:
- ISSUE-291 Use separate factory for trace producer of push consumer.
Bug
- [ISSUE-284] Fix the issue that sometime the log in rebalance will cause core dump.
- [ISSUE-286] Add null pointer check before push consumer shutdown.
rocketmq-client-cpp-2.1.0
This release support message trace for sending messages in sync model and consuming messages by push model. The stability of the core is further improved.
New Future:
- [ISSUE-276] Add trace message for pub and sub.
- [ISSUE-281] Add trace message shift for C style APIs.
Improvement:
- [ISSUE-274] Fix the heap-use-after-free risk caused by direct deconstruction when it is not used after initialization.
Bug:
- [ISSUE-283] Send message back failed some time because the timeout was set too short.
rocketmq-client-cpp-2.0.1
This release update the jsoncpp to support higher version of GCC and add asan/lsan to check memories. The stability of the core is further improved.
New Future:
- ISSUE-254 feat(build): add the script to package static lib on macOS.
- ISSUE-256 feat(jsoncpp): update jsoncpp to 0.10.7 in order to fix build error by gcc7+.
- ISSUE-257 feat(memory): add asan/lsan support, and formatting code.
- ISSUE-261 feat(version): add api to get SDK versions.
Improvement:
- ISSUE-242 test(unittest): add some test cases for default producer implement.
- ISSUE-244 chore(license): add missed license header in some files.
- ISSUE-251 refactor(warning): remove warnings in header files.
- ISSUE-252 refactor(transaction): use userdata to cache the local checker callback.
- ISSUE-258 feat(producer): add regionId support in the send result.
- ISSUE-260 feat(orderly): add sharding key in the message property.
- ISSUE-265 refactor(build): use dynamic cpu cores to compile code.
Bug:
rocketmq-client-cpp-2.0.0
This release is a major upgrade, mainly including native support for namespace Settings and support for the v2 version of the RocketMQ protocol. The stability of the core is further improved.
New Future:
- ISSUE-207 feat(namespace): add namespace support.
- ISSUE-225 feat(protocol): try to use command v2 to send messages.
- ISSUE-235 feat(interface): remove boost in header file and examples.
- ISSUE-238 feat(package): add rpm build and dpkg build script.
Improvement:
- ISSUE-206 refactor(rebalance): use smart_ptr to manage pullrequest and refactor rebalancing process.
- ISSUE-214 test(unittest): refactor some unitests.
- ISSUE-222 refactor(client): add timer to clean the offline brokers and and test case for it.
- ISSUE-227 refactor(memleak): remove mem leak in the factory schedule task.
- ISSUE-230 feat(version): add maxConsumerTimes to support higher client version.
- ISSUE-232 feat(callback): use start pointer to manager callbacks.
- ISSUE-233 refactor(consumer): remove event if consumer service shutdown.
- ISSUE-236 style(apis): remove unnessary comments in the CPP head files.
Bug:
- ISSUE #209 fix(consumer): fix the issue that message will be lost if sent back to broker failed.
- ISSUE #210 fix(consumer): the message was sent back to broker error when it be consumed failed.
- ISSUE #213 fix(producer): fix the issue that it will coredump in DestroyProducer function when the producer shutdown.
- ISSUE #220 chore(notice): update the year to 2020 in notice file.
- ISSUE #223 style(protocol): remove unnessary printing in the protocol decode file and add some test cases for it.
- ISSUE #228 feat(libevent): update libevent to v2.1.11 to avoid get mutex time out.
- ISSUE #237 fix(build): fix variable in build script.
rocketmq-client-cpp-1.2.5
This release will update the RocketMQ protocol to v2 version and support namespace settings, and fix some bugs, further improved the stability of the CPP core.
New Future:
- ISSUE-207 feat(namespace): add name space support.
- ISSUE-225 fix(send): try to use command v2 to send messages.
- ISSUE-235 feat(interface): remove boost in header file and examples.
- ISSUE-238 feat(package): add rpm build and dpkg build script.
Improvement:
- ISSUE-206 refactor(rebalance): use smart_ptr to manage pull request.
- ISSUE-214 fix(unittest): refactor some unitests.
- ISSUE-222 feat(client): add timer to clean off line broker and test case.
- ISSUE-227 feat(memleak): remove mem leak in factory schedule task.
- ISSUE-230 feat(version): add maxConsumerTimes to support higher client version.
- ISSUE-232 feat(callback): use start pointer to manager callbacks.
- ISSUE-233 feat(consumer): remove event if consumer service shutdown.
- ISSUE-236 feat(apis):refactor apis for CPP styles.
Bug:
- ISSUE #209 fix(consumer): fix the issue that msg lost when send back to broker failed.
- ISSUE #210 fix(consumer): send back error when consuming failed.
- ISSUE #213 fix(producer) crash in DestroyProducer shutdown.
- ISSUE #223 fix(protocol): delete string print in header decode and open test cases.
- ISSUE #228 feat(libevent): update libevent to v2.1.11 to avoid get mutex time out.
- ISSUE #237 fix(build): fix variable in build script.
rocketmq-client-cpp-1.2.4
This release will open some new C style APIs such as sending orderly messages with sharing key and continully polish the transport layer, and fix some bugs, further improved the stability of the CPP core.
New Future:
- ISSUE #188 feat(producer): add method for orderly message sending by shardingkey.
- ISSUE #190 feat(consumer): add set max cache size for consumer c-style apis.
- ISSUE #193 feat(producer): support user data in async callback.
- ISSUE #199 feat(transaction): add transaction message for C APIs.
Improvement:
- ISSUE #165 optimize transport layer.
- ISSUE #171 replace boost::thread::hardware_concurrency with std version.
- ISSUE #195 style(example):format the code style in example.
- ISSUE #201 feat(errorno): add new error no for transaction producer.
Bug:
- ISSUE #178 fix the typo bug in DefaultMQPushConsumer::getConsumerRunningInfo.
- ISSUE #183 remove boost from StringIdMaker, and fixed some bugs.
- ISSUE #186 fix the bug that skip compressing if message is a batch one.
rocketmq-client-cpp-1.2.3
This release will support sending translation messages and sending messages with the batch model by C style API and support error code and error message in C API returns, polish the transport layer, and fix some bugs, further improved the stability of the CPP core.
New Future:
- ISSUE #139 Export send batch messages api in c style.
- ISSUE #154 Support transaction message.
- ISSUE #138 Support error code and error message in C api returns.
Improvement:
- ISSUE #140 Fix build warnings in namespace util.
- ISSUE #143 Replace unsigned int by auto to save string::size_type.
- ISSUE #157 Remove two unused functionalities, removeDropedPullRequestOpaque and deleteOpaqueForDropPullRequest.
- ISSUE #159 Update unit test case for response future.
- ISSUE #160 Optimize BatchMessage detection in producer send kernel.
- ISSUE #127 Support muti-threads compile in build.sh
- ISSUE #167 Support 64bit boost library on windows.
- ISSUE #172 Remove useless code and fix compile warnings.
- ISSUE #179 Modify deploy shell to package license and notice file.
Bug:
- ISSUE #52 Fix infinite loop on TCP transport connect.
- ISSUE #152 Resolve the bug without encoding batch flag when sending the batch message.
- ISSUE #156 Use io-thread pool and work-thread pool in the network callback to resolve the deadlock in block-request.
- ISSUE #175 Fix the deathlock on pull request process of the orderly consumer.
rocketmq-client-cpp-1.2.2-rc1
This release will support sending the messages by the orderly model and batch model, support connects MQ endpoint with ACL, polish the unit test cases and transport layer, and fixed some bugs, further improved the stability of the CPP core.
New Future:
- Unit Tests Polish the unit test cases.
- ISSUE #94 Support send batch messages to the broker.
- ISSUE #102 Export C api for send the orderly message by async model.
- ISSUE #118 Support send message oneway orderly for C API.
- ISSUE #121 Support connect MQ endpoint with ACL.
Improvement:
- ISSUE #70 Optimize memory copy in MemoryBlock by move constructor and move assignment.
- ISSUE #72 Enable clang format in CI.
- ISSUE #77 Optimize the process of allocate opaque by atomic without a lock.
- ISSUE #105 Support consuming message from slave broker when the master broker is unavailable.
- ISSUE #131 Format project with clang-format Chromium
- ISSUE #136 Modify project name to rocketmq-client-cpp in CMakeList file
Bug:
- ISSUE #89 Fixed the issue that it will crash when orderly push consumer start.
- ISSUE #92 Fixed the issue that message id is different from Java SDK.
- ISSUE #98 Fixed the issue that name server address can not be set to the hostname.
- ISSUE #134 Fixed the issue that ResponseFuture leak when invokeHeartBeat is failed.
rocketmq-client-cpp-1.2.2
This release will support sending the messages by the orderly model and batch model, support connects MQ endpoint with ACL, polish the unit test cases and transport layer, and fixed some bugs, further improved the stability of the CPP core.
New Future:
- Unit Tests Polish the unit test cases.
- ISSUE #94 Support send batch messages to the broker.
- ISSUE #102 Export C api for send the orderly message by async model.
- ISSUE #118 Support send message oneway orderly for C API.
- ISSUE #121 Support connect MQ endpoint with ACL.
Improvement:
- ISSUE #70 Optimize memory copy in MemoryBlock by move constructor and move assignment.
- ISSUE #72 Enable clang format in CI.
- ISSUE #77 Optimize the process of allocate opaque by atomic without a lock.
- ISSUE #105 Support consuming message from slave broker when the master broker is unavailable.
- ISSUE #131 Format project with clang-format Chromium
- ISSUE #136 Modify project name to rocketmq-client-cpp in CMakeList file
Bug:
- ISSUE #89 Fixed the issue that it will crash when orderly push consumer start.
- ISSUE #92 Fixed the issue that message id is different from Java SDK.
- ISSUE #98 Fixed the issue that name server address can not be set to the hostname.
- ISSUE #134 Fixed the issue that ResponseFuture leak when invokeHeartBeat is failed.