This topic describes the release notes for the TCP client SDK for C++. The release notes include the release date, download link, and feature updates for each release. You can choose a version of the SDK for C++ that meets your business requirements to send and subscribe to messages based on the description of this topic.

After you obtain the SDK for C++, you must prepare an environment for the SDK based on the usage notes of the SDK for C++. The procedure for preparing an environment varies based on the version of the SDK.
Notice

You can upgrade your TCP client SDK for C++ to V3.x.x only in the China (Chengdu), China (Qingdao), and China (Shenzhen) regions. Do not upgrade your TCP client SDK for C++ to V3.x.x in other regions to ensure that you can use the SDK to connect to Message Queue for Apache RocketMQ. If you need to upgrade your TCP client SDK for C++ to V3.x.x in other regions, submit a ticket to contact Alibaba Cloud technical support.

3.0.0

Release date Description Supported region Open source code Download link for Linux Download link for CentOS
Ubuntu 18.04 Ubuntu 20.04 Debian RPM
2021-10-18

Optimized features

  • Load balancing: Load balancing is performed based on messages. This makes the message loads more balanced.
  • Public endpoint: A Message Queue for Apache RocketMQ instance can be accessed by using a public TCP endpoint.
  • Dashboard: Various metrics are added. The added metrics include the number of accumulated messages and the duration and success rate of each step from message production to message consumption.
  • Message tracing: More parameters are included in trace query results. These parameters are related to scheduled messages, delayed messages, transactional messages, and message consumption.
  • Ordered messages: The maximum number of retries is changed to 16.
  • Transactional messages: The logic for processing exceptions that are related to transactional messages is optimized.
  • Broadcasting consumption: The consumer offset can be customized when you start a consumer.
  • Push mode: The consumption throttling feature is supported. The processing logic is optimized for scenarios in which the number of consumption threads is abnormal.
  • Logging configuration: The default log path is changed. Log levels are added. Environment variables are supported.
  • Client creation: The logic for handling errors is optimized.
  • Push mode: The consumption throttling feature is supported. The processing logic is optimized for scenarios in which the number of consumption threads is abnormal.
  • Changes in API operations.

Fixed issues

  • The following issue is fixed: When the updateCredential operation is called multiple times in a short period of time, cross-account authorization for Resource Access Management (RAM) roles by using Security Token Service (STS) fails because atomicity is not ensured when the AccessKey ID, AccessKey secret, and STS token are updated.
Note For more information, see Release notes for the SDK for C++.
This version of SDK is available only in the following regions:
  • China (Chengdu)
  • China (Qingdao)
  • China (Shenzhen)
ons-client-cpp aliyun-mq-cpp-sdk-ubuntu18.tar.gz aliyun-mq-cpp-sdk-ubuntu20.tar.gz aliyun-mq-linux-cpp-sdk-centos7.2.tar.gz aliyun-mq-linux-cpp-sdk-centos8.4.tar.gz

2.1.1

Release date Description Download link for Windows Download link for Linux Download link for Darwin
TAR.GZ (CentOS 8) TAR.GZ Debian RPM
2020-11-26

Added features

  • The 64-bit version of Windows is supported.

Fixed issues

  • The maximum heap memory of Substrate VM (SVM) is 64 MB, and the maximum runtime memory is 300 MB.
aliyun-ons-win64-sdk.zip aliyun-mq-linux-cpp-sdk-centos8.tar.gz aliyun-mq-linux-cpp-sdk.tar.gz aliyun-mq-linux-cpp-amd64.deb aliyun-mq-linux-cpp-1.alios7.x86-64.rpm aliyun-mq-darwin-cpp-sdk.tar.gz

2.1.0

Release date Description Download link for Windows Download link for Linux Download link for Darwin
2020-11-06

Fixed issues

  • The ROCKETMQ_LOG_HOME environment variable and the ONSFactoryProperty::LogPath configuration item can be used to specify a log path.
  • The following issue is fixed: The Count the Number of Trailing Zero Bits (TZCNT) instruction causes message bodies to be truncated in the Sandy Bridge microarchitecture.
  • The ons::Message(const std::string&topic, const std::string&body) constructor is added to ensure compatibility with V1.x.x.
N/A aliyun-mq-linux-cpp-sdk.tar.gz aliyun-mq-darwin-cpp-sdk.tar.gz

2.0.0

Release date Description Download link for Windows Download link for Linux Download link for Darwin
2019-06-28

Added features

  • A native image is used to generate a C++ native library based on the kernel of the SDK for Java V1.8.0. The features of the SDK for C++ V2.0.0 are the same as those of the SDK for Java V1.8.0.
  • Backward compatibility is ensured based on the interfaces of ons-cpp V1.x.x.
  • Faster startup and more efficient execution are supported with no need to use third-party dependencies.
N/A aliyun-mq-linux-cpp-sdk.tar.gz aliyun-mq-darwin-cpp-sdk.tar.gz

1.1.2

Release date Description Download link for Windows Download link for Linux
2019-01-16

Added features

  • The following methods of accessing Message Queue for Apache RocketMQ are available for users who use instantiated resources. The access methods for users who do not use instantiated resoures remain unchanged:
    • Configure NAMESRV_ADDR that contains InstanceId.
    • Configure InstanceId and NAMESRV_ADDR that does not contain InstanceId.
  • Producer IDs and consumer IDs are replaced with group IDs.
aliyun-mq-windows-cpp-sdk.zip aliyun-mq-linux-cpp-sdk.tar.gz

1.1.1

Release date Description Download link for Windows Download link for Linux
2018-07-31

Added features

  • SSL encryption is supported for message transmission. Take note that this feature is available only in Message Queue for Apache RocketMQ Enterprise Platinum Edition.
  • The PushConsumer class can be used to pull messages in asynchronous mode at a higher speed.

Fixed issues

  • The issues related to ordered messages are fixed.
  • The logging feature is optimized to return logs only when rebalancing results change.
  • The following issue is fixed: The system flag cannot be serialized to the header of a one-way request.
aliyun-mq-windows-cpp-sdk.zip aliyun-mq-linux-cpp-sdk.tar.gz

Earlier versions

1.1.0

Release date Description Download link for Windows Download link for Linux
2017-07-25

Fixed issues

  • The following issue is fixed: Core dumps are caused when a consumer is shut down.
  • The following issue is fixed: Access over HTTP is unavailable to the underlying URL class in Windows.
  • The following issue is fixed: Timestamp errors occur in message traces.
  • The following issue is fixed: Incorrect local IP addresses are displayed in message traces.
  • Memory leaks in Windows are fixed.
aliyun-mq-windows-cpp-sdk.zip aliyun-mq-linux-cpp-sdk.tar.gz

1.0.9

Release date Description Download link for Windows Download link for Linux
2016-12-29

Added features

  • Messages can be sent in one-way mode.
  • Ordered messages are supported.
  • The timeout period for sending messages can be set.
  • The maximum number of retries for messages can be set.

Fixed issues

  • Resource leaks during shutdown are fixed.
  • Core dumps during shutdown are fixed.
N/A N/A

1.0.8

Release date Description Download link for Windows Download link for Linux
2016-12-02

Added features

  • The earlier version of the SDK for C# is no longer supported. An updated version of the SDK for C# is generated by using SWIG. The updated version provides more stable support for ASP.NET.
  • Log paths can be customized.
  • Built-in UTF-8 encoding is provided to support implicit encoding and decoding.
  • The MQ_GUIDE documentation is provided. The ASP.NET demo is provided.

Optimized features

  • The boost library is updated to V1.6.2.

Fixed issues

  • The following issue is fixed: Core dumps occur when the producers or consumers of ordered messages are shut down.
N/A N/A

1.0.7

Release date Description Download link for Windows Download link for Linux
2016-11-15

Added features

  • Consumption throttling is supported for consumers. By default, 1,000 messages are pulled and stored in the memory and then called back by the callback function one by one.
  • Ordered messages are supported.
  • The timeout period for sending messages can be set.
  • The maximum number of retries for messages can be set.

Optimized features

  • The message tracing feature is optimized. A separate thread pool is used to send trace data.
  • The granularity of the TCP lock is optimized.

Fixed issues

  • Issues related to message tracing are fixed.
  • Core dumps during shutdown are fixed.
  • Memory leaks are fixed.
  • The following issue is fixed: An exception is thrown if a message tag contains double vertical bars ().
N/A N/A