Feature
- [ISSUE #7545] [RIP-65] Support efficient random index for massive messages by @lizhimins in #7546
- [ISSUE #7064] [RIP-66] Support KV(RocksDB) Storage for ConsumeQueue by @fujian-zfj in #7120
- [ISSUE #7300] [RIP-67] jRaft-Controller Implementation by @yulangz in #7301
Improvement
- [ISSUE #7381] Fix the problem of inaccurate timer message metric by @GenerousMan in #7382
- [ISSUE #7389] Fix the problem that getLastMappedFile function affects performance by @guyinyou in #7390
- [ISSUE #7393] Add timeout configuration for grpc server by @drpmma in #7394
- [ISSUE #7396] Fix wrong word in BrokerController#doResterBrokerAll by @francisoliverlee in #7397
- [ISSUE #7313] Enhancement Optimization Method name by @shriVATSA54 in #7420
- [ISSUE #7321] Refactor NettyRemotingAbstract with unify future implementation by @drpmma in #7322
- [ISSUE #7296] Add ChannelEventListener for MQClientAPIImpl by @drpmma in #7324
- [ISSUE #7429] Clean channel map when CLIENT_UNREGISTER in proxy by @xdkxlk in #7426
- [ISSUE #7431] Fix flaky test of DLedgerControllerTest#testBrokerLifecycleListener by @RongtongJin in #7432
- [ISSUE #7433] Update the version in the README.md document to 5.1.4 by @mxsm in #7434
- [ISSUE #7441] Fix log "Init the confirmOffset" keep printing error in controller mode by @fujian-zfj in #7442
- [ISSUE #7444] Fix testCalculateFileSizeInPath test can not rerun in same environment by @RongtongJin in #7445
- [ISSUE #7425] Add RocketmqControllerConsole log to print config to console by @ingdex in #7458
- [ISSUE #7451] Override toString for TopicConfigAndQueueMapping by @LetLetMe in #7452
- [ISSUE #7265] Adding how to debug in Idea document by @joeCarf in #7266
- [ISSUE #7464] Polish the pop logger format by @joeCarf in #7465
- [ISSUE #7330] Fix channel connect issue for goaway by @drpmma in #7467
- [ISSUE #7472] AddBroker removes parsing configuration from body by @RongtongJin in #7472
- [ISSUE #7454] Utilizing cache to avoid duplicate parsing by @guyinyou in #7455
- [ISSUE #7475] Check the input yaml and the path in ACL by @GenerousMan in #7475
- [ISSUE #7231] Fix proxy client language error by @weihubeats in #7200
- [ISSUE #7489] Code comment enhancement in example by @joeCarf in #7490
- [ISSUE #7493] Introduce a new event NettyEventType.ACTIVE by @drpmma in #7494
- [ISSUE #7486] Remove getBrokerClusterAclConfig from admin and server by @RongtongJin in #7486
- [ISSUE #7497] Extract the frequency of calling updateNamesrvAddr into a configuration by @xdkxlk in #7498
- [ISSUE #7437] Add the CRC check of commitlog by @guyinyou in #7468
- [ISSUE #7505] Do not validate the length when deleting a topic by @RongtongJin in #7506
- [ISSUE #7501] The broker supports idempotence in creating topics by @fuyou001 in #7502
- [ISSUE #7523] Message will flush timeout when transientStorePoolEnable=true and flushDiskType=SYNC_FLUSH by @fujian-zfj in #7524
- [ISSUE #7531] Clear POP_CK when sending messages by @xdkxlk in #7532
- [ISSUE #7419] Fix unstable UtilAllTest#testCalculateFileSizeInPath on Windows by @mureinik in #7419
- [ISSUE #7547] Let consumer be aware of message queue assignment change by @lizhanhui in #7548
- [ISSUE #7551] Reuse helper methods from Netty to free direct byte buffer by @lizhanhui in #7550
- [ISSUE #7570] Add default value for lastPopTimestamp by @HScarb in #7571
- [ISSUE #7462] Remove deprecated LocalTransactionExecuter by @985492783 in #7463
- [ISSUE #7567] TransactionProducer get the topic route before sending the message by @panzhi33 in #7569
- [ISSUE #7543] Retry topic v2 in pop by @drpmma in #7544
- [ISSUE #7577] SlaveActingMaster Timer Message retry without escape logic by @AYue-94 in #7578
- [ISSUE #7584] Add validation in broker/namesrv configure updating command. by @ShannonDing in #7584
- [ISSUE #7587] Add validation in broker container configure updating command by @RongtongJin in #7587
- [ISSUE #7586] Add set method for config black list in broker/namesrv/controller config. by @ShannonDing in #7586
- [ISSUE #7592] testCleanBuffer unit test modifies, changed non-direct … by @yp969803 in #7593
- [ISSUE #7534] Use high performance concurrent set to replace copyonwriteset by @keranbingaa in #7583
- [ISSUE #7585] Support message filtering in rocketmq tiered storage by @lizhimins in #7594
- [ISSUE #7614] Fix flaky test RocksDBMessageStoreTest by @lizhanhui in #7625
- [ISSUE #7638] Bump com.squareup.okio:okio-jvm from 3.0.0 to 3.4.0 by @dependabot in #7638
- [ISSUE #7627] Fix flaky test testSemiSyncReplicaWhenAdaptiveDegradation by @RongtongJin in #7631
- [ISSUE #7636] Bump snakeyaml from 1.32 to 2.0 by @RongtongJin in #7632
- [ISSUE #7637] Bump grpc from 1.50.0 to 1.53.0 by @RongtongJin in #7633
- [ISSUE #7634] Introduce controllableOffset to prevent unnecessary suspension when OFFSET_ILLEGAL by @drpmma in #7635
- [ISSUE #7585] Always return duplicate buffer when filter message and fix log format by @lizhimins in #7654
- [ISSUE #7543] Use "+" as the new separator for retry topic by @drpmma in #7655
- [ISSUE #7543] Only call a single type of retry topic in pop by @drpmma in #7665
- [ISSUE #7646] Optimize pull onException logging by @drpmma in #7647
- [ISSUE #7659] Trim property by @DongyuanPan in #7660
- [ISSUE #7656] ConfirmOffset directly takes the max offset when allAckInSyncStateSet is false by @RongtongJin in #7657
- [ISSUE #7669] Map variable delayLevelTable changed to ConcurrentSkipL… by @yp969803 in #7675
- [ISSUE #7679] Optimize the serialization of RemotingCommand processTimer property by @mxsm in #7683
- [ISSUE #7676] Use clientDecode for consuming message directly by @cserwen in #7677
- [ISSUE #7680] Bump guava version from 31.1-jre to 32.0.1-jre by @RongtongJin in #7681
- [ISSUE #7330] Add goaway and reconnection mechanism by @drpmma in #7331
- [ISSUE #7686] The bornTime is not set when using the popMessage API in cluster mode. by @dingshuangxi888 in #7687
- [ISSUE #7642] Add return value for sendHeartbeat related method by @drpmma in #7643
- [ISSUE #7644] Optimize client rebalance by @drpmma in #7645
- [ISSUE #7710] Handle blank string for UtilAll#split to fix the bugs of ACL by @Qinglong-Lee in #7712
- [ISSUE #7719] Add more property check for dealy message when auto-ba… by @zhiliatom in #7720
- [ISSUE #7543] Add enableRetryTopicV2 brokerConfig by @drpmma in #7734
- [ISSUE #7699] Add namespace v2 in client by @drpmma in #7700
- [ISSUE #7747] Simplify code checks using Optional in ClientRequestProcessor#getRouteInfoByTopic method by @mxsm in #7748
- [ISSUE #7495] Support Higher Java version in Windows by @joeCarf in #7507
- [ISSUE #7757] Use
CompositeByteBuf
to prevent memory copy. by @dao-jun in #7694 - [ISSUE #7760] Make timerSkipUnknownError can be set by config file by @leizhiyuan in #7763
- [ISSUE #7500] Enhanced metrics for timing and transactional messages by @GenerousMan in #7500
- [ISSUE #7699] Refactor NamespaceRpcHook by @drpmma in #7769
- [ISSUE #7774] Make the handle of ppv2 tlv more extendable by @dingshuangxi888 in #7775
- [ISSUE #7781] Get namespace from gRPC header by @drpmma in #7782
- [ISSUE #7772] Ensuring broker protection capabilities when POP does not return ACK by @GenerousMan in #7773
- [ISSUE #7785] Remove the redundant code by @wyyl1 in #7784
- [ISSUE #7777] Optimize the logic of DefaultRequestProcessor#getTopicsByCluster to avoid unnecessary deserialization by @mxsm in #7778
- [ISSUE #7786] Optimize the execution logic of tool.sh in the JRE environment by @sevenleave in #7787
- [ISSUE #7446] Add config of maxFilterMessageSize by @SchopenhauerZhang in #7447
- [ISSUE #5613] Change the broker default value configuration by @yp969803 in #7581
- [ISSUE #7765] Fix unit test testEstimateLag by @landonchan90 in #7805
- [ISSUE #7797] Update copyright year to 2024 by @RongtongJin in #7797
- [ISSUE #7715] Update Bazel toolchain to make the CI work by @bazelisky in #7714
- [ISSUE #7791] Polish the code for jraft controller by @RongtongJin in #7792
- [ISSUE #7538] Fix wrong cachedMsgSize if msg body is changed in consumer callback by @yuz10 in #7807
- [ISSUE #7622] Revise the measurement method of GROUP_GET_LATENCY to reveal its intended semantics by @RongtongJin in #7808
- [ISSUE #7803] Add try catch for lock and unlock by @drpmma in #7804
- [ISSUE #7740] Optimize LocalFileOffsetStore by @redlsz in #7819
- [ISSUE #7822] Fix NettyRemotingClient can't connect to IPv6 address. by @kingkh1995 in #7823
Bug
- [ISSUE #7398] Fix ExportConfigsCommand NPE by @shirenchuang in #7399
- [ISSUE #7400] Fix getBrokerEpochSubCommand NPE by @shirenchuang in #7401
- [ISSUE #7410] Handle the Exception when the Proxy requests the client failed. by @dingshuangxi888 in #7411
- [ISSUE #7412] Fix pop revive message error when the checkpoint is a reput one by @redlsz in #7413
- [ISSUE #7439] Add getter for class Message to fix json serialize bug by @LetLetMe in #7439
- [ISSUE #7453] Fix the problem in constructing the GetMessageResult by @guyinyou in #7456
- [ISSUE #7511] Lock granularity issue causing LMQ message loss by @DongyuanPan in #7525
- [ISSUE #7562] BugFix for estimating message accumulation correctly by @lollipopjin in #7563
- [ISSUE #7574] Fix RunningFlags conflict by @guyinyou in #7575
- [ISSUE #7545] Fix set mapped file to null cause file can not destroy by @lizhimins in #7612
- [ISSUE #7601] Fix slave acting master bug by @gaoyf in #7603
- [ISSUE #7626] Topic perm was mistakenly changed to 4 in dledger mode by @LittleBoy18 in #7661
- [ISSUE #7684] Fix iterator.remove() bug by @EvanMi in #7682
- [ISSUE #7702] Fix ascii check for ppv2 tls. by @dingshuangxi888 in #7703
- [ISSUE #7697] Fix can't open controller metricsExporter. by @baijun44 in #7705
- [ISSUE #7689] In Controller mode, messages may lost due to sharing the same cq offset by @GenerousMan in #7690
- [ISSUE #7658] Fix bug of timer message metrics with setDelayTimeMs by @leizhiyuan in #7743
- [ISSUE #7753] Fix ppv2 tls ascii start with (byte)2 by @dingshuangxi888 in #7753
- [ISSUE #7599] Fix dledger recover abnormally may lost consume queue of tail by @bxfjb in #7599
- [ISSUE #7812] Remove reachable flag in brokers' available judgement. by @GenerousMan in #7814
- [ISSUE #7813] SetStartDetectorEnable Not effective by @leizhiyuan in #7825
New Contributors
- @shriVATSA54 made their first contribution in #7420
- @LetLetMe made their first contribution in #7439
- @golden-yang made their first contribution in #7436
- @mureinik made their first contribution in #7419
- @985492783 made their first contribution in #7463
- @AYue-94 made their first contribution in #7578
- @yp969803 made their first contribution in #7593
- @LittleBoy18 made their first contribution in #7661
- @EvanMi made their first contribution in #7682
- @baijun44 made their first contribution in #7705
- @Qinglong-Lee made their first contribution in #7712
- @dao-jun made their first contribution in #7694
- @bxfjb made their first contribution in #7599
- @wyyl1 made their first contribution in #7784
- @sevenleave made their first contribution in #7787
- @yulangz made their first contribution in #7301
- @landonchan90 made their first contribution in #7805
- @bazelisky made their first contribution in #7714
- @kingkh1995 made their first contribution in #7823
Full Changelog: rocketmq-all-5.1.4...rocketmq-all-5.2.0