)]}'
{
  "log": [
    {
      "commit": "a107d5146222913236dba991c8b65e9a1ed444d0",
      "tree": "ae93ef1513b426c627f4b3cd8aed475b6bdbe154",
      "parents": [
        "ac4cda7fc12adbbe7f86b3a5f3c84340f91829ca"
      ],
      "author": {
        "name": "void-ptr974",
        "email": "void-ptr974@protonmail.com",
        "time": "Wed Jul 29 15:19:34 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 15:19:34 2026 +0800"
      },
      "message": "[fix][broker] Fix delayed-delivery bucket merge failures when delayedDeliveryMaxNumBuckets is 1-3 (#26242)"
    },
    {
      "commit": "ac4cda7fc12adbbe7f86b3a5f3c84340f91829ca",
      "tree": "3b7fc49379e9fe13abf78cd9bc4c5b90ec41883c",
      "parents": [
        "bbd1970deebc9d0d4136cb5d18d60d0c26f9b3ba"
      ],
      "author": {
        "name": "void-ptr974",
        "email": "void-ptr974@protonmail.com",
        "time": "Mon Jul 27 17:39:15 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 27 17:39:15 2026 +0800"
      },
      "message": "[fix][client] Avoid exception in ConsumerImpl hasMessageAvailable before first receive (#25857)\n\nCo-authored-by: Lari Hotari \u003clhotari@users.noreply.github.com\u003e"
    },
    {
      "commit": "bbd1970deebc9d0d4136cb5d18d60d0c26f9b3ba",
      "tree": "7f6c341d5e7d069257cd1016ee95c598e45a5ade",
      "parents": [
        "6a109ac2e25c1b9d9d54d9121945ea00f57c79e2"
      ],
      "author": {
        "name": "Lari Hotari",
        "email": "lhotari@users.noreply.github.com",
        "time": "Mon Jul 27 12:13:57 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 27 17:13:57 2026 +0800"
      },
      "message": "[fix][sec] Upgrade lz4-java to 1.11.1 to address CVE-2026-59949 (#26250)"
    },
    {
      "commit": "6a109ac2e25c1b9d9d54d9121945ea00f57c79e2",
      "tree": "25cb04af6226788325fb1864f284c4ee8f79c87c",
      "parents": [
        "d54d83df25ca3ebdb7574a80f31e5252d5d91995"
      ],
      "author": {
        "name": "Lari Hotari",
        "email": "lhotari@users.noreply.github.com",
        "time": "Mon Jul 27 11:30:41 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 27 16:30:41 2026 +0800"
      },
      "message": "[fix][test] Fix flaky AdminApiTest caused by leaked brokerShutdownTimeoutMs (#26249)"
    },
    {
      "commit": "d54d83df25ca3ebdb7574a80f31e5252d5d91995",
      "tree": "2cc871b3d2d70e16805670c4fd5d0bd533eef512",
      "parents": [
        "4790c386c6d57f2016765f459cad1d77e4f17796"
      ],
      "author": {
        "name": "Lari Hotari",
        "email": "lhotari@users.noreply.github.com",
        "time": "Mon Jul 27 10:17:48 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 27 15:17:48 2026 +0800"
      },
      "message": "[fix][ml] Tolerate concurrent creation of the managed ledger z-node (#26247)"
    },
    {
      "commit": "4790c386c6d57f2016765f459cad1d77e4f17796",
      "tree": "61f2d0b0122ca3401e9a6daa1cc1fccb84c8bb2d",
      "parents": [
        "32146ae350ca0526b04c3d089e2e4d2cde648688"
      ],
      "author": {
        "name": "SongOf",
        "email": "46475785+SongOf@users.noreply.github.com",
        "time": "Sun Jul 26 18:41:34 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 26 13:41:34 2026 +0300"
      },
      "message": "[fix][broker] Release entry on GetLastMessageId when parseMessageMetadata throws (#26089)\n\nCo-authored-by: maxlisongsong \u003cmaxlisongsong@didiglobal.com\u003e"
    },
    {
      "commit": "32146ae350ca0526b04c3d089e2e4d2cde648688",
      "tree": "642202f8280bc3901c9011fc375e4b9ad5decd50",
      "parents": [
        "aa3ec21b10fd34f681b7c259e0070828afdc665c"
      ],
      "author": {
        "name": "void-ptr974",
        "email": "void-ptr974@protonmail.com",
        "time": "Sun Jul 26 04:20:27 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 25 23:20:27 2026 +0300"
      },
      "message": "[fix][broker] Prevent stale service unit callbacks from dropping active lookup and cleanup jobs (#26146)"
    },
    {
      "commit": "aa3ec21b10fd34f681b7c259e0070828afdc665c",
      "tree": "f869f1b16bb513a3e79a3e38aae46a43f562f05c",
      "parents": [
        "3ebf796497bfda55c84ff985f54f0f25ac829734"
      ],
      "author": {
        "name": "Lari Hotari",
        "email": "lhotari@users.noreply.github.com",
        "time": "Sat Jul 25 22:54:39 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 25 22:54:39 2026 +0300"
      },
      "message": "[fix][broker] Fix TableViewLoadDataStoreImpl close deadlock that stalls broker shutdown (#26243)"
    },
    {
      "commit": "3ebf796497bfda55c84ff985f54f0f25ac829734",
      "tree": "def8315533b9eacd9d051d4b545bed9e981bd284",
      "parents": [
        "f07e0ed5899d29351774df25b138d4b92557ae35"
      ],
      "author": {
        "name": "Dream95",
        "email": "864197662@qq.com",
        "time": "Sun Jul 26 02:06:33 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 25 21:06:33 2026 +0300"
      },
      "message": "[fix][client] Fix unAckedMessageTracker cleanup on multi-topics batch ack (#26001)\n\nSigned-off-by: Dream95 \u003czhou_8621@163.com\u003e"
    },
    {
      "commit": "f07e0ed5899d29351774df25b138d4b92557ae35",
      "tree": "b3ebd29ce602e1c2e12cfdcf78f4a94014a4b840",
      "parents": [
        "c6fd26f123d85bd771b236f853f0931313fecb20"
      ],
      "author": {
        "name": "sbourkeostk",
        "email": "58816076+sbourkeostk@users.noreply.github.com",
        "time": "Sat Jul 25 18:50:52 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 25 20:50:52 2026 +0300"
      },
      "message": "[fix][fn] Forward source message properties in Python runtime (#26191)\n\nCo-authored-by: Stephen Bourke \u003csbourke@beyond.com\u003e"
    },
    {
      "commit": "c6fd26f123d85bd771b236f853f0931313fecb20",
      "tree": "763a5201325ce77a3eca55bfb1a8bd6d0d9a3873",
      "parents": [
        "c5cb6fc27d40010768c9218a951901dc679f60fc"
      ],
      "author": {
        "name": "SongOf",
        "email": "46475785+SongOf@users.noreply.github.com",
        "time": "Sun Jul 26 01:49:54 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 25 20:49:54 2026 +0300"
      },
      "message": "[fix][broker] Fix silently dropped acknowledgement failures in PulsarMetadataEventSynchronizer (#26237)\n\nCo-authored-by: maxlisongsong \u003cmaxlisongsong@didiglobal.com\u003e"
    },
    {
      "commit": "c5cb6fc27d40010768c9218a951901dc679f60fc",
      "tree": "303be24ee85848c43c9ba5a9ebe0d2909e31df34",
      "parents": [
        "931f9fb0d8aa1fe15446e5ebb1e867868e87fe2c"
      ],
      "author": {
        "name": "void-ptr974",
        "email": "void-ptr974@protonmail.com",
        "time": "Sun Jul 26 01:45:43 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 25 20:45:43 2026 +0300"
      },
      "message": "[fix][broker] Fix delayed message index data loss when trimming overlapping bucket snapshots (#26240)"
    },
    {
      "commit": "931f9fb0d8aa1fe15446e5ebb1e867868e87fe2c",
      "tree": "613df35e03f0454904a2687dfaf7fa4b75227710",
      "parents": [
        "bc0e8b557915f00538200185858b10a161ad8a03"
      ],
      "author": {
        "name": "void-ptr974",
        "email": "void-ptr974@protonmail.com",
        "time": "Sun Jul 26 00:52:47 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 25 19:52:47 2026 +0300"
      },
      "message": "[fix][broker] Fix incorrect listener URLs returned by ModularLoadManager lookups (#26245)"
    },
    {
      "commit": "bc0e8b557915f00538200185858b10a161ad8a03",
      "tree": "75bdc43f6603e581e747b94e38cd4c9ebf65b8e3",
      "parents": [
        "73549d246541dd3d12bd6e17e246cddda5e436d8"
      ],
      "author": {
        "name": "sinan liu",
        "email": "liusinan1998@gmail.com",
        "time": "Sat Jul 25 23:18:20 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 25 18:18:20 2026 +0300"
      },
      "message": "[fix][broker] Prevent completing replicated snapshot before marker publish (#26119)"
    },
    {
      "commit": "73549d246541dd3d12bd6e17e246cddda5e436d8",
      "tree": "2b7608f5aecba8b5eed7315520bae7fb7cd59306",
      "parents": [
        "bc56ba8d30b2a96648a041359579b1e1138fb6f3"
      ],
      "author": {
        "name": "void-ptr974",
        "email": "void-ptr974@protonmail.com",
        "time": "Sat Jul 25 22:50:08 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 25 17:50:08 2026 +0300"
      },
      "message": "[fix][broker] Prevent stale topic unload cleanup from removing active cache entries (#26145)"
    },
    {
      "commit": "bc56ba8d30b2a96648a041359579b1e1138fb6f3",
      "tree": "8b26bf9a19eeba8142f8bf87d820484cc18d6d99",
      "parents": [
        "78cc3f41c510b17d5b2569811e62c5744280401e"
      ],
      "author": {
        "name": "SongOf",
        "email": "46475785+SongOf@users.noreply.github.com",
        "time": "Sat Jul 25 20:40:47 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 25 15:40:47 2026 +0300"
      },
      "message": "[fix][meta] Complete handleMetadataEvent future exceptionally when the initial get fails (#26199)\n\nCo-authored-by: maxlisongsong \u003cmaxlisongsong@didiglobal.com\u003e"
    },
    {
      "commit": "78cc3f41c510b17d5b2569811e62c5744280401e",
      "tree": "ae162b6cacdf28962b0dc8478f4fc28d2bb4370c",
      "parents": [
        "37ceb98fb0a2feecd8eb295207edcee30049c0ba"
      ],
      "author": {
        "name": "SongOf",
        "email": "46475785+SongOf@users.noreply.github.com",
        "time": "Sat Jul 25 19:15:45 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 25 14:15:45 2026 +0300"
      },
      "message": "[fix][meta] Record get op stats on the correct completion branch in AbstractMetadataStore (#26201)\n\nCo-authored-by: maxlisongsong \u003cmaxlisongsong@didiglobal.com\u003e"
    },
    {
      "commit": "37ceb98fb0a2feecd8eb295207edcee30049c0ba",
      "tree": "922bab519d1ec48f024503b5cdf8aecedb0053a8",
      "parents": [
        "a4b7aaa616959af35e6bcd381a24fdf076acd3ac"
      ],
      "author": {
        "name": "Lari Hotari",
        "email": "lhotari@users.noreply.github.com",
        "time": "Sat Jul 25 13:57:02 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 25 13:57:02 2026 +0300"
      },
      "message": "[fix][broker] Fix Key_Shared delivery stall when look-ahead triggers at the end of the topic (#26236)"
    },
    {
      "commit": "a4b7aaa616959af35e6bcd381a24fdf076acd3ac",
      "tree": "c100a0a8fb46dfedcbf8a86ffe89ee8728780b4a",
      "parents": [
        "a965f5f7df3e060d9a9d4e63caf0561a2b90441c"
      ],
      "author": {
        "name": "SongOf",
        "email": "46475785+SongOf@users.noreply.github.com",
        "time": "Sat Jul 25 16:38:35 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 25 11:38:35 2026 +0300"
      },
      "message": "[fix][meta] Fix RocksdbMetadataStore instanceId not advancing across restarts (#26218)\n\nCo-authored-by: maxlisongsong \u003cmaxlisongsong@didiglobal.com\u003e"
    },
    {
      "commit": "a965f5f7df3e060d9a9d4e63caf0561a2b90441c",
      "tree": "397a76ae73715554ff8920b81a3f881b17445945",
      "parents": [
        "1aa37ff839520e5c0a9e5da58d41dfbd0732546b"
      ],
      "author": {
        "name": "kannar",
        "email": "kannarfr@gmail.com",
        "time": "Sat Jul 25 10:37:14 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 25 11:37:14 2026 +0300"
      },
      "message": "[improve][offload] Support credentials from offload policies for S3 and Aliyun OSS drivers (#26232)\n\nCo-authored-by: Claude Fable 5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "1aa37ff839520e5c0a9e5da58d41dfbd0732546b",
      "tree": "71a2ca0ce1a7d53810f44ee4c235faa4e3526e89",
      "parents": [
        "8aab815314ddcfcef2780f295e0675b42c59fa89"
      ],
      "author": {
        "name": "道君- Tao Jiuming",
        "email": "daojun@apache.org",
        "time": "Fri Jul 24 18:01:08 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 24 18:01:08 2026 +0800"
      },
      "message": "[fix][ml] Preserve ledger entries/size when transformLedgerInfo callback completes after a concurrent close (#26228)"
    },
    {
      "commit": "8aab815314ddcfcef2780f295e0675b42c59fa89",
      "tree": "dc40b407fd535e262439bf0db43d245cea9d43c7",
      "parents": [
        "0679b0d897de064bd6edfd47694f35a9ff44e80f"
      ],
      "author": {
        "name": "Lari Hotari",
        "email": "lhotari@users.noreply.github.com",
        "time": "Fri Jul 24 07:15:21 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 24 12:15:21 2026 +0800"
      },
      "message": "[fix][sec] Upgrade grpc in pulsar-function-go to 1.82.1 to fix GHSA-hrxh-6v49-42gf (#26235)"
    },
    {
      "commit": "0679b0d897de064bd6edfd47694f35a9ff44e80f",
      "tree": "6b9345c4067d43f25517568fc9db3716c02a38fc",
      "parents": [
        "99f5848926813fad7d4dde1546b2cfc702394a3d"
      ],
      "author": {
        "name": "Alexandre Burgoni",
        "email": "23573685+alexandrebrg@users.noreply.github.com",
        "time": "Fri Jul 24 00:02:34 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 24 01:02:34 2026 +0300"
      },
      "message": "[fix][broker] Prevent stale read completions from stranding Failover subscriptions (#26174)\n\nSigned-off-by: Alexandre Burgoni \u003calexandre.burgoni@clever.cloud\u003e"
    },
    {
      "commit": "99f5848926813fad7d4dde1546b2cfc702394a3d",
      "tree": "65c928226fcf872f7446062041f1eadbd38a508e",
      "parents": [
        "4bfb08063e753fa3d9b982b283f8cefe94dc6230"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Jul 23 22:15:55 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 22:15:55 2026 +0300"
      },
      "message": "[fix][sec] Bump google.golang.org/grpc from 1.79.3 to 1.82.1 in /pulsar-function-go/examples (#26231)\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "4bfb08063e753fa3d9b982b283f8cefe94dc6230",
      "tree": "3df9cf2b51e04acc020856159a4bd245b4fdd9c9",
      "parents": [
        "520b0daa3f632e283930624bf29e7a5b4ed45828"
      ],
      "author": {
        "name": "Lari Hotari",
        "email": "lhotari@users.noreply.github.com",
        "time": "Thu Jul 23 22:15:14 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 22:15:14 2026 +0300"
      },
      "message": "[improve][misc] Upgrade Jetty to 12.1.11 (#26233)"
    },
    {
      "commit": "520b0daa3f632e283930624bf29e7a5b4ed45828",
      "tree": "cde81843b75cf5352d7e2a128ddebdf75243452f",
      "parents": [
        "094f2702833ac0ddf71beae4df2072048861eaf5"
      ],
      "author": {
        "name": "Lari Hotari",
        "email": "lhotari@users.noreply.github.com",
        "time": "Thu Jul 23 19:15:23 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 19:15:23 2026 +0300"
      },
      "message": "[fix][broker] Trigger max read position callback for messages published during transaction buffer recovery (#26234)"
    },
    {
      "commit": "094f2702833ac0ddf71beae4df2072048861eaf5",
      "tree": "aae4333e127c621521af59ae752d791d34aaacc8",
      "parents": [
        "79a2c6ff5641fb6fae01576c51d730ed59cdebe1"
      ],
      "author": {
        "name": "Zixuan Liu",
        "email": "nodeces@gmail.com",
        "time": "Thu Jul 23 17:20:44 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 17:20:44 2026 +0800"
      },
      "message": "[fix][broker] Check deliverAt before containsMessage in bucket addMessage (#26230)"
    },
    {
      "commit": "79a2c6ff5641fb6fae01576c51d730ed59cdebe1",
      "tree": "212263ae035133aaef41a68353d57383610a4cf6",
      "parents": [
        "f51864cd2a76276e4f30898f4e2781841268899d"
      ],
      "author": {
        "name": "道君- Tao Jiuming",
        "email": "daojun@apache.org",
        "time": "Thu Jul 23 12:42:53 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 12:42:53 2026 +0800"
      },
      "message": "[fix][ml] Preserve ledger properties when closing ledger (#26227)"
    },
    {
      "commit": "f51864cd2a76276e4f30898f4e2781841268899d",
      "tree": "e6dd47452274582bd6c9f2accdd39ef30d8cee49",
      "parents": [
        "045d628f3e7aafceda28268e21cbe9fc6eb81b5b"
      ],
      "author": {
        "name": "Lari Hotari",
        "email": "lhotari@users.noreply.github.com",
        "time": "Thu Jul 23 06:05:10 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 11:05:10 2026 +0800"
      },
      "message": "[improve][build] Upgrade slog to 0.10.0 (#26226)"
    },
    {
      "commit": "045d628f3e7aafceda28268e21cbe9fc6eb81b5b",
      "tree": "9590d63f61393385e871370fa7addd9772e9f929",
      "parents": [
        "90cba329a1fb4c306fc04d84f792da34ee7906c9"
      ],
      "author": {
        "name": "Lari Hotari",
        "email": "lhotari@users.noreply.github.com",
        "time": "Thu Jul 23 01:00:19 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 01:00:19 2026 +0300"
      },
      "message": "[improve][build] Upgrade docker base image Alpine to 3.24 (#26225)"
    },
    {
      "commit": "90cba329a1fb4c306fc04d84f792da34ee7906c9",
      "tree": "18eb72baca8950a08e47664b733e4cb21a65253c",
      "parents": [
        "6302699230ef5880490a08d8fbc56973d44bdc0c"
      ],
      "author": {
        "name": "Dream95",
        "email": "864197662@qq.com",
        "time": "Tue Jul 21 22:37:35 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 21 22:37:35 2026 +0800"
      },
      "message": "[fix][fn] Return inputSpecs consumerProperties in function GET info (#26217)\n\nSigned-off-by: Dream95 \u003czhou_8621@163.com\u003e"
    },
    {
      "commit": "6302699230ef5880490a08d8fbc56973d44bdc0c",
      "tree": "60387132b3a5788b2443013b6328d66c8eaaba16",
      "parents": [
        "2ff30302e21924600caa017e0493fefa110ca5be"
      ],
      "author": {
        "name": "Jiwei Guo",
        "email": "technoboy@apache.org",
        "time": "Tue Jul 21 10:53:43 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 21 10:53:43 2026 +0800"
      },
      "message": "[fix][broker] Fix `getEstimatedSizeSinceMarkDeletePosition` throw `IllegalArgumentException` (#26184)"
    },
    {
      "commit": "2ff30302e21924600caa017e0493fefa110ca5be",
      "tree": "78cb7e9aaa75f0e831724004b97f5f9b1d291922",
      "parents": [
        "f1650c5ab57bb9742717852e2496ffcea0f6f7b9"
      ],
      "author": {
        "name": "Jiwei Guo",
        "email": "technoboy@apache.org",
        "time": "Tue Jul 21 10:14:40 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 21 10:14:40 2026 +0800"
      },
      "message": "[fix][client] Preserve null values in pulsar-admin schema output (#26196)"
    },
    {
      "commit": "f1650c5ab57bb9742717852e2496ffcea0f6f7b9",
      "tree": "c7fdd05156efc83232cf84811856564c32c7ac0a",
      "parents": [
        "0ca94f57787457eb602d4518725502dac0dfc170"
      ],
      "author": {
        "name": "SongOf",
        "email": "46475785+SongOf@users.noreply.github.com",
        "time": "Mon Jul 20 18:08:34 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 20 18:08:34 2026 +0800"
      },
      "message": "[fix][broker] Log exception in PulsarMetadataEventSynchronizer failure path (#26203)\n\nCo-authored-by: maxlisongsong \u003cmaxlisongsong@didiglobal.com\u003e"
    },
    {
      "commit": "0ca94f57787457eb602d4518725502dac0dfc170",
      "tree": "fbdf7626ff1db603622845a90e4a6b0221253161",
      "parents": [
        "060b1306dc88f0c8f1f07a6ec7427026957daca6"
      ],
      "author": {
        "name": "SongOf",
        "email": "46475785+SongOf@users.noreply.github.com",
        "time": "Mon Jul 20 17:27:03 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 20 17:27:03 2026 +0800"
      },
      "message": "[fix][meta] Fix NPE in shouldIgnoreEvent when MetadataEvent options is null (#26200)\n\nCo-authored-by: maxlisongsong \u003cmaxlisongsong@didiglobal.com\u003e"
    },
    {
      "commit": "060b1306dc88f0c8f1f07a6ec7427026957daca6",
      "tree": "99a7b3317850875ef2c11e75f48174d041b77bfc",
      "parents": [
        "c886c07874ce6c95804cf9e7b05925db86695c29"
      ],
      "author": {
        "name": "Zixuan Liu",
        "email": "nodeces@gmail.com",
        "time": "Mon Jul 20 16:57:03 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 20 16:57:03 2026 +0800"
      },
      "message": "[improve][broker] Optimize SegmentedLongArray with heap-backed long[][] (#26183)"
    },
    {
      "commit": "c886c07874ce6c95804cf9e7b05925db86695c29",
      "tree": "e5eff0f6d6cf1c5ca395688ab65c3e1582d2cad9",
      "parents": [
        "3d00280d12270f72d014b15b2dfe668512aa2507"
      ],
      "author": {
        "name": "Zixuan Liu",
        "email": "nodeces@gmail.com",
        "time": "Mon Jul 20 14:42:48 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 20 14:42:48 2026 +0800"
      },
      "message": "[improve][broker] Optimize bucket delayed-delivery bitmap point operations (#26205)"
    },
    {
      "commit": "3d00280d12270f72d014b15b2dfe668512aa2507",
      "tree": "0ed144b854c7e3375913cbcbf5ea5fd8e33fe87c",
      "parents": [
        "842cfac9349d2992f6106b9627d9b0bc2662a0e5"
      ],
      "author": {
        "name": "void-ptr974",
        "email": "void-ptr974@protonmail.com",
        "time": "Sun Jul 19 05:51:52 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 18 14:51:52 2026 -0700"
      },
      "message": "[fix][cli] Fix V5 scalable-topics property parsing (#26177)"
    },
    {
      "commit": "842cfac9349d2992f6106b9627d9b0bc2662a0e5",
      "tree": "b97ae38bfdbb7a6782dc157ccf9f9457622cfc55",
      "parents": [
        "8af7868e7d11490e8463a5435a9311cb5b08ab5f"
      ],
      "author": {
        "name": "Jiwei Guo",
        "email": "technoboy@apache.org",
        "time": "Sun Jul 19 00:00:06 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 19 00:00:06 2026 +0800"
      },
      "message": "[fix][test] Fix flaky test `testCompactionPriority ` (#26198)"
    },
    {
      "commit": "8af7868e7d11490e8463a5435a9311cb5b08ab5f",
      "tree": "82c7a4b6f1e12589c7ad657942de34e59111e787",
      "parents": [
        "fe61afda2d5bf4cb2de019cca47ef78cd1e350f1"
      ],
      "author": {
        "name": "void-ptr974",
        "email": "void-ptr974@protonmail.com",
        "time": "Thu Jul 16 15:19:13 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 16 15:19:13 2026 +0800"
      },
      "message": "[fix][broker] Prevent partition expansion from inheriting delayed-delivery bucket state (#26179)"
    },
    {
      "commit": "fe61afda2d5bf4cb2de019cca47ef78cd1e350f1",
      "tree": "4bf9cb9a9ff0b1dc6be22a9a23caaff58f2bad7a",
      "parents": [
        "8576283da4ad3f3742168fc4bf4a527f31923297"
      ],
      "author": {
        "name": "Yan Zhao",
        "email": "horizonzy@apache.org",
        "time": "Thu Jul 16 11:53:05 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 16 11:53:05 2026 +0800"
      },
      "message": "[improve][broker] Skip system cursor when check inactive cursor. (#26149)"
    },
    {
      "commit": "8576283da4ad3f3742168fc4bf4a527f31923297",
      "tree": "ae68d7f514306e35790d5a75883720bd75796b36",
      "parents": [
        "1b32aa8dc28b3e680b23c5aaec986aed773be93c"
      ],
      "author": {
        "name": "zhou zhuohan",
        "email": "843520313@qq.com",
        "time": "Wed Jul 15 20:47:57 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 15 20:47:57 2026 +0800"
      },
      "message": "[fix][client] Fix lookup permit double-release, waiting queue starvation and timeout-response races in ClientCnx (#26143)"
    },
    {
      "commit": "1b32aa8dc28b3e680b23c5aaec986aed773be93c",
      "tree": "2c805324db467c6e4dbda1230868f94029ef35cd",
      "parents": [
        "545c325f4ce412eec638610ffcd73fbca5b6274e"
      ],
      "author": {
        "name": "fengyubiao",
        "email": "yubiao.feng@streamnative.io",
        "time": "Wed Jul 15 18:39:04 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 15 18:39:04 2026 +0800"
      },
      "message": "[improve][broker] Implemets PIP-487: add event count metrics for InflightReadsLimiter acquire and release operations (#26093)"
    },
    {
      "commit": "545c325f4ce412eec638610ffcd73fbca5b6274e",
      "tree": "0c09eea7b5c84deb6ce093379d420d7ec55c6451",
      "parents": [
        "0ae4d94689d1f01988803c34261789f098da81a6"
      ],
      "author": {
        "name": "fengyubiao",
        "email": "yubiao.feng@streamnative.io",
        "time": "Wed Jul 15 17:27:01 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 15 17:27:01 2026 +0800"
      },
      "message": "[feat][pip]PIP-487 Add event count metrics for InflightReadsLimiter acquire and release operations (#26092)"
    },
    {
      "commit": "0ae4d94689d1f01988803c34261789f098da81a6",
      "tree": "e352a89418cfdcbe0e00e72c47209f7f37775a4c",
      "parents": [
        "29028de8ba15b2499b328b7792f1750282d91b61"
      ],
      "author": {
        "name": "Matteo Merli",
        "email": "mmerli@apache.org",
        "time": "Wed Jul 15 00:55:14 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 15 15:55:14 2026 +0800"
      },
      "message": "[improve][meta] Upgrade Oxia client to 0.9.4 (#26193)"
    },
    {
      "commit": "29028de8ba15b2499b328b7792f1750282d91b61",
      "tree": "d9ee9b53f798f8177b1e447fe85487b934bfa9df",
      "parents": [
        "16476b503d11b1091a4bb3e1adebbee1abd8fe02"
      ],
      "author": {
        "name": "Yunze Xu",
        "email": "xyzinfernity@163.com",
        "time": "Wed Jul 15 11:44:31 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 15 11:44:31 2026 +0800"
      },
      "message": "[improve][broker] Trace the asynchronous tasks in logs when loading topics (#26163)"
    },
    {
      "commit": "16476b503d11b1091a4bb3e1adebbee1abd8fe02",
      "tree": "95b417921b6c2f6232eb369f3e9762c9376aaf4c",
      "parents": [
        "39784e085ef491ffe319433dc465ba9575cadc95"
      ],
      "author": {
        "name": "Cong Zhao",
        "email": "zhaocong@apache.org",
        "time": "Tue Jul 14 17:51:47 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 14 17:51:47 2026 +0800"
      },
      "message": "[fix][broker] Prevent early replay of non-strict delayed messages (#26188)"
    },
    {
      "commit": "39784e085ef491ffe319433dc465ba9575cadc95",
      "tree": "8ec6ad481442aa5fef929e01247e5537a8749287",
      "parents": [
        "403ee7f23e534611f570280fc547aff81ef99fd0"
      ],
      "author": {
        "name": "Matteo Merli",
        "email": "mmerli@apache.org",
        "time": "Fri Jul 10 07:00:37 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 10 07:00:37 2026 -0700"
      },
      "message": "[improve][broker] PIP-486 (PR4): bucket-shared consumption for scale-up fan-out (#26173)"
    },
    {
      "commit": "403ee7f23e534611f570280fc547aff81ef99fd0",
      "tree": "dbbc7ce9b56495069194e786c2e73cbd5221d7ae",
      "parents": [
        "3529aba704e478180d7338fff9dae9379b341e44"
      ],
      "author": {
        "name": "Matteo Merli",
        "email": "mmerli@apache.org",
        "time": "Fri Jul 10 07:00:25 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 10 07:00:25 2026 -0700"
      },
      "message": "[fix][client] Scalable topics: stream consumer must not acknowledge on close or topic-removal (#26172)"
    },
    {
      "commit": "3529aba704e478180d7338fff9dae9379b341e44",
      "tree": "d86aa40ddf17735b0ce9f13c1b4d12b420ee7ca0",
      "parents": [
        "c240dd2ea2b8365dff921190c5af8ba7380914f6"
      ],
      "author": {
        "name": "Zixuan Liu",
        "email": "nodeces@gmail.com",
        "time": "Fri Jul 10 21:07:10 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 10 21:07:10 2026 +0800"
      },
      "message": "[fix][broker] Remove lock contention in delayed delivery stats read paths (#25990)"
    },
    {
      "commit": "c240dd2ea2b8365dff921190c5af8ba7380914f6",
      "tree": "8605289f0ebf550f61cc739c63ec3cc9110f12a3",
      "parents": [
        "a74268dc2fa787cf657713aa3fea36f66a59b782"
      ],
      "author": {
        "name": "Zixuan Liu",
        "email": "nodeces@gmail.com",
        "time": "Fri Jul 10 10:41:18 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 10 10:41:18 2026 +0800"
      },
      "message": "[fix][broker] Fix bucket delayed message index metrics reset on scrape (#26171)"
    },
    {
      "commit": "a74268dc2fa787cf657713aa3fea36f66a59b782",
      "tree": "bd419ffc8750e574a1e492197df50ba69cf23cd4",
      "parents": [
        "803ff962018c7e6229dd26af93cd44cfb5320459"
      ],
      "author": {
        "name": "Zixuan Liu",
        "email": "nodeces@gmail.com",
        "time": "Fri Jul 10 09:41:47 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 10 09:41:47 2026 +0800"
      },
      "message": "[fix][broker] Fix BucketDelayedDeliveryTracker recovery after LightProto migration (#26160)"
    },
    {
      "commit": "803ff962018c7e6229dd26af93cd44cfb5320459",
      "tree": "841154ed92df52321ff74ff6c850494c14d441c3",
      "parents": [
        "73d61e413ec43ebd1200b7956fa6748620b24aa6"
      ],
      "author": {
        "name": "Zixuan Liu",
        "email": "nodeces@gmail.com",
        "time": "Thu Jul 09 23:03:22 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 09 23:03:22 2026 +0800"
      },
      "message": "[fix][broker] Read subscription properties directly from cursor (#26159)"
    },
    {
      "commit": "73d61e413ec43ebd1200b7956fa6748620b24aa6",
      "tree": "ca037fa2967b571ce5c372867662e21b1141e3b5",
      "parents": [
        "a0f0f054640e40190b1622857ef7b1e5a8deaa38"
      ],
      "author": {
        "name": "David Kjerrumgaard",
        "email": "35466513+david-streamlio@users.noreply.github.com",
        "time": "Thu Jul 09 07:53:28 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 09 07:53:28 2026 -0700"
      },
      "message": "[improve][client] Use SHA-256 for generated reader subscription names (#26153)"
    },
    {
      "commit": "a0f0f054640e40190b1622857ef7b1e5a8deaa38",
      "tree": "d2bc3f9eb91836246fe44f1ff1ff72041717036a",
      "parents": [
        "4c43acd59af3827ad392d420bb28d08754c3aa2b"
      ],
      "author": {
        "name": "David Kjerrumgaard",
        "email": "35466513+david-streamlio@users.noreply.github.com",
        "time": "Thu Jul 09 07:52:39 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 09 07:52:39 2026 -0700"
      },
      "message": "[improve][misc] Replace MD5 NAR/archive checksums with SHA-256 (#26152)"
    },
    {
      "commit": "4c43acd59af3827ad392d420bb28d08754c3aa2b",
      "tree": "f3357e8199ee98d9edad8e3072932e5cbf9e78bf",
      "parents": [
        "e86f59f1fd5585480192c0bc789f8580486b03d8"
      ],
      "author": {
        "name": "Lari Hotari",
        "email": "lhotari@users.noreply.github.com",
        "time": "Thu Jul 09 16:13:00 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 09 16:13:00 2026 +0300"
      },
      "message": "[fix][sec] Upgrade Netty to 4.2.16.Final to address CVEs (#26167)"
    },
    {
      "commit": "e86f59f1fd5585480192c0bc789f8580486b03d8",
      "tree": "fbeeb9bb891200a9dcd0f71305aaf426ac85300c",
      "parents": [
        "59d0ac9357ea6578a983817eee233f31c95f5d1c"
      ],
      "author": {
        "name": "Lari Hotari",
        "email": "lhotari@users.noreply.github.com",
        "time": "Thu Jul 09 16:12:40 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 09 16:12:40 2026 +0300"
      },
      "message": "[fix][sec] Downgrade Jackson version to 2.21.5 LTS (#26166)"
    },
    {
      "commit": "59d0ac9357ea6578a983817eee233f31c95f5d1c",
      "tree": "060ddb39c07f2a151cf062bbf44efdef73886521",
      "parents": [
        "f1dc6391d2ce9825ee9963c5a5f4c7521ae772e3"
      ],
      "author": {
        "name": "Lari Hotari",
        "email": "lhotari@users.noreply.github.com",
        "time": "Thu Jul 09 15:01:07 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 09 15:01:07 2026 +0300"
      },
      "message": "[fix][ci] Upgrade sandboxed-trivy-action to approved sha (#26169)"
    },
    {
      "commit": "f1dc6391d2ce9825ee9963c5a5f4c7521ae772e3",
      "tree": "9a7fe344f86ccbbd559c77e99265c33bd99196d3",
      "parents": [
        "8d5cac607646ccda183373ad7b31e6ffb7e13836"
      ],
      "author": {
        "name": "Matteo Merli",
        "email": "mmerli@apache.org",
        "time": "Wed Jul 08 07:46:44 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 08 07:46:44 2026 -0700"
      },
      "message": "[improve][client] Avoid per-message cross-topic vector deep copy in v5 multi-topic stream consumer (#26162)"
    },
    {
      "commit": "8d5cac607646ccda183373ad7b31e6ffb7e13836",
      "tree": "105e4281a588111ba998717291424c4e18832dd4",
      "parents": [
        "92bd0987526ee26c88c52e10210d55babdbc9170"
      ],
      "author": {
        "name": "Eugene Polozhenkov",
        "email": "eugene-polozhenkov@users.noreply.github.com",
        "time": "Tue Jul 07 15:50:12 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 07 12:50:12 2026 -0700"
      },
      "message": "[fix][metadata] Fix orphaned UR parent nodes not cleaned up with Oxia metadata backend (#26158)\n\nCo-authored-by: ievgenpolozhenkov \u003cievgenpolozhenkov@geotab.com\u003e"
    },
    {
      "commit": "92bd0987526ee26c88c52e10210d55babdbc9170",
      "tree": "ec7859e56041135ea968e79b0813429332aa3682",
      "parents": [
        "48249839ea8c6c87a778024f9a89ae639c3d37a8"
      ],
      "author": {
        "name": "Matteo Merli",
        "email": "mmerli@apache.org",
        "time": "Tue Jul 07 10:26:51 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 07 10:26:51 2026 -0700"
      },
      "message": "[improve][client] Apply receiver-queue backpressure in v5 scalable consumers (#26151)"
    },
    {
      "commit": "48249839ea8c6c87a778024f9a89ae639c3d37a8",
      "tree": "56f7295f3cbb893057edf7240e1d7237d4277f19",
      "parents": [
        "a72046382bef3c2555b8581ed4b54b3655b92d03"
      ],
      "author": {
        "name": "David Kjerrumgaard",
        "email": "35466513+david-streamlio@users.noreply.github.com",
        "time": "Mon Jul 06 16:15:34 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 07 02:15:34 2026 +0300"
      },
      "message": "[fix][ci] Update setup-gradle action to v6.2.0 to match ASF actions allowlist (#26156)"
    },
    {
      "commit": "a72046382bef3c2555b8581ed4b54b3655b92d03",
      "tree": "4aa1b6603d0bacc7bf69cbfc00c630e297676466",
      "parents": [
        "100d3ef0ff7c7da36d497453b141ddff6f34a9d3"
      ],
      "author": {
        "name": "void-ptr974",
        "email": "void-ptr974@protonmail.com",
        "time": "Mon Jul 06 21:41:32 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 06 06:41:32 2026 -0700"
      },
      "message": "[improve][broker] Reduce PendingAcksMap memory by replacing IntIntPair values with packed longs (#26030)"
    },
    {
      "commit": "100d3ef0ff7c7da36d497453b141ddff6f34a9d3",
      "tree": "7330f2f7b606f69a48ec1e733135ce8e63dceca6",
      "parents": [
        "e85b1f7d3b69fb418afbf467f53ac58ce876d07c"
      ],
      "author": {
        "name": "Zixuan Liu",
        "email": "nodeces@gmail.com",
        "time": "Fri Jul 03 22:51:59 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 03 22:51:59 2026 +0800"
      },
      "message": "[improve][ml] Replace RangeSetWrapper with PositionRangeSet backed by LongBitmap (#26127)"
    },
    {
      "commit": "e85b1f7d3b69fb418afbf467f53ac58ce876d07c",
      "tree": "dda03b9d71a39c463796a946ea1d05bcb7af94ab",
      "parents": [
        "e8df873ddfde4d8b5a38a49e4b8765c693d65ab9"
      ],
      "author": {
        "name": "Dream95",
        "email": "864197662@qq.com",
        "time": "Fri Jul 03 21:35:56 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 03 16:35:56 2026 +0300"
      },
      "message": "[fix][client] Fix UnAckedMessageRedeliveryTracker to skip cancelled timeouts (#26043)\n\nSigned-off-by: Dream95 \u003czhou_8621@163.com\u003e"
    },
    {
      "commit": "e8df873ddfde4d8b5a38a49e4b8765c693d65ab9",
      "tree": "d5d7323615ba0f5abe3c1c7af88ebc3f5b9c5eed",
      "parents": [
        "b8053046290fc0740b669b10604b052a4b3e5945"
      ],
      "author": {
        "name": "Yike Xiao",
        "email": "kmter@live.com",
        "time": "Fri Jul 03 21:34:38 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 03 16:34:38 2026 +0300"
      },
      "message": "[fix][client] Sync ackSet in client with broker to stop acked messages reaching the DLQ (#26135)"
    },
    {
      "commit": "b8053046290fc0740b669b10604b052a4b3e5945",
      "tree": "7c1d7c072152aff583164837fcd9f2bec91bd0c9",
      "parents": [
        "e0c58b0f9a94f7ba25551255eb61e9938f334edd"
      ],
      "author": {
        "name": "Matteo Merli",
        "email": "mmerli@apache.org",
        "time": "Thu Jul 02 14:55:02 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 02 14:55:02 2026 -0700"
      },
      "message": "[improve][client] Make v5 scalable consumer receiveAsync truly non-blocking (#26131)"
    },
    {
      "commit": "e0c58b0f9a94f7ba25551255eb61e9938f334edd",
      "tree": "3a0c67939322ec1e000c8b1aa798284345e5d838",
      "parents": [
        "055882bbcaab29a79ab962ba23f36dab31ad3320"
      ],
      "author": {
        "name": "Lari Hotari",
        "email": "lhotari@users.noreply.github.com",
        "time": "Fri Jul 03 00:54:49 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 02 14:54:49 2026 -0700"
      },
      "message": "[fix][test] Await reader reconnect after seek() to fix flaky TopicReaderTest assertions (#26141)"
    },
    {
      "commit": "055882bbcaab29a79ab962ba23f36dab31ad3320",
      "tree": "16905d641d1451912de6faef4044db48a9c5d57a",
      "parents": [
        "82a5cdfb2dc5f6f54ef99e81a7b0242ae61127d9"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Jul 03 00:30:01 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 03 00:30:01 2026 +0300"
      },
      "message": "[fix][sec] Bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4 in /pulsar-function-go (#26142)\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: Lari Hotari \u003clhotari@apache.org\u003e"
    },
    {
      "commit": "82a5cdfb2dc5f6f54ef99e81a7b0242ae61127d9",
      "tree": "19c4aebee682574a4a502b73d6e32ee7ca18a9b8",
      "parents": [
        "1b3e9ecb75aceda9053bc3153089284796fd0d74"
      ],
      "author": {
        "name": "Lari Hotari",
        "email": "lhotari@users.noreply.github.com",
        "time": "Thu Jul 02 22:37:01 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 02 22:37:01 2026 +0300"
      },
      "message": "[fix][sec] Upgrade pulsar-client-go to v0.20.0 in pulsar-function-go, also address CVEs (#26140)"
    },
    {
      "commit": "1b3e9ecb75aceda9053bc3153089284796fd0d74",
      "tree": "469b82f25272b97fc0fe82340796e881d4ee1222",
      "parents": [
        "7a40adad02c11130a90e178e8b3aaed996fcacbb"
      ],
      "author": {
        "name": "Lari Hotari",
        "email": "lhotari@users.noreply.github.com",
        "time": "Thu Jul 02 21:51:07 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 02 11:51:07 2026 -0700"
      },
      "message": "[improve][fn] Upgrade pulsar-client-python to 3.13.0 (#26139)"
    },
    {
      "commit": "7a40adad02c11130a90e178e8b3aaed996fcacbb",
      "tree": "b2075915c2dca3dfc309eb43c17a2bdecf8e7c18",
      "parents": [
        "0629dc5add92c638aa37a01eacb7933723452a5c"
      ],
      "author": {
        "name": "Dream95",
        "email": "864197662@qq.com",
        "time": "Fri Jul 03 02:48:21 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 02 21:48:21 2026 +0300"
      },
      "message": "[fix][fn] Reorder Function Worker shutdown to stop scheduler before runtime manager (#26136)\n\nSigned-off-by: Dream95 \u003czhou_8621@163.com\u003e"
    },
    {
      "commit": "0629dc5add92c638aa37a01eacb7933723452a5c",
      "tree": "a4ef4dee82a1d785c5e4768612bcc1b3cce24814",
      "parents": [
        "decc80ff0369c0387c6cd02745ebe993dbf71ff1"
      ],
      "author": {
        "name": "Lari Hotari",
        "email": "lhotari@users.noreply.github.com",
        "time": "Thu Jul 02 21:16:19 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 02 21:16:19 2026 +0300"
      },
      "message": "[improve][broker] Load topic policies on non-persistent topic load and gate the policy replay (#26134)"
    },
    {
      "commit": "decc80ff0369c0387c6cd02745ebe993dbf71ff1",
      "tree": "cfdb5372d699e8a4a69e86b11c8a7edfd7b2ac95",
      "parents": [
        "51236fcdff325bb0841629b3101c309783f7694f"
      ],
      "author": {
        "name": "Lari Hotari",
        "email": "lhotari@users.noreply.github.com",
        "time": "Thu Jul 02 03:02:34 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 02 03:02:34 2026 +0300"
      },
      "message": "[fix][broker] Don\u0027t let a closing topic-policies reader abort a concurrent cache-init reload (#26132)"
    },
    {
      "commit": "51236fcdff325bb0841629b3101c309783f7694f",
      "tree": "3f4de311a7b68695adcd4912255b91cb2be09e21",
      "parents": [
        "8dd3c313a01d869cb8f4d8507e41a7f2e8cba2dc"
      ],
      "author": {
        "name": "Matteo Merli",
        "email": "mmerli@apache.org",
        "time": "Wed Jul 01 11:34:53 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 01 11:34:53 2026 -0700"
      },
      "message": "[fix][client] Cancel stale per-topic retry timers in v5 multi-topic consumers (#26130)"
    },
    {
      "commit": "8dd3c313a01d869cb8f4d8507e41a7f2e8cba2dc",
      "tree": "a554b621f11e7f4c3fe1c5941f0f28d26e45f556",
      "parents": [
        "12d8aa9a9773f2546f58aca4678c65f6d506dd95"
      ],
      "author": {
        "name": "Matteo Merli",
        "email": "mmerli@apache.org",
        "time": "Wed Jul 01 11:21:24 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 01 11:21:24 2026 -0700"
      },
      "message": "[improve][broker] PIP-486 (PR3): entry-bucket foundation (single-active by default) (#26129)"
    },
    {
      "commit": "12d8aa9a9773f2546f58aca4678c65f6d506dd95",
      "tree": "85fc5e843cdd62034007bee7fbbc07ab38d2aa8a",
      "parents": [
        "b61f3d5ca28df13855eaaa40c1e81e9c834eb814"
      ],
      "author": {
        "name": "Lari Hotari",
        "email": "lhotari@users.noreply.github.com",
        "time": "Wed Jul 01 06:32:42 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 30 20:32:42 2026 -0700"
      },
      "message": "[fix][test] Run makeReadEntryProbFail\u0027s errorOrNot on a caller-provided executor (#26123)"
    },
    {
      "commit": "b61f3d5ca28df13855eaaa40c1e81e9c834eb814",
      "tree": "c0ece9b35c79d368b5e830c42552c3aa990142e8",
      "parents": [
        "aa2d1bc61f0fe82b50848ebcbb569992ef48918d"
      ],
      "author": {
        "name": "Zixuan Liu",
        "email": "nodeces@gmail.com",
        "time": "Wed Jul 01 09:43:59 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 01 09:43:59 2026 +0800"
      },
      "message": "[improve][broker] Add LongBitmap abstraction and migrate RoaringBitmap usage to LongBitmap (#26117)"
    },
    {
      "commit": "aa2d1bc61f0fe82b50848ebcbb569992ef48918d",
      "tree": "753df1564e57265a7eea660894d988b5607248a4",
      "parents": [
        "373ab2b32116229314942fafbde62e4004aff52b"
      ],
      "author": {
        "name": "void-ptr974",
        "email": "void-ptr974@protonmail.com",
        "time": "Wed Jul 01 08:53:02 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 30 17:53:02 2026 -0700"
      },
      "message": "[fix][test] Fix flaky PersistentTopicsTest setup caused by concurrent Mockito stubbing (#26083)"
    },
    {
      "commit": "373ab2b32116229314942fafbde62e4004aff52b",
      "tree": "214b9432147574c8d31fdae54559b0bd25306eef",
      "parents": [
        "116212f5424d05da7affb078308d003d5e180423"
      ],
      "author": {
        "name": "Malla Sandeep",
        "email": "sandeep.malla78@gmail.com",
        "time": "Wed Jul 01 06:22:15 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 30 17:52:15 2026 -0700"
      },
      "message": "[improve][fn] Standardize log4j2 Root logger configuration to use system property (#26121)"
    },
    {
      "commit": "116212f5424d05da7affb078308d003d5e180423",
      "tree": "2c3540177f00199a1b8d1540418570467558adb3",
      "parents": [
        "baf22113cd785545851f8fe6cfe758692859b867"
      ],
      "author": {
        "name": "Lari Hotari",
        "email": "lhotari@users.noreply.github.com",
        "time": "Wed Jul 01 03:51:27 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 30 17:51:27 2026 -0700"
      },
      "message": "[fix][test] Fix flaky AuditorBookieTest.testBookieClusterRestart (#26122)"
    },
    {
      "commit": "baf22113cd785545851f8fe6cfe758692859b867",
      "tree": "dd9890d2eb38e3880439a49708ad7db19962515f",
      "parents": [
        "1f45e889087f33215ab15aeac9e284e931bd44a7"
      ],
      "author": {
        "name": "Lari Hotari",
        "email": "lhotari@users.noreply.github.com",
        "time": "Wed Jul 01 02:47:12 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 01 02:47:12 2026 +0300"
      },
      "message": "[fix][broker] Fix replication stall when a cursor rewind skips an in-flight read (#26106)"
    },
    {
      "commit": "1f45e889087f33215ab15aeac9e284e931bd44a7",
      "tree": "2acdbb2a9c7ad10edfd04c1e5c883b74b11e2484",
      "parents": [
        "320fbce6d540b618d35f1dd374e0aaf5fbd3c35c"
      ],
      "author": {
        "name": "Matteo Merli",
        "email": "mmerli@apache.org",
        "time": "Tue Jun 30 10:56:23 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 30 10:56:23 2026 -0700"
      },
      "message": "[improve][broker] PIP-486 (PR2): controller entry-bucket budget per segment (#26118)"
    },
    {
      "commit": "320fbce6d540b618d35f1dd374e0aaf5fbd3c35c",
      "tree": "eeabb60828a9db30161e5dae957325889e5f0e5b",
      "parents": [
        "1fc861aaa002054fb3410cf20d0e6c5953b9b110"
      ],
      "author": {
        "name": "Matteo Merli",
        "email": "mmerli@apache.org",
        "time": "Mon Jun 29 21:28:55 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 29 21:28:55 2026 -0700"
      },
      "message": "[improve][client] PIP-486 (PR1): producer entry-bucketing for scalable topics (#26115)"
    },
    {
      "commit": "1fc861aaa002054fb3410cf20d0e6c5953b9b110",
      "tree": "5fce8b8b7cde7c79af06cdd7395df7d405499e0c",
      "parents": [
        "df9de1e3b0c1b3c8a287e8246a41cacd3399d526"
      ],
      "author": {
        "name": "Lari Hotari",
        "email": "lhotari@users.noreply.github.com",
        "time": "Tue Jun 30 07:19:33 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 30 12:19:33 2026 +0800"
      },
      "message": "[fix][test] Fix flaky PendingAckInMemoryDeleteTest.txnAckTestBatchAndSharedSubMemoryDeleteTest (#26116)"
    },
    {
      "commit": "df9de1e3b0c1b3c8a287e8246a41cacd3399d526",
      "tree": "cd83b590ab60253b48d212a1de9e4c53309e4f9a",
      "parents": [
        "6d12cce96f4bb28dd745082d92c8bc05aa9e409c"
      ],
      "author": {
        "name": "Matteo Merli",
        "email": "mmerli@apache.org",
        "time": "Mon Jun 29 15:26:19 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 29 15:26:19 2026 -0700"
      },
      "message": "[improve][broker] PIP-486: entry-bucket wire format, hash \u0026 layout foundation (#26114)"
    },
    {
      "commit": "6d12cce96f4bb28dd745082d92c8bc05aa9e409c",
      "tree": "c0b3f2fb3f85480af2e48396167a8bf8a1a72733",
      "parents": [
        "808133dfca01a0b94b7295314778e654613ca322"
      ],
      "author": {
        "name": "Pavel Zeger",
        "email": "pavel.zeger@gmail.com",
        "time": "Tue Jun 30 01:10:16 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 30 01:10:16 2026 +0300"
      },
      "message": "[improve][client] Log the exception in ControlledClusterFailover.close (#25925)"
    },
    {
      "commit": "808133dfca01a0b94b7295314778e654613ca322",
      "tree": "e884985c1769f5cae850097165ce77dbd2640292",
      "parents": [
        "b14524eb672181124f8834a2048b8ed6a278385d"
      ],
      "author": {
        "name": "Matteo Merli",
        "email": "mmerli@apache.org",
        "time": "Mon Jun 29 12:06:01 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 29 12:06:01 2026 -0700"
      },
      "message": "[improve][pip] PIP-486: Scalable Topic Key-Shared Consumption (#26077)"
    },
    {
      "commit": "b14524eb672181124f8834a2048b8ed6a278385d",
      "tree": "5d36c526f1a5c52e42df5dcd82d3aa7c7936e4dd",
      "parents": [
        "abca10f9ce93da79a2842455dafda707042d42fa"
      ],
      "author": {
        "name": "sinan liu",
        "email": "liusinan1998@gmail.com",
        "time": "Tue Jun 30 00:58:18 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 29 19:58:18 2026 +0300"
      },
      "message": "[fix][broker] Forward topic policy updates after init failures (#26110)"
    },
    {
      "commit": "abca10f9ce93da79a2842455dafda707042d42fa",
      "tree": "7657c6288318ee912a6a03ef599b2f25b662a2bb",
      "parents": [
        "3754f07a0fcfa9314fa157f2f87c6d3ab2cd63ce"
      ],
      "author": {
        "name": "void-ptr974",
        "email": "void-ptr974@protonmail.com",
        "time": "Tue Jun 30 00:23:12 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 29 19:23:12 2026 +0300"
      },
      "message": "[fix][broker] Fix replicator getting stuck under rate limiter throttling and honor readBatchSize/maxReadSizeBytes on the default read path (#26005)\n\nCo-authored-by: Lari Hotari \u003clhotari@apache.org\u003e"
    },
    {
      "commit": "3754f07a0fcfa9314fa157f2f87c6d3ab2cd63ce",
      "tree": "185f95d3bb10476967b3285f2232cb670c78ad96",
      "parents": [
        "febf873338fde7aa5c69797e7cd3991c2cbd465d"
      ],
      "author": {
        "name": "Matteo Merli",
        "email": "mmerli@apache.org",
        "time": "Mon Jun 29 08:14:09 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 29 18:14:09 2026 +0300"
      },
      "message": "[fix][sec] Upgrade Jackson to 2.22.0 (#26101)"
    },
    {
      "commit": "febf873338fde7aa5c69797e7cd3991c2cbd465d",
      "tree": "44f04c24a3eb4d188f766ceb54edbf47d9884408",
      "parents": [
        "0d2beba370144a97094d50ae5b40121d95052377"
      ],
      "author": {
        "name": "void-ptr974",
        "email": "void-ptr974@protonmail.com",
        "time": "Mon Jun 29 13:24:53 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 29 13:24:53 2026 +0800"
      },
      "message": "[fix][test] Fix flaky GeoReplicationTest.testTopicReplication (#26090)"
    },
    {
      "commit": "0d2beba370144a97094d50ae5b40121d95052377",
      "tree": "f6e2c0a92ab4b3616b7e017109556260fa4ae450",
      "parents": [
        "19db575e2d9246dcbffd6c14d0c17d284de3ab10"
      ],
      "author": {
        "name": "Matteo Merli",
        "email": "mmerli@apache.org",
        "time": "Wed Jun 24 15:05:43 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 24 15:05:43 2026 -0700"
      },
      "message": "[improve][build] Trim unused JDK modules from the Docker image runtime (#26086)"
    },
    {
      "commit": "19db575e2d9246dcbffd6c14d0c17d284de3ab10",
      "tree": "6e64a52e6a6edec0226bfc373cbaa87161543456",
      "parents": [
        "29e95d35e8d1fc82dc99c9fe9379af49dd892ba0"
      ],
      "author": {
        "name": "void-ptr974",
        "email": "void-ptr974@protonmail.com",
        "time": "Thu Jun 25 05:25:12 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 25 00:25:12 2026 +0300"
      },
      "message": "[improve][broker] Reduce persistent topic backlog check overhead with ManagedCursor.hasBacklog (#26058)"
    },
    {
      "commit": "29e95d35e8d1fc82dc99c9fe9379af49dd892ba0",
      "tree": "4d04eca3f9b734fdd454cd9ced3bd28e2b995904",
      "parents": [
        "b2f37560b356a011bcd9bdb7d37d8ce01d95ea98"
      ],
      "author": {
        "name": "Matteo Merli",
        "email": "mmerli@apache.org",
        "time": "Wed Jun 24 14:12:25 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 24 14:12:25 2026 -0700"
      },
      "message": "[improve] Exclude filesystem offloader NAR from base image (#26085)"
    },
    {
      "commit": "b2f37560b356a011bcd9bdb7d37d8ce01d95ea98",
      "tree": "8e7faa7441ba5d235112358f01b41855c9bbb302",
      "parents": [
        "51e2b9a6bc9f739d3fc33b24821df15c588d4055"
      ],
      "author": {
        "name": "void-ptr974",
        "email": "void-ptr974@protonmail.com",
        "time": "Thu Jun 25 03:34:33 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 24 22:34:33 2026 +0300"
      },
      "message": "[improve][broker] Improve dispatch performance by summing entry bytes with a loop (#26055)"
    },
    {
      "commit": "51e2b9a6bc9f739d3fc33b24821df15c588d4055",
      "tree": "b9f0a2ce19b8d4309b32c87338d08b36abae4fe6",
      "parents": [
        "4fd22bbe80b1812b7840cefe577d2377fd1b5472"
      ],
      "author": {
        "name": "道君- Tao Jiuming",
        "email": "daojun@apache.org",
        "time": "Wed Jun 24 18:02:51 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 24 18:02:51 2026 +0800"
      },
      "message": "[fix][broker] Guard BucketDelayedDeliveryTracker.nextDeliveryTime against empty queues (#26080)"
    },
    {
      "commit": "4fd22bbe80b1812b7840cefe577d2377fd1b5472",
      "tree": "09484737d94044b0bfb24332714f14a4e54570eb",
      "parents": [
        "6d0d99b7c4241b376e4e532183691f8ee48df9ba"
      ],
      "author": {
        "name": "fengyubiao",
        "email": "yubiao.feng@streamnative.io",
        "time": "Wed Jun 24 17:32:21 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 24 17:32:21 2026 +0800"
      },
      "message": "[fix][broker]Do not trigger topic GC if replication is still active (#25915)"
    },
    {
      "commit": "6d0d99b7c4241b376e4e532183691f8ee48df9ba",
      "tree": "cb1a37919b60f29fef37bebff9af14f939955c29",
      "parents": [
        "e45b425f927c63b4de4093ee6f9f0218b188b701"
      ],
      "author": {
        "name": "Yunze Xu",
        "email": "xyzinfernity@163.com",
        "time": "Tue Jun 23 16:33:40 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 23 16:33:40 2026 +0800"
      },
      "message": "[feat][broker] Expose managed ledger properties via topic internal stats (#26079)"
    },
    {
      "commit": "e45b425f927c63b4de4093ee6f9f0218b188b701",
      "tree": "494cccc311fefb28524e356d34226f26025ee230",
      "parents": [
        "d351b6b223be299448cc6512714bd518d4e5f493"
      ],
      "author": {
        "name": "道君- Tao Jiuming",
        "email": "daojun@apache.org",
        "time": "Tue Jun 23 15:26:13 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 23 15:26:13 2026 +0800"
      },
      "message": "[improve][broker] Trim orphaned bucket snapshots when ledgers are deleted (#25984)"
    }
  ],
  "next": "d351b6b223be299448cc6512714bd518d4e5f493"
}
