)]}'
{
  "log": [
    {
      "commit": "9fe1449d19449b41442aa3a97ab168ed6b5bd6b1",
      "tree": "d39045ba9db37f9af064d1061c67b82c9b7699da",
      "parents": [
        "54471119387ad64a19f930164e64d9b30e1acd57"
      ],
      "author": {
        "name": "qianye",
        "email": "wuxingcan.wxc@alibaba-inc.com",
        "time": "Wed Jul 29 14:10:37 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 14:10:37 2026 +0800"
      },
      "message": "[ISSUE #1309] [Java] Improve gRPC transport resilience (#1310)"
    },
    {
      "commit": "54471119387ad64a19f930164e64d9b30e1acd57",
      "tree": "1f565e02a38cc66e001cea79746ca1e74a1718f3",
      "parents": [
        "5939e374500b4b1572acd23979a61a5f6426f876"
      ],
      "author": {
        "name": "Quan",
        "email": "zsjperiod@foxmail.com",
        "time": "Wed Jul 29 11:32:10 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 11:32:10 2026 +0800"
      },
      "message": "feature(golang): support LiteSimpleConsumer (#1314)\n\n- Add LiteSimpleConsumer interface and implementation with SubscribeLite/UnSubscribeLite/GetLiteTopicSet\n- Extract liteSubscriptionManager shared by lite push/simple consumers\n- Carry LiteTopic in Ack and ChangeInvisibleDuration requests for lite simple consumer\n- Filter topic route to a single readable master queue for lite simple consumer\n- Report actual client type in heartbeat instead of hardcoded SIMPLE_CONSUMER"
    },
    {
      "commit": "5939e374500b4b1572acd23979a61a5f6426f876",
      "tree": "98ab24c82bf71dc5ae281bffda052641dc9ef319",
      "parents": [
        "3180b68cf0f908f29cd2162c0ddf645adae6b0a6"
      ],
      "author": {
        "name": "guyinyou",
        "email": "36399867+guyinyou@users.noreply.github.com",
        "time": "Thu Jul 23 13:45:31 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 13:45:31 2026 +0800"
      },
      "message": "[Go] Fix resource leaks on client close (#1305)\n\n1. ClientManager shutdown: call shutdown() instead of UnRegisterClient()\n   in GracefulStop to stop background goroutines and close RPC connections\n   (regression from #235 which made ClientManager per-client but forgot\n   to add shutdown call).\n\n2. Telemetry session cleanup: release all sessions in GracefulStop before\n   shutting down the client manager to properly close gRPC streams.\n\n3. release() nil check: guard against nil observer when telemetry\n   connection failed during startup.\n\n4. Per-client metrics isolation: use view.NewMeter() to give each client\n   its own Meter, Measures, Views, and Exporter. On client close, the\n   Meter is stopped and views are unregistered, preventing metrics\n   cardinality explosion from accumulated client_id tag values.\n   The client_id tag is preserved in exported metric data.\n\n5. Fix meter lifecycle: call Start() before Register() to avoid deadlock,\n   and register/unregister the exporter with the per-client Meter so\n   metrics are actually exported.\n\nCo-authored-by: guyinyou \u003cguyinyou.gyy@alibaba-inc.com\u003e"
    },
    {
      "commit": "3180b68cf0f908f29cd2162c0ddf645adae6b0a6",
      "tree": "3c364d3a5d0379188496e9f3763570836715b208",
      "parents": [
        "47c2a64028cd2f83457e00d081461ef13355f60a"
      ],
      "author": {
        "name": "lizhimins",
        "email": "707364882@qq.com",
        "time": "Mon Jul 13 17:29:05 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 17:29:05 2026 +0800"
      },
      "message": "fix: add CODECOV_ACTION_KEY token and upgrade actions in golang coverage workflow (#1302)"
    },
    {
      "commit": "47c2a64028cd2f83457e00d081461ef13355f60a",
      "tree": "249a7544695c10476945d756781b3c7d2ed2b287",
      "parents": [
        "41b65fa4dc8a59d6caa8f36e3ed3edaa1e91b627"
      ],
      "author": {
        "name": "lizhimins",
        "email": "707364882@qq.com",
        "time": "Fri Jul 10 11:47:43 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 10 11:47:43 2026 +0800"
      },
      "message": "[C++] Fix thread safety bugs and add comprehensive unit tests (#1301)\n\n* [C++] Fix thread safety bugs in TelemetryBidiReactor and ClientManager\n* [C++] Add comprehensive unit tests for base, client, and rocketmq modules"
    },
    {
      "commit": "41b65fa4dc8a59d6caa8f36e3ed3edaa1e91b627",
      "tree": "fdd69153395eddcad6893580b08697886fc8d9c9",
      "parents": [
        "9c9ce3c3467ae6754228aac0bb3fc815dd00c506"
      ],
      "author": {
        "name": "lizhimins",
        "email": "707364882@qq.com",
        "time": "Fri Jul 10 11:01:29 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 10 11:01:29 2026 +0800"
      },
      "message": "[C++] Update public API and simplify client lifecycle state machine (#1300)"
    },
    {
      "commit": "9c9ce3c3467ae6754228aac0bb3fc815dd00c506",
      "tree": "771c320f77e42527ea8cad9aa1218da3f904d987",
      "parents": [
        "42a965cab34230120112478e4765599a27c17b6e"
      ],
      "author": {
        "name": "lizhimins",
        "email": "707364882@qq.com",
        "time": "Thu Jul 09 20:54:54 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 09 20:54:54 2026 +0800"
      },
      "message": "[C++] Add CMake install/uninstall support and enable tests in CI (#1297)"
    },
    {
      "commit": "42a965cab34230120112478e4765599a27c17b6e",
      "tree": "a7198f3d5f4c7786c932edaceb01dc5fdab27e80",
      "parents": [
        "315f98eb894ba95bdad19ea312bd9088fe2e2f15"
      ],
      "author": {
        "name": "Drizzle",
        "email": "464473306@qq.com",
        "time": "Mon Jul 06 19:45:01 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 06 19:45:01 2026 +0800"
      },
      "message": "feat(consumer): implement LitePushConsumer with FIFO and standard consume services (#1294)\n\n- Add LitePushConsumerImpl extending PushConsumer for lightweight message consumption\n- Implement LiteFifoConsumeService with liteTopic-based grouping and suspend support\n- Implement LiteStandardConsumeService with local retry via eraseFifoMessage\n- Refactor ConsumeResult from enum to class-based design with ConsumeResultSuspend extension\n- Optimize FifoConsumeService: add parameter validation, improve Map grouping logic\n- Enhance ProcessQueue: add FIFO message discard/erase methods with local retry\n- Align LitePushConsumerBuilder with Java client: implement maxCacheMessageCount,\n  maxCacheMessageSizeInBytes, consumptionThreadCount configurations\n- Add unit tests for LiteFifoConsumeService, ConsumeResult, and LitePushConsumerBuilder\n- Update MessageView to support liteTopic field for lite consumer routing\n\nCo-authored-by: drizzle.zk \u003cdrizzle.zk@alibaba-inc.com\u003e"
    },
    {
      "commit": "315f98eb894ba95bdad19ea312bd9088fe2e2f15",
      "tree": "83835771863d62f2352a9e622418717c3a2cc15c",
      "parents": [
        "d4de689eff6060db9b326d8a94ea43f04c03bdf9"
      ],
      "author": {
        "name": "ymwneu",
        "email": "ymwneu@126.com",
        "time": "Mon Jul 06 10:23:37 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 06 10:23:37 2026 +0800"
      },
      "message": "[Java] Record consumegroup when consumeMessage (#1290)"
    },
    {
      "commit": "d4de689eff6060db9b326d8a94ea43f04c03bdf9",
      "tree": "ba8e4842b2427f3b7a52983688d638409a27d08e",
      "parents": [
        "f038a53433fa5f96fe2b3a9c584ab76482aa9dba"
      ],
      "author": {
        "name": "Quan",
        "email": "zsjperiod@foxmail.com",
        "time": "Wed Jul 01 13:51:37 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 01 13:51:37 2026 +0800"
      },
      "message": "[Go] Fix LitePushConsumer.WrapReceiveMessageRequest using wrong AutoRenew value (#1291)\n\n* fix(go): remove redundant WrapReceiveMessageRequest override in LitePushConsumer\n\n- Remove duplicated WrapReceiveMessageRequest from defaultLitePushConsumer,\n  delegate to embedded *defaultPushConsumer which correctly sets AutoRenew\u003dtrue\n  and includes FilterExpression\n- Drop unused imports: uuid, durationpb\n- Fix test assertion: AutoRenew should be true for lite push consumer\n\n* fix(go): remove redundant WrapReceiveMessageRequest tests for LitePushConsumer\n\n- Delete TestLitePushConsumer_WrapReceiveMessageRequest (delegates to\n  parent, already covered by TestDefaultPushConsumer_WrapReceiveMessageRequest)\n- Rename TestDefaultLitePushConsumer_Wraps to\n  TestDefaultLitePushConsumer_WrapHeartbeatRequest, keep only the\n  LitePushConsumer-specific ClientType assertion"
    },
    {
      "commit": "f038a53433fa5f96fe2b3a9c584ab76482aa9dba",
      "tree": "a75708f06a9b33bebb3d609f95dea239f5c0b8d5",
      "parents": [
        "3d8e99f378a6c6e37bf58accd59a1f6e736a1580"
      ],
      "author": {
        "name": "Yim",
        "email": "yiyan.lu@me.com",
        "time": "Wed Jun 24 14:50:45 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 24 14:50:45 2026 +0800"
      },
      "message": "[Go] Support offset option for lite topic subscriptions (#1285)\n\nAdd OffsetOption helpers and pass optional offset options through SyncLiteSubscriptionRequest when subscribing to lite topics."
    },
    {
      "commit": "3d8e99f378a6c6e37bf58accd59a1f6e736a1580",
      "tree": "4799ed67d6b0b1a185e498d9f1fd920a557e7646",
      "parents": [
        "eb6fe0bd267b2d9a910cab1e6d4dcddfde61a17e"
      ],
      "author": {
        "name": "JYZ",
        "email": "31824316+imjyz@users.noreply.github.com",
        "time": "Tue Jun 23 11:44:09 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 23 11:44:09 2026 +0800"
      },
      "message": "[Java] Support client properties for observability and management (#1237)"
    },
    {
      "commit": "eb6fe0bd267b2d9a910cab1e6d4dcddfde61a17e",
      "tree": "d1ab2931c6e1584bd4423c0f154dabf2e9963263",
      "parents": [
        "37cbdf6000d608ce215202a15eda3deca08300cb"
      ],
      "author": {
        "name": "lizhimins",
        "email": "707364882@qq.com",
        "time": "Tue Jun 23 11:00:06 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 23 11:00:06 2026 +0800"
      },
      "message": "[Java] Build rocketmq-proto from submodule instead of depending on Maven Central (#1287)"
    },
    {
      "commit": "37cbdf6000d608ce215202a15eda3deca08300cb",
      "tree": "199bcf9cadf1bfbb19e00443488cdf43d3b5f9f5",
      "parents": [
        "5ef95b88f0119dd644c4d3f6d87c58036c9ecb23"
      ],
      "author": {
        "name": "rongtong",
        "email": "jinrongtong5@163.com",
        "time": "Wed Jun 17 14:09:16 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 17 14:09:16 2026 +0800"
      },
      "message": "Prepare C# SDK 5.2.1 release (#1283)"
    },
    {
      "commit": "5ef95b88f0119dd644c4d3f6d87c58036c9ecb23",
      "tree": "25527cf81a5a2e3b92651aedbce9f439c3151963",
      "parents": [
        "471044f0860b90a19f01c4c665c6286455c8f04e"
      ],
      "author": {
        "name": "rongtong",
        "email": "jinrongtong5@163.com",
        "time": "Wed Jun 17 14:09:01 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 17 14:09:01 2026 +0800"
      },
      "message": "Prepare Go SDK 5.1.4 release (#1282)"
    },
    {
      "commit": "471044f0860b90a19f01c4c665c6286455c8f04e",
      "tree": "d363bf7b552568cc744af24c272329177680a79d",
      "parents": [
        "7448aa1cb7ab6cc3f19a65a2942ac28cb871113b"
      ],
      "author": {
        "name": "lizhimins",
        "email": "707364882@qq.com",
        "time": "Tue Jun 16 20:50:07 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 16 20:50:07 2026 +0800"
      },
      "message": "[maven-release-plugin] prepare release java-5.2.1 (#1278)"
    },
    {
      "commit": "7448aa1cb7ab6cc3f19a65a2942ac28cb871113b",
      "tree": "fca2cfa760638cc4e6b81cf1d7ddaa2cd42662cd",
      "parents": [
        "882c5bed416a4fccad9ab959bc4862ff8ccb0978"
      ],
      "author": {
        "name": "guyinyou",
        "email": "36399867+guyinyou@users.noreply.github.com",
        "time": "Mon Jun 15 11:02:03 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 15 11:02:03 2026 +0800"
      },
      "message": "[Go] Fix data race in receiveMessage for push and simple consumers (#1275)\n\nThe err and resps variables were shared between the main goroutine\nand a spawned goroutine without synchronization, causing a data race\ndetectable by Go\u0027s race detector. The goroutine wrote to both\nvariables while the select handler read them concurrently.\n\nMove resps and err into the goroutine as local variables, and pass\nresults back through a typed channel (receiveResult struct) instead.\nThis also fixes push_consumer.go not signaling the done channel on\nnon-EOF errors, which previously caused it to wait for context\ntimeout instead of returning the actual error immediately.\n\nAffected:\n- golang/push_consumer.go: receiveMessage()\n- golang/simple_consumer.go: receiveMessage()\n\nCo-authored-by: guyinyou \u003cguyinyou.gyy@alibaba-inc.com\u003e"
    },
    {
      "commit": "882c5bed416a4fccad9ab959bc4862ff8ccb0978",
      "tree": "5dc85466323cc22e34c823834d6db01879d4cda9",
      "parents": [
        "47d0a47cb9ef300e166f27fec9bd892f47efd63c"
      ],
      "author": {
        "name": "ZM",
        "email": "49428979+AllenZMC@users.noreply.github.com",
        "time": "Mon Jun 15 11:01:40 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 15 11:01:40 2026 +0800"
      },
      "message": "[Golang] fix(process_queue.go): correct log format verbs in receiveMessage error logging (#1253)\n\n* Update process_queue.go\n\n* fix log fmt"
    },
    {
      "commit": "47d0a47cb9ef300e166f27fec9bd892f47efd63c",
      "tree": "1fe9145e9c3f772d129808e795d2315e3aa2461c",
      "parents": [
        "f17e6dff2938b9c4b5a9514e5acfae2dfa88fd16"
      ],
      "author": {
        "name": "Drizzle",
        "email": "464473306@qq.com",
        "time": "Fri Jun 12 15:00:17 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 15:00:17 2026 +0800"
      },
      "message": "Add lite consumer sub all liteTopic (#1274)\n\nCo-authored-by: drizzle.zk \u003cdrizzle.zk@alibaba-inc.com\u003e"
    },
    {
      "commit": "f17e6dff2938b9c4b5a9514e5acfae2dfa88fd16",
      "tree": "8640a63bb82cfee487324759dc506c77c9a9a0d6",
      "parents": [
        "9713aafb08107804aaf689622557414acfad2875"
      ],
      "author": {
        "name": "guyinyou",
        "email": "36399867+guyinyou@users.noreply.github.com",
        "time": "Fri Jun 12 10:31:25 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 10:31:25 2026 +0800"
      },
      "message": "[Go] Fix Commit/RollBack always returning nil in transaction (#1271)\n\nThe Commit() and RollBack() methods in transactionImpl silently swallowed\nerrors from endTransaction: errors were only logged inside the Range\ncallback, and the caller always received nil, making it impossible to\ndetect a failed commit or rollback.\n\nWhat changed:\n- Capture the error from the Range closure and return it to the caller.\n- Stop Range iteration on first error (matching Java\u0027s fail-fast behavior).\n- Return an error when messageSendReceiptMap is empty, aligning with the\n  Java client\u0027s IllegalStateException (\"Transactional message has not been\n  sent yet\").\n\nAffected: golang/transaction.go Commit(), RollBack()\n\nCo-authored-by: guyinyou \u003cguyinyou.gyy@alibaba-inc.com\u003e"
    },
    {
      "commit": "9713aafb08107804aaf689622557414acfad2875",
      "tree": "aba896fa10995109747b220aa2948a774fa6e8de",
      "parents": [
        "ec29fca80a9a6d2afe5af51c8f789e013221da7d"
      ],
      "author": {
        "name": "guyinyou",
        "email": "36399867+guyinyou@users.noreply.github.com",
        "time": "Fri Jun 12 10:30:50 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 10:30:50 2026 +0800"
      },
      "message": "[Go] Fix double execution of telemetry command during recovery (#1270)\n\nWhen recovering from a telemetry stream error, _execute_server_telemetry_command\nwas called both inside the `if cs.recovering` block (on successful heartbeat)\nand again unconditionally after the block, causing the command to be executed\ntwice.\n\nRemove the call inside the recovering block since the response should be\nexecuted unconditionally once successfully received, regardless of recovery\nstate.\n\nAffected: client.go startUp()\n\nCo-authored-by: guyinyou \u003cguyinyou.gyy@alibaba-inc.com\u003e"
    },
    {
      "commit": "ec29fca80a9a6d2afe5af51c8f789e013221da7d",
      "tree": "d8b1d01775f88cb8e9b44906adc7b5234494c694",
      "parents": [
        "c46bc3faa381a796b526205fbda0cb79130893f0"
      ],
      "author": {
        "name": "guyinyou",
        "email": "36399867+guyinyou@users.noreply.github.com",
        "time": "Fri Jun 12 10:23:50 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 10:23:50 2026 +0800"
      },
      "message": "[Go] Fix inverted hook status in Ack/DLQ methods (#1269)\n\nThe messageHookPointsStatus was incorrectly initialized to ERROR and\nset to OK when the response code was not OK, which is the opposite\nof the intended behavior. This affected three locations:\n- push_consumer.go: Ack()\n- push_consumer.go: ForwardMessageToDeadLetterQueue()\n- simple_consumer.go: Ack()\n\nAlso set status to ERROR before early return on err !\u003d nil, so that\nthe hook always reports the correct status on failure.\n\nCo-authored-by: guyinyou \u003cguyinyou.gyy@alibaba-inc.com\u003e"
    },
    {
      "commit": "c46bc3faa381a796b526205fbda0cb79130893f0",
      "tree": "37ff2170c4e9561d37482a8289b6dbd8bda2fe96",
      "parents": [
        "061dd5031be452f229cf69612eb5af0b962b5337"
      ],
      "author": {
        "name": "guyinyou",
        "email": "36399867+guyinyou@users.noreply.github.com",
        "time": "Thu Jun 11 15:40:47 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 15:40:47 2026 +0800"
      },
      "message": "[C#] Fix SetBody validation logic to correctly reject null and empty body (#1268)\n\nThe original condition `null !\u003d body || body.Length \u003d\u003d 0` had two bugs:\n- When body is null, it short-circuits to evaluating `body.Length`, causing\n  NullReferenceException instead of a proper ArgumentException.\n- When body is a non-null empty array (byte[0]), `null !\u003d body` is true,\n  so the empty body passes validation silently.\n\nFix to `null !\u003d body \u0026\u0026 body.Length \u003e 0`, consistent with the Java\nimplementation which uses `ArrayUtils.isNotEmpty(body)`.\n\nCo-authored-by: guyinyou \u003cguyinyou.gyy@alibaba-inc.com\u003e"
    },
    {
      "commit": "061dd5031be452f229cf69612eb5af0b962b5337",
      "tree": "b924768a11da321de16fd999707ada094c2c2225",
      "parents": [
        "e9521d5da81af9d11ef69fb3cda1393fd80c07f8"
      ],
      "author": {
        "name": "guyinyou",
        "email": "36399867+guyinyou@users.noreply.github.com",
        "time": "Thu Jun 11 15:38:30 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 15:38:30 2026 +0800"
      },
      "message": "[C#] Fix missing return after InvalidReceiptHandle in AckMessage and ChangeInvisibleDuration (#1267)\n\nBoth methods in ProcessQueue.cs had a fall-through bug where the\nInvalidReceiptHandle branch called tcs.SetException() but did not return,\ncausing execution to continue into the subsequent \u0027if (statusCode !\u003d Code.Ok)\u0027\nblock. This resulted in an unnecessary call to AckMessageLater /\nChangeInvisibleDurationLater with an already-faulted TaskCompletionSource,\nwhich would throw an InvalidOperationException at runtime.\n\nAdd the missing \u0027return;\u0027 statements to match the behavior of the Java\nreference implementation, where each non-success branch explicitly returns\nafter resolving the future.\n\nCo-authored-by: guyinyou \u003cguyinyou.gyy@alibaba-inc.com\u003e"
    },
    {
      "commit": "e9521d5da81af9d11ef69fb3cda1393fd80c07f8",
      "tree": "921b21a48428a5025eea961e6d4433d3090d666a",
      "parents": [
        "bf4462c24b50a1f8f1f5b0180d2256d2b8cadedb"
      ],
      "author": {
        "name": "guyinyou",
        "email": "36399867+guyinyou@users.noreply.github.com",
        "time": "Thu Jun 11 15:00:56 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 15:00:56 2026 +0800"
      },
      "message": "fix(golang): add missing return in SendAsync when producer is off (#1264)\n\nWhen the producer is not running, SendAsync invoked the callback with\nan error but did not return, causing the subsequent goroutine to also\nexecute. This resulted in the callback being called twice and a\ngoroutine leak.\n\nCo-authored-by: guyinyou \u003cguyinyou.gyy@alibaba-inc.com\u003e"
    },
    {
      "commit": "bf4462c24b50a1f8f1f5b0180d2256d2b8cadedb",
      "tree": "d8efbaba8dc2002b1c7cf5d7f5b6b657fba4a295",
      "parents": [
        "323fe20087f9637ea04b0f229582e0a8e8f30285"
      ],
      "author": {
        "name": "guyinyou",
        "email": "36399867+guyinyou@users.noreply.github.com",
        "time": "Thu Jun 11 14:53:08 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 14:53:08 2026 +0800"
      },
      "message": "[Go] Fix missing return after retry scheduling in process_queue (#1265)\n\nIn ackMessage0, changeInvisibleDuration, and forwardToDeadLetterQueue0,\nwhen the response code is not OK, the *Later() retry function is called\nbut execution falls through to callback(nil), causing the message to be\nprematurely evicted from cache before the operation actually succeeds.\nThis can lead to message loss.\n\nAdd return statements after each *Later() call to prevent fallthrough,\nmatching the Java implementation\u0027s behavior where the future is only\nresolved on terminal states (success or abandoned).\n\nCo-authored-by: guyinyou \u003cguyinyou.gyy@alibaba-inc.com\u003e"
    },
    {
      "commit": "323fe20087f9637ea04b0f229582e0a8e8f30285",
      "tree": "dda3b1e6c55a4f04f50c10f0b2118f84161cacef",
      "parents": [
        "913d5de8894231f657a8a4c555cc9704aed26584"
      ],
      "author": {
        "name": "guyinyou",
        "email": "36399867+guyinyou@users.noreply.github.com",
        "time": "Thu Jun 11 14:47:48 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 14:47:48 2026 +0800"
      },
      "message": "[Go] Fix forwardToDeadLetterQueueLater incorrectly calling ackMessage instead of forwardToDeadLetterQueue (#1266)\n\nforwardToDeadLetterQueueLater was calling ackMessage0 and ackMessageLater\ninstead of forwardToDeadLetterQueue0 and forwardToDeadLetterQueueLater,\nwhich would cause messages destined for the dead letter queue to be\nsilently acknowledged and lost.\n\nCo-authored-by: guyinyou \u003cguyinyou.gyy@alibaba-inc.com\u003e"
    },
    {
      "commit": "913d5de8894231f657a8a4c555cc9704aed26584",
      "tree": "eb5bd9a046da936797e880f30cb7800795f3d54f",
      "parents": [
        "189d2d563cc315062bfa6858c89b557c111335c0"
      ],
      "author": {
        "name": "lizhimins",
        "email": "707364882@qq.com",
        "time": "Tue Jun 09 11:34:03 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 09 11:34:03 2026 +0800"
      },
      "message": "fix(ci): join git diff output to single line for GITHUB_OUTPUT (#1263)"
    },
    {
      "commit": "189d2d563cc315062bfa6858c89b557c111335c0",
      "tree": "fb81c678ce8dbabed0f91cc05f6e883a348f5703",
      "parents": [
        "446f3be20f70044de50b7e197b855395596ec820"
      ],
      "author": {
        "name": "lizhimins",
        "email": "707364882@qq.com",
        "time": "Tue Jun 09 11:13:45 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 09 11:13:45 2026 +0800"
      },
      "message": "fix(ci): fix paths-filter shallow clone failure and cpp coverage token (#1262)\n\n- Add fetch-depth: 2 to checkout so HEAD~1 is available for push events\n- Add CODECOV_ACTION_KEY token to cpp coverage upload (required for protected branches)\n- Migrate deprecated ::set-output to $GITHUB_OUTPUT"
    },
    {
      "commit": "446f3be20f70044de50b7e197b855395596ec820",
      "tree": "72f8e296733fe041eed63e5c5d9ba1c6bebeb3b6",
      "parents": [
        "039ee8570673e265f27bd91c78fbcf0782707d77"
      ],
      "author": {
        "name": "zynetYu",
        "email": "40459025+zynetYu@users.noreply.github.com",
        "time": "Tue Jun 09 10:53:39 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 09 10:53:39 2026 +0800"
      },
      "message": "[C#] Add .NET 10 support and fix build warnings (#1260)\n\nCo-authored-by: 张宇 \u003czhang.yu02@hinacom.com\u003e"
    },
    {
      "commit": "039ee8570673e265f27bd91c78fbcf0782707d77",
      "tree": "dc999ea61ca12f4df089003b28cb631ad254065e",
      "parents": [
        "77fdb6f75317470f2c6920d4c352557494b825bc"
      ],
      "author": {
        "name": "lizhimins",
        "email": "707364882@qq.com",
        "time": "Tue Jun 09 09:59:00 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 09 09:59:00 2026 +0800"
      },
      "message": "[C++] Upgrade Bazel 5.2.0 to 6.6.0, add Bazel CI, migrate coverage to CMake (#1261)"
    },
    {
      "commit": "77fdb6f75317470f2c6920d4c352557494b825bc",
      "tree": "96304d2f00a1000a1efd0849337f4ebd56c125e9",
      "parents": [
        "df8759f93c4d05ae3bc0c430a4e58a2e27dfb49a"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jun 08 20:37:29 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 20:37:29 2026 +0800"
      },
      "message": "Bump protobufjs from 7.5.6 to 7.6.1 in /nodejs (#1254)\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "df8759f93c4d05ae3bc0c430a4e58a2e27dfb49a",
      "tree": "a4991665b874ccb8cde4cc5ca7bf67e9d8bcca83",
      "parents": [
        "f1df051ce390e0bbb2273a1330736eddb0a26c56"
      ],
      "author": {
        "name": "lizhimins",
        "email": "707364882@qq.com",
        "time": "Mon Jun 08 16:48:31 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 16:48:31 2026 +0800"
      },
      "message": "[C++] Fix critical correctness, thread safety, and memory management bugs (#1259)"
    },
    {
      "commit": "f1df051ce390e0bbb2273a1330736eddb0a26c56",
      "tree": "5bfac2152385d4a3d5bd6c8d521fa2ea5a2ae254",
      "parents": [
        "d35c2c2546001931612a75682685c339a98b76d5"
      ],
      "author": {
        "name": "lizhimins",
        "email": "707364882@qq.com",
        "time": "Mon Jun 08 10:27:46 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 10:27:46 2026 +0800"
      },
      "message": "[C++] Improve CMake build system, fix warnings, and restore cross-platform CI (#1257)"
    },
    {
      "commit": "d35c2c2546001931612a75682685c339a98b76d5",
      "tree": "ceb4f62088fa81b430b28cbd92b4cac715d03fa5",
      "parents": [
        "e9f2ae7d0e6307f3dd9dccb4afdf87fd5f7fbf4b"
      ],
      "author": {
        "name": "guyinyou",
        "email": "36399867+guyinyou@users.noreply.github.com",
        "time": "Tue Jun 02 22:12:47 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 22:12:47 2026 +0800"
      },
      "message": "fix(csharp): correct inverted condition in GetMacAddress to prevent ArgumentOutOfRangeException on macOS arm64 (#1255)\n\nThe ternary condition in Utilities.GetMacAddress() was inverted:\n- When MAC address length \u003c 6, it returned the short array\n- When MAC address length \u003e\u003d 6, it returned random bytes\n\nThis caused MessageIdGenerator to throw ArgumentOutOfRangeException\nwhen calling writer.Write(macAddress, 0, 6) with an array shorter\nthan 6 bytes, which occurs on macOS arm64 where some network\ninterfaces return MAC addresses less than 6 bytes.\n\nFixed by changing \u0027mac.Length \u003c 6\u0027 to \u0027mac.Length \u003e\u003d 6\u0027 so that\nreal MAC addresses are used when valid (\u003e\u003d6 bytes), and random\nbytes are used as fallback when too short.\n\nCo-authored-by: guyinyou \u003cguyinyou.gyy@alibaba-inc.com\u003e"
    },
    {
      "commit": "e9f2ae7d0e6307f3dd9dccb4afdf87fd5f7fbf4b",
      "tree": "6b5405dac02deeb40717f032a8de4be41d30347a",
      "parents": [
        "66b340d9a7568f2351e7a0dda5f041e90f971f65"
      ],
      "author": {
        "name": "Quan",
        "email": "zsjperiod@foxmail.com",
        "time": "Fri May 22 15:21:52 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 22 15:21:52 2026 +0800"
      },
      "message": "feat(LitePushConsumer): support concurrent consumption for LitePushConsumer (#1248)\n\nIntroduce LiteStandardConsumeService to enable concurrent message\nconsumption for LiteConsumer, with local retry on failure via\neraseFifoMessage."
    },
    {
      "commit": "66b340d9a7568f2351e7a0dda5f041e90f971f65",
      "tree": "9299925d85c08eac660ae268a40104865ef19829",
      "parents": [
        "730a1723faf9f6c5619487deac870b5786db4c8c"
      ],
      "author": {
        "name": "zhaohai",
        "email": "33314633+zhaohai666@users.noreply.github.com",
        "time": "Wed May 20 15:36:00 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 20 15:36:00 2026 +0800"
      },
      "message": "[C++] Support priority message (#1241)"
    },
    {
      "commit": "730a1723faf9f6c5619487deac870b5786db4c8c",
      "tree": "168d1f765fb459e690d87855fd999ae7a08f8fce",
      "parents": [
        "ca77ac914fe98fc82320aa6c0d6a4f581c35421e"
      ],
      "author": {
        "name": "Drizzle",
        "email": "464473306@qq.com",
        "time": "Fri May 15 14:17:25 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 15 14:17:25 2026 +0800"
      },
      "message": "optimize the nodejs client (#1247)\n\n* update code about the nodejs client\n\n* update client version\n\n* update code for codespell\n\n---------\n\nCo-authored-by: drizzle.zk \u003cdrizzle.zk@alibaba-inc.com\u003e"
    },
    {
      "commit": "ca77ac914fe98fc82320aa6c0d6a4f581c35421e",
      "tree": "fa1d41cc3298a15358513a0942d44958cb512cf4",
      "parents": [
        "e5f73f51facde16a2c03a8def85971dd461b3856"
      ],
      "author": {
        "name": "Quan",
        "email": "zsjperiod@foxmail.com",
        "time": "Thu May 14 14:44:01 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 14 14:44:01 2026 +0800"
      },
      "message": "fix(ClientImpl.java): broadcast SyncLiteSubscriptionRequest to all route endpoints (#1245)\n\nLiteSubscriptionManager#syncLiteSubscription previously only sent the\nrequest to the client\u0027s initial endpoint, causing lite subscription\nstate to be inconsistent across brokers in a multi-broker cluster.\nBroadcast the request to all route endpoints and aggregate the results.\nWiden ClientImpl#getTotalRouteEndpoints() visibility to public accordingly."
    },
    {
      "commit": "e5f73f51facde16a2c03a8def85971dd461b3856",
      "tree": "d82e558d5373d5b01d6caf0e2d30cbe313c89a48",
      "parents": [
        "9d026ed53a228ff65a8cef7365dd9be5d0f9adb1"
      ],
      "author": {
        "name": "zhaohai",
        "email": "33314633+zhaohai666@users.noreply.github.com",
        "time": "Thu May 14 10:03:03 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 14 10:03:03 2026 +0800"
      },
      "message": "Rust  support FIFO consume accelerator for push consumer, recalling timed/delay messages for Producer and Priority Message.It also supports the Lite Push Consumer. (#1227)\n\n* Support FIFO consume accelerator for Push consumer, recalling timed/delay messages for Producer and Priority Message\n\n* update format\n\n* update format\n\n* update format\n\n* update version\n\n* update version\n\n* update version\n\n* update version\n\n* fix test\n\n* update proto\n\n* update message type\n\n* add lite consumer\n\n* fix format\n\n* fix format\n\n* fix format\n\n* fix lite push consumer\n\n* fix format\n\n* fix lite consumer type\n\n* fix lite push consumer\n\n* fix format\n\n* fix lite push consumer\n\n* optimize logs\n\n* update lite push consumer\n\n* fix lite push consumer\n\n* fix lite_topic\n\n* fix format"
    },
    {
      "commit": "9d026ed53a228ff65a8cef7365dd9be5d0f9adb1",
      "tree": "fbea35c60bf66226dbf67a0833cc3b93b42bdf6a",
      "parents": [
        "6361fe312161ad32d4f79da48630f30ad7fb2bac"
      ],
      "author": {
        "name": "Quan",
        "email": "zsjperiod@foxmail.com",
        "time": "Fri May 08 19:57:19 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 19:57:19 2026 +0800"
      },
      "message": "fix(client.go): nil pointer exception during close (#1243)\n\nAdd nil checks for `consumerService` and `clientManager` in the close flow to prevent nil pointer panics caused by uninitialized objects."
    },
    {
      "commit": "6361fe312161ad32d4f79da48630f30ad7fb2bac",
      "tree": "7442e2775f43c709b3934021661869a6e66881dd",
      "parents": [
        "a5b541c2bb392756b4b223058b1a8eec5e4179b3"
      ],
      "author": {
        "name": "Quan",
        "email": "zsjperiod@foxmail.com",
        "time": "Thu May 07 14:46:27 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 14:46:27 2026 +0800"
      },
      "message": "refactor(log.go): unify log configuration default value management (#1239)\n\nExtract log configuration default values as constants and optimize environment variable reading logic."
    },
    {
      "commit": "a5b541c2bb392756b4b223058b1a8eec5e4179b3",
      "tree": "5a6ea074f97bc352d9bf60bb13e4bd489cb8e888",
      "parents": [
        "2ac0bdde1cbd5c1a83d5cd4153f158a31b2d8f48"
      ],
      "author": {
        "name": "Quan",
        "email": "zsjperiod@foxmail.com",
        "time": "Thu May 07 11:46:41 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 11:46:41 2026 +0800"
      },
      "message": "fix(log.go): adjust log file size unit and enable local time (#1238)\n\nChange the default log file max size from bytes (1073741824) to MB (100), and enable local time recording (default is UTC) to improve log configuration readability and usability."
    },
    {
      "commit": "2ac0bdde1cbd5c1a83d5cd4153f158a31b2d8f48",
      "tree": "5c48ec8b3caec7278a03396beb68c4af83deb3c9",
      "parents": [
        "73c415b5d80ef290fed9a2bc194f24f6bd6ce6b0"
      ],
      "author": {
        "name": "zhaohai",
        "email": "33314633+zhaohai666@users.noreply.github.com",
        "time": "Wed May 06 14:52:29 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 14:52:29 2026 +0800"
      },
      "message": "The C# client supports producers in recalling timed and delayed messages, as well as sending priority messages. It also supports the Lite Push Consumer. (#1229)\n\n* C# Client supports Recalling timed/delay messages for Producer and Priority Message.\n\n* Update protos submodule to latest version\n\n* update md\n\n* add lite\n\n* fix LitePushConsumerExample.cs\n\n* fix lite push consumer"
    },
    {
      "commit": "73c415b5d80ef290fed9a2bc194f24f6bd6ce6b0",
      "tree": "33d5cacea61feec3cd39fe7f62c86cd40ccdde59",
      "parents": [
        "9cde19453360302111574dba227945005700105d"
      ],
      "author": {
        "name": "Quan",
        "email": "zsjperiod@foxmail.com",
        "time": "Wed Apr 29 13:50:32 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 29 13:50:32 2026 +0800"
      },
      "message": "fix(client.go): handle sync settings error during startup (#1235)\n\nWhen the client is not yet initialized and settings synchronization fails,\npropagate the error to startUp() method so it can return immediately instead\nof blocking forever waiting for settings. Also added startUpError field to\nthe client struct to store errors that occur during startup.\n\nChange-Id: I5c28c65922b81083ac20f70aec2d4091248572c2"
    },
    {
      "commit": "9cde19453360302111574dba227945005700105d",
      "tree": "ae16fca4d8e51261ee8e725e8b84dc8065c6360f",
      "parents": [
        "d71c6c53acdd773f695575f75284d9c1cce3fdd9"
      ],
      "author": {
        "name": "zhaohai",
        "email": "33314633+zhaohai666@users.noreply.github.com",
        "time": "Tue Apr 28 10:49:55 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 28 10:49:55 2026 +0800"
      },
      "message": "Go client supports Producer with recalling timed/delay messages and Priority Message. (#1231)\n\n* Go client supports Producer with recalling timed/delay messages and Priority Message.\n\n* Go client supports Producer with recalling timed/delay messages and Priority Message."
    },
    {
      "commit": "d71c6c53acdd773f695575f75284d9c1cce3fdd9",
      "tree": "79b7961ceb83e17ef46ff2479b9baae2f9a10522",
      "parents": [
        "e05d5a9890772fd80dfa709d555006c88f99f568"
      ],
      "author": {
        "name": "zhaohai",
        "email": "33314633+zhaohai666@users.noreply.github.com",
        "time": "Thu Apr 23 16:55:22 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 23 16:55:22 2026 +0800"
      },
      "message": "Fix priority issue.Supports lightweight messaging. (#1215)\n\n* fix: Add LITE and PRIORITY message types to match protocol definition\n\n- Add LITE \u003d 5 and PRIORITY \u003d 6 to MessageType enum in definition.proto\n- Align Node.js client with the latest protocol specification\n- Fix inconsistency between proto definition and generated TypeScript/JS files\n\n* fix: Update proto submodule and nodejs proto definition\n\n- Update protos submodule to include LITE and PRIORITY message types\n- Sync nodejs proto definition with protocol changes\n- Ensure npm run init preserves LITE and PRIORITY types\n\n* fix: Sync nodejs proto definition with updated protocol\n\n- Update definition.proto to include LITE and PRIORITY message types\n- Generated from updated protos submodule using npm run init\n- Ensures Node.js client stays in sync with protocol changes\n\n* feat: Add priority message support for Node.js client\n\n- Add PRIORITY message type detection in PublishingMessage\n- Set priority field in toProtobuf method\n- Validate mutual exclusivity: priority cannot be used with messageGroup, deliveryTimestamp\n- Ensure transactional messages cannot have priority set\n- Add ProducerPriorityMessageExample demonstrating priority usage\n- Align with Java implementation semantics\n\nKey changes:\n1. PublishingMessage: Detect PRIORITY message type and set it accordingly\n2. PublishingMessage.toProtobuf(): Include priority in SystemProperties\n3. Message: Validate priority \u003e\u003d 0 and mutual exclusivity constraints\n4. Example: Comprehensive demo showing priority levels and validation\n\n* fix: Use optional chaining for setPriority to avoid TS error\n\n- Use (systemProperties as any).setPriority?.() as workaround\n- Avoids TypeScript error when proto definition hasn\u0027t been updated yet\n- Will work correctly once official proto includes priority field\n- Maintains backward compatibility\n\n* update proto\n\n* update proto\n\n* add lite message\n\n* Change protos submodule URL to HTTPS for CI compatibility\n\n* rollback\n\n* Complete mutual exclusion verification\n\n* Support Lite Push\n\n* update protos version\n\n* add lite simple consumer\n\n* fix getClientType\n\n* fix getClientType\n\n* update startup\n\n* update name\n\n* fix producer getClientType\n\n* fix producer getClientType\n\n* update proto\n\n* All 12 review comments from reviewer zk-drizzle have been completed.\n\n* remove log\n\n* optimize simpleConsumer\n\n* remove delay\n\n* update example\n\n* update example\n\n* Securely handle concurrent refresh requests and exceptional scenarios\n\n* update producer delay\n\n* fix lite push\n\n* fix equals hashcode\n\n* Optimize hashCodeOfString\n\n* Optimize log\n\n* Optimization of timer cleaning sequence\n\n* TelemeterySession releases logic optimization"
    },
    {
      "commit": "e05d5a9890772fd80dfa709d555006c88f99f568",
      "tree": "9dfa909d926451c9f37b76f21394b79602587605",
      "parents": [
        "3cc5cdfd4b541dfaf034598287bafb07a5cd2fee"
      ],
      "author": {
        "name": "Quan",
        "email": "zsjperiod@foxmail.com",
        "time": "Wed Apr 15 18:13:22 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 15 18:13:22 2026 +0800"
      },
      "message": "[Golang] fix(client.go): fix bug where NotifyClientTermination was never called (#1221)\n\n* fix(client.go): fix bug where NotifyClientTermination was never called\n\nFixed logic error in `notifyClientTermination` method. The previous implementation incorrectly checked `err !\u003d nil` instead of `endpoints !\u003d nil`, which prevented `NotifyClientTermination` from being called. Added proper error handling with detailed logging for each notification attempt.\n\nChange-Id: I05c41d18419d107877150f623d97eedc29dcd546\n\n* fix(client.go): add resource group to client termination notification request\n\nAdded resource group information to the client termination notification request, including namespace and consumer group name.\n\nChange-Id: I26d28ad6f8e6ddf46f49ad5c01c7c0aac40135c3\n\n* fix(process_queue.go): Improve message reception exception handling logic\n\nOptimized the logging strategy when errors occur during message reception, with special handling for cases where no new messages are found to avoid unnecessary error log output. Meanwhile, the detailed error logging mechanism for other exceptional cases is preserved.\n\nChange-Id: I4b0ef5d2c41fea0727ff6950cbf415b4f935e20b\n\n* refactor(lite_push_consumer.go): extract variables and optimize logging\n\nExtracted `topic` and `group` variables from the `syncLiteSubscription` method and adjusted log output formats based on different action types, making the code more readable and logs more detailed.\n\nChange-Id: Iba358e912af41266d84680435c682a5e19f55711"
    },
    {
      "commit": "3cc5cdfd4b541dfaf034598287bafb07a5cd2fee",
      "tree": "d138affdac51902ccb72d7fb544b8d43beb6a2c8",
      "parents": [
        "d581a03cfa6db9c056eb5da85657a9f1dc082427"
      ],
      "author": {
        "name": "Quan",
        "email": "zsjperiod@foxmail.com",
        "time": "Wed Apr 15 15:55:15 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 15 15:55:15 2026 +0800"
      },
      "message": "fix(log.go): improve log directory retrieval logic (#1220)\n\nFixed an issue where the user home directory could not be correctly retrieved in some cases. When `os.UserHomeDir()` fails, a safe fallback path to the `/tmp` directory is provided.\n\nChange-Id: I1d4f3835e5f84c15459cef2b5aa7a389c4d1ca44"
    },
    {
      "commit": "d581a03cfa6db9c056eb5da85657a9f1dc082427",
      "tree": "08e5ee0ca3f071252adb1293600264cfe8626ab2",
      "parents": [
        "1f093754cc65146669dbad2cb9a18bdcb3064c4c"
      ],
      "author": {
        "name": "Quan",
        "email": "zsjperiod@foxmail.com",
        "time": "Wed Apr 15 09:45:33 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 15 09:45:33 2026 +0800"
      },
      "message": "[Golang] fix(conn): add max receive message size configuration option (#1219)\n\nAdded configuration for maximum receive message size in connection options, allowing users to customize the maximum message size for gRPC calls.\n\nChange-Id: Ia3cd5534cc97f86045ef7b04f8282848fa3ddd84"
    },
    {
      "commit": "1f093754cc65146669dbad2cb9a18bdcb3064c4c",
      "tree": "f664f7f752c1367820a90190a8c90ae940ca4fa1",
      "parents": [
        "17ab1b408b1bb444f5b9f2e297242dae9d6fa2fb"
      ],
      "author": {
        "name": "guyinyou",
        "email": "36399867+guyinyou@users.noreply.github.com",
        "time": "Fri Apr 10 16:53:56 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 10 16:53:56 2026 +0800"
      },
      "message": "feat(csharp): parallel FIFO consume by message group (#1218)\n\n- Group each receive batch by MessageView.MessageGroup when accelerator is on\n- Run one serial ConsumeIteratively chain per group; multiple groups in parallel\n- Default off; enable via PushConsumer.Builder.SetEnableFifoConsumeAccelerator\n- Add FifoConsumeService.GroupFifoBatchByMessageGroup unit tests\n\nCo-authored-by: guyinyou \u003cguyinyou.gyy@alibaba-inc.com\u003e"
    },
    {
      "commit": "17ab1b408b1bb444f5b9f2e297242dae9d6fa2fb",
      "tree": "4e4d313d14bef41b4e9906d4cf0dcd049be770d6",
      "parents": [
        "505e1fdff4a4fccf80d34cf404fdf776d2e14fc6"
      ],
      "author": {
        "name": "guyinyou",
        "email": "36399867+guyinyou@users.noreply.github.com",
        "time": "Thu Apr 09 15:05:43 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 09 15:05:43 2026 +0800"
      },
      "message": "feat(csharp): graceful PushConsumer shutdown aligned with Go client (#1217)\n\n- After Stopping, cancel assignment scan and receive backoff only; defer ACK/DLQ CTS cancellation\n- Track inflight receive calls; wait up to request timeout plus long polling timeout\n- Wait until sum of per-queue cached messages reaches zero; warn every 10s with current count\n- Brief delay before cancelling consumption and ACK-related tokens, then shutdown RPC client\n- Pair inflight increments/decrements in ProcessQueue receive continuation\n- Skip ScanAssignments when consumer is not Running\n\nCo-authored-by: guyinyou \u003cguyinyou.gyy@alibaba-inc.com\u003e"
    },
    {
      "commit": "505e1fdff4a4fccf80d34cf404fdf776d2e14fc6",
      "tree": "35ed145f9ed337d95905d3b46c8dec64e2534b02",
      "parents": [
        "d483551946ece9e7cc96667aacc1b1c5b3da7117"
      ],
      "author": {
        "name": "Quan",
        "email": "zsjperiod@foxmail.com",
        "time": "Tue Apr 07 19:22:31 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 07 19:22:31 2026 +0800"
      },
      "message": "feat(LitePushConsumer): enable Lite Push Consumer to suspend consumption (#1206)\n\nThis commit enables Lite Push Consumer to handle suspended consumption results by:\n1. Creating corresponding FIFO consume service based on whether it\u0027s a LiteConsumer in PushConsumerImpl\n2. Converting ConsumeResult from enum to class to support custom result types including suspension\n3. Adding LitePushConsumerBuilder configuration option to enable FIFO acceleration processing\n4. Refactoring FifoConsumeService to improve flexibility in message grouping and iterative consumption\n5. Supporting suspended consume result handling in LitePushConsumer\n6. Synchronizing subscription manager to immediately sync all Lite subscriptions after startup\n\nChange-Id: I68c7b00599a990ada83083792c53f2edf927a21d"
    },
    {
      "commit": "d483551946ece9e7cc96667aacc1b1c5b3da7117",
      "tree": "dada7cb75b22a442f1aa24440b21cc8fc4faa693",
      "parents": [
        "e97a2cdb41ca3447efcaa6bd78d4d75fd19445f3"
      ],
      "author": {
        "name": "zhaohai",
        "email": "33314633+zhaohai666@users.noreply.github.com",
        "time": "Tue Mar 31 16:50:04 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 31 16:50:04 2026 +0800"
      },
      "message": "The Node.js SDK supports the following features:  Producing scheduled and delayed messages FIFO message listening with push consumer FIFO consumption acceleration with push consumer Priority messaging (#1211)\n\n* nodeJsNodeJs supports Producer with collecting timed/delayed messages\n\n* add PushConsumer with FIFO Message Example\n\n* add Push consumer with FIFO consume accelerator\n\n* Node.Js add Priority Message\n\n* Node.Js update readme\n\n* Node.Js support Push consumer with FIFO consume accelerator\n\n* update tsconfig\n\n* add Validate topic\n\n* fix license header\n\n* fix nodejs_build.yml build\n\n* fix rust_build.yml build\n\n* fix rust_build.yml build"
    },
    {
      "commit": "e97a2cdb41ca3447efcaa6bd78d4d75fd19445f3",
      "tree": "f15e54f9dbe89d2fc99d2b0afaef86f595017437",
      "parents": [
        "a96e59003f6c93be9d301f5a4eb36e2ab4caed25"
      ],
      "author": {
        "name": "lizhimins",
        "email": "707364882@qq.com",
        "time": "Fri Mar 27 16:13:16 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 27 16:13:16 2026 +0800"
      },
      "message": "[ISSUE #1196] [Java] Increase max cached message count limit for PushConsumer (#1214)"
    },
    {
      "commit": "a96e59003f6c93be9d301f5a4eb36e2ab4caed25",
      "tree": "6836e3531a329cdaecc3ce91a62d629ada0654dc",
      "parents": [
        "5b54c566f4b5eebc1eb6ac69b17ba75360189eb9"
      ],
      "author": {
        "name": "Quan",
        "email": "zsjperiod@foxmail.com",
        "time": "Fri Mar 20 15:48:27 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 20 15:48:27 2026 +0800"
      },
      "message": "refactor(lite_push_consumer): enable Lite Push Consumer to suspend consumption (#1203)\n\nChange-Id: Ia190bd12af80ded00a20cfe83712918d0f162dff"
    },
    {
      "commit": "5b54c566f4b5eebc1eb6ac69b17ba75360189eb9",
      "tree": "8c1b1cc5f8897e26c2d4d07f4c3cd907d35011d1",
      "parents": [
        "5ec167b860da43a20993899e563c55486ce316a8"
      ],
      "author": {
        "name": "zhaohai",
        "email": "33314633+zhaohai666@users.noreply.github.com",
        "time": "Thu Mar 19 15:54:27 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 19 15:54:27 2026 +0800"
      },
      "message": "nodeJs demo (#975)\n\n* add demo\n\n* update async\n\n* update TransactionResolution import\n\n* remove key\n\n* fix Removing old Proto Files\n\n---------\n\nCo-authored-by: zh378814 \u003cwb-zh378814@alibaba-inc.com\u003e"
    },
    {
      "commit": "5ec167b860da43a20993899e563c55486ce316a8",
      "tree": "e5d6dbd6878d322ff0d0e4c218ba71b02813afab",
      "parents": [
        "80a5bbf8eeaa0476d01c32b81a495721314c24ee"
      ],
      "author": {
        "name": "zhaohai",
        "email": "33314633+zhaohai666@users.noreply.github.com",
        "time": "Thu Mar 19 15:28:04 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 19 15:28:04 2026 +0800"
      },
      "message": "Node js push consumer (#1201)\n\n* add push consumer\n\n* update check\n\n* add example\n\n* add log\n\n* add setInvisibleDuration\n\n* update proto\n\n* setAutoRenew true\n\n* The fix adheres to best practices for both TypeScript and ESLint\n\n* Better load balancing: Random start index avoids hotspot concentration.\nStronger robustness: Parameter validation prevents illegal input.\nEasy to debug: detailed startup and shutdown logs.\nNo bugs: Fixed infinite recursion issue.\n\n* 详细的启动和关闭日志，清晰的错误堆栈，准确的重试追踪。\n\n* Calling send() before startup throws an error. Calling send() after startup works normally. Calling send() after shutdown throws an error. Check the status before the transaction starts.\n\n* The commit log is complete and clear, the rollback log is complete and clear, and the error handling is comprehensive.\n\n* Fix the issue message for review.\n\n* Fix null pointer exceptions and clear the timer after exception catching."
    },
    {
      "commit": "80a5bbf8eeaa0476d01c32b81a495721314c24ee",
      "tree": "46d48554b839de0a89b98c3ad2d6f8673d2c03ce",
      "parents": [
        "a5b95843fb9fbb57d0e31f72f43321e7bad24fb1"
      ],
      "author": {
        "name": "Quan",
        "email": "zsjperiod@foxmail.com",
        "time": "Wed Mar 18 19:58:54 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 18 19:58:54 2026 +0800"
      },
      "message": "[ISSUE #1187] [Java] Implementation of lite simple consumer (#1188)\n\nChange-Id: Ife22b9eb39423c0e95016a656927c84d622f7de7"
    },
    {
      "commit": "a5b95843fb9fbb57d0e31f72f43321e7bad24fb1",
      "tree": "06a6d3d6e393e60dcfc037a691b07204b2814bac",
      "parents": [
        "8d5d765dee11a36727698b1e7e22ef34e30c6660"
      ],
      "author": {
        "name": "Quan",
        "email": "zsjperiod@foxmail.com",
        "time": "Mon Feb 09 15:21:52 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 09 15:21:52 2026 +0800"
      },
      "message": "chore(.licenserc.yaml): add golang/*_mock.go to ignore list (#1193)\n\n"
    },
    {
      "commit": "8d5d765dee11a36727698b1e7e22ef34e30c6660",
      "tree": "b2832302e20df4e15c550c0be9200ecb4c9272b5",
      "parents": [
        "2a9fb85d0ddd3ee87e9b7bc7bd762190ff24f394"
      ],
      "author": {
        "name": "zhouli11",
        "email": "04081337@163.com",
        "time": "Mon Feb 09 15:07:09 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 09 15:07:09 2026 +0800"
      },
      "message": "Release python sdk 5.1.1 (#1192)\n\n"
    },
    {
      "commit": "2a9fb85d0ddd3ee87e9b7bc7bd762190ff24f394",
      "tree": "04ff07652108c98802bdcf5f095e96230919e8be",
      "parents": [
        "f13d28efffc81beadc0dafb90dbf24951e78aaff"
      ],
      "author": {
        "name": "lizhimins",
        "email": "707364882@qq.com",
        "time": "Wed Jan 28 09:58:27 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 28 09:58:27 2026 +0800"
      },
      "message": "[maven-release-plugin] prepare for next development iteration (#1186)\n\n"
    },
    {
      "commit": "f13d28efffc81beadc0dafb90dbf24951e78aaff",
      "tree": "0842abba13da56ec6648f7005b4209caf5e859ad",
      "parents": [
        "652a140da436ff1299f26f32a7fb8b404f395ab9"
      ],
      "author": {
        "name": "lizhimins",
        "email": "707364882@qq.com",
        "time": "Tue Jan 27 20:28:58 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 27 20:28:58 2026 +0800"
      },
      "message": "[maven-release-plugin] prepare release java-5.2.0 (#1184)\n\n"
    },
    {
      "commit": "652a140da436ff1299f26f32a7fb8b404f395ab9",
      "tree": "78e56404163bd7f3670349c1066ad380719ad274",
      "parents": [
        "c159a67d62c175027a366774940843c04e96a8ab"
      ],
      "author": {
        "name": "qianye",
        "email": "wuxingcan.wxc@alibaba-inc.com",
        "time": "Tue Jan 27 19:56:10 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 27 19:56:10 2026 +0800"
      },
      "message": "[Java] Fix opentelemetry-instrumentation-compatibility CI (#1185)\n\n"
    },
    {
      "commit": "c159a67d62c175027a366774940843c04e96a8ab",
      "tree": "24d22694fee8cbf4c97e7dccf00dc150b60cf330",
      "parents": [
        "3c6f6fabdaddb91ef15b10e34c391d26be0e185b"
      ],
      "author": {
        "name": "Quan",
        "email": "zsjperiod@foxmail.com",
        "time": "Wed Jan 14 11:03:34 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 14 11:03:34 2026 +0800"
      },
      "message": "[ISSUE #1150] [Java] Support OffsetOption for subscribeLite (#1151)\n\nChange-Id: Icca22d58883c467e74c357e4f7d7aaa719f2e524\nCo-authored-by: 靖泉 \u003cvincent.zsj@alibaba-inc.com\u003e"
    },
    {
      "commit": "3c6f6fabdaddb91ef15b10e34c391d26be0e185b",
      "tree": "ec5bf0c2a79aec3b1711dd33cc51a526a46ba023",
      "parents": [
        "1139cfbc8faf71065b87526aee1180b47015b069"
      ],
      "author": {
        "name": "SHI",
        "email": "34100836+woaishixiaoxiao@users.noreply.github.com",
        "time": "Wed Jan 14 11:01:05 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 14 11:01:05 2026 +0800"
      },
      "message": "[ISSUE #1161] [Golang] Client support ipv6 hostip:port (#1162)\n\nCo-authored-by: shixiaoxiao \u003cshixiaoxiao@bytedance.com\u003e"
    },
    {
      "commit": "1139cfbc8faf71065b87526aee1180b47015b069",
      "tree": "91b19d89ff3857ba5c544cb32d5ebac295b27bf6",
      "parents": [
        "601aee5be5318dd903bf8c69ae6ababb88cad183"
      ],
      "author": {
        "name": "lizhimins",
        "email": "707364882@qq.com",
        "time": "Wed Jan 14 10:13:10 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 14 10:13:10 2026 +0800"
      },
      "message": "[ISSUE #1174] [C++] Optimize the logic for generating the uniqueId of messages (#1175)\n\n"
    },
    {
      "commit": "601aee5be5318dd903bf8c69ae6ababb88cad183",
      "tree": "2a90e68846e64e9d4ba85c80a8db9ada5f11fd05",
      "parents": [
        "399a39e560bf44c29835685b24b69612e9f52ed5"
      ],
      "author": {
        "name": "Quan",
        "email": "zsjperiod@foxmail.com",
        "time": "Mon Jan 12 14:24:25 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 12 14:24:25 2026 +0800"
      },
      "message": "refactor(lite_push_consumer): use `sync.Map` to replace regular map and fix related method calls (#1171)\n\ntest(lite_push_consumer_test): update test cases to match new `sync.Map` implementation\n\ndocs(README.md): update development guide and build steps\n\nChange-Id: I08e1483141fd4f4e21629be86160f9e42de0ffcb\n\nCo-authored-by: 靖泉 \u003cvincent.zsj@alibaba-inc.com\u003e"
    },
    {
      "commit": "399a39e560bf44c29835685b24b69612e9f52ed5",
      "tree": "37108362902ba241fa2608db61b52ab4717f9c7e",
      "parents": [
        "54724846e46e9bcef358b473317f27ebc6fc05a1"
      ],
      "author": {
        "name": "cvictory",
        "email": "shenglicao2@gmail.com",
        "time": "Fri Jan 09 10:50:48 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 09 10:50:48 2026 +0800"
      },
      "message": "[ISSUE #1107] [Golang] LiteTopic support for \"RIP‐83 Lite Topic\" (#1110)\n\n* lite topic init\n\n* disable ssl in sample\n\n* fix bug and unit test\n\n* fix bug and unit test\n\n* fix unit test\n\n* Feature parity between client and server.\n\n* opt variable name\n\n* update latest pb file\n\n* update pb file\n\n* update pb file\n\n* align java sdk\n\n---------\n\nCo-authored-by: cvictory \u003cshengli.caosl@alibaba-inc.com\u003e"
    },
    {
      "commit": "54724846e46e9bcef358b473317f27ebc6fc05a1",
      "tree": "62b14887b3a2d857f8101634ef10141076fa26d7",
      "parents": [
        "ab66ab6beb4300e5516e477cd89bbdeb8bd2a1b7"
      ],
      "author": {
        "name": "Marandi269",
        "email": "77094666+Marandi269@users.noreply.github.com",
        "time": "Thu Jan 08 10:19:54 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 08 10:19:54 2026 +0800"
      },
      "message": "[Python] Fix PushConsumer not receiving messages (#1169)\n\nMove reset_setting() before reset_metric() to ensure consumer\ninitialization completes even if reset_metric() throws an exception.\n\nRoot cause: reset_setting() was nested inside the metric check condition,\nand reset_metric() could throw exceptions (e.g., when client_metrics is\nnot initialized), causing reset_setting() to never be called. This left\nPushConsumer.__consumption as None, making __scan_assignment() return\nearly and never fetch messages.\n\nFixes #1168"
    },
    {
      "commit": "ab66ab6beb4300e5516e477cd89bbdeb8bd2a1b7",
      "tree": "40198cd5a66daa366066e7b10e0695d10d6aab49",
      "parents": [
        "0b838e7382e066a37df7a4b68e701fe182ec435e"
      ],
      "author": {
        "name": "zhouli11",
        "email": "04081337@163.com",
        "time": "Tue Jan 06 17:07:12 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 06 17:07:12 2026 +0800"
      },
      "message": "Add example of sending lite_topic  in python sdk. (#1170)\n\n"
    },
    {
      "commit": "0b838e7382e066a37df7a4b68e701fe182ec435e",
      "tree": "be961f1d9508b51f3d0880a4734dc237e63c6660",
      "parents": [
        "8903b2fd5a04d1385525aa9c13e2b067d0f0b9b1"
      ],
      "author": {
        "name": "zhouli11",
        "email": "04081337@163.com",
        "time": "Mon Jan 05 17:36:36 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 05 17:36:36 2026 +0800"
      },
      "message": "Release Python SDK 5.1.0 (#1167)\n\n"
    },
    {
      "commit": "8903b2fd5a04d1385525aa9c13e2b067d0f0b9b1",
      "tree": "2f78df4c8db47411b122b74ab969e41ed68e893e",
      "parents": [
        "692dd72cfd20b3e11739bc97441d2b07305a678f"
      ],
      "author": {
        "name": "imzs",
        "email": "imzs@foxmail.com",
        "time": "Mon Dec 29 14:34:51 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 29 14:34:51 2025 +0800"
      },
      "message": "[ISSUE #1152] [RIP-80] [Java] Implementation of Priority Message (#1153)\n\nChange-Id: Ib4d1d67573948a5c66ec1e0c83082d2bfb44d9e6"
    },
    {
      "commit": "692dd72cfd20b3e11739bc97441d2b07305a678f",
      "tree": "58f0c1b2f98ef733ef5fde064ac41638e5d4c844",
      "parents": [
        "d3962278fca112aeffcaf701549241fb37c7d9bf"
      ],
      "author": {
        "name": "yx9o",
        "email": "yangx_soft@163.com",
        "time": "Mon Dec 29 11:09:24 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 29 11:09:24 2025 +0800"
      },
      "message": "[ISSUE #1163] Correct document spelling errors (#1164)\n\n"
    },
    {
      "commit": "d3962278fca112aeffcaf701549241fb37c7d9bf",
      "tree": "72a49dbeb4cdb6e9f0812149d0af61341075fc08",
      "parents": [
        "e7097ae507c4e20277d93b31a819e464f3ab57df"
      ],
      "author": {
        "name": "lizhimins",
        "email": "707364882@qq.com",
        "time": "Fri Dec 26 15:20:47 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 26 15:20:47 2025 +0800"
      },
      "message": "[ISSUE #1159] [C++] Use Pass-by-Value instead of Pass-by-Reference for attemptId in PushConsumer (#1160)\n\n"
    },
    {
      "commit": "e7097ae507c4e20277d93b31a819e464f3ab57df",
      "tree": "018386bcd88622500bc9c3671f34ac8d0985d44d",
      "parents": [
        "a9bb6ffb3ee85d4d0b9a23a2f22a80d4000cd71c"
      ],
      "author": {
        "name": "lizhimins",
        "email": "707364882@qq.com",
        "time": "Thu Dec 25 16:26:33 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 25 16:26:33 2025 +0800"
      },
      "message": "[ISSUE #1156] [C++] SimpleConsumer support subscription expression (#1158)\n\n"
    },
    {
      "commit": "a9bb6ffb3ee85d4d0b9a23a2f22a80d4000cd71c",
      "tree": "d3a107130b92afd2a8e16dde9c8c7d351df710cc",
      "parents": [
        "576e61b8624b2dc09f1112649ff12dd44ff0d6d2"
      ],
      "author": {
        "name": "lizhimins",
        "email": "707364882@qq.com",
        "time": "Wed Dec 24 10:04:05 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 24 10:04:05 2025 +0800"
      },
      "message": "[ISSUE #1035] [C++] Supports configuring the number of client threads (#1155)\n\n"
    },
    {
      "commit": "576e61b8624b2dc09f1112649ff12dd44ff0d6d2",
      "tree": "7eff0794ce156893aee47834450cd4af1e3bded1",
      "parents": [
        "fd58dabaa43c4218344b87f6bbcf1251bfb9b5b8"
      ],
      "author": {
        "name": "guyinyou",
        "email": "36399867+guyinyou@users.noreply.github.com",
        "time": "Wed Dec 17 10:25:45 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 17 10:25:45 2025 +0800"
      },
      "message": "golang: Added rate limiting for SimpleConsumer\u0027s Receive requests by clientID dimension (#1141)\n\n* golang: Added rate limiting for SimpleConsumer\u0027s Receive requests by clientID dimension\n\nChange-Id: I0968728e0fa1532c264b786c5f7e5f4234dcc017\n\n* default maxReceiveConcurrency set 20\n\nChange-Id: I27a15654b51cede7453ea99d058a613cd4729600\n\n---------\n\nCo-authored-by: guyinyou \u003cguyinyou.gyy@alibaba-inc.com\u003e"
    },
    {
      "commit": "fd58dabaa43c4218344b87f6bbcf1251bfb9b5b8",
      "tree": "4462038aecedb476afb0c634cbe8bcfcec5f3741",
      "parents": [
        "c47025cb7e90795f56e4a09c260f09eb344c5100"
      ],
      "author": {
        "name": "qianye",
        "email": "wuxingcan.wxc@alibaba-inc.com",
        "time": "Wed Dec 10 13:58:18 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 10 13:58:18 2025 +0800"
      },
      "message": "[ISSUE #1145] Make ClientServiceProvider.loadService Thread-Safe with Lazy Initialization (#1146)\n\n"
    },
    {
      "commit": "c47025cb7e90795f56e4a09c260f09eb344c5100",
      "tree": "94f8585eed63511ff90429a3d8b9906ee7d72aaa",
      "parents": [
        "6a51929d07ba49ecf3470759317de567d7bf3d80"
      ],
      "author": {
        "name": "zhouli11",
        "email": "04081337@163.com",
        "time": "Mon Dec 08 16:18:26 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 08 16:18:26 2025 +0800"
      },
      "message": "Release python SDK 5.0.9 (#1144)\n\n"
    },
    {
      "commit": "6a51929d07ba49ecf3470759317de567d7bf3d80",
      "tree": "a20f73a1ccd117742f5a2fb6c85c90d06cd03927",
      "parents": [
        "ac19e79864d80bfe1c26731d0a6e6e95e3e532a8"
      ],
      "author": {
        "name": "zhouli11",
        "email": "04081337@163.com",
        "time": "Thu Dec 04 16:19:59 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 04 16:19:59 2025 +0800"
      },
      "message": "Release Python SDK, version: 5.0.8 (#1142)\n\n"
    },
    {
      "commit": "ac19e79864d80bfe1c26731d0a6e6e95e3e532a8",
      "tree": "a789b5800403d59bb66c1e3fcc7d3e84303ecdf8",
      "parents": [
        "90d9f1511a7061c71bef6956f862240c63611349"
      ],
      "author": {
        "name": "qianye",
        "email": "wuxingcan.wxc@alibaba-inc.com",
        "time": "Wed Nov 26 17:17:42 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 26 17:17:42 2025 +0800"
      },
      "message": "[ISSUE #1133] The java client adds the maxStartupAttempts parameter to configure the retry times at startup (#1134)\n\n"
    },
    {
      "commit": "90d9f1511a7061c71bef6956f862240c63611349",
      "tree": "706d5b04330bec5758133210a3608fd72ab28fed",
      "parents": [
        "80962ade844b973f5633feb3e65b289a0ff3593f"
      ],
      "author": {
        "name": "qianye",
        "email": "wuxingcan.wxc@alibaba-inc.com",
        "time": "Fri Nov 07 10:08:09 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 07 10:08:09 2025 +0800"
      },
      "message": "Optimize ProducerTransactionMessageExample.java demo\n\nOptimize ProducerTransactionMessageExample.java demo"
    },
    {
      "commit": "80962ade844b973f5633feb3e65b289a0ff3593f",
      "tree": "019262ae61b62ecd356f86a1c69228240d32d600",
      "parents": [
        "a11dbf8b0c2e168deeec70b4874146b249b84edb"
      ],
      "author": {
        "name": "guyinyou",
        "email": "36399867+guyinyou@users.noreply.github.com",
        "time": "Wed Nov 05 13:59:55 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 05 13:59:55 2025 +0800"
      },
      "message": "Support fifo parallel consume in go pushconsumer (#1122)\n\nChange-Id: If602f7dc9316d01dd7c8846f73c507ffe46db283\n\nCo-authored-by: guyinyou \u003cguyinyou.gyy@alibaba-inc.com\u003e"
    },
    {
      "commit": "a11dbf8b0c2e168deeec70b4874146b249b84edb",
      "tree": "154a5ecf28af96c3972a027c211d937de3482a10",
      "parents": [
        "2406234d092aab5bf881858c4c527d450e013325"
      ],
      "author": {
        "name": "zhaohai",
        "email": "33314633+zhaohai666@users.noreply.github.com",
        "time": "Tue Nov 04 10:44:20 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 04 10:44:20 2025 +0800"
      },
      "message": "fix resource (#1119)\n\n"
    },
    {
      "commit": "2406234d092aab5bf881858c4c527d450e013325",
      "tree": "9621bfc4a04c84d5c5c03daf939f465cccfaf2ba",
      "parents": [
        "c996ee9589bcdd5e2003161bf04032440a364648"
      ],
      "author": {
        "name": "lizhimins",
        "email": "707364882@qq.com",
        "time": "Mon Oct 20 18:50:48 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 20 18:50:48 2025 +0800"
      },
      "message": "[maven-release-plugin] prepare for next development iteration (#1115)\n\n"
    },
    {
      "commit": "c996ee9589bcdd5e2003161bf04032440a364648",
      "tree": "fd17feb527bcaf7d93c8a740764218873f2c7e01",
      "parents": [
        "ef216972730c47eeaaf7575a1d125bfd4fbabe4e"
      ],
      "author": {
        "name": "lizhimins",
        "email": "707364882@qq.com",
        "time": "Mon Oct 20 15:51:45 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 20 15:51:45 2025 +0800"
      },
      "message": "[maven-release-plugin] prepare release rocketmq-client-java-parent-5.1.0 (#1114)\n\n"
    },
    {
      "commit": "ef216972730c47eeaaf7575a1d125bfd4fbabe4e",
      "tree": "4ee7bcb6cac2f76838e919f972c9f8c9e2c181c6",
      "parents": [
        "6cc37178421a7a96b2ad752d08c616a7faa49891"
      ],
      "author": {
        "name": "Quan",
        "email": "zsjperiod@foxmail.com",
        "time": "Mon Oct 20 11:47:57 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 20 11:47:57 2025 +0800"
      },
      "message": "[ISSUE #1107] [Java] LiteTopic support for \"RIP‐83 Lite Topic\" (#1108)\n\n* producer lite topic\n\n* new MessageImpl with MessageBuilderImpl\n\n* lite push consumer\n\n* createFifoConsumeService\n\n* default fifo true for LitePushConsumerSettings\n\n* lite push consumer sub bindTopic *\n\n* 1. fix heartbeat;\n2. add version for interest;\n\n* upgrade to 5.0.9-lite-topic-SNAPSHOT and fix logback\n\n* add some test\n\n* subscribeLite List\u003cString\u003e\n\n* Collection instead of List\n\n* check point\n\n* syncLiteSubscription\n\n* code refactor\n\n* fix check style\n\n* onNotifyUnsubscribeLiteCommand\n\n* LiteSubscriptionQuotaExceededException and LiteTopicQuotaExceededException\n\n* subscribeLite atomic\n\n* client side quota check\n\n* client-side lite subscription quota limit\n\n* checkLiteSubscriptionQuota 3000\n\n* validateLiteTopic for lite push consumer\n\n* ack with lite topic if present.\n\n* forward syncSettings exception to upper layer\n\n* set liteSubscriptionQuota 1200\n\n* lite push conusmer setInvisibleDuration\n\n* LitePushConsumerSettings#toString more fields\n\n* revert InvisibleDuration\n\n* log when subscribeLite raise ClientException\n\n* LitePushConsumerImplTest\n\n* more clearer LitePushConsumer Interface\n\n* remove subscribeLite(Collection\u003cString\u003e)\n\n* code refactor and more unit test\n\n* remove setEnableFifoConsumeAccelerator\n\n* code recover\n\n* fix\n\n* fix\n\n* fix code style\n\n* add liteTopic for ForwardMessageToDeadLetterQueueRequest\n\n* fix normal group consume lite topic\n\n* log client type\n\n* notify unsubscribe lite with liteTopic only\n\n* fix test\n\n* complete lite example\n\n* LitePushConsumer#getLiteTopicSet\n\n* fix comments\n\n* remove fifo \u003d true\n\n* log warn for onNotifyUnsubscribeLiteCommand default implementation\n\n* use new proto and update to 5.1.0-lite-topic-SNAPSHOT\n\nChange-Id: I01f0c9c64be2614d0215560240548bba2078e505\n\n* log when subscribeLite and unsubscribeLite\n\nChange-Id: I01cb9cd4d9a474218e674662407708cf069bf426\n\n* revert pom config\n\nChange-Id: I7cc3f5624bf73b8cfeb902f4e0fc3b1fc7d4062d\n\n* rocketmq-proto.version to 2.1.0-SNAPSHOT\n\nChange-Id: I686e9ab7eaed1af1d1b01a57a88438af4bfa1878\n\n* liteSubscriptionQuota default to 0\n\nChange-Id: I3bcfaaa323b1eea3bd0665ab1d8722a7bc47a4fe\n\n* upgrade to 5.1.0-SNAPSHOT\n\nChange-Id: I360dbd38de8fa2cc21ab4ebb827fcbdce0258fa6\n\n* add comments\n\nChange-Id: I062b4a92032788b6c361304d45b6a40e9a28923a\n\n* add comments\n\nChange-Id: I53a21ec7faa0ba85d46c020a1709f4e011c799ec\n\n---------\n\nCo-authored-by: Quan \u003cvincent.zsj@alibaba-inc.com\u003e\nCo-authored-by: moling \u003czhangshuo.zs@alibaba-inc.com\u003e"
    },
    {
      "commit": "6cc37178421a7a96b2ad752d08c616a7faa49891",
      "tree": "9b72c7500e3674cb30f267e5038d46f6751227de",
      "parents": [
        "306b197f2c8e6ee51a0dcbfe6aeb8a6d5f7c2c55"
      ],
      "author": {
        "name": "Lei Zhiyuan",
        "email": "leizhiyuan@gmail.com",
        "time": "Tue Sep 09 19:56:31 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 09 19:56:31 2025 +0800"
      },
      "message": "[ISSUE #1098] [Golang] Ensure proper closure of done channel on receive message error (#1099)\n\n"
    },
    {
      "commit": "306b197f2c8e6ee51a0dcbfe6aeb8a6d5f7c2c55",
      "tree": "63ba8d2242ffd145417757256d5fa2379cd85b67",
      "parents": [
        "3c37fbe7a07f02d96fe88db2659be2cc6662c81c"
      ],
      "author": {
        "name": "takagi",
        "email": "82871248+takagi906@users.noreply.github.com",
        "time": "Thu Sep 04 11:41:40 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 04 11:41:40 2025 +0800"
      },
      "message": "[ISSUE #1075] [Golang] Support ReconnectEndpointsCommand (#1076)\n\nCo-authored-by: weilin \u003czhaoxuyao.zxy@alibaba-inc.com\u003e"
    },
    {
      "commit": "3c37fbe7a07f02d96fe88db2659be2cc6662c81c",
      "tree": "d6351eb7893a77cf968313cf79fa3d9d40d2cbf0",
      "parents": [
        "0c837c6e0ea273867c3b9cf7fdf4d894ee5f45e3"
      ],
      "author": {
        "name": "takagi",
        "email": "82871248+takagi906@users.noreply.github.com",
        "time": "Thu Sep 04 11:39:11 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 04 11:39:11 2025 +0800"
      },
      "message": "[ISSUE #1070] [Golang] Add SSL configuration when starting the client (#1072)\n\nCo-authored-by: weilin \u003czhaoxuyao.zxy@alibaba-inc.com\u003e"
    },
    {
      "commit": "0c837c6e0ea273867c3b9cf7fdf4d894ee5f45e3",
      "tree": "5a02a072585a37869cacf21bd28f388038a3bca6",
      "parents": [
        "e97629054d9a5315290c5ca71fa37961f8f9957d"
      ],
      "author": {
        "name": "takagi",
        "email": "82871248+takagi906@users.noreply.github.com",
        "time": "Thu Sep 04 11:38:43 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 04 11:38:43 2025 +0800"
      },
      "message": "[ISSUE #1055] [Golang] Enhance grpc failover resilience (#1069)\n\nCo-authored-by: weilin \u003czhaoxuyao.zxy@alibaba-inc.com\u003e"
    },
    {
      "commit": "e97629054d9a5315290c5ca71fa37961f8f9957d",
      "tree": "fecc9d429e885af16869a534518600b8d09d2b30",
      "parents": [
        "7389a3031c8a0ae87fe9e3925b8887512dd56a46"
      ],
      "author": {
        "name": "takagi",
        "email": "82871248+takagi906@users.noreply.github.com",
        "time": "Thu Sep 04 10:06:55 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 04 10:06:55 2025 +0800"
      },
      "message": "[ISSUE #1083] [Golang] Triggering the judgment whether it is empty during task execution (#1084)\n\nCo-authored-by: weilin \u003czhaoxuyao.zxy@alibaba-inc.com\u003e"
    },
    {
      "commit": "7389a3031c8a0ae87fe9e3925b8887512dd56a46",
      "tree": "05fcbb6e594092d9d6450cd62b0a5ffd609b3e25",
      "parents": [
        "6bbd2514584c233dbf28eee740385dd5912c10db"
      ],
      "author": {
        "name": "bcaw-ofeer",
        "email": "65269125+bcaw-ofeer@users.noreply.github.com",
        "time": "Thu Sep 04 10:03:42 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 04 10:03:42 2025 +0800"
      },
      "message": "[ISSUE #1057] [Java] Enhance MessageImpl to allow subclasses to access properties (#1058)\n\nCo-authored-by: xiaoying.ly \u003cxiaoying.ly@alibaba-inc.com\u003e"
    },
    {
      "commit": "6bbd2514584c233dbf28eee740385dd5912c10db",
      "tree": "4d35987f9322edffb1736fbe555d56aa66c1f9b9",
      "parents": [
        "ea99f9e25752ecddd5b5400ac53a306b0525de1f"
      ],
      "author": {
        "name": "bcaw-ofeer",
        "email": "65269125+bcaw-ofeer@users.noreply.github.com",
        "time": "Thu Sep 04 10:03:16 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 04 10:03:16 2025 +0800"
      },
      "message": "[ISSUE #1060] [Java] Enhance the logic of MessageInterceptor (#1061)\n\nCo-authored-by: xiaoying.ly \u003cxiaoying.ly@alibaba-inc.com\u003e"
    },
    {
      "commit": "ea99f9e25752ecddd5b5400ac53a306b0525de1f",
      "tree": "27ad2b04e7ee330df97c3fef55cf56672e37bc89",
      "parents": [
        "8905f83daf6f9cb26e1d283d86239ff907d2527d"
      ],
      "author": {
        "name": "lizhimins",
        "email": "707364882@qq.com",
        "time": "Thu Aug 28 16:51:40 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 28 16:51:40 2025 +0800"
      },
      "message": "[ISSUE #1081] [Java] Fix missing protos (#1091)\n\n"
    },
    {
      "commit": "8905f83daf6f9cb26e1d283d86239ff907d2527d",
      "tree": "9bf0c6157932b97556df13ea48ccbddb9402d2a3",
      "parents": [
        "444c7640d2d9912cfe37f47c1dc3b26e7d181066"
      ],
      "author": {
        "name": "bcaw-ofeer",
        "email": "65269125+bcaw-ofeer@users.noreply.github.com",
        "time": "Thu Aug 28 16:37:30 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 28 16:37:30 2025 +0800"
      },
      "message": "[ISSUE #1081] [Java] Support message filtering in interceptors with proper acknowledgment handling (#1082)\n\nCo-authored-by: xiaoying.ly \u003cxiaoying.ly@alibaba-inc.com\u003e\nCo-authored-by: terrance.lzm \u003cterrance.lzm@alibaba-inc.com\u003e"
    },
    {
      "commit": "444c7640d2d9912cfe37f47c1dc3b26e7d181066",
      "tree": "cddc093102511b9ccac0140bb67c0df712e69a07",
      "parents": [
        "eec779065791b4198a24bea75c643a6459d3debb"
      ],
      "author": {
        "name": "EnableAsync",
        "email": "43645467+EnableAsync@users.noreply.github.com",
        "time": "Thu Aug 28 10:12:55 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 28 10:12:55 2025 +0800"
      },
      "message": "[Rust] Fix Github Rust Workflow (#1090)\n\n"
    },
    {
      "commit": "eec779065791b4198a24bea75c643a6459d3debb",
      "tree": "835805f39e9a8c8fae6129e7811825296e2a9f2a",
      "parents": [
        "3dc40e911bd72cea62e85b2770491e7ea697e8ca"
      ],
      "author": {
        "name": "EnableAsync",
        "email": "43645467+EnableAsync@users.noreply.github.com",
        "time": "Wed Aug 27 16:18:19 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 27 16:18:19 2025 +0800"
      },
      "message": "[Rust] Fix Github Rust Workflow (#1089)\n\n"
    },
    {
      "commit": "3dc40e911bd72cea62e85b2770491e7ea697e8ca",
      "tree": "7aacd1a636f06e1dccf63eb3dfa3aa3268d3cd8a",
      "parents": [
        "fee5a0068fe010db9114a2298d70b5b53d91eecd"
      ],
      "author": {
        "name": "ymwneu",
        "email": "ymwneu@126.com",
        "time": "Mon Aug 11 10:36:21 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 11 10:36:21 2025 +0800"
      },
      "message": "[ISSUE #1051] Upgrade slf4j version to match current logback version (#1052)\n\n"
    }
  ],
  "next": "fee5a0068fe010db9114a2298d70b5b53d91eecd"
}
