Releases: apache/rocketmq-client-go
rocketmq-client-go-2.1.0-rc4
The main goal of this release is to improve stability, usability, and fix bugs and the source code of this release is the copy of the master which has merged from the native branch.
New Feature
- [ISSUE #457] feat(nameserver): support name server resolver.
Improvement
- [ISSUE #474] feat(trace): support name server resolver in TraceConfig.
- [ISSUE #483] fix README.md typo.
Bug
- [ISSUE #472] fix(heartbeat): the value of the message mode, type, and the consume flag is wrong in the heartbeat data.
- [ISSUE #495] set default of SendResult.Status and fix panic
rocketmq-client-go-2.1.0-rc3
The main goal of this release is to improve stability, usability, and fix bugs and the source code of this release is the copy of the master which has merged from the native branch.
New Feature
- [ISSUE #457] feat(nameserver): support name server resolver.
Improvement
- [ISSUE #474] feat(trace): support name server resolver in TraceConfig.
Bug
- [ISSUE #472] fix(heartbeat): the value of the message mode, type, and the consume flag is wrong in the heartbeat data.
rocketmq-client-go-2.1.0-rc2
The main goal of this release is to improve stability, usability, and fix bugs and the source code of this release is the copy of the master which has merged from the native branch.
New Feature
- [ISSUE #457] feat(nameserver): support name server resolver.
Improvement
- [ISSUE #474] feat(trace): support name server resolver in TraceConfig.
Bug
- [ISSUE #472] fix(heartbeat): the value of the message mode, type, and the consume flag is wrong in the heartbeat data.
rocketmq-client-go-2.1.0-rc1
The main goal of this release is to improve stability, usability, and fix bugs.
New Feature
- [ISSUE #457] feat(nameserver): support name server resolver.
Bug
- [ISSUE #472] fix(heartbeat): the value of the message mode, type, and the consume flag is wrong in the heartbeat data.
rocketmq-client-go-2.0.0
This is the first product ready RocketMQ Client in pure go, it supports almost the full features of Apache RocketMQ, such as pub and sub messages, ACL, tracing and so on.
New Feature
- [FEATURE 1] Features in 2.0.0-alpha1.
- [FEATURE 2] Features in 2.0.0-alpha2.
- [FEATURE 3] Features in 2.0.0-alpha3.
- [FEATURE 4] Features in 2.0.0-rc1.
- [FEATURE 5] Features in 2.0.0-rc2.
Improvement
- [ISSUE #438] Add WithNameServerDomain for producer opt .
Bug
- [ISSUE #437] Fix the issue that can not consume the messages in the retry topic .
- [ISSUE #442] Change consume type to avoid fastjson decode error in lower broker version .
- [ISSUE #445] UpdateNameServerAddress shoule be called before producer start to avoid to lead to a panic.
- [ISSUE #449] Correct msgid using unique id .
- [ISSUE-#450] Ignore eof error when conn closed.
- [ISSUE #462] Fix the trace message was send failed.
rocketmq-client-go-2.0.0-rc2
The main goal of this release is to improve stability, usability, and fix bugs. meantime, this release update the package version to v2.
New Feature
- ISSUE #378 chore(doc): update notice and open statistic label.
- ISSUE #385 feat(mod): update go mod to support v2.
- ISSUE #416 feat(producer): auto create topic support in the producer.
- ISSUE #420 feat(strategy): sort the message queue list with ASC when do rebalance.
Improvement
- ISSUE #403 refactor(consumer): remove retry topic check when consumer start.
- ISSUE #406 refactor(nameserver): refactor the implement of UpdateTopicRouteInfo function.
- ISSUE #408 feat(buffer): reuse bytes.Buffer in message ID creating.
- ISSUE #414 fix(consumer): use sync method to upload offset instead async method.
Bug
- ISSUE #387 fix(consumer): cocorrect the consume type when get runtime info from broker.
- ISSUE #390 fix(consumer): move updatePullFromWhichNode ahead of result check.
- ISSUE #393 fix(consumer): should not lock all message queues when push comsumer start.
- ISSUE #396 fix(core): unalign field panic in the atomic operation .
- ISSUE #418 fix(consumer): subinfo is updated failed when the message queues are scale out.
- ISSUE #422 chore(travisci): use archive server to avoid download rocketmq package failed .
- ISSUE #429 fix(consumer): the brokerName is not found when the broker recover from machine crash.
- ISSUE #436 fix(producer): update name server address immediately when client start.
rocketmq-client-go-2.0.0-rc1
The main goal of this release is to improve stability, usability, and fix bugs. meantime, this release supports some new features like namesrv domain, batch message send, panic handler.
New Feature
- [ISSUE #314] support name server domain
- [ISSUE #331] support batch message send
- [ISSUE #354] support PanicHandler
Improvement
- [ISSUE #313] add mutex for rebalance
- [ISSUE #318] using atomic status for producer/consumer
- [PR #327] prevent pc.prch blocking
- [ISSUE #328] message add GetProperties func
- [ISSUE #340] change transaction producer interface signature
- [ISSUE #344] advanced timeout
- [ISSUE #352] use jsoniter to replace with json
- [ISSUE #356] redesign consumer stat
- [ISSUE #360] use pool for header codec
Bug
- [ISSUE #317] incorrect impl of equals
- [ISSUE #321] lots of incorrect impl
- [PR-330] fix bugs of panic when decode MessageExt
- [ISSUE #334] concurrent read/write for broker version
- [ISSUE #338] fix route
- [ISSUE #349] pull timeout and suspend time is not consistent with java
- [ISSUE #362] more consumer option
Document and code style improvement
- [ISSUE #323] remove extra code
- [ISSUE #335] rename shutdown instead of shundown
- [ISSUE #358] rename persistent with interval
- [ISSUE #366] remove extra code
- [ISSUE #369] remote extra code for internal/utils
- [ISSUE #371] clean extra code for internal packagec
rocketmq-client-go-2.0.0-alpha3
The main goal of this release is to improve stability, usability, and fix bugs. meantime, this release supports some new features like delay messages, transaction producer, namespace, etc.
New Feature
- [ISSUE-120]: add AllocateByConsistentHash algorithm and it's test
- [ISSUE-120]: add GetNamesrv round-robin strategy testing
- [ISSUE-122]: add msg delay to send
- [ISSUE-124]: add trace feature
- [ISSUE-137]: add transaction producer
- [ISSUE-147]: support Namespace and domain of namesrv
- [ISSUE-162]: support multi namesrv
- [ISSUE-207]: feat: support log level and log path
- [ISSUE-209]: feat: support hashQueueSelector
- [ISSUE-272]: structured Log
- [ISSUE-290]: add SetLogger method
- [ISSUE-301]: add GET_CONSUMER_RUNNING_INFO handler
Improvement
- [ISSUE-120]: update defaultConsumer.client init AND add push_consumer testing
- [ISSUE-128]: update mockgen command line
- [ISSUE-130]: add Shutdown of PushConsumer
- [ISSUE-134]: unify interceptor usage
- [ISSUE-139]: add locker for updating data
- [ISSUE-148]: add consume/statistic.go unit test
- [ISSUE-176]: add ctx to rmqClient & remoteClient
- [ISSUE-178]: add ut for defaultConsumer
- [ISSUE-180]: add tag filter example.
- [ISSUE-188]: fix consumer example & remove extra file
- [ISSUE-190]: modify some code to be more elegant.
- [ISSUE-192]: refactor MessageSelector
- [ISSUE-194]: fix: avoid extra err info when pushConsumer startup
- [ISSUE-195]: fix the domain checker was rollback before
- [ISSUE-201]: change default consumer option to Clustering
- [ISSUE-243]: fix: replace consistent package
- [ISSUE-252]: reduce receive memory usage
- [ISSUE-259]: graceful shutdown pc locker
- [ISSUE-304]: use Atomic-Bool
Bug
- [ISSUE-120]: add broadcast consumer examples
- [ISSUE-120]: update strategy and add offset_store test
- [ISSUE-135]: fix bufio.Scanner token too long error
- [ISSUE-144]: fix nil pointer when file not exist
- [ISSUE-164]: add UnCompress function implementation
- [ISSUE-166]: make Access Message.Properties thread safety
- [ISSUE-173]: fix namesrv rr bug and remove extra code.
- [ISSUE-183]: add set consumeMessageBatchMaxSize and fixed count++ skip one message
- [ISSUE-184]: fix errors of using internal codes in the exported snippet
- [ISSUE-186]: fix offsetSotre
- [ISSUE-194]: consumerGroup cannot auto create
- [ISSUE-202]: fix: support acl for trace
- [ISSUE-211]: fix unmarhsal messageID bug
- [ISSUE-221]: fix: avoid file not found err when remove old offset file
- [ISSUE-234]: fix: support multiple consumer&producer
- [ISSUE-271]: fix bugs that can't consume multiple topics in single consumer
- [ISSUE-281]: fix SearchOffsetByTimestamp protocol bug
- [ISSUE-285]: goroutine leak when shutdown
- [ISSUE-293]: optimize Close of rmqClient
- [ISSUE-299]: offset store read missing fallthrough for _ReadMemoryThenStore
Document and code style improvement
rocketmq-client-go-1.2.4
The main goal of this release is to support some new features, e.g. send an orderly message by sharing key and send transaction messages.
Feature
- [PR-222] - feat(producer): support lite producer to send message by sharding key
- [PR-225] - feat(consumer): add set max cachesize api to support simple flow-control
- [PR-261] - feat(transaction): add transaction producer message
Improvement
- [PR-251] - delete useless GroupName and make subscribe method correct
Bug
rocketmq-client-go-1.2.2
This release is for the Golang client of Apache RocketMQ. It is based on the kernel of the CPP client and uses cgo to encapsulate the API Implementation of C.
The current version provides the following functions:
- support orderly sending of messages by sharding key;
- create some simply demos;
- deprecate pull consuming model;