)]}'
{
  "log": [
    {
      "commit": "2a02d9e3fb4e03df1da1ff4eb7665e4773188930",
      "tree": "b37dbf1651a10b0d7606b80f0bf2279f63bdab10",
      "parents": [
        "6ddefcef87974b9e9f1072a4f5c7b6fda8db882d"
      ],
      "author": {
        "name": "xin_github",
        "email": "74232414+xin-ok@users.noreply.github.com",
        "time": "Wed May 06 15:16:06 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 15:16:06 2026 +0800"
      },
      "message": "Use compare_exchange_weak in steal loop for potential performance improvement (#3285)"
    },
    {
      "commit": "6ddefcef87974b9e9f1072a4f5c7b6fda8db882d",
      "tree": "1f9cd7aeadb7ac775e3beb4bd80701ed107f5851",
      "parents": [
        "457e22a6c4ce1fc332fb3e7d43e993be7ed2c72b"
      ],
      "author": {
        "name": "huangjun",
        "email": "hjwsm1989@gmail.com",
        "time": "Sun Apr 26 17:44:07 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 26 17:44:07 2026 +0800"
      },
      "message": "Roll back LocalityAwareLoadBalancer to gettimeofday_us to match callers (#3283)\n\nPR #3268 (\"Use monotonic time instead of wall time\") switched\nLocalityAwareLoadBalancer::Weight::Update\u0027s end_time_us and\nLocalityAwareLoadBalancer::Describe\u0027s now to butil::cpuwide_time_us(),\nbut every caller that supplies CallInfo::begin_time_us still uses\nbutil::gettimeofday_us():\n\n  - Channel::CallMethod (channel.cpp:451) -\u003e Controller::IssueRPC -\u003e\n    Controller::Call::begin_time_us -\u003e SelectIn::begin_time_us -\u003e\n    CallInfo::begin_time_us\n  - Controller::OnVersionedRPCReturned retry sites\n    (controller.cpp:672, 715) call IssueRPC(gettimeofday_us()) on\n    backup-request and regular retries\n\nThe mismatched time domains make\n\n    latency \u003d end_time_us - ci.begin_time_us\n            \u003d cpuwide_now - wallclock_begin\n            ~\u003d -1.7e15 us\n\ntrigger the `if (latency \u003c\u003d 0) { /* time skews, ignore */ return 0; }`\nshort-circuit on every call. _time_q never accumulates samples,\n_avg_latency stays at 0, and locality-aware weight feedback is silently\ndisabled.\n\nVisible downstream symptom: cold-start `list://` channels with `lb\u003dla`\nand 2 backends occasionally fail RPCs with EHOSTDOWN (\"Fail to select\nserver from list://...\") on retry even when one backend is healthy.\nBisected reproduction in xsky/brpc fork:\n\n  - 51 commit range c41e838..604dad0c (1.16.1 .. 1.17.0-rc2)\n  - master code + LA-driven multipath probe at 2 backends, max_retry\u003d1,\n    repeat 500x:\n      * commit 771de31e (one before #3268): 0/500 fail\n      * commit 12fb539a (#3268):           25/500 fail\n      * commit 12fb539a + revert only Weight::Update::end_time_us to\n        gettimeofday_us:                    0/500 fail\n\nThis commit reverts the LA-side of #3268\u0027s clock change so the LB lines\nup with its existing callers again. Channel::CallMethod and the retry\npaths in Controller stay on butil::gettimeofday_us(), which preserves\nthe wall-clock semantics of Controller::_begin_time_us /\nController::latency_us() that public users rely on.\n\nAdds test/brpc_load_balancer_unittest.cpp::la_records_latency_with_consistent_time_source\nwhich drives a series of SelectServer + Feedback cycles against\nLocalityAwareLoadBalancer (no Server / Channel needed) and asserts\nthat _avg_latency reflects the elapsed time, rather than being stuck\nat 0 because of a time-source mismatch.\n\nCo-authored-by: huangjun \u003chuangjun@xsky.com\u003e"
    },
    {
      "commit": "457e22a6c4ce1fc332fb3e7d43e993be7ed2c72b",
      "tree": "e268f1df580326c83a750946a4c5e99d2d5c1e3c",
      "parents": [
        "5fdb0d83a14e856994ac3ddf24ee8dd227ab56c2"
      ],
      "author": {
        "name": "Zhou",
        "email": "43895234@qq.com",
        "time": "Sun Apr 26 17:29:44 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 26 17:29:44 2026 +0800"
      },
      "message": "Fix avoid SIGSEGV in read_proc_status during static initialization (#3282)\n\nread_proc_status can be sampled while default bvars are initialized before main().\nIf reading /proc/self/stat fails at that time, logging through glog may access\nuninitialized glog state and crash.\n\nPrint the warning to stderr instead, matching the read_proc_io fallback.\n\nSigned-off-by: zhoulei \u003czhoulei@xsky.com\u003e\nCo-authored-by: zhoulei \u003czhoulei@xsky.com\u003e"
    },
    {
      "commit": "5fdb0d83a14e856994ac3ddf24ee8dd227ab56c2",
      "tree": "b604e8b56cf7377804c01479678b2981afa1d8f7",
      "parents": [
        "b5dc6fc7816e9bf543f5e0dd8714080da235791f"
      ],
      "author": {
        "name": "Bright Chen",
        "email": "chenguangmingfe@foxmail.com",
        "time": "Fri Apr 24 13:34:58 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 24 13:34:58 2026 +0800"
      },
      "message": "Remove unused comp channel (#3279)"
    },
    {
      "commit": "b5dc6fc7816e9bf543f5e0dd8714080da235791f",
      "tree": "1ada087670e7cf67292b080802f0f22fd4e423da",
      "parents": [
        "35682ff8d8e567a941035b3c09838dd932465f1f"
      ],
      "author": {
        "name": "huangjun",
        "email": "hjwsm1989@gmail.com",
        "time": "Thu Apr 23 11:00:13 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 23 11:00:13 2026 +0800"
      },
      "message": "[bvar] Fix sampler interval after switch to cpuwide_time_ns (#3278)\n\nCommit 12fb539a (\"Use monotonic time instead of wall time\", #3268)\nswitched the three time-source calls in SamplerCollector::run() from\ngettimeofday_us() to cpuwide_time_ns(), but the surrounding code still\ntreats the timestamps as microseconds:\n\n- abstime +\u003d 1000000L now represents 1 ms (not 1 s), causing the\n  sampler to spin at ~1 kHz instead of 1 Hz;\n- usleep(abstime - now) receives a nanosecond delta, which usleep()\n  interprets as microseconds.\n\nUse cpuwide_time_us() instead, which preserves the monotonic behavior\nfrom #3268 while keeping the existing microsecond-based arithmetic\ncorrect.\n\nFixes #3277.\n\nCo-authored-by: huangjun \u003chuangjun@xsky.com\u003e"
    },
    {
      "commit": "35682ff8d8e567a941035b3c09838dd932465f1f",
      "tree": "055980075d907e02fb04c814a69cd96bc5ead672",
      "parents": [
        "12a76adecbeecd0ea50ec626e7db03a3960c2122"
      ],
      "author": {
        "name": "randomkang",
        "email": "75484924+randomkang@users.noreply.github.com",
        "time": "Mon Apr 20 23:18:04 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 20 23:18:04 2026 +0800"
      },
      "message": "Support rdma ece (#3255)"
    },
    {
      "commit": "12a76adecbeecd0ea50ec626e7db03a3960c2122",
      "tree": "bf8500d959857973432359ad4e98f486c009136a",
      "parents": [
        "124660290811e29f0eaad64c86c1110cf408d075"
      ],
      "author": {
        "name": "Youmu",
        "email": "condy0919@gmail.com",
        "time": "Mon Apr 20 23:15:49 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 20 23:15:49 2026 +0800"
      },
      "message": "fix(bthread/context): Add .previous after GNU-stack note (#3266)\n\nAdd missing .previous directive after each .note.GNU-stack section in ARM inline\nassembly blocks. This ensures proper section switching and prevents potential\nassembler errors when building with asan.\n\nSee #1186"
    },
    {
      "commit": "124660290811e29f0eaad64c86c1110cf408d075",
      "tree": "b6f02369f61af19d6a56b10998246ab27a5554e3",
      "parents": [
        "b223e60b578aa0391331f38ab176ec53a3c87c90"
      ],
      "author": {
        "name": "Sai Asish Y",
        "email": "say.apm35@gmail.com",
        "time": "Wed Apr 15 20:54:03 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 16 11:54:03 2026 +0800"
      },
      "message": "butil: fix \u0027sucess\u0027 -\u003e \u0027success\u0027 typos in process_util.h comments (#3272)\n\nDoc comments in src/butil/process_util.h read \u0027on sucess\u0027 (lines 31, 36). Fixed to \u0027on success\u0027. Comment-only change.\n\nSigned-off-by: SAY-5 \u003cSAY-5@users.noreply.github.com\u003e\nCo-authored-by: SAY-5 \u003cSAY-5@users.noreply.github.com\u003e"
    },
    {
      "commit": "b223e60b578aa0391331f38ab176ec53a3c87c90",
      "tree": "68a660cabca8dc06100d8f3d90b8a96e08f46b60",
      "parents": [
        "12fb539a1cb387818bc27024d7455b9538d39e35"
      ],
      "author": {
        "name": "Bright Chen",
        "email": "chenguangmingfe@foxmail.com",
        "time": "Tue Apr 14 11:01:54 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 14 11:01:54 2026 +0800"
      },
      "message": "Fix RDMA resource (#3269)"
    },
    {
      "commit": "12fb539a1cb387818bc27024d7455b9538d39e35",
      "tree": "697a226b733ff85284ae4c3ad357b7bc282c6d10",
      "parents": [
        "771de31ed9307379d7f6df3e1661b58e494d785b"
      ],
      "author": {
        "name": "Bright Chen",
        "email": "chenguangmingfe@foxmail.com",
        "time": "Mon Apr 13 14:14:03 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 13 14:14:03 2026 +0800"
      },
      "message": "Use monotonic time instead of wall time (#3268)"
    },
    {
      "commit": "771de31ed9307379d7f6df3e1661b58e494d785b",
      "tree": "407735878e65104344059460f5a124f8fc882045",
      "parents": [
        "be01d1047c45fd679daf2d089c5041b13c5da3cc"
      ],
      "author": {
        "name": "Bright Chen",
        "email": "chenguangmingfe@foxmail.com",
        "time": "Fri Apr 10 13:38:38 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 10 13:38:38 2026 +0800"
      },
      "message": "Fix use after free issue of EventDispatcher LatencyRecorder (#3267)"
    },
    {
      "commit": "be01d1047c45fd679daf2d089c5041b13c5da3cc",
      "tree": "0176e1cea8d1f30c4ccfef0e92ce85ebf7bbd5f5",
      "parents": [
        "d269b69fb51a5ef51ea7ed369339a7330f05b646"
      ],
      "author": {
        "name": "darion-yaphet",
        "email": "darion.yaphets@gmail.com",
        "time": "Wed Apr 08 20:01:58 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 08 20:01:58 2026 +0800"
      },
      "message": "docs(readme): update READMEs and add English doc placeholders (#3263)\n\n- Fix outdated Travis CI badge in README_cn.md to GitHub Actions\n- Unify all doc links in README.md to point to docs/en/ directory\n- Add references for bthread tracer, coroutine, circuit breaker, RDMA, Bazel support\n- Create 39 English placeholder docs pointing to Chinese versions\n- Create Chinese placeholder for couchbase_example"
    },
    {
      "commit": "d269b69fb51a5ef51ea7ed369339a7330f05b646",
      "tree": "9e0c0c567343bc29303e697c1aaf70143e13e691",
      "parents": [
        "e9ada5785bf15ef4579019d7168693655aca1b7f"
      ],
      "author": {
        "name": "darion-yaphet",
        "email": "darion.yaphets@gmail.com",
        "time": "Wed Apr 08 16:19:10 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 08 16:19:10 2026 +0800"
      },
      "message": "feat(build): add progress output to config_brpc.sh (#3262)\n\nThe configuration script previously ran silently with no visible output,\nmaking it hard to tell whether it was working or what it detected.\nAdd colored progress messages for each stage: system info, dependency\ndiscovery, output file generation, and a final configuration summary."
    },
    {
      "commit": "e9ada5785bf15ef4579019d7168693655aca1b7f",
      "tree": "fa7adfe84f558975ae0e8379300329f5091cd451",
      "parents": [
        "f614c8160a00278ca5e507432c8efa1d34ba9c13"
      ],
      "author": {
        "name": "DavidKorczynski",
        "email": "david@adalogics.com",
        "time": "Mon Apr 06 04:02:15 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 06 11:02:15 2026 +0800"
      },
      "message": "Fix fuzz harness blockers (#3257)\n\n* Fix fuzz harness blockers\n\nHarden several code paths with increased error handling. The existing\nfuzzing harneses are running into various blockers stopping them from\nexplore further code. This is an effort to harden the code so the\nfuzzers will run better without crashing.\n\nSigned-off-by: David Korczynski \u003cdavid@adalogics.com\u003e\n\n* Add fatal logging\n\nSigned-off-by: David Korczynski \u003cdavid@adalogics.com\u003e\n\n---------\n\nSigned-off-by: David Korczynski \u003cdavid@adalogics.com\u003e"
    },
    {
      "commit": "f614c8160a00278ca5e507432c8efa1d34ba9c13",
      "tree": "6db551a393d8ba0dbdc933c9e0485aef70791e5b",
      "parents": [
        "8380e6e0f6d44ce7c602b1d5d2709293d14ca84e"
      ],
      "author": {
        "name": "Weibing Wang",
        "email": "wwbmmm@gmail.com",
        "time": "Thu Apr 02 15:00:43 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 02 15:00:43 2026 +0800"
      },
      "message": "Update release schedule (#3259)"
    },
    {
      "commit": "8380e6e0f6d44ce7c602b1d5d2709293d14ca84e",
      "tree": "c2b53d6426ec3bea4e351622f7fe0ccbdf43b030",
      "parents": [
        "625843ebc6497150d8260b0c5153839ce46e04d9"
      ],
      "author": {
        "name": "lh2debug",
        "email": "lh2debug@163.com",
        "time": "Tue Mar 31 11:36:02 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 31 11:36:02 2026 +0800"
      },
      "message": "Fix span lifecycle with smart pointers to prevent use-after-free in async RPC callbacks  (#3140)\n\n* Fix span lifecycle with smart pointers to prevent use-after-free in async RPC callbacks (#3068)\n\n* Refactor bthread span lifecycle management and optimize span API with smart pointer reuse (#3068)\n\n---------\n\nCo-authored-by: lhh \u003clhh\u003e"
    },
    {
      "commit": "625843ebc6497150d8260b0c5153839ce46e04d9",
      "tree": "00bcc070f748e5826445cad3fef171919f1c5789",
      "parents": [
        "c16fdc6bb8b3215518e081d4e47b20f62000de6f",
        "4f94d25452fd45adf72ab6965324ba2e31a0c174"
      ],
      "author": {
        "name": "LorinLee",
        "email": "lorinlee1996@gmail.com",
        "time": "Sun Mar 29 14:13:33 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Mar 29 14:13:33 2026 +0800"
      },
      "message": "Merge pull request #3254 from DavidKorczynski/extend-oss-fuzz\n\nExtend fuzz harness suite and fix false positive"
    },
    {
      "commit": "4f94d25452fd45adf72ab6965324ba2e31a0c174",
      "tree": "00bcc070f748e5826445cad3fef171919f1c5789",
      "parents": [
        "c16fdc6bb8b3215518e081d4e47b20f62000de6f"
      ],
      "author": {
        "name": "David Korczynski",
        "email": "david@adalogics.com",
        "time": "Sat Mar 28 11:59:47 2026 -0700"
      },
      "committer": {
        "name": "David Korczynski",
        "email": "david@adalogics.com",
        "time": "Sat Mar 28 11:59:47 2026 -0700"
      },
      "message": "Extend fuzz harness suite and fix false positive\n\nExtends the fuzzing suite to a broader set of targets. The main goal\nhere is to improve code coverage, of which a recent report is available\nhere:\nhttps://storage.googleapis.com/oss-fuzz-coverage/brpc/reports/20260326/linux/src/report.html\n\nThis also fixes false positives in some of the fuzzing harnesses due to\na missing Socket. This fixes issues e.g.\nhttps://issues.oss-fuzz.com/issues/42532345\n\nThe new fuzzing harnesses and the fix should show meaningful coverage\ngains.\n\nSigned-off-by: David Korczynski \u003cdavid@adalogics.com\u003e\n"
    },
    {
      "commit": "c16fdc6bb8b3215518e081d4e47b20f62000de6f",
      "tree": "b8bfce7196a27ce692752544c7f6f562a0740c61",
      "parents": [
        "d1d61758c81899cd39e3221c5c914c973b68c8d8"
      ],
      "author": {
        "name": "Bright Chen",
        "email": "chenguangmingfe@foxmail.com",
        "time": "Thu Mar 26 15:34:27 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 26 15:34:27 2026 +0800"
      },
      "message": "Opt IOBuf Profiler (#3251)"
    },
    {
      "commit": "d1d61758c81899cd39e3221c5c914c973b68c8d8",
      "tree": "b514fc4c87bf0cc7a46eea070c8c41e816a6130e",
      "parents": [
        "9a6ca260e2e3bd989a998b0574d37e51335e3059"
      ],
      "author": {
        "name": "Jenrry You",
        "email": "jenrryyou@gmail.com",
        "time": "Thu Mar 26 15:13:22 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 26 15:13:22 2026 +0800"
      },
      "message": "Make batch create stream SendFeedback thread safe (#3215)"
    },
    {
      "commit": "9a6ca260e2e3bd989a998b0574d37e51335e3059",
      "tree": "de61704d8dc3a3a7545915f2b3c4b587e7e92f9d",
      "parents": [
        "0565d8d2c7a1cde87e94aa222fe4946e6f20c358"
      ],
      "author": {
        "name": "Bright Chen",
        "email": "chenguangmingfe@foxmail.com",
        "time": "Wed Mar 25 19:54:57 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 25 19:54:57 2026 +0800"
      },
      "message": "Fix DoRead() returns error errno (#3248)"
    },
    {
      "commit": "0565d8d2c7a1cde87e94aa222fe4946e6f20c358",
      "tree": "9e73c255fea776007c2140dfc15d5127e20d9d41",
      "parents": [
        "d5dab280cda162df27ed355b248a5fb35ff83d90"
      ],
      "author": {
        "name": "x1wan",
        "email": "hanqing850110@163.com",
        "time": "Mon Mar 16 20:47:20 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 16 20:47:20 2026 +0800"
      },
      "message": "Skip() return true if the end of the stream is reached (#3242)\n\n* return true if the end of the stream is reached\n\n* update the comment with protocolbuffers/protobuf@ab25c3e\n\n---------\n\nCo-authored-by: zhaohanqing \u003czhaohanqing@kuaishou.com\u003e"
    },
    {
      "commit": "d5dab280cda162df27ed355b248a5fb35ff83d90",
      "tree": "4c2fda8babe3262c5681c380adcdb04d6efb6681",
      "parents": [
        "a103b4b6f5ed3186e0bdd8103dbc7835330d7ddf",
        "09b50d2c144e20e687c53829c89138caa7f1f31c"
      ],
      "author": {
        "name": "Xiaofeng Wang",
        "email": "wasphin@gmail.com",
        "time": "Sun Mar 15 23:28:20 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Mar 15 23:28:20 2026 +0800"
      },
      "message": "Merge pull request #3241 from cho-m/protobuf-34\n\nSupport building with Protobuf v34+"
    },
    {
      "commit": "09b50d2c144e20e687c53829c89138caa7f1f31c",
      "tree": "4c2fda8babe3262c5681c380adcdb04d6efb6681",
      "parents": [
        "a103b4b6f5ed3186e0bdd8103dbc7835330d7ddf"
      ],
      "author": {
        "name": "Michael Cho",
        "email": "michael@michaelcho.dev",
        "time": "Tue Mar 10 14:35:17 2026 -0400"
      },
      "committer": {
        "name": "Michael Cho",
        "email": "michael@michaelcho.dev",
        "time": "Tue Mar 10 14:38:17 2026 -0400"
      },
      "message": "Support building with Protobuf v34+\n\nThis handles removal of FieldDescriptor::is_optional()[^1] and ClassData\nremoval of on_demand_register_arena_dtor[^2]\n\n[^1]: protocolbuffers/protobuf@9dbc5d479a8e453921485d8d3de47fb3c005f1af\n[^2]: protocolbuffers/protobuf@49e15fecf6d8c23118668e4bb2d00ee7f4cd11c5\n"
    },
    {
      "commit": "a103b4b6f5ed3186e0bdd8103dbc7835330d7ddf",
      "tree": "c2486edeb4cefe1ae7b96d5b4825a30bcba3dcdf",
      "parents": [
        "a363887fb6b54fb28eba04a8af17dd2530244ff8"
      ],
      "author": {
        "name": "Jenrry You",
        "email": "jenrryyou@gmail.com",
        "time": "Tue Mar 10 16:00:23 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 10 16:00:23 2026 +0800"
      },
      "message": "Prevent indefinite defer-close by checking last_active_time (#3216)\n\nCo-authored-by: youzhiyuan \u003cyouzhiyuan@bytedance.com\u003e"
    },
    {
      "commit": "a363887fb6b54fb28eba04a8af17dd2530244ff8",
      "tree": "70b1e51057455dac1ae89efb7465b0a7c3efca38",
      "parents": [
        "0ec948ba1ad43a857c5885f5c01e1e76d7e2196b",
        "5755536afbccd02e7a43a1e59b8d211988992c03"
      ],
      "author": {
        "name": "Yang,Liming",
        "email": "liming.yang@139.com",
        "time": "Mon Mar 09 13:57:46 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 09 13:57:46 2026 +0800"
      },
      "message": "Merge pull request #3238 from MalikHou/master\n\n[feature][bug] Add tcp transport event dispatcher unsched flag \u0026 fix RDMA event dispatcher unsched flag"
    },
    {
      "commit": "5755536afbccd02e7a43a1e59b8d211988992c03",
      "tree": "53ab47b44592c89cdbfd0806a9b117f7b3faac07",
      "parents": [
        "4d8b0e4cb00ade1fc0a8a826fb4bfe46712c6940",
        "b65c90e80bcab7481a7a4c77f02b491a99fbc339"
      ],
      "author": {
        "name": "MalikHou",
        "email": "145674557+MalikHou@users.noreply.github.com",
        "time": "Mon Mar 09 12:31:06 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 09 12:31:06 2026 +0800"
      },
      "message": "Merge pull request #4 from MalikHou/malikhou/add_edisp_unsched\n\nfix md"
    },
    {
      "commit": "b65c90e80bcab7481a7a4c77f02b491a99fbc339",
      "tree": "53ab47b44592c89cdbfd0806a9b117f7b3faac07",
      "parents": [
        "9218d96c27b210ef7366e0d1c9e7bc0ccad486ab"
      ],
      "author": {
        "name": "MalikHou",
        "email": "malikhou01@gmail.com",
        "time": "Mon Mar 09 12:29:50 2026 +0800"
      },
      "committer": {
        "name": "MalikHou",
        "email": "malikhou01@gmail.com",
        "time": "Mon Mar 09 12:29:50 2026 +0800"
      },
      "message": "fix md\n"
    },
    {
      "commit": "4d8b0e4cb00ade1fc0a8a826fb4bfe46712c6940",
      "tree": "1f1e26159b5fbf945faf5be445dfea27070c9770",
      "parents": [
        "95e13d0565af968289bfbc8af3808d795197f3bb",
        "9218d96c27b210ef7366e0d1c9e7bc0ccad486ab"
      ],
      "author": {
        "name": "MalikHou",
        "email": "145674557+MalikHou@users.noreply.github.com",
        "time": "Mon Mar 09 11:51:20 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 09 11:51:20 2026 +0800"
      },
      "message": "Merge pull request #3 from MalikHou/malikhou/add_edisp_unsched\n\nfix"
    },
    {
      "commit": "9218d96c27b210ef7366e0d1c9e7bc0ccad486ab",
      "tree": "1f1e26159b5fbf945faf5be445dfea27070c9770",
      "parents": [
        "d3317cced4ed8e9ff84bb150687f614f7504beda"
      ],
      "author": {
        "name": "MalikHou",
        "email": "malikhou01@gmail.com",
        "time": "Mon Mar 09 11:50:30 2026 +0800"
      },
      "committer": {
        "name": "MalikHou",
        "email": "malikhou01@gmail.com",
        "time": "Mon Mar 09 11:50:30 2026 +0800"
      },
      "message": "fix\n"
    },
    {
      "commit": "0ec948ba1ad43a857c5885f5c01e1e76d7e2196b",
      "tree": "4b7430b81771761396818ccf53315f53ad88bbb7",
      "parents": [
        "6a129153792757778a54e51a0230d95c4476dbbf",
        "7363d31ef174ba37e4437a2006238c3176f4d3d9"
      ],
      "author": {
        "name": "HU",
        "email": "uestc.hugo@gmail.com",
        "time": "Sun Mar 08 22:32:25 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Mar 08 22:32:25 2026 +0800"
      },
      "message": "Merge pull request #3222 from wayslog/feat/redis-cluster-channel\n\nfeat(redis): add native Redis Cluster channel support"
    },
    {
      "commit": "95e13d0565af968289bfbc8af3808d795197f3bb",
      "tree": "79f76f99af8764335e4f34c10fc9da7192dd630e",
      "parents": [
        "77db6c510d8cdb0a30cb4c6ab8d8f9700593c743",
        "d3317cced4ed8e9ff84bb150687f614f7504beda"
      ],
      "author": {
        "name": "MalikHou",
        "email": "145674557+MalikHou@users.noreply.github.com",
        "time": "Sat Mar 07 13:38:23 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 07 13:38:23 2026 +0800"
      },
      "message": "Merge pull request #2 from MalikHou/malikhou/add_edisp_unsched\n\n[note] Solving document content issues"
    },
    {
      "commit": "d3317cced4ed8e9ff84bb150687f614f7504beda",
      "tree": "79f76f99af8764335e4f34c10fc9da7192dd630e",
      "parents": [
        "77db6c510d8cdb0a30cb4c6ab8d8f9700593c743"
      ],
      "author": {
        "name": "MalikHou",
        "email": "malikhou01@gmail.com",
        "time": "Sat Mar 07 13:37:11 2026 +0800"
      },
      "committer": {
        "name": "MalikHou",
        "email": "malikhou01@gmail.com",
        "time": "Sat Mar 07 13:37:11 2026 +0800"
      },
      "message": "fix\n"
    },
    {
      "commit": "77db6c510d8cdb0a30cb4c6ab8d8f9700593c743",
      "tree": "eeaadd48e0a5bc166f2fe5aa13368372e797495b",
      "parents": [
        "6a129153792757778a54e51a0230d95c4476dbbf",
        "6b73ee9915229d69c646e9bc45b3931bbe72d159"
      ],
      "author": {
        "name": "MalikHou",
        "email": "145674557+MalikHou@users.noreply.github.com",
        "time": "Fri Mar 06 20:33:59 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 06 20:33:59 2026 +0800"
      },
      "message": "Merge pull request #1 from MalikHou/malikhou/add_edisp_unsched\n\n[feature][bugfix] Add tcp transport event dispatcher unsched flag \u0026 fix RDMA event dispatcher"
    },
    {
      "commit": "6b73ee9915229d69c646e9bc45b3931bbe72d159",
      "tree": "eeaadd48e0a5bc166f2fe5aa13368372e797495b",
      "parents": [
        "6a129153792757778a54e51a0230d95c4476dbbf"
      ],
      "author": {
        "name": "MalikHou",
        "email": "malikhou01@gmail.com",
        "time": "Fri Mar 06 20:26:15 2026 +0800"
      },
      "committer": {
        "name": "MalikHou",
        "email": "malikhou01@gmail.com",
        "time": "Fri Mar 06 20:26:15 2026 +0800"
      },
      "message": "add tcp transport event dispatcher unsched flag \u0026 fix RDMA event dispatcher unsched flag\n"
    },
    {
      "commit": "6a129153792757778a54e51a0230d95c4476dbbf",
      "tree": "67a5967be9eb94426f7f7fd2712315beccdef237",
      "parents": [
        "2e0f0b0521d39507dff1084f9211a05049bb4647",
        "d3f79605190988125bf7f3e5e535be2fd4bc5c57"
      ],
      "author": {
        "name": "Yang,Liming",
        "email": "liming.yang@139.com",
        "time": "Thu Mar 05 19:14:33 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 05 19:14:33 2026 +0800"
      },
      "message": "Merge pull request #3235 from altman08/master\n\nFix attachment being overwritten when backuprequest is triggered."
    },
    {
      "commit": "d3f79605190988125bf7f3e5e535be2fd4bc5c57",
      "tree": "67a5967be9eb94426f7f7fd2712315beccdef237",
      "parents": [
        "2e0f0b0521d39507dff1084f9211a05049bb4647"
      ],
      "author": {
        "name": "yanyuan06",
        "email": "yanyuan06@meituan.com",
        "time": "Tue Mar 03 17:41:07 2026 +0800"
      },
      "committer": {
        "name": "yanyuan06",
        "email": "yanyuan06@meituan.com",
        "time": "Wed Mar 04 15:56:53 2026 +0800"
      },
      "message": "Solve the issue of attachment being overwritten when backuprequest is triggered.\n"
    },
    {
      "commit": "2e0f0b0521d39507dff1084f9211a05049bb4647",
      "tree": "252a44f551397c8cf314933ca5c66014ec55a17f",
      "parents": [
        "c32ddee06ef742179b6f93f3b2adf1a8cb160b3e"
      ],
      "author": {
        "name": "yanfeng",
        "email": "winnelc@126.com",
        "time": "Mon Mar 02 21:17:57 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 02 21:17:57 2026 +0800"
      },
      "message": "feat(backup_request): add rate-limited backup request policy (#3228) (#3229)\n\n* feat(backup_request): add rate-limited backup request policy (#3228)\n\n* docs(backup_request): restructure rate-limiting section, add lifecycle guidance\n\n- Promote built-in factory function to its own subsection (before custom interface)\n- Add unique_ptr usage example for policy lifetime management\n- Add RateLimitedBackupPolicyOptions parameter table with defaults/constraints\n- Document NULL return on invalid params\n- Keep cn/en docs in sync\n\n* fix(backup_request): address review issues — sentinel fallback, comments, tests\n\n- controller.cpp: When policy returns -1 (inherit sentinel), fall back\n  to _backup_request_ms set from ChannelOptions, so backup timer is\n  actually armed when using a policy with backup_request_ms\u003d-1.\n- backup_request_policy.cpp: Clarify OnRPCEnd comment to say \u0027RPC legs\u0027\n  (both original and backup completions counted as denominator).\n- backup_request_policy.cpp: Warn when update_interval_seconds exceeds\n  window_size_seconds (window would rarely refresh within its period).\n- backup_request_policy.h: Fix comment typo (\u0027Called when an RPC ends\u0027).\n- brpc_channel_unittest.cpp: Replace nullptr with NULL to match codebase\n  convention; use ASSERT_TRUE(p !\u003d NULL) for unique_ptr null checks.\n- brpc_channel_unittest.cpp: Add ValidMaxRatioAtBoundary behavioral assert\n  and AfterColdStartBackupSuppressedUntilRpcCompletes test.\n\n* fix(backup_request): correct docs table defaults and add suppression test\n\n- docs: fix backup_request_ms default (0→-1) and constraint (\u003e\u003d0→\u003e\u003d-1);\n  add note that -1 inherit only works via ChannelOptions injection path,\n  not Controller::set_backup_request_policy().\n- test: replace no-op AfterColdStart test with a real behavioral assertion:\n  after cold-start backup fires, wait 1.2s for ratio refresh, verify\n  DoBackup() returns false (conservative ratio\u003d1.0 path triggers).\n\n* fix(backup_request): clarify comments — negative defer semantics and burst caveat\n\n* fix(backup_request): address Copilot review — sentinel contract, OnRPCEnd comment, re-allow test, docs\n\n- controller.cpp: treat -1 specifically (not all negatives) as the inherit\n  sentinel; other negatives still disable backup, preserving old behavior\n  for custom policies that return negative values to disable backup\n- backup_request_policy.h: document the -1 sentinel contract on\n  GetBackupRequestMs() so custom implementors know the new interface\n- backup_request_policy.cpp: fix OnRPCEnd comment — called once per\n  user-level RPC, not once per leg (total_count tracks user RPCs)\n- test: add OnRPCEndDrivesRatioDownAndReAllows — fires 20 backups to\n  suppress, then completes 50 RPCs via OnRPCEnd, verifies DoBackup\n  re-allows once ratio refreshes below max_backup_ratio\n- docs (EN+CN): rephrase backup_request_ms\u003d-1 note to clarify the\n  channel-level fallback only applies when set via ChannelOptions\n\n* fix(backup_request): explain why std::nothrow is intentionally omitted\n\nPlain new follows brpc\u0027s project-wide OOM convention (abort rather than\nreturn NULL). The factory\u0027s NULL return already exclusively signals invalid\nparameters, not allocation failure — adding std::nothrow would conflate\nthe two. Comment added to suppress future linter/AI suggestions.\n\n* docs(backup_request): clarify policy lifetime — channel must be destroyed before policy\n\nThe unique_ptr comment was ambiguous: \u0027released when goes out of scope,\nas long as it outlives the channel\u0027 can be read as contradictory. Reword\nto make the ordering explicit: destroy channel first, then policy.\n\n* test(backup_request): fix inaccurate cold-start comment in ValidMaxRatioAtBoundary\n\nratio\u003d1.0 conservative path only applies when backup\u003e0 \u0026\u0026 total\u003d\u003d0.\nTrue cold start (both zero) sets ratio\u003d0.0 and allows freely."
    },
    {
      "commit": "c32ddee06ef742179b6f93f3b2adf1a8cb160b3e",
      "tree": "ccb4d0c6ebf5b626959fc149aba9aea9e4a7c8ef",
      "parents": [
        "486f07a3e34650c44a94d205b16f27c475e0ba01"
      ],
      "author": {
        "name": "Bright Chen",
        "email": "chenguangmingfe@foxmail.com",
        "time": "Sun Mar 01 16:04:06 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Mar 01 16:04:06 2026 +0800"
      },
      "message": "Support custom modification of sub controllers (#3213)\n\n* Copy http headers from main controller to sub controller\n\n* Support custom modification of sub controllers"
    },
    {
      "commit": "7363d31ef174ba37e4437a2006238c3176f4d3d9",
      "tree": "6708fab39ccee4e6b12518cef62765e4f46a0038",
      "parents": [
        "36b1e66aa195e69c0a5576d7fac347fb414c2790"
      ],
      "author": {
        "name": "wayslog",
        "email": "zxs867179@gmail.com",
        "time": "Fri Feb 27 14:07:46 2026 +0800"
      },
      "committer": {
        "name": "wayslog",
        "email": "zxs867179@gmail.com",
        "time": "Sun Mar 01 15:54:11 2026 +0800"
      },
      "message": "perf(redis): protect slot cache with DoublyBufferedData\n\nUse DoublyBufferedData for RedisClusterChannel slot-\u003eendpoint map to reduce lock contention in hot path, and add a unit test that verifies slot map updates on topology change.\n"
    },
    {
      "commit": "36b1e66aa195e69c0a5576d7fac347fb414c2790",
      "tree": "a3399722a11b80bf1197a4704e613b2e7dd7c4cf",
      "parents": [
        "dbca72f9d4c8c0e85c212bfd630c53c81e59543c"
      ],
      "author": {
        "name": "wayslog",
        "email": "zxs867179@gmail.com",
        "time": "Mon Feb 23 13:43:51 2026 +0800"
      },
      "committer": {
        "name": "wayslog",
        "email": "zxs867179@gmail.com",
        "time": "Sun Mar 01 15:54:11 2026 +0800"
      },
      "message": "fix(redis): do not cache ASK redirection in slot table\n"
    },
    {
      "commit": "dbca72f9d4c8c0e85c212bfd630c53c81e59543c",
      "tree": "b3c721cdee13c9c637b7f37964a0a1b7c55e1700",
      "parents": [
        "11a71050d20d58da26a7817529ca5c48ab76b4cf"
      ],
      "author": {
        "name": "wayslog",
        "email": "zxs867179@gmail.com",
        "time": "Mon Feb 23 13:13:31 2026 +0800"
      },
      "committer": {
        "name": "wayslog",
        "email": "zxs867179@gmail.com",
        "time": "Sun Mar 01 15:54:11 2026 +0800"
      },
      "message": "chore(ci): trigger github actions rerun for PR #3222\n"
    },
    {
      "commit": "11a71050d20d58da26a7817529ca5c48ab76b4cf",
      "tree": "b3c721cdee13c9c637b7f37964a0a1b7c55e1700",
      "parents": [
        "486f07a3e34650c44a94d205b16f27c475e0ba01"
      ],
      "author": {
        "name": "wayslog",
        "email": "zxs867179@gmail.com",
        "time": "Mon Feb 23 01:11:53 2026 +0800"
      },
      "committer": {
        "name": "wayslog",
        "email": "zxs867179@gmail.com",
        "time": "Sun Mar 01 15:54:11 2026 +0800"
      },
      "message": "feat(redis): add native Redis Cluster channel, tests and docs\n"
    },
    {
      "commit": "486f07a3e34650c44a94d205b16f27c475e0ba01",
      "tree": "4914115762c64042ccd5823ee81cbeb2f65f6d64",
      "parents": [
        "b7dfab05612ad666c3c4be1a26e4049990f48f83"
      ],
      "author": {
        "name": "Bright Chen",
        "email": "chenguangmingfe@foxmail.com",
        "time": "Sun Mar 01 12:26:47 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Mar 01 12:26:47 2026 +0800"
      },
      "message": "Fix CI installation errors (#3233)\n\n"
    },
    {
      "commit": "b7dfab05612ad666c3c4be1a26e4049990f48f83",
      "tree": "1b9eb25593b9948dd0cd32c7d6a792c2cd394806",
      "parents": [
        "aa784b830824ca41d22b97d69e9692ab522dcd48"
      ],
      "author": {
        "name": "Xiaofeng Wang",
        "email": "wasphin@gmail.com",
        "time": "Thu Feb 26 10:40:25 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 26 10:40:25 2026 +0800"
      },
      "message": "explicitly link utf8_validity for Protobuf v22+ (#3230)\n\n"
    },
    {
      "commit": "aa784b830824ca41d22b97d69e9692ab522dcd48",
      "tree": "bc53205ef5c506b5edeaa61fb61e1c93070fc46a",
      "parents": [
        "5a2466a904f2d507868e198ef6ca701fb8ab7629"
      ],
      "author": {
        "name": "Daniel Morante",
        "email": "tuaris@users.noreply.github.com",
        "time": "Mon Feb 23 01:52:56 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 23 15:52:56 2026 +0800"
      },
      "message": "fix: remove references to non-existent tracked_objects.h in platform_thread_freebsd.cc (#3223)\n\nThe tracked_objects.h header and ThreadData::InitializeThreadContext()\nwere part of Chromium\u0027s base library profiling subsystem, which was\nnever ported to brpc. The Linux (platform_thread_linux.cc) and macOS\n(platform_thread_mac.mm) equivalents already had these references\nremoved. This causes a compile error on FreeBSD:\n\n  fatal error: \u0027butil/tracked_objects.h\u0027 file not found"
    },
    {
      "commit": "5a2466a904f2d507868e198ef6ca701fb8ab7629",
      "tree": "2c6df08774fb135d8814109862c299fd1aa11124",
      "parents": [
        "bb081befc0479b2d99b39d865fa000780da9cd55"
      ],
      "author": {
        "name": "Jenrry You",
        "email": "jenrryyou@gmail.com",
        "time": "Sun Feb 15 20:57:38 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Feb 15 20:57:38 2026 +0800"
      },
      "message": "Fix stream closed before response during batch stream creation (#3214)\n\n"
    },
    {
      "commit": "bb081befc0479b2d99b39d865fa000780da9cd55",
      "tree": "f1d780861e624314946874f3dde3c50f1b2d89aa",
      "parents": [
        "d22fa17f09514ed42e7b15e0a439827dc8310a8e"
      ],
      "author": {
        "name": "yanfeng",
        "email": "winnelc@126.com",
        "time": "Thu Feb 12 14:02:26 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 12 14:02:26 2026 +0800"
      },
      "message": "feat(auto_cl): add error rate threshold for punishment attenuation (#3219)\n\n* feat(auto_cl): add error rate threshold for punishment attenuation\n\nAdd new GFlag `auto_cl_error_rate_punish_threshold` to enable\nerror-rate-based punishment attenuation in AutoConcurrencyLimiter.\n\nProblem: Low error rates (e.g., 1.3% sporadic timeouts) cause\ndisproportionate avg_latency inflation (+31%), leading the limiter\nto mistakenly shrink max_concurrency and trigger ELIMIT rejections.\n\nSolution: Inspired by Alibaba Sentinel\u0027s threshold-based approach:\n- threshold\u003d0 (default): Original behavior preserved (backward compat)\n- threshold\u003e0 (e.g., 0.1): Error rates below threshold produce zero\n  punishment; above it, punishment scales linearly from 0 to full\n\nExample: With threshold\u003d0.1, a 5% error rate produces no punishment,\nwhile a 50% error rate produces 44% of the original punishment.\n\n---------\n\nCo-authored-by: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "d22fa17f09514ed42e7b15e0a439827dc8310a8e",
      "tree": "6a0b7a75cafbf3f83368a41fa5f686f0756ba41d",
      "parents": [
        "c8753e32fb48caf452a15905076ef9a840ac8e5d"
      ],
      "author": {
        "name": "Yang,Liming",
        "email": "liming.yang@139.com",
        "time": "Sat Jan 31 14:19:11 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jan 31 14:19:11 2026 +0800"
      },
      "message": "change protobuf version check for descriptor-\u003eextension_range (#3210)\n\n"
    },
    {
      "commit": "c8753e32fb48caf452a15905076ef9a840ac8e5d",
      "tree": "e3abfe240f6dff6d0607685bec3c9c5514c3f3ee",
      "parents": [
        "834484af3fe045fdf3391392deeaced73a61ab2b"
      ],
      "author": {
        "name": "Bright Chen",
        "email": "chenguangmingfe@foxmail.com",
        "time": "Thu Jan 29 10:13:08 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 29 10:13:08 2026 +0800"
      },
      "message": "Fix some issues with transport (#3206)\n\n1. The return value of CreateTransport should be std::unique_ptr.\n2. Delete BAIDU_REGISTER_ERRNO in transport_factory.h.\n3. Optimize some code formatting."
    },
    {
      "commit": "834484af3fe045fdf3391392deeaced73a61ab2b",
      "tree": "3d2943f8f2b0b7d45932e9ebedc1dacea110e1e3",
      "parents": [
        "02879c89d962f1b6363979437515131b4457ffb8"
      ],
      "author": {
        "name": "Searion",
        "email": "33591311+Searion@users.noreply.github.com",
        "time": "Tue Jan 27 19:26:11 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 27 19:26:11 2026 +0800"
      },
      "message": "Fix build error caused by CMAKE_CXX_FLAGS (#3204)\n\nCo-authored-by: Haigang Xi \u003cxhgang@blackwingasset.com\u003e"
    },
    {
      "commit": "02879c89d962f1b6363979437515131b4457ffb8",
      "tree": "d5f8aa4f81346a91ca83792a2b43c80218e57fc1",
      "parents": [
        "d92e7cff8b8f9b8017494f04732c894fea7c1502"
      ],
      "author": {
        "name": "Chuang Zhang",
        "email": "zchuang185@gmail.com",
        "time": "Tue Jan 27 10:59:00 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 27 10:59:00 2026 +0800"
      },
      "message": "Add Transport to support more communication protocol extensions (#3199)\n\n* Add The transport layer to support communication protocols of different device vendors.\n\n* Refine the SocketMode name style and clean some unused code\n\n* Refine Transport Debug method param and RdmaTransport WaitEpollOut code\n\n* format the code, remove indentation for top class and variables in new file\n\n* review code\n\n---------\n\nCo-authored-by: wenjiecn \u003c3252896864@qq.com\u003e"
    },
    {
      "commit": "d92e7cff8b8f9b8017494f04732c894fea7c1502",
      "tree": "49adc7398017e7f49fcb0be8b31ab34c975938e6",
      "parents": [
        "580dac265e1ec73c2cfb6d64a940bb1668ea5eb4"
      ],
      "author": {
        "name": "Mao",
        "email": "75189432+wenjiecn@users.noreply.github.com",
        "time": "Mon Jan 26 10:57:05 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 26 10:57:05 2026 +0800"
      },
      "message": "Support SO_BINDTODEVICE and bind client_host (#3179)\n\n* bind_client_ip\n\n* fix UT \u0026 review\n\n* add  client_host UT\n\n* updated to support SO_BINDTODEVICE.\n\n* updated to support SO_BINDTODEVICE and bind client_host.\n\n* review"
    },
    {
      "commit": "580dac265e1ec73c2cfb6d64a940bb1668ea5eb4",
      "tree": "b280c98a13c33ef360e75266b4514db0a507b216",
      "parents": [
        "b3b43cc0eda3883b6170e962ce28648a1d7619aa",
        "37efd2e2b26aa6408fd308490acf14d86713c3fc"
      ],
      "author": {
        "name": "Xiaofeng Wang",
        "email": "wasphin@gmail.com",
        "time": "Sun Jan 25 16:50:13 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jan 25 16:50:13 2026 +0800"
      },
      "message": "Merge pull request #3201 from apache/release-1.16\n\nMerge release 1.16.0 back"
    },
    {
      "commit": "b3b43cc0eda3883b6170e962ce28648a1d7619aa",
      "tree": "ac8403c12c066f1de5fe5894fae516802b91f1c6",
      "parents": [
        "39666a437e604103782c1713b66d164999bb198d",
        "6e3ac056f5a152c6449df1abf94be8095d5d8ac8"
      ],
      "author": {
        "name": "Yang,Liming",
        "email": "liming.yang@139.com",
        "time": "Wed Jan 21 10:03:55 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 21 10:03:55 2026 +0800"
      },
      "message": "Merge pull request #3198 from altman08/master\n\nsupport change ownship for SelectiveChannel"
    },
    {
      "commit": "6e3ac056f5a152c6449df1abf94be8095d5d8ac8",
      "tree": "f4c9bb2aa2cb37c8ad4300cc33af45157d415c98",
      "parents": [
        "39a3436529c95566cad2b217c034334856d8e678"
      ],
      "author": {
        "name": "yanyuan06",
        "email": "yanyuan06@meituan.com",
        "time": "Fri Jan 16 15:27:02 2026 +0800"
      },
      "committer": {
        "name": "yanyuan06",
        "email": "yanyuan06@meituan.com",
        "time": "Tue Jan 20 14:48:56 2026 +0800"
      },
      "message": "support change ownship for SelectiveChannel\n"
    },
    {
      "commit": "39666a437e604103782c1713b66d164999bb198d",
      "tree": "89d6c9e14ff73ec72300a02af113a911eab831b9",
      "parents": [
        "39a3436529c95566cad2b217c034334856d8e678"
      ],
      "author": {
        "name": "Jingyuan",
        "email": "52315061+MJY-HUST@users.noreply.github.com",
        "time": "Mon Jan 19 01:10:37 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jan 18 18:10:37 2026 +0100"
      },
      "message": "support wait with predicate in bthread\u0027s ConditionVariable (#3195)\n\n"
    },
    {
      "commit": "37efd2e2b26aa6408fd308490acf14d86713c3fc",
      "tree": "2d7231d7c4f53903dd806bfc777788dbece649e7",
      "parents": [
        "39a3436529c95566cad2b217c034334856d8e678"
      ],
      "author": {
        "name": "Xiaofeng Wang",
        "email": "wasphin@gmail.com",
        "time": "Sun Jan 18 16:05:05 2026 +0800"
      },
      "committer": {
        "name": "Xiaofeng Wang",
        "email": "wasphin@gmail.com",
        "time": "Sun Jan 18 16:05:05 2026 +0800"
      },
      "message": "Release 1.16.0\n"
    },
    {
      "commit": "39a3436529c95566cad2b217c034334856d8e678",
      "tree": "f203bc1ceac4b1acd165421594d6d35e06ef1cd9",
      "parents": [
        "971965444630c9461e5a9cd97556a548d6abc873",
        "8483625a3ded7183b689f82d29ca9549c164651e"
      ],
      "author": {
        "name": "Yang,Liming",
        "email": "liming.yang@139.com",
        "time": "Tue Jan 13 11:00:26 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 13 11:00:26 2026 +0800"
      },
      "message": "Merge pull request #3189 from altman08/master\n\nsurpport tag for selective channel"
    },
    {
      "commit": "971965444630c9461e5a9cd97556a548d6abc873",
      "tree": "d2e03501b05003b7c49dd4a8c7dc5c01f84d39ce",
      "parents": [
        "c7973d0a4717412c33ddb73c668c9c0ad0d06a4c"
      ],
      "author": {
        "name": "Anant Shukla",
        "email": "anantshukla836@gmail.com",
        "time": "Mon Jan 12 09:50:13 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 12 12:20:13 2026 +0800"
      },
      "message": "Fix port parsing validation in str2endpoint (#3193)\n\n* Fix port parsing validation in str2endpoint\n\nSigned-off-by: Anant Shukla \u003canantshukla836@gmail.com\u003e\n\n* Add unit tests for rejecting trailing characters after port parsing\n\nSigned-off-by: Anant Shukla \u003canantshukla836@gmail.com\u003e\n\n---------\n\nSigned-off-by: Anant Shukla \u003canantshukla836@gmail.com\u003e"
    },
    {
      "commit": "8483625a3ded7183b689f82d29ca9549c164651e",
      "tree": "0337546224a3b994b2583b7698d313fe59d1bc85",
      "parents": [
        "c7973d0a4717412c33ddb73c668c9c0ad0d06a4c"
      ],
      "author": {
        "name": "yanyuan06",
        "email": "yanyuan06@meituan.com",
        "time": "Wed Jan 07 16:19:22 2026 +0800"
      },
      "committer": {
        "name": "yanyuan06",
        "email": "yanyuan06@meituan.com",
        "time": "Fri Jan 09 11:02:49 2026 +0800"
      },
      "message": "surpport tag for selective channel\n"
    },
    {
      "commit": "c7973d0a4717412c33ddb73c668c9c0ad0d06a4c",
      "tree": "b58665b7b4e314bb9566ef2af65c1da102c92422",
      "parents": [
        "8d87814330d9ebbfe5b95774fdb71056fcb3170c"
      ],
      "author": {
        "name": "koarz",
        "email": "66543806+koarz@users.noreply.github.com",
        "time": "Mon Jan 05 14:04:37 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 05 14:04:37 2026 +0800"
      },
      "message": "feat: enable TLS key logging via SSLKEYLOGFILE env (#3173)\n\n* feat: enable TLS key logging via SSLKEYLOGFILE env\n\n* fix"
    },
    {
      "commit": "8d87814330d9ebbfe5b95774fdb71056fcb3170c",
      "tree": "2241744a172c4ca73019cad74850763dcdff0494",
      "parents": [
        "d688e7550be4b4c41b9a4dc55add2a2c75be1296"
      ],
      "author": {
        "name": "Xiaofeng Wang",
        "email": "wasphin@gmail.com",
        "time": "Sun Jan 04 11:34:25 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jan 04 11:34:25 2026 +0800"
      },
      "message": "Wrap absl::string_view as std::string to support protobuf v30+ (#3187)\n\n* Wrap absl::string_view as std::string to support protobuf v30+\n\nCloses #3181\n\n* remove unnecessary specialization for abs:string_view\n\n* keep path for consistency"
    },
    {
      "commit": "d688e7550be4b4c41b9a4dc55add2a2c75be1296",
      "tree": "bf40a8668cfb38c92bfa4c19edc092db7c109c0e",
      "parents": [
        "9f4947c4d1cfa7af8b3d0f6e3fc0aa6ea4abfb4f"
      ],
      "author": {
        "name": "Li Yin",
        "email": "liyin@live.com",
        "time": "Wed Dec 31 10:48:43 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 31 10:48:43 2025 +0800"
      },
      "message": "Fix compile issue when the linking project is using C++23 (#3180)\n\nThe root cause is unique_ptr has constexpr destructor since C++23\n\nlibcxx/include/__memory/unique_ptr.h:75:19: error: invalid application of \u0027sizeof\u0027 to an incomplete type \u0027brpc::RedisCommandHandler\u0027\n   75 |     static_assert(sizeof(_Tp) \u003e\u003d 0, \"cannot delete an incomplete type\");\n      |                   ^~~~~~~~~~~\nlibcxx/include/__memory/unique_ptr.h:290:7: note: in instantiation of member function \u0027std::default_delete\u003cbrpc::RedisCommandHandler\u003e::operator()\u0027 requested here\n  290 |       __deleter_(__tmp);\n      |       ^\nlibcxx/include/__memory/unique_ptr.h:259:71: note: in instantiation of member function \u0027std::unique_ptr\u003cbrpc::RedisCommandHandler\u003e::reset\u0027 requested here\n  259 |   _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 ~unique_ptr() { reset(); }\n      |                                                                       ^\nsrc/brpc/redis.h:220:14: note: in instantiation of member function \u0027std::unique_ptr\u003cbrpc::RedisCommandHandler\u003e::~unique_ptr\u0027 requested here\n  220 |     explicit RedisConnContext(const RedisService* rs)\n      |              ^\nsrc/brpc/redis.h:190:7: note: forward declaration of \u0027brpc::RedisCommandHandler\u0027\n  190 | class RedisCommandHandler;\n\nCo-authored-by: yin.li \u003cyin.li@okg.com\u003e"
    },
    {
      "commit": "9f4947c4d1cfa7af8b3d0f6e3fc0aa6ea4abfb4f",
      "tree": "4711714cebf2c52c142943553f1dd2817fbf9315",
      "parents": [
        "c7ae57aa310b9618911ef75c6361ba80a8e082f2"
      ],
      "author": {
        "name": "yujiasheng",
        "email": "1846100778@qq.com",
        "time": "Mon Dec 29 21:45:19 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 29 21:45:19 2025 +0800"
      },
      "message": "fix: avoid SIGSEGV in read_proc_io during static initialization (#3184)\n\nSigned-off-by: jiasheng.yu \u003cjiashengyu@deepglint.com\u003e\nCo-authored-by: jiasheng.yu \u003cjiashengyu@deepglint.com\u003e"
    },
    {
      "commit": "c7ae57aa310b9618911ef75c6361ba80a8e082f2",
      "tree": "a9a77f8e53a6314e54ab6978895e87d16759b70b",
      "parents": [
        "2e197845391feaa016e9276abd94292eb1fb2286"
      ],
      "author": {
        "name": "Bright Chen",
        "email": "chenguangmingfe@foxmail.com",
        "time": "Mon Dec 22 19:00:47 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 22 19:00:47 2025 +0800"
      },
      "message": "Bugfix: SQ overflow (#3145)\n\n* Bugfix: The failure of ibv_post_send is caused by polling send CQE before recv CQE\n\n* Split send and recv comp channel\n\n* Use wr_id to update _sq_window_size\n\n* Send CQ and recv CQ share comp channel\n\n* Add IMM window\n\n* Deallocate polling cq\n\n* Update RDMA documents"
    },
    {
      "commit": "2e197845391feaa016e9276abd94292eb1fb2286",
      "tree": "7311626fbe3cdf0d13a56d2c776b95cd00803278",
      "parents": [
        "09caf65d6223ecc509afe4ad5ad5da2347813a98"
      ],
      "author": {
        "name": "Searion",
        "email": "33591311+Searion@users.noreply.github.com",
        "time": "Thu Dec 18 10:46:46 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 18 10:46:46 2025 +0800"
      },
      "message": "fix gdb_bthread_stack bthread_begin error (#3176)\n\nCo-authored-by: Haigang Xi \u003cxhgang@blackwingasset.com\u003e"
    },
    {
      "commit": "09caf65d6223ecc509afe4ad5ad5da2347813a98",
      "tree": "e6946cbe67c1d9fd395b2fa475b3e81d6b7b69ea",
      "parents": [
        "7cd0c25a720262267531dcbb1135158b25de09ca"
      ],
      "author": {
        "name": "Bright Chen",
        "email": "chenguangmingfe@foxmail.com",
        "time": "Wed Dec 17 20:32:01 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 17 20:32:01 2025 +0800"
      },
      "message": "Fix a redundant BeforeAdditionalRefReleased call (#3174)\n\n"
    },
    {
      "commit": "7cd0c25a720262267531dcbb1135158b25de09ca",
      "tree": "708a1004940ba5da04010166dbb7404372b6c87a",
      "parents": [
        "2635ef63225ab5b26ed0300b92e8edaaa409d628"
      ],
      "author": {
        "name": "Zhilei Chen",
        "email": "2522134184@qq.com",
        "time": "Thu Dec 11 20:52:40 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 11 20:52:40 2025 +0800"
      },
      "message": "Add missed definition of RegisterFlagValidatorOrDie for uint32_t (#3171)\n\n"
    },
    {
      "commit": "2635ef63225ab5b26ed0300b92e8edaaa409d628",
      "tree": "f65b5cfb3612f905b0a4ba5b62513a316303f9a7",
      "parents": [
        "8b6a9c04709b2d3da5d53637d0007d50fddcf1e1"
      ],
      "author": {
        "name": "Dayuxiaoshui",
        "email": "158081477+Dayuxiaoshui@users.noreply.github.com",
        "time": "Mon Dec 08 10:55:28 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 08 10:55:28 2025 +0800"
      },
      "message": "Add RISC-V architecture support (#3125)\n\nThis commit adds full support for RISC-V 64-bit architecture to brpc.\n\nChanges include:\n- Add RISC-V atomic operations implementation\n- Add RISC-V architecture detection in build system\n- Add RISC-V context switching (bthread support)\n- Add RISC-V clock cycle counter support (rdcycle)\n- Update CMake and Makefile for RISC-V compilation\n\nAll core functionalities have been tested and verified in QEMU RISC-V\nenvironment, including:\n- Atomic operations (32-bit and 64-bit)\n- Memory barriers\n- Context switching\n- Clock cycle counting\n\nCo-authored-by: gong-flying \u003cgongxiaofei24@iscas.ac.cn\u003e"
    },
    {
      "commit": "8b6a9c04709b2d3da5d53637d0007d50fddcf1e1",
      "tree": "831e62ca8165430472fc664662fd5de7fe351d47",
      "parents": [
        "f58ec3981d33a2f9229e44618ae243a97a8fe541"
      ],
      "author": {
        "name": "koarz",
        "email": "66543806+koarz@users.noreply.github.com",
        "time": "Mon Dec 08 10:54:52 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 08 10:54:52 2025 +0800"
      },
      "message": "feat: support more ssl verify mode (#3141)\n\n* feat: support more ssl verify mode\n\n* 1"
    },
    {
      "commit": "f58ec3981d33a2f9229e44618ae243a97a8fe541",
      "tree": "aa48d84799d54175505c1b90ca8d0eb6aaf4c52f",
      "parents": [
        "8734f06b1229e5b2968a963393e7e30096281a81"
      ],
      "author": {
        "name": "Jay",
        "email": "BusyJay@users.noreply.github.com",
        "time": "Sun Dec 07 22:27:06 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Dec 07 22:27:06 2025 +0800"
      },
      "message": "butil: fix undefined behaviors (#3135)\n\nThere are two kinds of problems:\n1. signed number overflow is undefined behavior;\n2. vsnprintfT may return E2BIG instead of EOVERFLOW."
    },
    {
      "commit": "8734f06b1229e5b2968a963393e7e30096281a81",
      "tree": "2fca19aead935b13338418911b6944c12ff18764",
      "parents": [
        "3e40e3f72a1e722cabe286bb245e68cdaa99eaf7"
      ],
      "author": {
        "name": "Regal",
        "email": "141622927+ZhengweiZhu@users.noreply.github.com",
        "time": "Tue Dec 02 14:09:32 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 02 14:09:32 2025 +0800"
      },
      "message": "Support naming bthread to help debug (#3158)\n\nThe bthread name is shown when checking bthread status by curl\nip:port/bthreads/xxx, which helps to debug when bthread trace is not\nenabled."
    },
    {
      "commit": "3e40e3f72a1e722cabe286bb245e68cdaa99eaf7",
      "tree": "6855a671b57673d53c731bec1011fee6d822fd9e",
      "parents": [
        "d2ea819af077fff41926fe09066394cae3f8e34e"
      ],
      "author": {
        "name": "Bright Chen",
        "email": "chenguangmingfe@foxmail.com",
        "time": "Sat Nov 29 23:01:14 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Nov 29 23:01:14 2025 +0800"
      },
      "message": "Support dynamic expansion of RDMA block pool (#3155)\n\n"
    },
    {
      "commit": "d2ea819af077fff41926fe09066394cae3f8e34e",
      "tree": "a5621e8a669382859780443530d969392512f668",
      "parents": [
        "8f9d12a033218aaa1dc72f60196567f4e2bbdef4"
      ],
      "author": {
        "name": "Giriraj Singh",
        "email": "giriraj.singh@couchbase.com",
        "time": "Tue Nov 25 14:26:37 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 25 16:56:37 2025 +0800"
      },
      "message": "Added support to connect and perform CRUD operations with couchbase  (#3138)\n\n* Implemented Couchbase binary protocol support\n\n* added support for single connection type for couchbase\n\n* removed unnecessary cout statements\n\n* added protocol code for helo packet\n\n* fixed vbucketID code for identification, fixed add and get functions\n\n* Added test cases for threaded get and add functions\n\n* Added Error Handling code and made upsert and delete examples\n\n* added makefile for example/couchbase_c++\n\n* fixed bugs in couchbase header files\n\n* Added License and formatted to google c++ norms\n\n* fixed bugs, added support for collections and added couchbase_client.md\n\n* fixed license issue\n\n* added custom logic for caching collectionIDs\n\n* added caching of collection manifests\n\n* Added example code for multithreaded demonstration\n\n* updated CMake\n\n* Abstracted CRUD operations\n\n* Added pipeline/batching support\n\n* commented unused variables\n\n* Updated support for C++17\n\n* fixed some issue.\n\n* Using Mutex instead of shared lock to support c++11\n\n* Formatted code to google c++ format\n\n* Introduced local cache per-instance of CouchbaseOperations and added functionality to handle server side manifest updates.\n\n* Delete MODULE.bazel.lock\n\nUnnecessary file\n\n* Fixed bugs in local collection cache and collection refresh logic\n\n* remove recurring statements\n\n* Fixed bugs/repetitive calls to refreshing manifest on server\n\n* Formatted function/variable naming scheme and formatted code in c++ google format\n\n* removed unnecessary code\n\n* updated comments\n\n* updated comments\n\n* updated documentation\n\n* updated documentation\n\n* updated documentation\n\n* updated documentation\n\n* Updated documentation\n\n* Updated documentation\n\n* Update documentation\n\n* Added features and fixed bugs in multithreaded environment\n\nUsing connection_groups to differentiate between connections across CouchbaseOperations instances to different buckets.\n\nRenamed CollectionManifestTracker class to CollectionManifestManager and all the related functionality inside it as before refreshing method was outside this class\n\nAdded two different authenticate method authenticate(not secure) and authenticateSSL(secure)\n\n* Updated multithreaded and single threaded code.\n\nAdded an example where a single instance is being shared across the threads when operating on single bucket.\n\n* updated documentation\n\nupdated the documentation on thread safe operations and fixed small small discrepancies.\n\n* removed commented code and updated readme to have links for cluster download certificate\n\n* removed unused code.\n\n* Added traditional bRPC coding approach\n\nTraditional bRPC coding approach doesn\u0027t uses high level functions but provides more control to the user\n\nfixed formatting issues.\n\nfixed the bug in couchbase.cpp where logic to check the cache is empty was inverted\n\n* updated couchbase_example.md\n\n* added unit test cases\n\n* removed using namespace std from couchbase.h\n\n* restored original CMakeLists.txt"
    },
    {
      "commit": "8f9d12a033218aaa1dc72f60196567f4e2bbdef4",
      "tree": "904dd7d7f0ffbeb0d192c61008dc3eb7a9578b9e",
      "parents": [
        "58e7e2df72ef053c69dbced5adb2076a3bf5531e"
      ],
      "author": {
        "name": "Bright Chen",
        "email": "chenguangmingfe@foxmail.com",
        "time": "Sun Nov 23 11:30:24 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Nov 23 11:30:24 2025 +0800"
      },
      "message": "Bugfix: NsheadService::_status may be null (#3162)\n\n"
    },
    {
      "commit": "58e7e2df72ef053c69dbced5adb2076a3bf5531e",
      "tree": "f9f8e55f2ffa5f6f03a9fe4cc873fcae0f133f3e",
      "parents": [
        "a54b6071ba4336dc6a2cc9ad242836b35a26ce62"
      ],
      "author": {
        "name": "apocelipes",
        "email": "seve3r@outlook.com",
        "time": "Thu Nov 20 21:41:20 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 20 21:41:20 2025 +0800"
      },
      "message": "Fix incorrect openssl dynamic library link order (#3159)\n\n"
    },
    {
      "commit": "a54b6071ba4336dc6a2cc9ad242836b35a26ce62",
      "tree": "d15bf240273e8830e9e10ed9775d7560f12f5818",
      "parents": [
        "dea05702421d83931df28e8c9b49a5af6f0f1e76"
      ],
      "author": {
        "name": "Songqing Zhang",
        "email": "zhangsongqing164@163.com",
        "time": "Mon Nov 17 12:00:36 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 17 12:00:36 2025 +0800"
      },
      "message": "Fix bvar\u0027s bad return value (#3151)\n\n"
    },
    {
      "commit": "dea05702421d83931df28e8c9b49a5af6f0f1e76",
      "tree": "091780a3ade93574a70a844931c715cde4965a6c",
      "parents": [
        "645013bce13ebff4ea3f099f86705b3f61a7a6d0"
      ],
      "author": {
        "name": "Weibing Wang",
        "email": "wwbmmm@gmail.com",
        "time": "Sat Nov 15 14:45:24 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Nov 15 14:45:24 2025 +0800"
      },
      "message": "Fix naming service unittest fail (#3153)\n\n"
    },
    {
      "commit": "645013bce13ebff4ea3f099f86705b3f61a7a6d0",
      "tree": "aae4f1c9f862c32ffa104bddbba3bc845c1b950a",
      "parents": [
        "ede6b7763ab52829bd1436c4f0bab4a708800c3a"
      ],
      "author": {
        "name": "sunhao",
        "email": "sunhao_bupt@163.com",
        "time": "Sat Nov 15 14:42:21 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Nov 15 14:42:21 2025 +0800"
      },
      "message": "Remove recursion of redis command parser (#3136)\n\n"
    },
    {
      "commit": "ede6b7763ab52829bd1436c4f0bab4a708800c3a",
      "tree": "e6e72c7926530f961c1bd8ee769d89899cd661a5",
      "parents": [
        "9934c39be00806669741eebba38f6ca32ba11956"
      ],
      "author": {
        "name": "Bright Chen",
        "email": "chenguangmingfe@foxmail.com",
        "time": "Sun Nov 09 16:50:42 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Nov 09 16:50:42 2025 +0800"
      },
      "message": "Fix rdma UT (#3146)\n\n"
    },
    {
      "commit": "9934c39be00806669741eebba38f6ca32ba11956",
      "tree": "7c809e3553a0819dc514b0a49af50d1b2f1bae7a",
      "parents": [
        "ef82950d172346209db728d8e68522bb5fa489ed"
      ],
      "author": {
        "name": "Regal",
        "email": "141622927+ZhengweiZhu@users.noreply.github.com",
        "time": "Wed Nov 05 10:53:20 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 05 10:53:20 2025 +0800"
      },
      "message": "feat: make bthread stack trace signal number configurable (#3124)\n\n"
    },
    {
      "commit": "ef82950d172346209db728d8e68522bb5fa489ed",
      "tree": "60662f4176ac65a178e9d540bd86ce1b338f43cf",
      "parents": [
        "fe63d790afa3d8f1a2721b8a5718abe5dcfe8c6f"
      ],
      "author": {
        "name": "Bright Chen",
        "email": "chenguangmingfe@foxmail.com",
        "time": "Sat Nov 01 13:07:21 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Nov 01 13:07:21 2025 +0800"
      },
      "message": "Support shared mbvar (#3129)\n\n* Support shared mbvar\n\n* Update document"
    },
    {
      "commit": "fe63d790afa3d8f1a2721b8a5718abe5dcfe8c6f",
      "tree": "7b1757a1c365f4c532116cbf3e5c373ab12ab74b",
      "parents": [
        "8ef24ba08ef8aa78f9125713aef122a9b6ccf260"
      ],
      "author": {
        "name": "Mao",
        "email": "75189432+WenJie872@users.noreply.github.com",
        "time": "Sat Nov 01 01:09:16 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Nov 01 01:09:16 2025 +0800"
      },
      "message": "Add pthread CPU affinity support (#3122)\n\n* Add pthread CPU affinity support\n\n* combine thread_affinity and cpu_set into one flag\n\n* review \u0026 Support MACOS thread affinity\n\n---------\n\nCo-authored-by: m30070657 \u003cmaowenjie12@h-partners.com\u003e"
    },
    {
      "commit": "8ef24ba08ef8aa78f9125713aef122a9b6ccf260",
      "tree": "ad6241e6a5a49b08ad4617ee6e64689889f648fc",
      "parents": [
        "1152b80e5fcf8c9d6fe9047dff46539a60c8c4b3",
        "4de793f20248d926e36b62392c5175349e36038e"
      ],
      "author": {
        "name": "Yang,Liming",
        "email": "liming.yang@139.com",
        "time": "Mon Oct 27 21:54:00 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 27 21:54:00 2025 +0800"
      },
      "message": "Merge pull request #3117 from yanglimingcn/feature/rdma_polling_queue_all_messages\n\nrdma polling mode all messages run in new bthreads"
    },
    {
      "commit": "1152b80e5fcf8c9d6fe9047dff46539a60c8c4b3",
      "tree": "ebfcc5159e48b37df331f1a510d6252b0aa35f13",
      "parents": [
        "0141e9e7f7a9ca385d5c50cf3e5a6a4ba0d6f047"
      ],
      "author": {
        "name": "Bright Chen",
        "email": "chenguangmingfe@foxmail.com",
        "time": "Mon Oct 27 21:00:07 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 27 21:00:07 2025 +0800"
      },
      "message": "Use SetNameSimple instead of SetName to avoid deadlock (#3127)\n\n"
    },
    {
      "commit": "0141e9e7f7a9ca385d5c50cf3e5a6a4ba0d6f047",
      "tree": "a6e780456301f5833a67ea69e6acb923ce0c6867",
      "parents": [
        "1332712689aadc22e1ac691de0a38ff79071e003"
      ],
      "author": {
        "name": "Bright Chen",
        "email": "chenguangmingfe@foxmail.com",
        "time": "Mon Oct 27 19:23:14 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 27 19:23:14 2025 +0800"
      },
      "message": "Only store failed SignalSyncs (#3128)\n\n"
    },
    {
      "commit": "1332712689aadc22e1ac691de0a38ff79071e003",
      "tree": "73988e229c12e415f8878ad0a44d2169f71d5c13",
      "parents": [
        "1d3bded92a8de6db7d76e53901afec205501952d"
      ],
      "author": {
        "name": "serverglen",
        "email": "serverglen@gmail.com",
        "time": "Mon Oct 27 16:57:58 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 27 16:57:58 2025 +0800"
      },
      "message": "merge 1.15 (#3131)\n\n* Release 1.15.0\n\n* Release 1.15.0\n\n* Release 1.15.0\n\n---------\n\nCo-authored-by: liushuai06 \u003cliushuai06@MacBook-Pro.local\u003e"
    },
    {
      "commit": "1d3bded92a8de6db7d76e53901afec205501952d",
      "tree": "aee711225e6dcf6d85a0a2725c7c1ef62377bda7",
      "parents": [
        "5f1d893982a13c4c913ded79086ed2f781891459"
      ],
      "author": {
        "name": "Bright Chen",
        "email": "chenguangmingfe@foxmail.com",
        "time": "Sun Oct 26 15:22:43 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 26 15:22:43 2025 +0800"
      },
      "message": "Support higher performance bvar with babylon counter (#3116)\n\n* Support higher performance bvar with babylon counter\n\n* Update documents"
    },
    {
      "commit": "5f1d893982a13c4c913ded79086ed2f781891459",
      "tree": "37788252945ebb4e55b86992d3177336cc282b26",
      "parents": [
        "07083331e1496746f4b1cfa54d0b6364f321be34"
      ],
      "author": {
        "name": "Regal",
        "email": "141622927+ZhengweiZhu@users.noreply.github.com",
        "time": "Wed Oct 22 20:13:30 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 22 20:13:30 2025 +0800"
      },
      "message": "Add support for checking all living bthreads (#3096)\n\nUser can check all living bthreads by `curl ip:port/bthreads/all`\nor when BRPC_BTHREAD_TRACER is enabled by `curl ip:port/bthreads/all?st\u003d1`\nto show bthread stack trace.\nThis is an enhancement of the original /bthreads service which\nprovides a method to check a specified bthread by designated\nbthread id, as user has no idea what the bthread id is.\n\nBTW, fix _enable_priority_queue not initialized bug and fix task status\nincorrectly set to TASK_STATUS_FIRST_READY bug."
    },
    {
      "commit": "07083331e1496746f4b1cfa54d0b6364f321be34",
      "tree": "1ff55df6e966cca8d65b43ba325aa0af3f9d65f6",
      "parents": [
        "4eeb5e260af165291f95f30f0fa64f9ff67ba192"
      ],
      "author": {
        "name": "Bright Chen",
        "email": "chenguangmingfe@foxmail.com",
        "time": "Tue Oct 14 14:06:56 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 14 14:06:56 2025 +0800"
      },
      "message": "Bugfix: TaskTracer deadlocks due to ABA problem (#3115)\n\n"
    },
    {
      "commit": "4de793f20248d926e36b62392c5175349e36038e",
      "tree": "de2e69084fe724c56b5ee6da9a2174b9ecbc63db",
      "parents": [
        "4eeb5e260af165291f95f30f0fa64f9ff67ba192"
      ],
      "author": {
        "name": "Yang Liming",
        "email": "liming.yang@139.com",
        "time": "Mon Oct 13 10:49:49 2025 +0800"
      },
      "committer": {
        "name": "Yang Liming",
        "email": "liming.yang@139.com",
        "time": "Mon Oct 13 10:49:49 2025 +0800"
      },
      "message": "rdma polling mode all messages run in new bthreads\n"
    },
    {
      "commit": "4eeb5e260af165291f95f30f0fa64f9ff67ba192",
      "tree": "46d0f141e4d40a15a68af914b9c9f20ea4b2edef",
      "parents": [
        "0959e5d639de8095975d5ca0de80ae65fdba630c"
      ],
      "author": {
        "name": "fanbingxin",
        "email": "fanbingxin.me@gmail.com",
        "time": "Wed Oct 08 17:13:01 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 08 17:13:01 2025 +0800"
      },
      "message": "bazel: fix with_bthread_tracer config setting (#3111)\n\n"
    },
    {
      "commit": "0959e5d639de8095975d5ca0de80ae65fdba630c",
      "tree": "57511cb86a680a4462097bd944c36a61b432b340",
      "parents": [
        "2b757e97d979802cc2f4419bc43b3a9e1072ed3d"
      ],
      "author": {
        "name": "Yang,Liming",
        "email": "liming.yang@139.com",
        "time": "Sun Oct 05 13:34:54 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 05 13:34:54 2025 +0800"
      },
      "message": "Add flag for brpc timer buckets count (#3112)\n\n"
    },
    {
      "commit": "2b757e97d979802cc2f4419bc43b3a9e1072ed3d",
      "tree": "64bf76b708ef43ff60dceceaaf3ccb6f5835aca5",
      "parents": [
        "54c65702f2bf92493facb6f0439a2b84da13b489"
      ],
      "author": {
        "name": "Bright Chen",
        "email": "chenguangmingfe@foxmail.com",
        "time": "Sun Sep 28 20:42:01 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Sep 28 20:42:01 2025 +0800"
      },
      "message": "Bugfix: WeightedRandomizedLoadBalancer returns 0 without server (#3108)\n\n"
    },
    {
      "commit": "54c65702f2bf92493facb6f0439a2b84da13b489",
      "tree": "88f226790cbec4a0c9029c88397c6e2b604b4647",
      "parents": [
        "020f807a99e3aee38752e895e6b4d88fcbda1526"
      ],
      "author": {
        "name": "Bright Chen",
        "email": "chenguangmingfe@foxmail.com",
        "time": "Fri Sep 26 19:46:56 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 26 19:46:56 2025 +0800"
      },
      "message": "Limit the extra options of jemalloc profiler (#3101)\n\n* Limit the extra options of jemalloc profiler\n\n* Add warning log"
    },
    {
      "commit": "020f807a99e3aee38752e895e6b4d88fcbda1526",
      "tree": "2846139932af4c7680fd1cc769f7040bc2baf000",
      "parents": [
        "49c3e4df460ace322b4139e3980e205d282b32fa",
        "7f8a0bbaf6e13210032b981eb1c017e77a1e13dc"
      ],
      "author": {
        "name": "old-bear",
        "email": "jrjbear@gmail.com",
        "time": "Wed Sep 24 16:41:14 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 24 16:41:14 2025 +0800"
      },
      "message": "Merge pull request #3105 from old-bear/remove-bio\n\nFix hanging during SSL_write for large packets"
    },
    {
      "commit": "7f8a0bbaf6e13210032b981eb1c017e77a1e13dc",
      "tree": "93b43d320160b9ee57dc354aa855064da4159e57",
      "parents": [
        "af1bf4b4966cf39890696eea8661cc4313dd32c5"
      ],
      "author": {
        "name": "jiangrujie",
        "email": "jiangrujie@bytedance.com",
        "time": "Wed Sep 24 10:23:12 2025 +0800"
      },
      "committer": {
        "name": "jiangrujie",
        "email": "jiangrujie@bytedance.com",
        "time": "Wed Sep 24 10:23:12 2025 +0800"
      },
      "message": "+ remove BIO_flush\n"
    },
    {
      "commit": "49c3e4df460ace322b4139e3980e205d282b32fa",
      "tree": "bcd0296c737f1cd94af33ec288a57268f024c294",
      "parents": [
        "7229c3608f8cb98b24a0a2e7f99bc01d357d9312"
      ],
      "author": {
        "name": "Weibing Wang",
        "email": "wwbmmm@gmail.com",
        "time": "Wed Sep 24 09:40:58 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 24 09:40:58 2025 +0800"
      },
      "message": "Add pb2json depth limit (#3099)\n\n* Add pb2json depth limit\n\n* fix multi json test case failed\n\n* define DEEP_RECURSION_TEST_DEPTH constant\n\n* Remove duplicate root_msg and root_val param"
    },
    {
      "commit": "af1bf4b4966cf39890696eea8661cc4313dd32c5",
      "tree": "02b4ef86d4de49b980a1c751f64bcecac38b51a7",
      "parents": [
        "7229c3608f8cb98b24a0a2e7f99bc01d357d9312"
      ],
      "author": {
        "name": "jiangrujie",
        "email": "jiangrujie@bytedance.com",
        "time": "Tue Sep 23 19:53:06 2025 +0800"
      },
      "committer": {
        "name": "jiangrujie",
        "email": "jiangrujie@bytedance.com",
        "time": "Tue Sep 23 19:53:06 2025 +0800"
      },
      "message": "+ Remove BIO for SSL\n"
    }
  ],
  "next": "7229c3608f8cb98b24a0a2e7f99bc01d357d9312"
}
