)]}'
{
  "log": [
    {
      "commit": "70892a36687ecbc984510a31ba93b654e15d3511",
      "tree": "7fd85d32ea71bdf675c69eb8231f8689d376d2b8",
      "parents": [
        "3a000ba6a8ee58df23a10e7eef70ad3f3edaf555"
      ],
      "author": {
        "name": "Jark Wu",
        "email": "jark@apache.org",
        "time": "Thu Aug 20 17:27:42 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 20 17:27:42 2026 +0800"
      },
      "message": "[test] Wait for local leader readiness (#4053)\n\nEnsure waitAndGetLeader does not return until the assigned replica has completed its local leader transition."
    },
    {
      "commit": "3a000ba6a8ee58df23a10e7eef70ad3f3edaf555",
      "tree": "85a302ee43592bb0064d37c41acddfdcd18f664c",
      "parents": [
        "eaeae17614261cf8551fc2bde41d45062fd3316c"
      ],
      "author": {
        "name": "Jark Wu",
        "email": "jark@apache.org",
        "time": "Thu Aug 20 15:48:52 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 20 15:48:52 2026 +0800"
      },
      "message": "[test] Wait for KV flush before limit scan\n\nUse acks\u003d-1 so the limit scan assertion runs only after the asynchronous KV flush is visible in RocksDB.\n\n\nAI-Model: gpt-5.6-sol\nAI-Contributed/Feature: 0/0\nAI-Contributed/UT: 3/3\n\nCo-authored-by: Codex \u003cnoreply@openai.com\u003e"
    },
    {
      "commit": "eaeae17614261cf8551fc2bde41d45062fd3316c",
      "tree": "39ae7fe79efd509f37517d8cf5c8b96c631493c0",
      "parents": [
        "fccf047e974a9feb272cfe64211dc3e4af98981d"
      ],
      "author": {
        "name": "vbhanuchander-lang",
        "email": "v.bhanuchander@gmail.com",
        "time": "Thu Aug 20 03:05:03 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 20 15:05:03 2026 +0800"
      },
      "message": "[common] Fix equals/hashCode contract for DefaultValueRecordBatch and DefaultKvRecordBatch (#3952)"
    },
    {
      "commit": "fccf047e974a9feb272cfe64211dc3e4af98981d",
      "tree": "41c63a88bef8d860bae1079cab4f1b57e5306927",
      "parents": [
        "e51b5ee93d60d900265be8ce18af6c203844430c"
      ],
      "author": {
        "name": "Jark Wu",
        "email": "jark@apache.org",
        "time": "Wed Aug 19 20:44:52 2026 +0800"
      },
      "committer": {
        "name": "Jark Wu",
        "email": "imjark@gmail.com",
        "time": "Thu Aug 20 12:01:39 2026 +0800"
      },
      "message": "[server] Propagate table config updates through TableInfo\n\nReplace per-option replica updates with a full TableInfo snapshot and\nderive mutable log-tablet settings from TableConfig.\n\nAI-Contributed/Feature: 0/19\nAI-Contributed/UT: 0/2\n"
    },
    {
      "commit": "e51b5ee93d60d900265be8ce18af6c203844430c",
      "tree": "1f4d2778f68c42ce98251f1cb475687565fd6a54",
      "parents": [
        "21b1bb57dbe4713e25f38e43ed4cbd74adb4588e"
      ],
      "author": {
        "name": "Jark Wu",
        "email": "jark@apache.org",
        "time": "Wed Aug 19 18:14:41 2026 +0800"
      },
      "committer": {
        "name": "Jark Wu",
        "email": "imjark@gmail.com",
        "time": "Thu Aug 20 12:01:39 2026 +0800"
      },
      "message": "[test] Verify altered log TTL cleanup end to end\n\nCover shortened table log TTL propagation through client fetch, remote\nsegment expiration, and local cleanup on leader and follower replicas.\n"
    },
    {
      "commit": "21b1bb57dbe4713e25f38e43ed4cbd74adb4588e",
      "tree": "778671c87a64a5a3272298f835d4f904dd76d966",
      "parents": [
        "0bd725c055fce2cf9139f6745bec2f9ca7c16d1f"
      ],
      "author": {
        "name": "duankaixuan",
        "email": "1417048384@qq.com",
        "time": "Wed Apr 29 17:13:30 2026 +0800"
      },
      "committer": {
        "name": "Jark Wu",
        "email": "imjark@gmail.com",
        "time": "Thu Aug 20 12:01:39 2026 +0800"
      },
      "message": "[server] Support altering table.log.ttl table option (#3233)\n"
    },
    {
      "commit": "0bd725c055fce2cf9139f6745bec2f9ca7c16d1f",
      "tree": "ac64fecc0058c8a795a62de7cd2c739c318c301d",
      "parents": [
        "fbd3d337543a194c5ea01464834f9dcd65096c99"
      ],
      "author": {
        "name": "Xiaobing Fang",
        "email": "bingxf@qq.com",
        "time": "Thu Aug 20 09:48:37 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 20 09:48:37 2026 +0800"
      },
      "message": "[rpc] Fix RequestChannel backpressure race\n\n- Reconcile queue thresholds and backpressure state atomically.\n- Add deterministic race and zero-threshold regression coverage."
    },
    {
      "commit": "fbd3d337543a194c5ea01464834f9dcd65096c99",
      "tree": "a71203765a363948d276ca8d7d8dd96f75c4e773",
      "parents": [
        "cda2bb090090624e34674d06cd31f97496545436"
      ],
      "author": {
        "name": "Prajwal Banakar",
        "email": "prajwal.banakara@gmail.com",
        "time": "Wed Aug 19 21:57:37 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 20 00:27:37 2026 +0800"
      },
      "message": "[flink] Fix ClassNotFoundException for RoaringBitmap in shaded Flink connector JAR (#3981)"
    },
    {
      "commit": "cda2bb090090624e34674d06cd31f97496545436",
      "tree": "3ac71dd93bba3908e8f971f72d383ed96ecfd424",
      "parents": [
        "4f8c95b020653f5edf84bd8c0b6cf8ac5bfb02d4"
      ],
      "author": {
        "name": "Leonard Xu",
        "email": "leonard@apache.org",
        "time": "Wed Aug 19 17:11:58 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 19 14:41:58 2026 +0530"
      },
      "message": "[docs] Use a non-expiring Slack invitation link (#4040)\n\nReplace the expired Slack invite URL across the README and community website with a non-expiring invite link. Document the link\u0027s 400-person usage limit.\n\n\nAI-Model: gpt-5.4\nAI-Contributed/Feature: 14/14\nAI-Contributed/UT: 0/0\n\nCo-authored-by: Codex \u003cnoreply@openai.com\u003e"
    },
    {
      "commit": "4f8c95b020653f5edf84bd8c0b6cf8ac5bfb02d4",
      "tree": "f44d428ee2e8abfe796b38c1aba962cea2b99efd",
      "parents": [
        "2cf81dc4ba919d93db677bd3600c0b71f43f2489"
      ],
      "author": {
        "name": "Yang Guo",
        "email": "jimmy_guoyang@outlook.com",
        "time": "Wed Aug 19 14:29:28 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 19 14:29:28 2026 +0800"
      },
      "message": "[server] Support independent local log TTL (#3778)\n\nSupport table-level config `table.log.local-ttl` and allow `table.log.local-ttl` to be altered and propagated to online replicas without restarting TabletServers."
    },
    {
      "commit": "2cf81dc4ba919d93db677bd3600c0b71f43f2489",
      "tree": "f22d673bdad59558e8d20bdd7c5a21d41248e93d",
      "parents": [
        "c3d56c44c967b361004ecb8bfe0ea05785740282"
      ],
      "author": {
        "name": "Gezi-lzq",
        "email": "lzqtxwd@gmail.com",
        "time": "Wed Aug 19 14:10:43 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 19 14:10:43 2026 +0800"
      },
      "message": "[flink] Fix batch log scan with empty buckets (#4007)"
    },
    {
      "commit": "c3d56c44c967b361004ecb8bfe0ea05785740282",
      "tree": "6ea56b5e0db3db3d3b43a9f4457bc6c5a439f5af",
      "parents": [
        "a145eeae09ce4201150814d6c24d21c63385857f"
      ],
      "author": {
        "name": "Junfan Zhang",
        "email": "zuston@apache.org",
        "time": "Tue Aug 18 21:28:13 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 18 21:28:13 2026 +0800"
      },
      "message": "[client] Include original partition name in historical lookup errors (#4032)"
    },
    {
      "commit": "a145eeae09ce4201150814d6c24d21c63385857f",
      "tree": "6503d08905150da22fab4d27391fa16b6ca08aae",
      "parents": [
        "5feb55f006d4e941ccc0bf5b5b4c6501ca00bee0"
      ],
      "author": {
        "name": "Junbo Wang",
        "email": "beryllwang@gmail.com",
        "time": "Tue Aug 18 21:12:34 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 18 21:12:34 2026 +0800"
      },
      "message": "[gateway] Add the Gateway runtime, common HTTP layer, lifecycle, and test infrastructure (#3963)\n\n---------\n\nCo-authored-by: gstamatakis95 \u003c126914070+gstamatakis95@users.noreply.github.com\u003e"
    },
    {
      "commit": "5feb55f006d4e941ccc0bf5b5b4c6501ca00bee0",
      "tree": "2ae736663761e1ddfa21a342137913b5876e6875",
      "parents": [
        "ec517feef026c85bfbe16ecaec5cbbd3e0e5d3f8"
      ],
      "author": {
        "name": "Yang Wang",
        "email": "ocean.wy@alibaba-inc.com",
        "time": "Tue Aug 18 21:01:13 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 18 21:01:13 2026 +0800"
      },
      "message": "[flink] Preserve complete undo recovery baselines (#3953)"
    },
    {
      "commit": "ec517feef026c85bfbe16ecaec5cbbd3e0e5d3f8",
      "tree": "b7006926e168556b70961b5bd194c3241ac2e7a0",
      "parents": [
        "bdef64d295dfd18848a1dc824c4cc054488a8891"
      ],
      "author": {
        "name": "Yang Wang",
        "email": "ocean.wy@alibaba-inc.com",
        "time": "Tue Aug 18 17:36:19 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 18 17:36:19 2026 +0800"
      },
      "message": "[client] Scope sender failures to per-table requests"
    },
    {
      "commit": "bdef64d295dfd18848a1dc824c4cc054488a8891",
      "tree": "d957d38cf4780ff128685cf2ff1bd532cff6d3f4",
      "parents": [
        "1cf42c5072a4c3fbdcfb34f682b5c93e925512bd"
      ],
      "author": {
        "name": "Anton Borisov",
        "email": "148864665+fresh-borzoni@users.noreply.github.com",
        "time": "Mon Aug 17 22:30:27 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 17 22:30:27 2026 +0100"
      },
      "message": "[rust] Add LICENSE and NOTICE to the source release (#3803)"
    },
    {
      "commit": "1cf42c5072a4c3fbdcfb34f682b5c93e925512bd",
      "tree": "c74a6428ba7ec1a22b66aa892cacb72f0cbce916",
      "parents": [
        "cc022890417931dc11cef81b574b17295718372a"
      ],
      "author": {
        "name": "Liebing",
        "email": "44154062+LiebingYu@users.noreply.github.com",
        "time": "Mon Aug 17 20:19:39 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 17 20:19:39 2026 +0800"
      },
      "message": "[flink] Support ALTER TABLE to modify watermark (#2718)"
    },
    {
      "commit": "cc022890417931dc11cef81b574b17295718372a",
      "tree": "d3375cc62a1f4c918850e4f974ceec3dc8606d75",
      "parents": [
        "d694d38727c2b4dba6dc8ec408a08d9f81ede919"
      ],
      "author": {
        "name": "fhan",
        "email": "aaron.han.1986@gmail.com",
        "time": "Mon Aug 17 11:32:27 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 17 11:32:27 2026 +0800"
      },
      "message": "[lake/paimon] Support clean and legacy Paimon lake table schemas (#3982)\n\n---------\n\nCo-authored-by: luoyuxia \u003cluoyuxia@alumni.sjtu.edu.cn\u003e"
    },
    {
      "commit": "d694d38727c2b4dba6dc8ec408a08d9f81ede919",
      "tree": "a4361fdbc87eab69516a50d9c96919deaa6ef8ec",
      "parents": [
        "8e2f6708a1b75fa697cd865958ccdf816772fdaa"
      ],
      "author": {
        "name": "Yang Zhang",
        "email": "yangchuan.zy@alibaba-inc.com",
        "time": "Mon Aug 17 11:07:38 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 17 11:07:38 2026 +0800"
      },
      "message": "[spark] Support time-range incremental batch reads (#3883)"
    },
    {
      "commit": "8e2f6708a1b75fa697cd865958ccdf816772fdaa",
      "tree": "341caee8834b37d495803deda419e0f4d89be5e3",
      "parents": [
        "37ad1af110de41c1b2a2554e124a0a389d2a0d04"
      ],
      "author": {
        "name": "slfan1989",
        "email": "55643692+slfan1989@users.noreply.github.com",
        "time": "Mon Aug 17 09:12:15 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 17 02:12:15 2026 +0100"
      },
      "message": "[rust] Fix Arrow limit scan across schema evolution (#3821)\n\n* [rust] Fix Arrow limit scan across schema evolution\n\n* [rust] Stabilize schema evolution batch scanner test\n\n* [rust] Reuse Arrow schema in limit batch scanner\n\n* [rust] Simplify schema evolution test helpers\n\n* [rust] Add schema evolution projection and limit tests\n\n* [rust] Reject dynamic schema for log limit scans"
    },
    {
      "commit": "37ad1af110de41c1b2a2554e124a0a389d2a0d04",
      "tree": "7fced506fa63779289b4e35ab504bad6728ff280",
      "parents": [
        "0ebc9f228f5714fcc8f036f2a8ff2fd4d783d1b0"
      ],
      "author": {
        "name": "Keith Lee",
        "email": "leekei@apache.org",
        "time": "Mon Aug 17 01:53:42 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 17 01:53:42 2026 +0100"
      },
      "message": "[rust] Wire the scan filter through to the log fetcher (#3971)\n\nAdds `TableScan::filter`, which encodes the predicate against the full row\ntype and sends it with the schema id on every fetch request. A response now\nadvances the bucket offset past `filtered_end_offset`, whether the server\nemptied the fetch or only pruned its tail, and the proto comment claiming\nthose two fields are mutually exclusive is corrected to match the server."
    },
    {
      "commit": "0ebc9f228f5714fcc8f036f2a8ff2fd4d783d1b0",
      "tree": "926b71ce3086328a60a76a614331d020ee815686",
      "parents": [
        "2ba95fab02b3708d103748296c8357b01d1bd7b4"
      ],
      "author": {
        "name": "Yang Wang",
        "email": "ocean.wy@alibaba-inc.com",
        "time": "Fri Aug 14 22:20:51 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 14 22:20:51 2026 +0800"
      },
      "message": "[log] Recover segments containing a single empty batch"
    },
    {
      "commit": "2ba95fab02b3708d103748296c8357b01d1bd7b4",
      "tree": "9107369a81b49faa8c6bf86ef7739b9c8974ec3c",
      "parents": [
        "a749a19d3e158ebeaac3bb0262e2bcf508f8b211"
      ],
      "author": {
        "name": "Junbo Wang",
        "email": "beryllwang@gmail.com",
        "time": "Fri Aug 14 19:06:59 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 14 19:06:59 2026 +0800"
      },
      "message": "[gateway] Introduce the fluss-gateway module scaffolding (#4002)"
    },
    {
      "commit": "a749a19d3e158ebeaac3bb0262e2bcf508f8b211",
      "tree": "e8ce61ab7ffd48816ffc61fbdd3091097c115ff0",
      "parents": [
        "fc81870086f1d847083b706f3b3ea328857ad008"
      ],
      "author": {
        "name": "Junfan Zhang",
        "email": "zuston@apache.org",
        "time": "Fri Aug 14 13:52:27 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 14 13:52:27 2026 +0800"
      },
      "message": "[iceberg] fast fail when creating table of iceberg with multi key fields (#2499)"
    },
    {
      "commit": "fc81870086f1d847083b706f3b3ea328857ad008",
      "tree": "ce80dbb4e2f808e1265b3cf512ec6099ae66b69f",
      "parents": [
        "526fd9615fe8a85eed1170946562c97729ac7786"
      ],
      "author": {
        "name": "Junbo Wang",
        "email": "beryllwang@gmail.com",
        "time": "Fri Aug 14 10:10:43 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 14 10:10:43 2026 +0800"
      },
      "message": "[rust] Support cooperative KV backpressure (client side of #3463) (#3964)"
    },
    {
      "commit": "526fd9615fe8a85eed1170946562c97729ac7786",
      "tree": "1eac0669131cb7f03424dec69ce571d3415fdfc6",
      "parents": [
        "8dd23f9b585ad5ad83596f546326b6a307e1e0f1"
      ],
      "author": {
        "name": "Junfan Zhang",
        "email": "zuston@apache.org",
        "time": "Fri Aug 14 05:55:05 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 13 22:55:05 2026 +0100"
      },
      "message": "[rust] ignore missing partitions during scanner metadata updates (#3935)\n\n* [rust] ignore missing partitions during scanner metadata updates\n\n* refresh metadata for requested partition ids\n\n* format\n\n* fix(rust): scope scanner metadata invalidation to partition\n\n---------\n\nCo-authored-by: zhangjunfan \u003czhangjunfan@qiyi.com\u003e"
    },
    {
      "commit": "8dd23f9b585ad5ad83596f546326b6a307e1e0f1",
      "tree": "ca2e5818273f5984f9a107640b2dbbf33c85e7c2",
      "parents": [
        "5209c2737480eb7685bb6ec4d06a6b5477115ef8"
      ],
      "author": {
        "name": "Yang Zhang",
        "email": "yangchuan.zy@alibaba-inc.com",
        "time": "Fri Aug 14 05:35:39 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 13 22:35:39 2026 +0100"
      },
      "message": "[fs] Relocate commons in S3/GS/Azure fs plugins to fix Spark conflict (#3960)\n\n* [fs] Relocate commons deps in S3/GS fs plugins to fix Spark conflict\n\nThe fluss-fs-s3 and fluss-fs-gs shaded jars bundled unrelocated\norg.apache.commons classes (e.g. commons-text 1.4 from hadoop-common\n3.3.4). When loaded on an engine classpath such as Spark, the old\nclasses shadow the engine\u0027s newer ones (Spark ships commons-text\n1.10.0), causing NoSuchMethodError on StringSubstitutor\n.setEnableUndefinedVariableException. Relocate org.apache.commons to\norg.apache.fluss.shaded.org.apache.commons, consistent with the\nfluss-fs-oss/cos/obs/hdfs plugins.\n\n* [fs] Relocate commons deps in Azure fs plugin to fix Spark conflict\n\nThe fluss-fs-azure shaded jar bundled unrelocated org.apache.commons\nclasses (e.g. commons-text 1.4 from hadoop-common 3.3.4). When loaded\non an engine classpath such as Spark, the old classes shadow the\nengine\u0027s newer ones (Spark ships commons-text 1.10.0), causing\nNoSuchMethodError on StringSubstitutor\n.setEnableUndefinedVariableException. Relocate org.apache.commons to\norg.apache.fluss.shaded.org.apache.commons, consistent with the\nfluss-fs-s3/gs/oss/cos/obs/hdfs plugins."
    },
    {
      "commit": "5209c2737480eb7685bb6ec4d06a6b5477115ef8",
      "tree": "39f1096b08f3b8ac07bffeaa0967368092bce066",
      "parents": [
        "9ee87d025e610f673fb0b6acd02c3f87a846b0cb"
      ],
      "author": {
        "name": "leon.jeon",
        "email": "58650453+Leondon9@users.noreply.github.com",
        "time": "Wed Aug 12 23:17:50 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 12 22:17:50 2026 +0800"
      },
      "message": "[client] Cache synchronously fetched schemas (#3335)"
    },
    {
      "commit": "9ee87d025e610f673fb0b6acd02c3f87a846b0cb",
      "tree": "4389f8f30d5524a460e6a448eca3ecd7070e1508",
      "parents": [
        "b2c511c18b5e8960ec6ee884fa46b70cc3bbd6dc"
      ],
      "author": {
        "name": "yuxia Luo",
        "email": "luoyuxia@alumni.sjtu.edu.cn",
        "time": "Wed Aug 12 20:43:34 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 12 20:43:34 2026 +0800"
      },
      "message": "[server] Manage historical lookup local cache capacity (#3864)"
    },
    {
      "commit": "b2c511c18b5e8960ec6ee884fa46b70cc3bbd6dc",
      "tree": "60a1765e67a0f0ecf64c7ad730a5f076357c709a",
      "parents": [
        "7876de0e81a04c6ed75efe87c65d8a122a6d055d"
      ],
      "author": {
        "name": "hanliu0830",
        "email": "hanliu0830@gmail.com",
        "time": "Wed Aug 12 20:43:26 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 12 20:43:26 2026 +0800"
      },
      "message": "[server] Fix ISR shrink race during leader transition (#3920)"
    },
    {
      "commit": "7876de0e81a04c6ed75efe87c65d8a122a6d055d",
      "tree": "20eb7a5f72c94c86d3e6be950b876dcb36c13adb",
      "parents": [
        "7f7fe2487895a1bc3c69397bc69fd833fc346c1b"
      ],
      "author": {
        "name": "yunhong",
        "email": "337361684@qq.com",
        "time": "Wed Aug 12 20:33:15 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 12 20:33:15 2026 +0800"
      },
      "message": "[server] Fall back to rack-unaware assignment for partial rack info (#3946)"
    },
    {
      "commit": "7f7fe2487895a1bc3c69397bc69fd833fc346c1b",
      "tree": "30a8d25a2a0654eb86149bfd64106067d8b79a17",
      "parents": [
        "b671dc306bcfc83d0a3caa336e0087faaaaf0882"
      ],
      "author": {
        "name": "Yang Guo",
        "email": "jimmy_guoyang@outlook.com",
        "time": "Wed Aug 12 19:18:21 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 12 19:18:21 2026 +0800"
      },
      "message": "[server] Fix remote log start offset of RemoteLogManifest may expose an expired physical prefix (#3956)"
    },
    {
      "commit": "b671dc306bcfc83d0a3caa336e0087faaaaf0882",
      "tree": "ec3b718d0a7842033fe8bbdf0bf56de6cadd5074",
      "parents": [
        "9826b4441eec7bfd8182aef899ecdcf78c8fe759"
      ],
      "author": {
        "name": "naivedogger",
        "email": "yangyanghu365@gmail.com",
        "time": "Wed Aug 12 15:06:22 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 12 15:06:22 2026 +0800"
      },
      "message": "[flink] Support batch scan for virtual log tables (#3925)\n\nThis closes #3925"
    },
    {
      "commit": "9826b4441eec7bfd8182aef899ecdcf78c8fe759",
      "tree": "605d0ad3bd914bf230064581f3615d388b6bbc11",
      "parents": [
        "6e381475a07ee0c2f9f70614b8bc139d7ec33e5d"
      ],
      "author": {
        "name": "Jark Wu",
        "email": "jark@apache.org",
        "time": "Wed Aug 12 11:33:11 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 12 11:33:11 2026 +0800"
      },
      "message": "[test] Add multi-version compatibility test selection (#3913)"
    },
    {
      "commit": "6e381475a07ee0c2f9f70614b8bc139d7ec33e5d",
      "tree": "88f9ed0c58f745dcb9c9f99d0681fe1c30314e4f",
      "parents": [
        "9e3fa8fd63f81172c5b2f377f8507b74d4540a18"
      ],
      "author": {
        "name": "litiliu",
        "email": "38579068+litiliu@users.noreply.github.com",
        "time": "Wed Aug 12 09:36:53 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 12 02:36:53 2026 +0100"
      },
      "message": "[CI] Wait for table metadata in authorization test (#3875)\n\n* [test] Wait for table metadata in authorization test\n\nWait until the relevant table bucket replicas and TabletServer metadata caches are ready before exercising listOffsets authorization.\n\n* [test] Share table readiness wait in authorization setup"
    },
    {
      "commit": "9e3fa8fd63f81172c5b2f377f8507b74d4540a18",
      "tree": "6b5c61f1e8452f434878225707938142bd71a111",
      "parents": [
        "afc34bbd83c816813a937f6c883f0f004c2f59ec"
      ],
      "author": {
        "name": "Yang Zhang",
        "email": "yangchuan.zy@alibaba-inc.com",
        "time": "Wed Aug 12 09:33:30 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 12 02:33:30 2026 +0100"
      },
      "message": "[common] Extract NO_SNAPSHOT_ID sentinel to fluss-common (#3928)\n\n* [common] Extract NO_SNAPSHOT_ID sentinel to fluss-common\n\nMove the no-snapshot sentinel (-1L) from flink\u0027s HybridSnapshotLogSplit\ninto fluss-common\u0027s TableBucketSnapshot so Flink, Spark and the server\nkv snapshot lease code all share one constant instead of magic numbers.\n\nCo-Authored-By: Qoder \u003cnoreply@qoder.com\u003e\nAI-Model: Qoder Auto\nAI-Contributed/Feature: 62/62\nAI-Contributed/UT: 19/19\n\n* [server] Replace remaining -1L snapshot sentinels with NO_SNAPSHOT_ID\n\nSweep the leftover literal -1L snapshot sentinel checks in\nKvSnapshotLeaseManager and KvSnapshotLeaseHandler (including the\nArrays.fill calls and comments) so all kv snapshot lease code uses the\nshared TableBucketSnapshot.NO_SNAPSHOT_ID constant.\n\n---------\n\nCo-authored-by: Qoder \u003cnoreply@qoder.com\u003e"
    },
    {
      "commit": "afc34bbd83c816813a937f6c883f0f004c2f59ec",
      "tree": "0a5bfa36a0d627176676818ec471d06214c75722",
      "parents": [
        "471160ef814243a34f04f313b0cb405699d766ef"
      ],
      "author": {
        "name": "Yang Wang",
        "email": "ocean.wy@alibaba-inc.com",
        "time": "Wed Aug 12 09:16:20 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 12 09:16:20 2026 +0800"
      },
      "message": "[flink] Route undo offsets by sink subtask"
    },
    {
      "commit": "471160ef814243a34f04f313b0cb405699d766ef",
      "tree": "7f8d7bb2d170fa3604432e214f0476c6456ad5ac",
      "parents": [
        "c4ccaf64abb4bd0ecc98c29a10be20d3ee70430f"
      ],
      "author": {
        "name": "Junfan Zhang",
        "email": "zuston@apache.org",
        "time": "Wed Aug 12 07:36:06 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 12 00:36:06 2026 +0100"
      },
      "message": "[rust] add support of iceberg format key encoder (#3934)\n\n* [rust] add support of iceberg format key encoder\n\n* [rust] Address Iceberg encoder review comments\n\n---------\n\nCo-authored-by: zhangjunfan \u003czhangjunfan@qiyi.com\u003e"
    },
    {
      "commit": "c4ccaf64abb4bd0ecc98c29a10be20d3ee70430f",
      "tree": "c081f002413582895246f6873c28bd5ff7881d45",
      "parents": [
        "c9a6c5c9385658718f0de9d643c0791d8373e460"
      ],
      "author": {
        "name": "Vladyslav Banar",
        "email": "83018484+VladBanar@users.noreply.github.com",
        "time": "Tue Aug 11 14:22:29 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 11 17:52:29 2026 +0530"
      },
      "message": "[doc] documentation for gravitino integration (#3669)\n\n* doc for gravitino integration\n\n* doc for gravitino datalake integration\n\n* address comments"
    },
    {
      "commit": "c9a6c5c9385658718f0de9d643c0791d8373e460",
      "tree": "133bac5740be956d5cafdecf13f74d5c3e41591c",
      "parents": [
        "b119fd7412ab6547e7225d431d36f05be8ac60ad"
      ],
      "author": {
        "name": "Yang Wang",
        "email": "ocean.wy@alibaba-inc.com",
        "time": "Tue Aug 11 16:15:47 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 11 16:15:47 2026 +0800"
      },
      "message": "[flink] Track consumed progress during undo recovery (#3910)\n\n* [flink] Track consumed progress during undo recovery\n\n* [test] Reuse log scanner in undo recovery tests"
    },
    {
      "commit": "b119fd7412ab6547e7225d431d36f05be8ac60ad",
      "tree": "5965acebd7aa3d9cfffa9f0e36b7bc26fc4a6830",
      "parents": [
        "fb1e9f603c66d5d4b88eea170e30ae04661146ef"
      ],
      "author": {
        "name": "Hongshun Wang",
        "email": "125648852+loserwang1024@users.noreply.github.com",
        "time": "Tue Aug 11 13:54:44 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 11 13:54:44 2026 +0800"
      },
      "message": "[server] Paimon schema compatibility check is too strict for comments and options when alter table. (#3890)"
    },
    {
      "commit": "fb1e9f603c66d5d4b88eea170e30ae04661146ef",
      "tree": "44611f435bd74ea063c8a327dfb0223288a7ca60",
      "parents": [
        "5b588343462fb0cb1bfd6e016b0c3c5d06059430"
      ],
      "author": {
        "name": "Jark Wu",
        "email": "jark@apache.org",
        "time": "Tue Aug 11 11:58:40 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 11 11:58:40 2026 +0800"
      },
      "message": "[server] Refine remote log manifest overlap handling (#3937)\n\nUse physical manifest offsets where required, simplify RemoteLogTablet snapshot reads, and remove the obsolete incremental mutation helper. Keep overlap and timestamp lookup behavior covered by updated tests."
    },
    {
      "commit": "5b588343462fb0cb1bfd6e016b0c3c5d06059430",
      "tree": "bcb3e0ddc7b8eeb5085ae43671a544ec7a65c254",
      "parents": [
        "2aad8b506db0f16ae34f8a03e29e9f98b62ff4db"
      ],
      "author": {
        "name": "Jark Wu",
        "email": "jark@apache.org",
        "time": "Tue Aug 11 11:18:47 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 11 11:18:47 2026 +0800"
      },
      "message": "[server] Support hot update for active segment retention roll (#3940)\n\nSeparate tiered and TTL cleanup paths so each retention action owns segment deletion and active-segment rolling. Make log.retention.roll-active-segment.enabled dynamically reconfigurable through a shared AtomicBoolean owned by LogManager, avoiding per-tablet update traversal. Update dynamic configuration and TTL retention coverage."
    },
    {
      "commit": "2aad8b506db0f16ae34f8a03e29e9f98b62ff4db",
      "tree": "6fecb5b57ff2de6df9755755ce32306be32016ec",
      "parents": [
        "39e9ce28e9b2bc56120a99a2b30b5867fd1b5b9b"
      ],
      "author": {
        "name": "Junbo Wang",
        "email": "beryllwang@gmail.com",
        "time": "Tue Aug 11 11:07:35 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 11 11:07:35 2026 +0800"
      },
      "message": "[flink] Commit tiered offsets for buckets that finished without data (#3893)"
    },
    {
      "commit": "39e9ce28e9b2bc56120a99a2b30b5867fd1b5b9b",
      "tree": "ee4bdc6b78b9939d4b185734310d0acdf53e2f83",
      "parents": [
        "e8a0a1b7c17d1f3aebf987e2ebdc844c9b23da95"
      ],
      "author": {
        "name": "Prajwal Banakar",
        "email": "prajwal.banakara@gmail.com",
        "time": "Tue Aug 11 06:03:43 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 11 08:33:43 2026 +0800"
      },
      "message": "[flink] Validate database existence when resolving catalog functions in FlinkCatalog (#3906)"
    },
    {
      "commit": "e8a0a1b7c17d1f3aebf987e2ebdc844c9b23da95",
      "tree": "71b2ac84bd5652699886b0bc8e58bdeffc703a6b",
      "parents": [
        "e0fe960af6cc836ca3ad4b174c82deca69ac1f0f"
      ],
      "author": {
        "name": "yuxia Luo",
        "email": "luoyuxia@alumni.sjtu.edu.cn",
        "time": "Tue Aug 11 07:14:46 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 11 07:14:46 2026 +0800"
      },
      "message": "[server] Ignore lake snapshot refresh failures during leader election (#3922)"
    },
    {
      "commit": "e0fe960af6cc836ca3ad4b174c82deca69ac1f0f",
      "tree": "e1854bf6c765b6378e30b425a952dea8305ef742",
      "parents": [
        "c43511b3d9eab6f2f9f58349ebd36f63955ae09c"
      ],
      "author": {
        "name": "Kaiqi Dong",
        "email": "kaiqi.dong@bitvavo.com",
        "time": "Mon Aug 10 21:33:10 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 10 20:33:10 2026 +0100"
      },
      "message": "[rust] Fix log append rejecting NOT NULL columns (#3899)\n\n* Fix log append rejecting not null\n\n* add integration test"
    },
    {
      "commit": "c43511b3d9eab6f2f9f58349ebd36f63955ae09c",
      "tree": "184acfc4e3f4ce068d93d2ff02a46d468c6f1c50",
      "parents": [
        "cd6ea11fefb484f3279483996a59f013ac047cf7"
      ],
      "author": {
        "name": "Keith Lee",
        "email": "leekei@apache.org",
        "time": "Mon Aug 10 20:29:00 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 10 20:29:00 2026 +0100"
      },
      "message": "[rust] Encode predicates into their protocol representation (#3900)\n\nAdds `predicate::pb::to_pb_predicate`, which resolves a predicate\u0027s columns to\nschema field ids and encodes its literals as the column\u0027s declared type."
    },
    {
      "commit": "cd6ea11fefb484f3279483996a59f013ac047cf7",
      "tree": "d31439e9b913d5218b5e0251da635c2484e4ecac",
      "parents": [
        "ca703ac9ec5127442f0d79c91bf4a39079da2811"
      ],
      "author": {
        "name": "Xiaobing Fang",
        "email": "bingxf@qq.com",
        "time": "Tue Aug 11 01:30:53 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 11 01:30:53 2026 +0800"
      },
      "message": "[server] Roll expired active segments for remote retention (#3831)"
    },
    {
      "commit": "ca703ac9ec5127442f0d79c91bf4a39079da2811",
      "tree": "8929726faa81cb120cb13e1955c40f5ef3d11794",
      "parents": [
        "ffa665a61f62db33ed2fdbece91a61d56d29f145"
      ],
      "author": {
        "name": "Yang Guo",
        "email": "jimmy_guoyang@outlook.com",
        "time": "Mon Aug 10 21:48:08 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 10 21:48:08 2026 +0800"
      },
      "message": "[server] Support RemoteLogManifest to handle overlap RemoteLogSegments (#3822)"
    },
    {
      "commit": "ffa665a61f62db33ed2fdbece91a61d56d29f145",
      "tree": "290a0ac0831cbe618dcbacc15587984657415fb6",
      "parents": [
        "6a43bd4fc6bf73d80f35482783e910483ab1ad9e"
      ],
      "author": {
        "name": "naivedogger",
        "email": "yangyanghu365@gmail.com",
        "time": "Mon Aug 10 19:30:02 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 10 19:30:02 2026 +0800"
      },
      "message": "[flink] Support projection and filter pushdown for $changelog and $binlog virtual tables (#3759)"
    },
    {
      "commit": "6a43bd4fc6bf73d80f35482783e910483ab1ad9e",
      "tree": "3a1e0d719a34dcaef4db136b80ddacff10fe1748",
      "parents": [
        "8bcf22e5cef30141e09d70e040546fca4110f2be"
      ],
      "author": {
        "name": "Jark Wu",
        "email": "jark@apache.org",
        "time": "Mon Aug 10 16:33:25 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 10 16:33:25 2026 +0800"
      },
      "message": "[docs] Add Apache Doris to homepage (#3924)"
    },
    {
      "commit": "8bcf22e5cef30141e09d70e040546fca4110f2be",
      "tree": "fb1d94b5024870ef4d825fd207519e1f3cf1877e",
      "parents": [
        "5bee00a5f757c302eb40de2ba397255b539c106a"
      ],
      "author": {
        "name": "Hongshun Wang",
        "email": "125648852+loserwang1024@users.noreply.github.com",
        "time": "Mon Aug 10 15:56:21 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 10 15:56:21 2026 +0800"
      },
      "message": "[flink] Support batch delete and update in flink sink (#3863)"
    },
    {
      "commit": "5bee00a5f757c302eb40de2ba397255b539c106a",
      "tree": "d72e621ce87ed7d70214ec882017940315f320ab",
      "parents": [
        "4259349b6cfdf0fccc8e6a2849b81044d2319b96"
      ],
      "author": {
        "name": "Jark Wu",
        "email": "jark@apache.org",
        "time": "Sun Aug 09 23:08:48 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 09 18:08:48 2026 +0300"
      },
      "message": "[docs] Rename Streamhouse to Lakestream and add Hudi (#3911)\n\n* [docs] Rename Streamhouse to Lakestream\n\nUpdate the website homepage and documentation accessibility text to use the Lakestream name consistently.\n\nCo-Authored-By: Codex \u003cnoreply@openai.com\u003e\n\nAI-Model: gpt-5\nAI-Contributed/Feature: 8/8\nAI-Contributed/UT: 0/0\n\n* [docs] Add Hudi to Lakestream architecture\n\nShow Apache Hudi in the homepage Lakehouse cold tier and update the diagram description to reflect the newly supported format.\n\nCo-Authored-By: Codex \u003cnoreply@openai.com\u003e\n\nAI-Model: gpt-5\nAI-Contributed/Feature: 14/14\nAI-Contributed/UT: 0/0\n\n* [docs] Use uniform lake format styling\n\nRemove the special Apache Iceberg highlight so every Lakehouse format uses the same card colors.\n\nCo-Authored-By: Codex \u003cnoreply@openai.com\u003e\n\nAI-Model: gpt-5\nAI-Contributed/Feature: 14/14\nAI-Contributed/UT: 0/0"
    },
    {
      "commit": "4259349b6cfdf0fccc8e6a2849b81044d2319b96",
      "tree": "a4901ed061c9df1a68ba127e4448941a92393322",
      "parents": [
        "7faea7521c260d1ea342584d7a16506d903506e4"
      ],
      "author": {
        "name": "Jark Wu",
        "email": "jark@apache.org",
        "time": "Sun Aug 09 12:27:07 2026 +0800"
      },
      "committer": {
        "name": "Jark Wu",
        "email": "imjark@gmail.com",
        "time": "Sun Aug 09 12:35:48 2026 +0800"
      },
      "message": "[docs] Expand bitmap SQL function usage\n\nDocument qualified function references and add a windowed bitmap aggregation example backed by the rbm32 merge engine.\n\nCo-Authored-By: Codex \u003cnoreply@openai.com\u003e\nAI-Model: gpt-5.6-sol\nAI-Contributed/Feature: 86/86\nAI-Contributed/UT: 0/0"
    },
    {
      "commit": "7faea7521c260d1ea342584d7a16506d903506e4",
      "tree": "1ec5c4b7306d25d9a06aba3f3f80a2bc6b092761",
      "parents": [
        "ba96a056a40d1632a317f6f28d9e9d998ad91555"
      ],
      "author": {
        "name": "Jark Wu",
        "email": "jark@apache.org",
        "time": "Sun Aug 09 11:51:32 2026 +0800"
      },
      "committer": {
        "name": "Jark Wu",
        "email": "imjark@gmail.com",
        "time": "Sun Aug 09 12:35:48 2026 +0800"
      },
      "message": "[docs] Use rb_build in bitmap SQL examples\n\nConstruct bitmap inputs with rb_build in the aggregate function and rbm32 examples.\n\nCo-Authored-By: Codex \u003cnoreply@openai.com\u003e\nAI-Model: gpt-5.6-sol\nAI-Contributed/Feature: 35/35\nAI-Contributed/UT: 0/0"
    },
    {
      "commit": "ba96a056a40d1632a317f6f28d9e9d998ad91555",
      "tree": "4a98d36432bd2218d71a4f487a5b073be7ccdc81",
      "parents": [
        "4a3a60c85af96de94725b16e64402a719161cee6"
      ],
      "author": {
        "name": "pbanakar",
        "email": "prajwal.banakara@gmail.com",
        "time": "Sun Aug 02 16:05:39 2026 +0000"
      },
      "committer": {
        "name": "Jark Wu",
        "email": "imjark@gmail.com",
        "time": "Sun Aug 09 12:35:48 2026 +0800"
      },
      "message": "[docs] Add RoaringBitmap SQL functions to aggregation documentation (#3823)\nAI-Contributed/Feature: 0/317\nAI-Contributed/UT: 0/0"
    },
    {
      "commit": "4a3a60c85af96de94725b16e64402a719161cee6",
      "tree": "ed3a20d0509ecedd6c2314a7b629a2437e5595ac",
      "parents": [
        "8d326bc757bbc4ad7c1d24b76f4ce25a91f7c3c4"
      ],
      "author": {
        "name": "Prajwal Banakar",
        "email": "prajwal.banakara@gmail.com",
        "time": "Sun Aug 09 08:03:14 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 09 10:33:14 2026 +0800"
      },
      "message": "[FIP-37] Add bitmap Phase 2 functions and register via FlussCatalog (#3777)"
    },
    {
      "commit": "8d326bc757bbc4ad7c1d24b76f4ce25a91f7c3c4",
      "tree": "a87f1c7a20a57b71e7f5b0890d4d539eaa2033d4",
      "parents": [
        "82670bff9d30436b1265f82c7b6ba6e699ddb4ca"
      ],
      "author": {
        "name": "Keith Lee",
        "email": "leekei@apache.org",
        "time": "Fri Aug 07 15:32:37 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 07 15:32:37 2026 +0100"
      },
      "message": "[rust] Add predicates as part of filter pushdown (#3847)"
    },
    {
      "commit": "82670bff9d30436b1265f82c7b6ba6e699ddb4ca",
      "tree": "256caad1bdace95a2cc5d6aad1fa7e170c0adc93",
      "parents": [
        "4105e248c73c50cdc5834dba2226ce29fdf7fcd4"
      ],
      "author": {
        "name": "Junbo Wang",
        "email": "beryllwang@gmail.com",
        "time": "Fri Aug 07 13:13:55 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 07 13:13:55 2026 +0800"
      },
      "message": "[lake/tiering][follow] Allow overriding tiering remote-first read preference (#3886)"
    },
    {
      "commit": "4105e248c73c50cdc5834dba2226ce29fdf7fcd4",
      "tree": "5b53195d08f8f7fbac983d4ed7c7457f8e5d767d",
      "parents": [
        "a72ef624e07955c5a836730c3d09cb93ed3982ec"
      ],
      "author": {
        "name": "Xiaobing Fang",
        "email": "bingxf@qq.com",
        "time": "Fri Aug 07 09:12:45 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 07 09:12:45 2026 +0800"
      },
      "message": "[server] Fix spurious ISR shrink after leader election (#3702)\n\n* [server] Fix spurious ISR shrink after leader election\n\nPreserve follower fetch state across repeated leader notifications and reset follower state only when the leader epoch advances.\n\nFixes #3698.\n\n* [server] Improve ISR state regression coverage\n\n- Document why follower lag grace starts after leader initialization.\n- Exercise the lastCaughtUpTimeMs path after repeated leader notification."
    },
    {
      "commit": "a72ef624e07955c5a836730c3d09cb93ed3982ec",
      "tree": "f6bacf3e8560053cba2c4191195be8b4e457e53b",
      "parents": [
        "d0120f3932a4f4116084039a8c57affe24cea4a2"
      ],
      "author": {
        "name": "Junfan Zhang",
        "email": "zuston@apache.org",
        "time": "Thu Aug 06 21:38:40 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 06 21:38:40 2026 +0800"
      },
      "message": "[server] batch fetch latest bucket snapshots to reduce latency (#3811)\n\nCo-authored-by: zhangjunfan \u003czhangjunfan@qiyi.com\u003e"
    },
    {
      "commit": "d0120f3932a4f4116084039a8c57affe24cea4a2",
      "tree": "2565736d8ef82fd43c9fed3a91377ab8a06ec001",
      "parents": [
        "a75f23cc1f04951dd190a2a20b89289994b8d61e"
      ],
      "author": {
        "name": "Junfan Zhang",
        "email": "zuston@apache.org",
        "time": "Thu Aug 06 08:30:41 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 06 01:30:41 2026 +0100"
      },
      "message": "[server] fix KV snapshot restoring fallback (#3790)\n\n* [server] fix KV snapshot restoring fallback\n\n* fix\n\n* address comments\n\n* more clearly to indicate the possibility of orphaned files\n\n* remove meaningless check\n\n* fix replica side existence check\n\n---------\n\nCo-authored-by: zhangjunfan \u003czhangjunfan@qiyi.com\u003e"
    },
    {
      "commit": "a75f23cc1f04951dd190a2a20b89289994b8d61e",
      "tree": "4a90d179c26d544aa766c659acb44c802bbc1d39",
      "parents": [
        "abad51fa6a262aba8473f8c869f7919006ebcb7c"
      ],
      "author": {
        "name": "Xiaobing Fang",
        "email": "bingxf@qq.com",
        "time": "Thu Aug 06 08:14:52 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 06 01:14:52 2026 +0100"
      },
      "message": "[client] Prevent EOF during concurrent remote log downloads (#3816)\n\n* [client] Prevent EOF during concurrent remote log downloads\n\n- Recheck fetchable buckets under the fetcher lock to avoid stale duplicate requests.\n- Download into unique temporary files and atomically publish complete segments.\n- Add deterministic regressions for stale fetch snapshots and open-reader safety.\n\n* [client] Simplify fetchable bucket metadata update\n\n- Inline the one-use bucket list before metadata refresh.\n- Keep the locked post-refresh recomputation unchanged.\n\n* [client] Clean up failed remote download temp files\n\n- Move temporary-file deletion to finally so errors cannot bypass cleanup.\n- Add an out-of-memory regression through the asynchronous downloader path.\n\n* [client] Improve remote download cleanup diagnostics\n\n- Log a warning when temporary download file cleanup fails.\n- Move the duplicate-download test helper out of the test body.\n\n---------\n\nCo-authored-by: 方晓兵 \u003cfangxiaobing@xiaohongshu.com\u003e"
    },
    {
      "commit": "abad51fa6a262aba8473f8c869f7919006ebcb7c",
      "tree": "dc1da1220fc0bf65e1897877e132a2aceef7a2d9",
      "parents": [
        "22cb19693f121bcc89dc45d3491015cd587614a5"
      ],
      "author": {
        "name": "yunhong",
        "email": "337361684@qq.com",
        "time": "Thu Aug 06 00:08:15 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 06 00:08:15 2026 +0800"
      },
      "message": "[server] Expose local log physical size at bucket level (#3841)"
    },
    {
      "commit": "22cb19693f121bcc89dc45d3491015cd587614a5",
      "tree": "ac4e6f6c0fbaadaef95da2b7511f7e1a12c0cc21",
      "parents": [
        "bf25beee10242730753cf99e5a5e7ee402e5299d"
      ],
      "author": {
        "name": "Junfan Zhang",
        "email": "zuston@apache.org",
        "time": "Wed Aug 05 15:11:53 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 05 15:11:53 2026 +0800"
      },
      "message": "[tiering] introduce the option of `lake.tiering.io.tmpdirs` to avoid disk exhaustion (#3569)"
    },
    {
      "commit": "bf25beee10242730753cf99e5a5e7ee402e5299d",
      "tree": "afa70245a9dd3f7f9c312fc3377db1fd792edb35",
      "parents": [
        "394a7b2c99b68c503a9e99a7ec31057eaa067035"
      ],
      "author": {
        "name": "Yang Wang",
        "email": "ocean.wy@alibaba-inc.com",
        "time": "Wed Aug 05 14:08:30 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 05 14:08:30 2026 +0800"
      },
      "message": "[test] Align prefix lookup test with async flush semantics (#3853)"
    },
    {
      "commit": "394a7b2c99b68c503a9e99a7ec31057eaa067035",
      "tree": "495346ec88f8c439c69eef91a7cca63a60c3da3e",
      "parents": [
        "4f89e3e8b1bec158aa4a12bc8dbbbb695e3822b4"
      ],
      "author": {
        "name": "naivedogger",
        "email": "yangyanghu365@gmail.com",
        "time": "Wed Aug 05 12:03:35 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 05 12:03:35 2026 +0800"
      },
      "message": "[flink][client] Close writer immediately on sink failover (#3817)"
    },
    {
      "commit": "4f89e3e8b1bec158aa4a12bc8dbbbb695e3822b4",
      "tree": "3e973fc1f0ef1bc7cda9dc9f52098672f9391e06",
      "parents": [
        "9973e6c304265e978bbcff1d9749292ba05fb1c8"
      ],
      "author": {
        "name": "Yang Wang",
        "email": "ocean.wy@alibaba-inc.com",
        "time": "Wed Aug 05 09:12:10 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 05 09:12:10 2026 +0800"
      },
      "message": "[kv] Skip RocksDB flushes during Tablet Server shutdown (#3807)"
    },
    {
      "commit": "9973e6c304265e978bbcff1d9749292ba05fb1c8",
      "tree": "67845ceeec5dbdf9dcef876b396518f31c7c1986",
      "parents": [
        "b39c61ed62e123be3449ead95eb6eaae30507460"
      ],
      "author": {
        "name": "yuxia Luo",
        "email": "luoyuxia@alumni.sjtu.edu.cn",
        "time": "Wed Aug 05 00:14:56 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 05 00:14:56 2026 +0800"
      },
      "message": "[lookup] Support historical partition lookup for lake tables (#3630)"
    },
    {
      "commit": "b39c61ed62e123be3449ead95eb6eaae30507460",
      "tree": "c92108f5afb27aac70405023a8c3b9a3fade2969",
      "parents": [
        "8d7ed5ac3f4409b1297817a72e8e49d83b39f8a6"
      ],
      "author": {
        "name": "Junfan Zhang",
        "email": "zuston@apache.org",
        "time": "Tue Aug 04 17:40:46 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 04 17:40:46 2026 +0800"
      },
      "message": "[flink] respect flink io tmp multi dirs to fix disk exhaustion (#3617)"
    },
    {
      "commit": "8d7ed5ac3f4409b1297817a72e8e49d83b39f8a6",
      "tree": "6016e270a2d47d39637a2c6f78644676774eac2e",
      "parents": [
        "a5d79f7b1fbe1905a5494b856cc6268def1fa5d3"
      ],
      "author": {
        "name": "Junbo Wang",
        "email": "beryllwang@gmail.com",
        "time": "Mon Aug 03 17:00:53 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 03 17:00:53 2026 +0800"
      },
      "message": "[lake/paimon] Make PaimonSplit state survive Paimon class relocation (#3825)"
    },
    {
      "commit": "a5d79f7b1fbe1905a5494b856cc6268def1fa5d3",
      "tree": "373a8a95fc0a1bf72a063e2e859f2e78f32a71f6",
      "parents": [
        "b7fb6ec9a6ea9607af09fdd3c927747ccadba286"
      ],
      "author": {
        "name": "Hongshun Wang",
        "email": "125648852+loserwang1024@users.noreply.github.com",
        "time": "Mon Aug 03 11:42:55 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 03 11:42:55 2026 +0800"
      },
      "message": "[flink] Remove the default exposure of client-side bucket-level metrics to reduce metrics storage pressure for existing Flink jobs. (#3828)"
    },
    {
      "commit": "b7fb6ec9a6ea9607af09fdd3c927747ccadba286",
      "tree": "628b96f243df0adf45c2bd9df0524e06a7c8280b",
      "parents": [
        "21ac93fd21c849e343406e5d2884cd94d9d7d664"
      ],
      "author": {
        "name": "Hongshun Wang",
        "email": "125648852+loserwang1024@users.noreply.github.com",
        "time": "Fri Jul 31 10:13:20 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 31 10:13:20 2026 +0800"
      },
      "message": "[flink] Flink batch read based on SST merge. (#3677)"
    },
    {
      "commit": "21ac93fd21c849e343406e5d2884cd94d9d7d664",
      "tree": "42f9ee9828ad9098729b0f3f66af9002a32e5c30",
      "parents": [
        "505482e5081e57b49f282239034da527c83a78d1"
      ],
      "author": {
        "name": "Yang Wang",
        "email": "ocean.wy@alibaba-inc.com",
        "time": "Fri Jul 31 09:56:03 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 31 09:56:03 2026 +0800"
      },
      "message": "[server][client] Add cooperative KV backpressure based on RocksDB L0 (#3463)"
    },
    {
      "commit": "505482e5081e57b49f282239034da527c83a78d1",
      "tree": "40ec35ba100342769a386980cb32fd098d8fc769",
      "parents": [
        "9428f825e9a30657e5739e4deb792615c7baa1e7"
      ],
      "author": {
        "name": "slfan1989",
        "email": "55643692+slfan1989@users.noreply.github.com",
        "time": "Thu Jul 30 20:29:09 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 30 13:29:09 2026 +0100"
      },
      "message": "[client][rust] Align fixed-schema scans by column ID (#3771)\n\n* [client][rust] Align fixed-schema scans by column ID\n\n* [client][rust] Skip fixed target capture for projected scans.\n\n* [client][rust] Move schema alignment validation out of batch decoding.\n\n* [client][rust] Extend fixed-schema test coverage"
    },
    {
      "commit": "9428f825e9a30657e5739e4deb792615c7baa1e7",
      "tree": "551360b91e048733880b80b249e76c0de0b48abc",
      "parents": [
        "d951e4d6b40e8802131a9c0bd499adfff9f3d647"
      ],
      "author": {
        "name": "Junbo Wang",
        "email": "beryllwang@gmail.com",
        "time": "Thu Jul 30 19:57:10 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 30 19:57:10 2026 +0800"
      },
      "message": "[lake/tiering] Avoid chaining tiering source with tiering committer (#3802)"
    },
    {
      "commit": "d951e4d6b40e8802131a9c0bd499adfff9f3d647",
      "tree": "422be785120c70d4283c46b519974009e3ec4078",
      "parents": [
        "917c3f3f4152e72a8bff055ad60b14c98b69233f"
      ],
      "author": {
        "name": "Hongshun Wang",
        "email": "125648852+loserwang1024@users.noreply.github.com",
        "time": "Thu Jul 30 17:28:25 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 30 17:28:25 2026 +0800"
      },
      "message": "[FIP-43][client] Support log scanner and writer for multiple tables (#3140)"
    },
    {
      "commit": "917c3f3f4152e72a8bff055ad60b14c98b69233f",
      "tree": "73b310e70c54ce80c2cc21c956327992779f026a",
      "parents": [
        "0d52da8134680b44a35ec1e0a2ebd11d7611fb28"
      ],
      "author": {
        "name": "Anton Borisov",
        "email": "148864665+fresh-borzoni@users.noreply.github.com",
        "time": "Thu Jul 30 03:41:43 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 30 10:41:43 2026 +0800"
      },
      "message": "[rpc] Bound length-delimited field length against readable bytes (#3756)"
    },
    {
      "commit": "0d52da8134680b44a35ec1e0a2ebd11d7611fb28",
      "tree": "1dace2001bd43e04437d011e4a2f30de51a7e234",
      "parents": [
        "24ee21840a82927b4a4a51c6e9a64b2d1b952bc1"
      ],
      "author": {
        "name": "litiliu",
        "email": "38579068+litiliu@users.noreply.github.com",
        "time": "Wed Jul 29 12:40:53 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 05:40:53 2026 +0100"
      },
      "message": "[ci] Split Spark lake tests from compatibility lane (#3717)"
    },
    {
      "commit": "24ee21840a82927b4a4a51c6e9a64b2d1b952bc1",
      "tree": "448887352836e7cc35b47598ca7f86288874f0ed",
      "parents": [
        "57036764ff17354b8249201e2c3e89fb6e65df58"
      ],
      "author": {
        "name": "naivedogger",
        "email": "yangyanghu365@gmail.com",
        "time": "Wed Jul 29 12:16:38 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 05:16:38 2026 +0100"
      },
      "message": "[rust] Update release tooling and documentation for TLP releases (#3791)\n\nUpdate the fluss-rust release script and release guides left in the\nIncubator format after graduation:\n\n- Drop -incubating from source archive names in release.sh and all\n  verification commands and examples.\n- Switch distribution and KEYS URLs from /incubator/fluss to /fluss\n  (verified that dist/dev/fluss, dist/release/fluss and\n  downloads.apache.org/fluss/KEYS already exist).\n- Replace PPMC terminology with PMC.\n- Remove the Incubator PMC second-vote instructions and\n  general@incubator.apache.org notifications.\n- Remove the Incubator-only release checklist.\n- Fix stale doc path in the release.sh completion hint.\n\nCloses #3784"
    },
    {
      "commit": "57036764ff17354b8249201e2c3e89fb6e65df58",
      "tree": "d472980a3a06d0890a5445c4b127bb8f235c4b51",
      "parents": [
        "631c6ec4f8d78c50b29e1d5f67de223929b856e5"
      ],
      "author": {
        "name": "naivedogger",
        "email": "yangyanghu365@gmail.com",
        "time": "Tue Jul 28 21:16:16 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 28 21:16:16 2026 +0800"
      },
      "message": "[flink] Fix TableNotExistException when listing partitions on  changelog / binlog virtual tables (#3641)"
    },
    {
      "commit": "631c6ec4f8d78c50b29e1d5f67de223929b856e5",
      "tree": "84713c2b612700590ff0d9f3b241bb7bfcbe97ee",
      "parents": [
        "c77ca8be83375fba36a216f873015aad97459f4d"
      ],
      "author": {
        "name": "naivedogger",
        "email": "yangyanghu365@gmail.com",
        "time": "Tue Jul 28 10:00:14 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 28 10:00:14 2026 +0800"
      },
      "message": "[build] Remove Apache Incubator branding after graduation to TLP (#3750)\n\n* [build] Remove Apache Incubator branding after graduation to TLP\n\nFluss has graduated from the Apache Incubator to a Top-Level Project. Remove incubation branding across the repository:\n\n- Delete DISCLAIMER and helm/DISCLAIMER; drop the DISCLAIMER copy step in the binary release script and the fluss-rust license-check ignore entry.\n\n- Drop \u0027(Incubating)\u0027 from all Maven POM names and remove the incubation disclaimer paragraphs from module descriptions.\n\n- Remove \u0027(incubating)\u0027 from NOTICE, NOTICE-bin and helm/NOTICE.\n\n- Update README, both Dockerfiles, and the fluss-rust sources/bindings.\n\n- Website: remove the incubation footer disclaimer, replace the Apache Incubator footer logo with the ASF logo (rendered white on the dark footer via CSS), and update page copy.\n\n- Community: rename PPMC to PMC in become-a-committer.\n\nVersion strings, historical release/download links, the fluss-team roster (mentor/PMC composition), and release-process docs are intentionally left for release/INFRA/PMC follow-up.\n\n* [build] Drop Incubator references from release docs, roster, and CI\n\nFollow-up to da55dee9: complete the remaining Incubator removal items now\nthat Fluss has graduated to a Top-Level Project.\n\n- Update the PMC roster in fluss-team.md to the board-approved 14-member\n  PMC: Jark Wu as Chair, drop Mentor/PPMC role definitions, add PMC Chair /\n  PMC Member / Committer definitions.\n- Convert all release guides to TLP form (how-to-release/*, fluss-rust\n  release docs, release.sh): replace two-phase Incubator PMC vote with a\n  single community/PMC vote, remove IPMC / general@incubator / PPMC /\n  Incubator Release Checklist references, update dist paths from\n  /incubator/fluss to /fluss.\n- Drop \"-incubating\" from artifact naming; use not-yet-released future\n  versions (Fluss 1.0.0, fluss-shaded 1.0, fluss-rust 1.0.0) as examples\n  to avoid fabricating artifact names that never existed.\n- Re-enable the tag/crate version check in verify-tag-version action\n  (disabled when release tags carried \"-incubating\"; fluss-rust is now at\n  1.0.0 without the suffix).\n\nDownload-page links, KEYS URLs, and version strings pointing at the\ncurrently published incubating artifacts are intentionally left until the\nfirst TLP release and the corresponding INFRA dist-directory setup.\n\n* nit\n\n* [build] Address graduation cleanup review feedback\n\n* [ci] Retrigger client integration workflow\n\n* [ci] Retrigger CI after transient Docker Hub pull timeout"
    },
    {
      "commit": "c77ca8be83375fba36a216f873015aad97459f4d",
      "tree": "e9e6d79d57d260eb545841a9b0efc2f2e4d7f015",
      "parents": [
        "3a7c144b01b88812b1bc806e43897718f7384538"
      ],
      "author": {
        "name": "MehulBatra",
        "email": "66407733+MehulBatra@users.noreply.github.com",
        "time": "Mon Jul 27 11:58:29 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 27 14:28:29 2026 +0800"
      },
      "message": "[website] Add consent-gated kapa.ai \"Ask AI\" widget to docs site (#3760)\n\nIntegrate the kapa.ai \"Ask AI\" assistant, modelled on the Apache Doris\nintegration and compliant with the ASF privacy policy for third-party\nresources.\n\n- Privacy: data-consent-required makes kapa show its own consent screen\n  and withhold all data from its backend until the user explicitly\n  consents (remembered per device); analytics cookies disabled.\n- CSP: kapa + reCAPTCHA domains added to .htaccess CSP_PROJECT_DOMAINS,\n  per kapa\u0027s official CSP guide.\n- UI: navbar \"Ask AI\" pill (cyan -\u003e violet) opens the widget via\n  data-modal-override-open-selector; kapa\u0027s own floating button hidden.\n\nCo-authored-by: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "3a7c144b01b88812b1bc806e43897718f7384538",
      "tree": "cb4e96ffe8d734b79501ee93df3c4021d161204d",
      "parents": [
        "efc7a6eb89e8a3c6b318e3d216b22c39d0276472"
      ],
      "author": {
        "name": "Jark Wu",
        "email": "jark@apache.org",
        "time": "Sun Jul 26 12:14:05 2026 +0800"
      },
      "committer": {
        "name": "Jark Wu",
        "email": "jark@apache.org",
        "time": "Sun Jul 26 12:14:05 2026 +0800"
      },
      "message": "[website] Sort Fluss team members by role and name\n"
    },
    {
      "commit": "efc7a6eb89e8a3c6b318e3d216b22c39d0276472",
      "tree": "51dfd88e3fd7bef8e60acc338b12165bf8a7be7c",
      "parents": [
        "158b810981496bad9be5cb0848f0ce3dee34861d"
      ],
      "author": {
        "name": "Jark Wu",
        "email": "jark@apache.org",
        "time": "Sun Jul 26 12:08:13 2026 +0800"
      },
      "committer": {
        "name": "Jark Wu",
        "email": "jark@apache.org",
        "time": "Sun Jul 26 12:08:13 2026 +0800"
      },
      "message": "[docs] Fix Docker RC version format in release guide\n"
    },
    {
      "commit": "158b810981496bad9be5cb0848f0ce3dee34861d",
      "tree": "04d9e2dc6614921048b309e36bd983d17fc12d8c",
      "parents": [
        "6bb470ca84699a27ddf40cf2205a0eac45f26646"
      ],
      "author": {
        "name": "Michael Koepf",
        "email": "47541996+michaelkoepf@users.noreply.github.com",
        "time": "Sun Jul 26 06:04:01 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 26 12:04:01 2026 +0800"
      },
      "message": "[website] Adapt website and README for Apache Fluss top-level project (#3764)"
    },
    {
      "commit": "6bb470ca84699a27ddf40cf2205a0eac45f26646",
      "tree": "8012e8ff7fee8847696dc0946e8b1f6c43e27429",
      "parents": [
        "c190060614afe8c40415e3dd6048a32c4668fde0"
      ],
      "author": {
        "name": "litiliu",
        "email": "38579068+litiliu@users.noreply.github.com",
        "time": "Sat Jul 25 05:17:05 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 24 22:17:05 2026 +0100"
      },
      "message": "[test] Wait for server tag cleanup (#3705)\n\n* [test] Wait for server tag cleanup\n\n* [test] Retrigger CI"
    },
    {
      "commit": "c190060614afe8c40415e3dd6048a32c4668fde0",
      "tree": "5443ec9f372eda0ef2e481f064be54c0de434342",
      "parents": [
        "ea37c95701ac4695cf8961ca7893cfc1497dcf2a"
      ],
      "author": {
        "name": "Junfan Zhang",
        "email": "zuston@apache.org",
        "time": "Sat Jul 25 02:41:22 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 24 19:41:22 2026 +0100"
      },
      "message": "[server] release remote log index cache entries on deletion (#3737)\n\n* [server] release remote log index cache entries on deletion\n\n* fix the potential race condition on read + delete happens at the same time\n\n---------\n\nCo-authored-by: zhangjunfan \u003czhangjunfan@qiyi.com\u003e"
    },
    {
      "commit": "ea37c95701ac4695cf8961ca7893cfc1497dcf2a",
      "tree": "34ae5ba71367b244e60efba49e1970b9820c2a86",
      "parents": [
        "b80b6430b10c54b846d616018d32ad14f234dd1b"
      ],
      "author": {
        "name": "slfan1989",
        "email": "55643692+slfan1989@users.noreply.github.com",
        "time": "Sat Jul 25 01:08:21 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 24 18:08:21 2026 +0100"
      },
      "message": "[client][rust] Retry bootstrap initialization on retriable errors (#3758)"
    },
    {
      "commit": "b80b6430b10c54b846d616018d32ad14f234dd1b",
      "tree": "b750be31e5ea764ff5fa0e6b1af3c39d65f6a608",
      "parents": [
        "555f407c8418e2e609ffc684a350108fc075d8c7"
      ],
      "author": {
        "name": "Yang Guo",
        "email": "100583615+gyang94@users.noreply.github.com",
        "time": "Sat Jul 25 01:00:23 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 24 18:00:23 2026 +0100"
      },
      "message": "[server] fix zk notification purge race (#3752)\n\n* fix zk notification purge race\n\n* [server] Strengthen notification purge race test"
    },
    {
      "commit": "555f407c8418e2e609ffc684a350108fc075d8c7",
      "tree": "3384c448dfaf34a8e33f0b6d837e051fa8e6a4d6",
      "parents": [
        "d688bbd7216c60ff2a58e86a55c8bf9486211b51"
      ],
      "author": {
        "name": "Anton Borisov",
        "email": "148864665+fresh-borzoni@users.noreply.github.com",
        "time": "Fri Jul 24 17:36:22 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 24 17:36:22 2026 +0100"
      },
      "message": "[server] Fix tmp file cleanup in remote log index cache init (#3755)"
    },
    {
      "commit": "d688bbd7216c60ff2a58e86a55c8bf9486211b51",
      "tree": "75be42f8efbac00a38c9482105af09bd6458691f",
      "parents": [
        "8e2f317d1b6ccef069e01fa2d3e61fbbf5c39281"
      ],
      "author": {
        "name": "Anton Borisov",
        "email": "anton.borisov@fresha.com",
        "time": "Fri Jul 24 16:21:51 2026 +0100"
      },
      "committer": {
        "name": "Anton Borisov",
        "email": "148864665+fresh-borzoni@users.noreply.github.com",
        "time": "Fri Jul 24 17:13:34 2026 +0100"
      },
      "message": "[docs] hive and glue fixes and adjustments\n"
    },
    {
      "commit": "8e2f317d1b6ccef069e01fa2d3e61fbbf5c39281",
      "tree": "c6828b60af2134154d1f78d97d39406ae1fe481e",
      "parents": [
        "9f33db4d2a87d0dd0aae58aef3382f24212e4f98"
      ],
      "author": {
        "name": "Jared Yu",
        "email": "qzyu999@gmail.com",
        "time": "Sun Jul 19 20:06:16 2026 -0700"
      },
      "committer": {
        "name": "Anton Borisov",
        "email": "148864665+fresh-borzoni@users.noreply.github.com",
        "time": "Fri Jul 24 17:13:34 2026 +0100"
      },
      "message": "[docs] Add AWS Glue and Hive Metastore catalog guides with Mermaid diagrams\n\n- Add glue.md: E2E validated on ECS Fargate (GovCloud) with fs.s3a.aws.credentials.provider\n- Add hive.md: Hive Metastore integration with Docker Compose quick start\n- Add @docusaurus/theme-mermaid for rendered architecture diagrams\n- Document credential provider chain for ECS/EKS/EC2 environments\n- Include troubleshooting table, IAM least-privilege guidance, PK union read limitation note\n"
    },
    {
      "commit": "9f33db4d2a87d0dd0aae58aef3382f24212e4f98",
      "tree": "7a85c26310e2fcd663cb10322417f3323590752a",
      "parents": [
        "ed859e960d5a0e379eaee7828a7b6705bd05c88a"
      ],
      "author": {
        "name": "slfan1989",
        "email": "55643692+slfan1989@users.noreply.github.com",
        "time": "Thu Jul 23 21:49:33 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 14:49:33 2026 +0100"
      },
      "message": "[rust][client] Support comma-separated bootstrap servers (#3711)\n\n* [client][rust] Support comma-separated bootstrap servers\n\n* [client][rust] Improve bootstrap server failover handling"
    },
    {
      "commit": "ed859e960d5a0e379eaee7828a7b6705bd05c88a",
      "tree": "92715e5054cf6d19421624f23458894604394fa5",
      "parents": [
        "6e0766816341b7393a098f2df6ea6f7270358e8f"
      ],
      "author": {
        "name": "Junfan Zhang",
        "email": "zuston@apache.org",
        "time": "Thu Jul 23 21:35:34 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 14:35:34 2026 +0100"
      },
      "message": "[server] include time index in remote log cache weight (#3733)\n\nCo-authored-by: zhangjunfan \u003czhangjunfan@qiyi.com\u003e"
    },
    {
      "commit": "6e0766816341b7393a098f2df6ea6f7270358e8f",
      "tree": "d8e19409fe1bd3233af74fbc4a6159a8a08c9660",
      "parents": [
        "cf3b7b8de176f2ede381092a13984cce8957b36b"
      ],
      "author": {
        "name": "Junfan Zhang",
        "email": "zuston@apache.org",
        "time": "Thu Jul 23 18:17:41 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 11:17:41 2026 +0100"
      },
      "message": "[server] prevent remote log cache size overflow (#3734)\n\nCo-authored-by: zhangjunfan \u003czhangjunfan@qiyi.com\u003e"
    },
    {
      "commit": "cf3b7b8de176f2ede381092a13984cce8957b36b",
      "tree": "e63d2f2a387cc2005bedfc6a334cdc8ce0ec394b",
      "parents": [
        "5cacbb02a51c189a7e4514566560ced2c031f656"
      ],
      "author": {
        "name": "Kaixuan Duan",
        "email": "98110177+Kaixuan-Duan@users.noreply.github.com",
        "time": "Thu Jul 23 18:14:09 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 11:14:09 2026 +0100"
      },
      "message": "[spark] Fix empty projection causing Invalid metadata length for COUNT(*)/COUNT(1) (#3227)\n\n* [spark] Fix empty projection causing Invalid metadata length for COUNT(*)/COUNT(1)\n\n* Address feedback"
    },
    {
      "commit": "5cacbb02a51c189a7e4514566560ced2c031f656",
      "tree": "fd98b5b123139966ff21744f9fb9d478adc4a9e9",
      "parents": [
        "1ca13b429c9679807406d8b7b9bdbb537b63070c"
      ],
      "author": {
        "name": "Junfan Zhang",
        "email": "zuston@apache.org",
        "time": "Thu Jul 23 17:26:21 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 10:26:21 2026 +0100"
      },
      "message": "[client] Add log read preference for remote-first fetch (#3606)\n\n* [client] Add log read preference for remote-first fetch\n\n* rust fix\n\n* add e2e\n\n* Potential fix for pull request finding\n\nCo-authored-by: Copilot Autofix powered by AI \u003c175728472+Copilot@users.noreply.github.com\u003e\n\n* fallback to local\n\n* fix\n\n* not leader gate\n\n* wait util all tiered\n\n---------\n\nCo-authored-by: zhangjunfan \u003czhangjunfan@qiyi.com\u003e\nCo-authored-by: Copilot Autofix powered by AI \u003c175728472+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "1ca13b429c9679807406d8b7b9bdbb537b63070c",
      "tree": "c59e98db018013b3171b87817068eaf1c54fabe9",
      "parents": [
        "92b8edc3649966f18cc5d887262253925cd82b5f"
      ],
      "author": {
        "name": "fhan",
        "email": "aaron.han.1986@gmail.com",
        "time": "Wed Jul 22 20:23:00 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 20:23:00 2026 +0800"
      },
      "message": "[lake/hudi][docs] Add Hudi tiering service documentation (#3549)"
    }
  ],
  "next": "92b8edc3649966f18cc5d887262253925cd82b5f"
}
