)]}'
{
  "log": [
    {
      "commit": "6e3768d5ce2353404a7ab1ce454f1c72078a1e31",
      "tree": "fe382b602d0f084a1e0d5f6ede15b2fd758455b2",
      "parents": [
        "106acbced18b0da5fa17181ef6a72738e5ab211c"
      ],
      "author": {
        "name": "Au-Miner",
        "email": "75485809+Au-Miner@users.noreply.github.com",
        "time": "Fri Apr 10 03:00:18 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 10 18:00:18 2026 +0800"
      },
      "message": "[FLINK-39405][docs] Fix document escape display errors on sql built-in function page (#27900)"
    },
    {
      "commit": "106acbced18b0da5fa17181ef6a72738e5ab211c",
      "tree": "42809bad7bb342f4d57951815e8c0c2844cf0400",
      "parents": [
        "ef532a23f102bd0562e7a792da38678efae410ee"
      ],
      "author": {
        "name": "Liu Jiangang",
        "email": "liujiangangpeng@gmail.com",
        "time": "Fri Apr 10 10:25:25 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 10 10:25:25 2026 +0800"
      },
      "message": "[FLINK-39387][Test] Fix flaky scheduler benchmark tests caused by thread assertion failure in async TDD creation"
    },
    {
      "commit": "ef532a23f102bd0562e7a792da38678efae410ee",
      "tree": "d26afb8aa66b7355ca2673e2da87c54ce58dad1c",
      "parents": [
        "62cb6c5fc379e40fe4ca3d4f5ed6ab2beb367f92"
      ],
      "author": {
        "name": "Piotr Przybylski",
        "email": "piotrprz@gmail.com",
        "time": "Thu Apr 09 10:03:17 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 09 16:03:17 2026 +0800"
      },
      "message": "[FLINK-39151][metrics] Hide warning about UnixOperatingSystemMXBean missing on Windows (#27662)"
    },
    {
      "commit": "62cb6c5fc379e40fe4ca3d4f5ed6ab2beb367f92",
      "tree": "150474a31d898b172903e181c0e939aac5d1a474",
      "parents": [
        "795a36ee85403b183514a0aeccc022af0ca6068c"
      ],
      "author": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Wed Apr 08 00:03:41 2026 +0200"
      },
      "committer": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Wed Apr 08 20:42:57 2026 +0200"
      },
      "message": "[FLINK-39408][tests] Fix TestNameProvider broken after JUnit 5 migration\n\nTestNameProvider is a JUnit 4 TestRule that stores the test name in a\nThreadLocal. After FLINK-39124 migrated modules to JUnit 5, the @Rule\nis never triggered, so PseudoRandomValueSelector.randomize() always\ngets null from getCurrentTestName(), causing all boolean config\nrandomizations to select the same fixed value.\n\nFix: add TestNameProviderExtension (JUnit 5 BeforeEachCallback /\nAfterEachCallback) that delegates to TestNameProvider\u0027s static methods.\nTestNameProvider itself does not depend on JUnit 5 APIs, avoiding\nClassNotFoundException in non-test runtime environments (e.g. PyFlink).\nRegister TestNameProviderExtension globally via META-INF/services in\nall modules.\n"
    },
    {
      "commit": "795a36ee85403b183514a0aeccc022af0ca6068c",
      "tree": "0a73d6cd5951db76b04f780b6fee52caeb6fe629",
      "parents": [
        "b1c858eae739dffb84a76e6c4c7a6c938bfc6d8c"
      ],
      "author": {
        "name": "Jim Hughes",
        "email": "jhughes@confluent.io",
        "time": "Wed Apr 08 10:39:38 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 08 16:39:38 2026 +0200"
      },
      "message": "[FLINK-39399][table-runtime] Fix integer overflow in HyperLogLogPlusPlus causing APPROX_COUNT_DISTINCT undercount\n\nThis closes #27895."
    },
    {
      "commit": "b1c858eae739dffb84a76e6c4c7a6c938bfc6d8c",
      "tree": "6861e8cc78be8daeebbc3db12f029b99f65bc1f1",
      "parents": [
        "9bdd3a44da5dab674da962014b933eac2e2fbee4"
      ],
      "author": {
        "name": "Yuepeng Pan",
        "email": "panyuepeng@apache.org",
        "time": "Tue Mar 31 08:17:23 2026 +0800"
      },
      "committer": {
        "name": "Yuepeng Pan",
        "email": "panyuepeng@apache.org",
        "time": "Wed Apr 08 18:47:52 2026 +0800"
      },
      "message": "[FLINK-38895][runtime] Introduce the /jobs/:jobid/rescales/details/:rescaleuuid endpoint in the REST API\n\nCo-authored-by: XComp \u003cmpohl@confluent.io\u003e\nCo-authored-by: WeiZhong94 \u003cweizhong0618@gmail.com\u003e\nCo-authored-by: mateczagany \u003cczmate10@gmail.com\u003e\nCo-authored-by: ferenc-csaky \u003cfcsaky@apache.org\u003e\n"
    },
    {
      "commit": "9bdd3a44da5dab674da962014b933eac2e2fbee4",
      "tree": "a23c6a36e5d4ede7841501ad94be22feae057a59",
      "parents": [
        "406cfbc39a7cce19178e36b66db46ad0770853d5"
      ],
      "author": {
        "name": "Gustavo de Morais",
        "email": "gdemorais@confluent.io",
        "time": "Tue Apr 07 16:57:58 2026 +0200"
      },
      "committer": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Wed Apr 08 12:14:22 2026 +0200"
      },
      "message": "[hotfix] Remove redundant logs.zip entry from .gitignore\n"
    },
    {
      "commit": "406cfbc39a7cce19178e36b66db46ad0770853d5",
      "tree": "4c15f53305fd873a4bcb451ef395ed3daf0cd06d",
      "parents": [
        "5dcf72d251798ef09a157f118e38b12fc37a579e"
      ],
      "author": {
        "name": "Gustavo de Morais",
        "email": "gdemorais@confluent.io",
        "time": "Thu Apr 02 14:04:05 2026 +0200"
      },
      "committer": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Wed Apr 08 12:14:22 2026 +0200"
      },
      "message": "[hotfix] Remove duplicate .claude entry from .gitignore\n"
    },
    {
      "commit": "5dcf72d251798ef09a157f118e38b12fc37a579e",
      "tree": "5f4b998d663bf024229a5e6337c5d3614f1987a0",
      "parents": [
        "4684e3e541a379393051fa1504afc41d2bc2bd2a"
      ],
      "author": {
        "name": "HundalTaran",
        "email": "46683304+HundalTaran@users.noreply.github.com",
        "time": "Wed Apr 08 11:47:45 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 08 14:17:45 2026 +0800"
      },
      "message": "[FLINK-38507][tests] Fix the failed OpenTelemetryTraceReporterITCase (#27792)"
    },
    {
      "commit": "4684e3e541a379393051fa1504afc41d2bc2bd2a",
      "tree": "bd10a58ac541e8dc7fd4d13d73483b3559a8fcd3",
      "parents": [
        "e39b252d383b47c2119551df89d90b8212eb6361"
      ],
      "author": {
        "name": "Yuepeng Pan",
        "email": "hipanyuepeng@gmail.com",
        "time": "Wed Apr 08 11:37:07 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 08 11:37:07 2026 +0800"
      },
      "message": "[FLINK-38716][docs] Describe the impact of slot.request.max-interval on balanced tasks scheduling. (#27270)\n\nCo-authored-by: davidradl \u003cdavid_radley@uk.ibm.com\u003e"
    },
    {
      "commit": "e39b252d383b47c2119551df89d90b8212eb6361",
      "tree": "3439c57edde827ab0392fe565fb48c4d542b37bb",
      "parents": [
        "aaab864c24d77979f8ae06771f30024ed323547e"
      ],
      "author": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Wed Feb 18 21:26:40 2026 +0100"
      },
      "committer": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Tue Apr 07 19:58:08 2026 +0200"
      },
      "message": "[FLINK-38543][checkpoint] Change overall UC restore process for checkpoint during recovery\n"
    },
    {
      "commit": "aaab864c24d77979f8ae06771f30024ed323547e",
      "tree": "720f496323505125c86ce352f155030554c73b57",
      "parents": [
        "8f40b51d623456420aa7e4cf1dc87d47acefe875"
      ],
      "author": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Wed Feb 18 21:26:40 2026 +0100"
      },
      "committer": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Tue Apr 07 19:58:08 2026 +0200"
      },
      "message": "[FLINK-38543][checkpoint] Introduce bufferFilteringCompleteFuture for earlier RUNNING state transition\n"
    },
    {
      "commit": "8f40b51d623456420aa7e4cf1dc87d47acefe875",
      "tree": "3f9a8b9c4363fdc9ebd45798f30bd2ed677dafad",
      "parents": [
        "d1914c63c95715086884fee20cfe08fe8388547b"
      ],
      "author": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Wed Feb 18 21:26:40 2026 +0100"
      },
      "committer": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Tue Apr 07 19:58:08 2026 +0200"
      },
      "message": "[FLINK-38543][checkpoint] Fix Mailbox loop interrupted before recovery finished\n\nReturn allOf future instead of thenRun future. thenRun() returns a NEW future that\ncompletes only after the callback finishes. CompletableFuture executes thenRun callbacks\nsynchronously on the thread that calls complete(). When recoveredFutures contains\nbufferFilteringCompleteFuture (checkpointingDuringRecovery enabled), complete() is called\non channelIOExecutor (in finishReadRecoveredState), so thenRun(suspend) also runs on\nchannelIOExecutor. suspend() sends a poison mail, and the mailbox thread can pick it up\nand exit runMailboxLoop() before the thenRun future completes — causing checkState(isDone)\nto fail. With stateConsumedFuture (the default), complete() runs on the mailbox thread\nitself, so thenRun(suspend) blocks the loop from processing the poison mail until the\nfuture completes — no race. Returning allOf future avoids the issue entirely.\n"
    },
    {
      "commit": "d1914c63c95715086884fee20cfe08fe8388547b",
      "tree": "11a9386569d7fcab41615bccf97678ed9dd5f11c",
      "parents": [
        "4f192b3323891adb3b9b8dda7de62d14b901c570"
      ],
      "author": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Wed Feb 18 21:26:32 2026 +0100"
      },
      "committer": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Tue Apr 07 09:57:58 2026 +0200"
      },
      "message": "[FLINK-39018][network] Buffer migration from RecoveredInputChannel to physical channels\n"
    },
    {
      "commit": "4f192b3323891adb3b9b8dda7de62d14b901c570",
      "tree": "ce59f2ea7fbf4af56524f66597b28dcdf1dfe858",
      "parents": [
        "cebc174ad5f86716aba5b54017269e7263b6dec0"
      ],
      "author": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Thu Mar 12 23:08:13 2026 +0100"
      },
      "committer": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Tue Apr 07 09:57:58 2026 +0200"
      },
      "message": "[FLINK-39018][checkpoint] Notify PriorityEvent to downstream task even if it is blocked to ensure the checkpoint barrier can be handled by downstream task\n\nPriority events (e.g. unaligned checkpoint barriers) must notify downstream even\nwhen the subpartition is blocked.\n\nDuring recovery, once the upstream output channel state is fully restored, a\nRECOVERY_COMPLETION event (EndOfOutputChannelStateEvent) is emitted. This event\nblocks the subpartition to prevent the upstream from sending new data while the\ndownstream is still consuming recovered buffers. The subpartition remains blocked\nuntil the downstream finishes consuming all recovered buffers from every channel\nand calls resumeConsumption() to unblock.\n\nIf a checkpoint is triggered while the downstream is still consuming recovered\nbuffers, the upstream receives an unaligned checkpoint barrier and adds it to this\nblocked subpartition. The barrier must still be delivered to the downstream\nimmediately, otherwise the checkpoint will hang until it times out.\n"
    },
    {
      "commit": "cebc174ad5f86716aba5b54017269e7263b6dec0",
      "tree": "132a69f8aebff3b454cca874a8d8057bacbbd904",
      "parents": [
        "3aef0932ded1a1ece9943915c681e1fe33433700"
      ],
      "author": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Wed Feb 18 21:26:32 2026 +0100"
      },
      "committer": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Tue Apr 07 09:57:58 2026 +0200"
      },
      "message": "[FLINK-39018][network] Fix LocalInputChannel priority event and buffer availability for recovered buffers\n"
    },
    {
      "commit": "3aef0932ded1a1ece9943915c681e1fe33433700",
      "tree": "0efcef41b56d42da51c623600026ded637bec3ef",
      "parents": [
        "9ce47b215fc0ceec92d90c5c719de7d58befb28b"
      ],
      "author": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Wed Feb 18 21:26:32 2026 +0100"
      },
      "committer": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Tue Apr 07 09:57:58 2026 +0200"
      },
      "message": "[FLINK-39018][checkpoint] Support LocalInputChannel checkpoint snapshot for recovered buffers\n"
    },
    {
      "commit": "9ce47b215fc0ceec92d90c5c719de7d58befb28b",
      "tree": "273105752a4fb490fea29ae9afe17ab21e331ff3",
      "parents": [
        "01070e6f6054c56edc9a79f30a1c634021a62827"
      ],
      "author": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Wed Feb 18 21:26:24 2026 +0100"
      },
      "committer": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Tue Apr 07 09:57:58 2026 +0200"
      },
      "message": "[hotfix][network] Fix LocalInputChannel.getBuffersInUseCount to include toBeConsumedBuffers\n"
    },
    {
      "commit": "01070e6f6054c56edc9a79f30a1c634021a62827",
      "tree": "b5356431210a29f5d74fff39450d5aa5941404a7",
      "parents": [
        "9b3037ba3993080c23e56c86f72194adff0b6037"
      ],
      "author": {
        "name": "Vincent-Woo",
        "email": "57673693+Vincent-Woo@users.noreply.github.com",
        "time": "Sat Apr 04 22:45:12 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 04 22:45:12 2026 +0800"
      },
      "message": "[FLINK-39275][docs] Fix some issues in the \"Performance Tuning\" document (#27893)\n\n- Add anchor links to performance tuning sections\n- Update configuration and add MultiJoin optimization details\n\nCo-authored-by: klion26 \u003cqcx978132955@gmail.com\u003e\nCo-authored-by: Weijie Guo \u003creswqa@163.com\u003e\nCo-authored-by: Yuepeng Pan \u003cpanyuepeng@apache.org\u003e"
    },
    {
      "commit": "9b3037ba3993080c23e56c86f72194adff0b6037",
      "tree": "75178f54bc4df7b268d7a9095771ae10107bcf7b",
      "parents": [
        "463330c76606d4dc6b4531a8fb3cff971050b8e1"
      ],
      "author": {
        "name": "Yuepeng Pan",
        "email": "hipanyuepeng@gmail.com",
        "time": "Sat Apr 04 08:56:29 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 04 08:56:29 2026 +0800"
      },
      "message": "[FLINK-39359][docs] Introduce integration test cases to ensure that the generated REST-API related documentation stays consistent with the code. (#27884)\n\nCo-authored-by: 1996fanrui \u003c1996fanrui@gmail.com\u003e\nCo-authored-by: Sergey Nuyanzin \u003csnuyanzin@gmail.com\u003e"
    },
    {
      "commit": "463330c76606d4dc6b4531a8fb3cff971050b8e1",
      "tree": "096c4a260dcd16e1a5ce8dccef9f619ee1b46199",
      "parents": [
        "b0d0d2e0c2978d48e53478356df6fce1be795b4d"
      ],
      "author": {
        "name": "Sergey Nuyanzin",
        "email": "snuyanzin@gmail.com",
        "time": "Fri Apr 03 00:44:21 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 03 00:44:21 2026 +0200"
      },
      "message": "[FLINK-39395][build] Add spotless `upToDateChecking` "
    },
    {
      "commit": "b0d0d2e0c2978d48e53478356df6fce1be795b4d",
      "tree": "86f5da50374b8df41290a087e0d117015fdef846",
      "parents": [
        "52fd09662d6ca6be38fc5b5c048486c60c018024"
      ],
      "author": {
        "name": "Sergey Nuyanzin",
        "email": "snuyanzin@gmail.com",
        "time": "Thu Apr 02 16:16:39 2026 +0200"
      },
      "committer": {
        "name": "Sergey Nuyanzin",
        "email": "snuyanzin@gmail.com",
        "time": "Fri Apr 03 00:30:30 2026 +0200"
      },
      "message": "[FLINK-39323][table] Support `SHOW CREATE [OR ALTER]` with relative time intervals for `FROM_NOW(\u003cinterval_expression\u003e)`\n\nThis closes #27889.\n"
    },
    {
      "commit": "52fd09662d6ca6be38fc5b5c048486c60c018024",
      "tree": "ed8e5eced6edaf28a0a8c8bbb331169ed58369fe",
      "parents": [
        "39f0344a9585ff00064c8d632ff4222c4066c2bf"
      ],
      "author": {
        "name": "Sergey Nuyanzin",
        "email": "snuyanzin@gmail.com",
        "time": "Thu Apr 02 14:55:17 2026 +0200"
      },
      "committer": {
        "name": "Sergey Nuyanzin",
        "email": "snuyanzin@gmail.com",
        "time": "Fri Apr 03 00:29:10 2026 +0200"
      },
      "message": "[FLINK-39393][table] Add `TableChange` for comment\n"
    },
    {
      "commit": "39f0344a9585ff00064c8d632ff4222c4066c2bf",
      "tree": "d49946444695a9b03d86f857e28791d55fd32b3c",
      "parents": [
        "ec90a33883ead9d5c85ea63a93231fcaa01f733e"
      ],
      "author": {
        "name": "Sergey Nuyanzin",
        "email": "snuyanzin@gmail.com",
        "time": "Thu Apr 02 14:51:49 2026 +0200"
      },
      "committer": {
        "name": "Sergey Nuyanzin",
        "email": "snuyanzin@gmail.com",
        "time": "Fri Apr 03 00:29:09 2026 +0200"
      },
      "message": "[FLINK-39393][table] Add `TableChange` for `START_MODE`\n\nCo-authored-by: Ramin Gharib \u003cramingharib@gmail.com\u003e\n"
    },
    {
      "commit": "ec90a33883ead9d5c85ea63a93231fcaa01f733e",
      "tree": "57e14527595cc32923f5a50beeddf362c355e520",
      "parents": [
        "1da7029850dd4011a30ca62749069326b2857be1"
      ],
      "author": {
        "name": "Yuepeng Pan",
        "email": "hipanyuepeng@gmail.com",
        "time": "Thu Apr 02 22:31:24 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 02 22:31:24 2026 +0800"
      },
      "message": "[hotfix][docs/test] Migrate the assertj assertion lines. (#27879)\n\nCo-authored-by: Sergey Nuyanzin \u003csnuyanzin@confluent.io\u003e"
    },
    {
      "commit": "1da7029850dd4011a30ca62749069326b2857be1",
      "tree": "1842f66796af9f0fdae5ca7b60c2e4f966c9b6ec",
      "parents": [
        "c24f9644a9ac731bd00120d8275ebae4d43b5958"
      ],
      "author": {
        "name": "Vincent-Woo",
        "email": "57673693+Vincent-Woo@users.noreply.github.com",
        "time": "Thu Apr 02 21:53:13 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 02 21:53:13 2026 +0800"
      },
      "message": "[FLINK-39282][docs] Translate \"Balanced Tasks Scheduling\" page into Chinese (#27805)\n\nCo-authored-by: Yuepeng Pan \u003cpanyuepeng@apache.org\u003e\nCo-authored-by: klion26 \u003cqcx978132955@gmail.com\u003e"
    },
    {
      "commit": "c24f9644a9ac731bd00120d8275ebae4d43b5958",
      "tree": "a46936f2258b293f0ee6b8ea2430aad0cff73dc0",
      "parents": [
        "69edc37a32694d5e685c7d40620e0db599c6abdf"
      ],
      "author": {
        "name": "Jiaan Geng",
        "email": "beliefer@163.com",
        "time": "Thu Apr 02 16:35:25 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 02 16:35:25 2026 +0800"
      },
      "message": "[hotfix][javadoc] Fix invalid comments in Committer class"
    },
    {
      "commit": "69edc37a32694d5e685c7d40620e0db599c6abdf",
      "tree": "a869105928f2a15bf3809f9b8be8289b4b754178",
      "parents": [
        "7ea90f4d2aef3abc3ce6c09dd67513c52089ed3f"
      ],
      "author": {
        "name": "Myracle",
        "email": "liujiangangpeng@gmail.com",
        "time": "Wed Apr 01 17:26:01 2026 +0800"
      },
      "committer": {
        "name": "reswqa",
        "email": "reswqa@163.com",
        "time": "Thu Apr 02 16:34:33 2026 +0800"
      },
      "message": "[FLINK-39375][API / Core] Add explicit serialVersionUID to WatermarkAlignmentParams\n"
    },
    {
      "commit": "7ea90f4d2aef3abc3ce6c09dd67513c52089ed3f",
      "tree": "43356e88272c26cad2fbbd58d33a270d4168695a",
      "parents": [
        "fc2a9ec5caea77ebd137c6eb44c0ba9e6a71bf48"
      ],
      "author": {
        "name": "Myracle",
        "email": "liujiangangpeng@gmail.com",
        "time": "Wed Sep 17 17:30:53 2025 +0800"
      },
      "committer": {
        "name": "reswqa",
        "email": "reswqa@163.com",
        "time": "Thu Apr 02 16:24:14 2026 +0800"
      },
      "message": "[FLINK-38372][Runtime / Metrics] Introduces whitelist to the flink-metrics-prometheus\n"
    },
    {
      "commit": "fc2a9ec5caea77ebd137c6eb44c0ba9e6a71bf48",
      "tree": "707dae22c021df6dda486a1778c2e6240a07afdb",
      "parents": [
        "2fa3b1ab10b3b18a37decea48d9daa8ec6ef2110"
      ],
      "author": {
        "name": "Sergey Nuyanzin",
        "email": "snuyanzin@gmail.com",
        "time": "Thu Apr 02 09:39:43 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 02 09:39:43 2026 +0200"
      },
      "message": "[FLINK-39385][table] `TIMESTAMPDIFF` fails for `TIME`"
    },
    {
      "commit": "2fa3b1ab10b3b18a37decea48d9daa8ec6ef2110",
      "tree": "0128a38116921ace1b69fe1e34d60332174ee1bf",
      "parents": [
        "77266f0faf022d2b0f7ae6c56f709bcfee3d0260"
      ],
      "author": {
        "name": "Vincent-Woo",
        "email": "57673693+Vincent-Woo@users.noreply.github.com",
        "time": "Thu Apr 02 14:21:18 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 02 14:21:18 2026 +0800"
      },
      "message": "[FLINK-39277][docs] Fix the problem of missing content display due to format errors (#27796)"
    },
    {
      "commit": "77266f0faf022d2b0f7ae6c56f709bcfee3d0260",
      "tree": "dd9f02546cf529ecdc5457f97ab1d2b13e74d75d",
      "parents": [
        "b631cca8d71f5c5719659fbe4eb3902bd5e6d8bd"
      ],
      "author": {
        "name": "Yuepeng Pan",
        "email": "hipanyuepeng@gmail.com",
        "time": "Wed Apr 01 18:19:17 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 01 18:19:17 2026 +0800"
      },
      "message": "[hotfix][kubernetes] Fix the option typo in KubernetesConfigOptions (#27872)"
    },
    {
      "commit": "b631cca8d71f5c5719659fbe4eb3902bd5e6d8bd",
      "tree": "ec5e197dfbadc0992ccc8bd4379cc75f67efd92e",
      "parents": [
        "738dd00fac03a952a6043d498638eb57d0936625"
      ],
      "author": {
        "name": "Yuepeng Pan",
        "email": "hipanyuepeng@gmail.com",
        "time": "Wed Apr 01 18:17:22 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 01 18:17:22 2026 +0800"
      },
      "message": "[FLINK-39041][docs] Rebuild REST API docs pages to supplement the missing content. (#27855)"
    },
    {
      "commit": "738dd00fac03a952a6043d498638eb57d0936625",
      "tree": "013cf2137c571980659d0a9cf970aedfd8a35695",
      "parents": [
        "923a359320702130264dcfeb43c139161c247fba"
      ],
      "author": {
        "name": "Vishal",
        "email": "69051998+dataengineervishal@users.noreply.github.com",
        "time": "Wed Apr 01 11:32:17 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 01 08:02:17 2026 +0200"
      },
      "message": "[FLINK-38815] Mask sensitive values in Pekko debug configuration logs"
    },
    {
      "commit": "923a359320702130264dcfeb43c139161c247fba",
      "tree": "ea18d5f3c319f94a9f851fadde5743555b177f12",
      "parents": [
        "22598624741dbc785ef2bd38d9aef65b2c395932"
      ],
      "author": {
        "name": "Yi Zhang",
        "email": "zhangyi0985@163.com",
        "time": "Fri Mar 27 11:41:35 2026 +0800"
      },
      "committer": {
        "name": "Zhu Zhu",
        "email": "reedpor@gmail.com",
        "time": "Wed Apr 01 09:59:41 2026 +0800"
      },
      "message": "[hotfix][runtime] Fix DispatcherCleanupITCase.testCleanupAfterLeadershipChange\n"
    },
    {
      "commit": "22598624741dbc785ef2bd38d9aef65b2c395932",
      "tree": "2c423842cb528346d627132aaf41c997661ac822",
      "parents": [
        "f302c4729e9f8b269d27757880f3ce7d5012840c"
      ],
      "author": {
        "name": "Yi Zhang",
        "email": "zhangyi0985@163.com",
        "time": "Wed Mar 18 15:49:44 2026 +0800"
      },
      "committer": {
        "name": "Zhu Zhu",
        "email": "reedpor@gmail.com",
        "time": "Wed Apr 01 09:59:41 2026 +0800"
      },
      "message": "[FLINK-39309][runtime] Check terminated applications for duplication\n"
    },
    {
      "commit": "f302c4729e9f8b269d27757880f3ce7d5012840c",
      "tree": "566d2ddd8af5aaa86ae296c0959b24ba74afec40",
      "parents": [
        "9b2a11268dc8b4e6ea5a604dca0ea27f0fee3ed8"
      ],
      "author": {
        "name": "Shekhar Prasad Rajak",
        "email": "5774448+Shekharrajak@users.noreply.github.com",
        "time": "Wed Apr 01 07:21:58 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 01 09:51:58 2026 +0800"
      },
      "message": "[FLINK-39117][tests] Fix flaky ChainUnionTest by tolerating CHECKPOINT_COORDINATOR_SUSPEND exception (#27664)\n\nCo-authored-by: Shekhar Rajak \u003csrajak@atlassian.com\u003e"
    },
    {
      "commit": "9b2a11268dc8b4e6ea5a604dca0ea27f0fee3ed8",
      "tree": "da4859acac6bcc3dc9c3cdf66457953263cf377e",
      "parents": [
        "1b933bd5a26c8f7a424e278e7af0bff66f3af2db"
      ],
      "author": {
        "name": "Sergey Nuyanzin",
        "email": "snuyanzin@gmail.com",
        "time": "Tue Mar 31 23:46:00 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 31 23:46:00 2026 +0200"
      },
      "message": "[FLINK-39371][table] `CurrentDatabase` fails for some patterns"
    },
    {
      "commit": "1b933bd5a26c8f7a424e278e7af0bff66f3af2db",
      "tree": "b843fcd4ca9df12e7415ba8b6974617d147dc1f1",
      "parents": [
        "23ebbb5d2bb0f3ffb0e07798bd3d8b0c1808331e"
      ],
      "author": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Fri Mar 27 14:40:18 2026 +0100"
      },
      "committer": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Tue Mar 31 20:29:57 2026 +0200"
      },
      "message": "[FLINK-38930][checkpoint] Use heap buffer fallback to avoid deadlock during recovery\n\nWhen unaligned checkpointing during recovery is enabled, use a heap\nbuffer as fallback instead of blocking on buffer pool, to avoid hanging\nif the buffer pool is not yet available. When the feature is disabled,\nthe original blocking behavior is preserved.\n"
    },
    {
      "commit": "23ebbb5d2bb0f3ffb0e07798bd3d8b0c1808331e",
      "tree": "08b7a84516a6d755b4945cca90ffa92c3d6751ac",
      "parents": [
        "17dfa5fb586cd641959888a8490fa5c984cc85e3"
      ],
      "author": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Wed Feb 18 21:25:46 2026 +0100"
      },
      "committer": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Tue Mar 31 20:29:57 2026 +0200"
      },
      "message": "[FLINK-38930][checkpoint] Filtering record before processing without spilling strategy\n\nCore filtering mechanism for recovered channel state buffers:\n- ChannelStateFilteringHandler with per-gate GateFilterHandler\n- RecordFilterContext with VirtualChannelRecordFilterFactory\n- Partial data check in SequentialChannelStateReaderImpl\n- Fix RecordFilterContext for Union downscale scenario\n"
    },
    {
      "commit": "17dfa5fb586cd641959888a8490fa5c984cc85e3",
      "tree": "be95f58e52b03986d471284cbdf557b2572abe18",
      "parents": [
        "8b716346099d36e5519913ac4bbab58ba64a8af4"
      ],
      "author": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Thu Mar 26 23:10:17 2026 +0100"
      },
      "committer": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Tue Mar 31 20:29:57 2026 +0200"
      },
      "message": "[hotfix] Rename isUnalignedDuringRecoveryEnabled to isCheckpointingDuringRecoveryEnabled\n"
    },
    {
      "commit": "8b716346099d36e5519913ac4bbab58ba64a8af4",
      "tree": "75bf68b66afb23d5195e905e5c2358f52264b650",
      "parents": [
        "b9756414ba1e021ac30d824c5f5ab1b85d0f83ee"
      ],
      "author": {
        "name": "Sergey Nuyanzin",
        "email": "snuyanzin@gmail.com",
        "time": "Tue Mar 31 18:37:38 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 31 18:37:38 2026 +0200"
      },
      "message": "[FLINK-39302][table] Support `SHOW CREATE OR ALTER MATERIALIZED TABLE`"
    },
    {
      "commit": "b9756414ba1e021ac30d824c5f5ab1b85d0f83ee",
      "tree": "4aec48c9c36a8c6baa9d1d694de3edc3be79a0b1",
      "parents": [
        "34246de9a26776e06cd55482ac9336ff429b6efb"
      ],
      "author": {
        "name": "Sergey Nuyanzin",
        "email": "snuyanzin@gmail.com",
        "time": "Tue Mar 31 16:35:56 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 31 16:35:56 2026 +0200"
      },
      "message": "[FLINK-39360][table] `LIKE` clause doesn\u0027t support some patterns"
    },
    {
      "commit": "34246de9a26776e06cd55482ac9336ff429b6efb",
      "tree": "426358dd3787913995529766aa4c1a3eab3b76ef",
      "parents": [
        "64a21e7fff838bb5ac8a7f80beb2137285dc6ab7"
      ],
      "author": {
        "name": "Sergey Nuyanzin",
        "email": "snuyanzin@gmail.com",
        "time": "Tue Mar 31 12:41:32 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 31 12:41:32 2026 +0200"
      },
      "message": "[FLINK-38861][docs] Update documentation to cover new `CREATE`/`ALTER` operations for `MATERIALIZED TABLE`s"
    },
    {
      "commit": "64a21e7fff838bb5ac8a7f80beb2137285dc6ab7",
      "tree": "2b9e979e2bcbf95b443e922a28934f6bf9c2a00e",
      "parents": [
        "0c4ab25aa14cf28a3e99283b954cba9fabe4fddb"
      ],
      "author": {
        "name": "Sergey Nuyanzin",
        "email": "snuyanzin@gmail.com",
        "time": "Tue Mar 31 12:33:25 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 31 12:33:25 2026 +0200"
      },
      "message": "[FLINK-39348][table] Add `Interval` to reuse code for `FRESHNESS` and `START MODE`"
    },
    {
      "commit": "0c4ab25aa14cf28a3e99283b954cba9fabe4fddb",
      "tree": "a68cceebbf0de72ce773bef1f85711f0d40a1601",
      "parents": [
        "dc6d1288fb1ae2493e8e697d6bbfe32c2ef82cac"
      ],
      "author": {
        "name": "Dmitriy Linevich",
        "email": "48554952+ldadima@users.noreply.github.com",
        "time": "Tue Mar 31 16:21:33 2026 +0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 31 11:21:33 2026 +0200"
      },
      "message": "[FLINK-39241][table] Fix MultiJoinStateViews by changing GenericRowData to BinaryRowData"
    },
    {
      "commit": "dc6d1288fb1ae2493e8e697d6bbfe32c2ef82cac",
      "tree": "355729e16265db1fdb6741eff2118f63258600e8",
      "parents": [
        "ab3bcce0cfb44ccc402a6f694a760440ac30940b"
      ],
      "author": {
        "name": "Sergey Nuyanzin",
        "email": "snuyanzin@gmail.com",
        "time": "Tue Mar 31 11:19:34 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 31 11:19:34 2026 +0200"
      },
      "message": "[FLINK-39358][table] Constraint and watermark should stay while CoA MT if there is no explicit change with schema or constraint definition"
    },
    {
      "commit": "ab3bcce0cfb44ccc402a6f694a760440ac30940b",
      "tree": "c6eceecbf899b4aa5251b78bb043d71c933374e8",
      "parents": [
        "897f8edafff39e19ccc51eae9b1b7b065f5d3a19"
      ],
      "author": {
        "name": "Yuepeng Pan",
        "email": "panyuepeng@apache.org",
        "time": "Thu Feb 26 09:48:12 2026 +0800"
      },
      "committer": {
        "name": "Yuepeng Pan",
        "email": "panyuepeng@apache.org",
        "time": "Tue Mar 31 14:02:37 2026 +0800"
      },
      "message": "[FLINK-38343][runtime] Support store rescale history with statistics by ExecutionGraphInfo.\n\nCo-authored-by: XComp \u003cmpohl@confluent.io\u003e\nCo-authored-by: WeiZhong94 \u003cweizhong0618@gmail.com\u003e\nCo-authored-by: ferenc-csaky \u003cfcsaky@apache.org\u003e\n\nSigned-off-by: Yuepeng Pan \u003cpanyuepeng@apache.org\u003e\n"
    },
    {
      "commit": "897f8edafff39e19ccc51eae9b1b7b065f5d3a19",
      "tree": "0f5dc1b37d649d63954a1e11f496d63e13645056",
      "parents": [
        "c0265db9903d4a4a23072f94893da94ed4c3ae85"
      ],
      "author": {
        "name": "Pan Yuepeng",
        "email": "panyuepeng@apache.org",
        "time": "Wed Jul 30 00:50:45 2025 +0800"
      },
      "committer": {
        "name": "Yuepeng Pan",
        "email": "panyuepeng@apache.org",
        "time": "Tue Mar 31 14:02:37 2026 +0800"
      },
      "message": "[FLINK-38341][configuration] Introduce the rescale history configuration option.\n\nCo-authored-by: XComp \u003cmpohl@confluent.io\u003e\nCo-authored-by: ferenc-csaky \u003cfcsaky@apache.org\u003e\n\nSigned-off-by: Yuepeng Pan \u003cpanyuepeng@apache.org\u003e\n"
    },
    {
      "commit": "c0265db9903d4a4a23072f94893da94ed4c3ae85",
      "tree": "0dc905079b3a9a32bafeaeb7640bd46217a57c79",
      "parents": [
        "e890caf89ef8ef175789e0b5896f5dd030445ad3"
      ],
      "author": {
        "name": "Samrat002",
        "email": "decorde.apex@gmail.com",
        "time": "Thu Mar 26 14:22:30 2026 +0530"
      },
      "committer": {
        "name": "reswqa",
        "email": "reswqa@163.com",
        "time": "Tue Mar 31 09:52:33 2026 +0800"
      },
      "message": "[FLINK-39331] Add @Experimental annotation to public S3 classes\n\nMake NativeS3Recoverable and NativeS3RecoverableSerializer package private\n"
    },
    {
      "commit": "e890caf89ef8ef175789e0b5896f5dd030445ad3",
      "tree": "38ca388669ce30e166a0fd43607eb82d5fac4708",
      "parents": [
        "64007b131d689158af90ca1c1b71b018129a85c5"
      ],
      "author": {
        "name": "Myracle",
        "email": "liujiangangpeng@gmail.com",
        "time": "Tue Feb 03 15:41:15 2026 +0800"
      },
      "committer": {
        "name": "reswqa",
        "email": "reswqa@163.com",
        "time": "Tue Mar 31 09:52:22 2026 +0800"
      },
      "message": "[FLINK-39016][Runtime/REST] Add configurable TTL for ExecutionGraph cache independent of web refresh interval\n"
    },
    {
      "commit": "64007b131d689158af90ca1c1b71b018129a85c5",
      "tree": "7e1f3c72a758a229aa0831f07914631064ebdf58",
      "parents": [
        "47349536b09ef9c0b8731ed6d1ec4ebd0ce886b8"
      ],
      "author": {
        "name": "Timo Walther",
        "email": "twalthr@apache.org",
        "time": "Tue Mar 31 00:18:02 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 31 00:18:02 2026 +0200"
      },
      "message": "[FLINK-39355][table-planner] Fix field names in code generation for JSON_OBJECT/ARRAY/STRING\n\nThis closes #27850."
    },
    {
      "commit": "47349536b09ef9c0b8731ed6d1ec4ebd0ce886b8",
      "tree": "19985b46711968690e5dd9cfdbeb99bd33fd3131",
      "parents": [
        "863140ea4a4503d169d02d560fa9780aa4db24ca"
      ],
      "author": {
        "name": "Gustavo de Morais",
        "email": "gdemorais@confluent.io",
        "time": "Mon Mar 30 16:05:27 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 30 16:05:27 2026 +0200"
      },
      "message": "[FLINK-39349][table] Support deletion flag in TO_CHANGELOG\n\nThis closes #27847."
    },
    {
      "commit": "863140ea4a4503d169d02d560fa9780aa4db24ca",
      "tree": "ccf3bfd7b3fc51950ce35e0e1f804705311bb437",
      "parents": [
        "b6cb13a52f17e33b9e47c532c24025b52eca4632"
      ],
      "author": {
        "name": "Yuepeng Pan",
        "email": "panyuepeng@apache.org",
        "time": "Mon Mar 23 16:27:46 2026 +0800"
      },
      "committer": {
        "name": "Yuepeng Pan",
        "email": "panyuepeng@apache.org",
        "time": "Mon Mar 30 17:56:50 2026 +0800"
      },
      "message": "[FLINK-38342][runtime] Support record rescale information\n\nCo-authored-by: Matthias Pohl \u003cmpohl@confluent.io\u003e\nCo-authored-by: Wei Zhong \u003cweizhong0618@gmail.com\u003e\nCo-authored-by: Ferenc Csaky \u003cfcsaky@apache.org\u003e\nCo-authored-by: Rui Fan \u003c1996fanrui@gmail.com\u003e\n\nSigned-off-by: Yuepeng Pan \u003cpanyuepeng@apache.org\u003e\n"
    },
    {
      "commit": "b6cb13a52f17e33b9e47c532c24025b52eca4632",
      "tree": "e38501becf6fac1b5333f824ba574e865033a180",
      "parents": [
        "8d8bf958a9af385f244b9231e33ea169d9401ac5"
      ],
      "author": {
        "name": "Aleksandr Iushmanov",
        "email": "aiushmanov@confluent.io",
        "time": "Thu Feb 26 18:33:08 2026 +0000"
      },
      "committer": {
        "name": "Piotr Nowojski",
        "email": "pnowojski@users.noreply.github.com",
        "time": "Mon Mar 30 11:09:09 2026 +0200"
      },
      "message": "[FLINK-39126][metrics] Support exporting metrics through grpc in batches\n\nAdd support for batched metric export in the OpenTelemetry metric reporter. When exporting a large number of metrics, sending them all in a single request can cause timeouts or memory pressure on both the Flink reporter and the OTel collector. This change introduces a configurable batch.size option that partitions metrics into smaller batches before exporting, with async completion tracking and per-batch failure handling.\n"
    },
    {
      "commit": "8d8bf958a9af385f244b9231e33ea169d9401ac5",
      "tree": "080658021c194be07ef84e34776feb02bd8ccb7a",
      "parents": [
        "ce310b5384264d5fc02daa152315dbf3087b76e2"
      ],
      "author": {
        "name": "xuyang",
        "email": "xyzhong188@163.com",
        "time": "Thu Mar 26 19:48:30 2026 +0800"
      },
      "committer": {
        "name": "Xuyang",
        "email": "xyzhong188@163.com",
        "time": "Mon Mar 30 16:59:52 2026 +0800"
      },
      "message": "[FLINK-39339][table-planner] Consider immutable cols to infer sink required updated mode traits\n"
    },
    {
      "commit": "ce310b5384264d5fc02daa152315dbf3087b76e2",
      "tree": "f1104fe3e2169f2cbb27279c10e9d3e9dcebf197",
      "parents": [
        "c38b7e6863352c59698fb2897425d36cf911523e"
      ],
      "author": {
        "name": "xuyang",
        "email": "xyzhong188@163.com",
        "time": "Thu Mar 26 19:51:18 2026 +0800"
      },
      "committer": {
        "name": "Xuyang",
        "email": "xyzhong188@163.com",
        "time": "Mon Mar 30 16:59:52 2026 +0800"
      },
      "message": "[hotfix] Fix unused field  in ImmutableColumnsConstraint\n"
    },
    {
      "commit": "c38b7e6863352c59698fb2897425d36cf911523e",
      "tree": "4ded372be30cbea778907ae882db1a75af08a13d",
      "parents": [
        "d62be55c09a7beb85e6517312233127cd85e7dce"
      ],
      "author": {
        "name": "RaoraoXiong",
        "email": "xiongraorao@gmail.com",
        "time": "Sun Mar 29 18:05:16 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Mar 29 18:05:16 2026 +0800"
      },
      "message": "[FLINK-39260][python] Support compression formats other than \u0027.zip\u0027 for config option \u0027python.files\u0027 (#27780)"
    },
    {
      "commit": "d62be55c09a7beb85e6517312233127cd85e7dce",
      "tree": "403ea1f4bce63201300bc07dc67dddf353e79e8d",
      "parents": [
        "004268ad2f43f43108679bafdfe6a2be6b0044b4"
      ],
      "author": {
        "name": "yongliu",
        "email": "yongen.ly@antgroup.com",
        "time": "Thu Mar 26 11:47:39 2026 +0800"
      },
      "committer": {
        "name": "Dian Fu",
        "email": "dianfu@apache.org",
        "time": "Sun Mar 29 17:42:12 2026 +0800"
      },
      "message": "[FLINK-38933][python] Expose runtime context information in Python UDX FunctionContext\n\nThis aligns Python UDX with Java UDX by exposing runtime context information through FunctionContext. Added the following getter methods to FunctionContext:\n- get_task_name()\n- get_task_name_with_subtasks()\n- get_number_of_parallel_subtasks()\n- get_max_number_of_parallel_subtasks()\n- get_index_of_this_subtask()\n- get_attempt_number()\n\nThe runtime context is propagated from Java operators via the protobuf protocol by adding a runtime_context field to UserDefinedFunctions and UserDefinedAggregateFunctions messages.\n\nThis closes #27831.\n"
    },
    {
      "commit": "004268ad2f43f43108679bafdfe6a2be6b0044b4",
      "tree": "d852b9e397fdca8201c9abb28d215f7200f7a1e6",
      "parents": [
        "754254f3fedd3e5409fab01fe7056a4c17ca829f"
      ],
      "author": {
        "name": "Ramin Gharib",
        "email": "rgharib@confluent.io",
        "time": "Fri Mar 27 23:29:57 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 27 23:29:57 2026 +0100"
      },
      "message": "[FLINK-38968][table] Add toCatalogTable method to CatalogMaterializedTable interface"
    },
    {
      "commit": "754254f3fedd3e5409fab01fe7056a4c17ca829f",
      "tree": "5d99013c2ba5d84dcf24a0f2130a88ab85fe3ab8",
      "parents": [
        "c0a4768e141ab30ba44c14e637e63858729db4a6"
      ],
      "author": {
        "name": "Ramin Gharib",
        "email": "rgharib@confluent.io",
        "time": "Fri Mar 27 22:25:19 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 27 22:25:19 2026 +0100"
      },
      "message": "[FLINK-39343][doc] Fix inconsistencies in `sql_functions.yml` documentation"
    },
    {
      "commit": "c0a4768e141ab30ba44c14e637e63858729db4a6",
      "tree": "0e71bb87d3b18a7ea365a47e9d06f00e31f6d8c1",
      "parents": [
        "9d7afcd5e8f8c732877cbd5b8f444211684c18f3"
      ],
      "author": {
        "name": "Sergey Nuyanzin",
        "email": "snuyanzin@gmail.com",
        "time": "Fri Mar 27 22:22:04 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 27 22:22:04 2026 +0100"
      },
      "message": "[FLINK-39304][table] Support `START_MODE` clause in the parser"
    },
    {
      "commit": "9d7afcd5e8f8c732877cbd5b8f444211684c18f3",
      "tree": "574dd745c4ae185d407291facb16b95113353b0b",
      "parents": [
        "992062e0e27b418c41b8003c83c787751ece7811"
      ],
      "author": {
        "name": "Sergey Nuyanzin",
        "email": "snuyanzin@gmail.com",
        "time": "Tue Mar 24 11:17:57 2026 +0100"
      },
      "committer": {
        "name": "Sergey Nuyanzin",
        "email": "snuyanzin@gmail.com",
        "time": "Fri Mar 27 16:12:47 2026 +0100"
      },
      "message": "[hotfix][table] Use two spaces for `MODIFY DEFINITION QUERY`\n"
    },
    {
      "commit": "992062e0e27b418c41b8003c83c787751ece7811",
      "tree": "f0561317592c4f11ce2271e4fa32267a314a12e5",
      "parents": [
        "2e905a69307a67e1020067b38f02db97391533e3"
      ],
      "author": {
        "name": "Sergey Nuyanzin",
        "email": "snuyanzin@gmail.com",
        "time": "Tue Mar 24 11:08:04 2026 +0100"
      },
      "committer": {
        "name": "Sergey Nuyanzin",
        "email": "snuyanzin@gmail.com",
        "time": "Fri Mar 27 16:12:46 2026 +0100"
      },
      "message": "[FLINK-39284][table] Make `CREATE OR ALTER MATERIALIZED TABLE` respect column comment change\n\nThis closes #27807.\n"
    },
    {
      "commit": "2e905a69307a67e1020067b38f02db97391533e3",
      "tree": "f6abd08c51819b58e2a2418b2dfd3bc6eb62dfb1",
      "parents": [
        "9a30a23794ef3bfd19ea723bb986e56ee33feec3"
      ],
      "author": {
        "name": "Sergey Nuyanzin",
        "email": "snuyanzin@gmail.com",
        "time": "Tue Mar 24 11:05:02 2026 +0100"
      },
      "committer": {
        "name": "Sergey Nuyanzin",
        "email": "snuyanzin@gmail.com",
        "time": "Fri Mar 27 16:12:46 2026 +0100"
      },
      "message": "[FLINK-39284][table] Make `CREATE OR ALTER MATERIALIZED TABLE` respect watermark changes\n"
    },
    {
      "commit": "9a30a23794ef3bfd19ea723bb986e56ee33feec3",
      "tree": "8bfbea6bc2e0543e8d364e80bc2eaac2ce61ce3c",
      "parents": [
        "bbde1e2d68e3227d2f17969b36559e0e50620404"
      ],
      "author": {
        "name": "Sergey Nuyanzin",
        "email": "snuyanzin@gmail.com",
        "time": "Tue Mar 24 11:00:09 2026 +0100"
      },
      "committer": {
        "name": "Sergey Nuyanzin",
        "email": "snuyanzin@gmail.com",
        "time": "Fri Mar 27 16:12:46 2026 +0100"
      },
      "message": "[FLINK-39284][table] Nullify types for columns while `CREATE OR ALTER MATERIALIZED TABLE` similar to `CREATE`\n"
    },
    {
      "commit": "bbde1e2d68e3227d2f17969b36559e0e50620404",
      "tree": "a92f1284a89e1439fe4a18fd221fba0a9714c205",
      "parents": [
        "c7843a1a4c3302fe107860792180526d553d9e73"
      ],
      "author": {
        "name": "Sergey Nuyanzin",
        "email": "snuyanzin@gmail.com",
        "time": "Tue Mar 24 10:57:39 2026 +0100"
      },
      "committer": {
        "name": "Sergey Nuyanzin",
        "email": "snuyanzin@gmail.com",
        "time": "Fri Mar 27 16:12:45 2026 +0100"
      },
      "message": "[FLINK-39284][table] Make `CREATE OR ALTER MATERIALIZED TABLE` respect constraint changes\n"
    },
    {
      "commit": "c7843a1a4c3302fe107860792180526d553d9e73",
      "tree": "84c7ea05fc0c8d642cef7750363377f09af1279f",
      "parents": [
        "cd1629430d1ed1d2f11f75996cdb7c2779a0427b"
      ],
      "author": {
        "name": "Sergey Nuyanzin",
        "email": "snuyanzin@gmail.com",
        "time": "Tue Mar 24 10:55:10 2026 +0100"
      },
      "committer": {
        "name": "Sergey Nuyanzin",
        "email": "snuyanzin@gmail.com",
        "time": "Fri Mar 27 16:12:45 2026 +0100"
      },
      "message": "[FLINK-39284][table] Extract test for `CREATE OR ALTER MATERIALIZED TABLE`\n"
    },
    {
      "commit": "cd1629430d1ed1d2f11f75996cdb7c2779a0427b",
      "tree": "6c9b6d526e149e0c84a201893775237fe7fb9e6f",
      "parents": [
        "85fcd049b030c9f92f3cfb7fd92a88c3d80c2353"
      ],
      "author": {
        "name": "och5351",
        "email": "dhcksgo5319@gmail.com",
        "time": "Fri Mar 27 18:12:52 2026 +0900"
      },
      "committer": {
        "name": "Yuepeng Pan",
        "email": "panyuepeng@apache.org",
        "time": "Fri Mar 27 21:22:44 2026 +0800"
      },
      "message": "[FLINK-38901][runtime-web] Introduce the Rescales/Configuration sub-page for streaming jobs with the adaptive scheduler enabled\n\nCo-authored-by: Yuepeng Pan \u003chipanyuepeng@gmail.com\u003e\nCo-authored-by: Matthias Pohl \u003cmpohl@confluent.io\u003e\n"
    },
    {
      "commit": "85fcd049b030c9f92f3cfb7fd92a88c3d80c2353",
      "tree": "8f54fb97dbac3adcbd8af2344df47a17c56147bc",
      "parents": [
        "73d71d9db0854c7e15b8232eacf605034d22dfbf"
      ],
      "author": {
        "name": "och5351",
        "email": "dhcksgo5319@gmail.com",
        "time": "Fri Mar 27 18:10:21 2026 +0900"
      },
      "committer": {
        "name": "Yuepeng Pan",
        "email": "panyuepeng@apache.org",
        "time": "Fri Mar 27 21:22:44 2026 +0800"
      },
      "message": "[hotfix][runtime-web] Polish the checkpoint related variables naming\n\nCo-authored-by: Yuepeng Pan \u003chipanyuepeng@gmail.com\u003e\nCo-authored-by: Matthias Pohl \u003cmpohl@confluent.io\u003e\n"
    },
    {
      "commit": "73d71d9db0854c7e15b8232eacf605034d22dfbf",
      "tree": "03b873340090f49bddad73433bb0599510d0969f",
      "parents": [
        "072b7d3a12927480a881fe1b4e6d33d4e6cb3650"
      ],
      "author": {
        "name": "Xuyang",
        "email": "xyzhong188@163.com",
        "time": "Fri Mar 27 14:20:04 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 27 14:20:04 2026 +0800"
      },
      "message": "[FLINK-39233][table-runtime] Support cascaded delta join runtime (#27828)"
    },
    {
      "commit": "072b7d3a12927480a881fe1b4e6d33d4e6cb3650",
      "tree": "3f7560a6281a32da1cb5f01f6effcfc8e97c5b94",
      "parents": [
        "eabc3cef8a1bcb601116caff2a82eeac2616f631"
      ],
      "author": {
        "name": "dylanhz",
        "email": "53137516+dylanhz@users.noreply.github.com",
        "time": "Fri Mar 27 11:24:40 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 27 11:24:40 2026 +0800"
      },
      "message": "[FLINK-39188][docs] Documentation for BITMAP type\n\nThis closes #27835."
    },
    {
      "commit": "eabc3cef8a1bcb601116caff2a82eeac2616f631",
      "tree": "72776c7a5db0624a7e109568313b80fee7908fa3",
      "parents": [
        "fbd2e4f93f0f32ed86df34784566c4dcb3a9f1ac"
      ],
      "author": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Thu Jan 15 17:41:54 2026 +0100"
      },
      "committer": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Thu Mar 26 22:28:41 2026 +0100"
      },
      "message": "[FLINK-38541][checkpoint] Introducing config option: execution.checkpointing.unaligned.during-recovery.enabled\n"
    },
    {
      "commit": "fbd2e4f93f0f32ed86df34784566c4dcb3a9f1ac",
      "tree": "f3aace19818b3cbc9425dd472f7d544a8fcbe751",
      "parents": [
        "b1b986cfd8f2b24eb283671957b9b2bfb6babfad"
      ],
      "author": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Thu Jan 15 17:28:49 2026 +0100"
      },
      "committer": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Thu Mar 26 22:28:41 2026 +0100"
      },
      "message": "[hotfix] Extract VirtualChannel as the public class\n"
    },
    {
      "commit": "b1b986cfd8f2b24eb283671957b9b2bfb6babfad",
      "tree": "21f2027647f787b068503a1022fd614414966c97",
      "parents": [
        "0f3889e7eec677723ceed92835414038d754a32c"
      ],
      "author": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Thu Jan 15 17:26:32 2026 +0100"
      },
      "committer": {
        "name": "Rui Fan",
        "email": "1996fanrui@gmail.com",
        "time": "Thu Mar 26 22:28:41 2026 +0100"
      },
      "message": "[hotfix][runtime] Extract RecordFilter as the interface\n"
    },
    {
      "commit": "0f3889e7eec677723ceed92835414038d754a32c",
      "tree": "8b04907e326eec8bd953f4c9ca78562327a4400f",
      "parents": [
        "36302ed6e612e0f75136546f8026c16e72cea6ed"
      ],
      "author": {
        "name": "Gustavo de Morais",
        "email": "gdemorais@confluent.io",
        "time": "Thu Mar 26 16:16:59 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 26 16:16:59 2026 +0100"
      },
      "message": "[FLINK-39313][table-planner] Fix NDU analyzer to detect non-deterministic functions in ChangelogNormalize filter conditions\n\nThis closes #27819."
    },
    {
      "commit": "36302ed6e612e0f75136546f8026c16e72cea6ed",
      "tree": "0597531dbb0648548c9e8371beb2fffefa040196",
      "parents": [
        "af98780a0fe528b0a944ae09a24f8325b4857e52"
      ],
      "author": {
        "name": "dylanhz",
        "email": "53137516+dylanhz@users.noreply.github.com",
        "time": "Thu Mar 26 21:51:26 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 26 21:51:26 2026 +0800"
      },
      "message": "[FLINK-39273][table-common] Fix argument name conflict when UDF method contains lambda expression\n\nThis closes #27787."
    },
    {
      "commit": "af98780a0fe528b0a944ae09a24f8325b4857e52",
      "tree": "af9866ace50182b4d9fb0affc799784e375e1376",
      "parents": [
        "d538534f69618141883dbf75b9cb04dc586a7ac1"
      ],
      "author": {
        "name": "Yi Zhang",
        "email": "zhangyi0985@163.com",
        "time": "Thu Mar 26 10:04:26 2026 +0800"
      },
      "committer": {
        "name": "Zhu Zhu",
        "email": "reedpor@gmail.com",
        "time": "Thu Mar 26 18:45:01 2026 +0800"
      },
      "message": "[FLINK-39326][runtime] Fix DispatcherApplicationTest.testJobResultNotMarkedCleanUntilApplicationTerminates\n"
    },
    {
      "commit": "d538534f69618141883dbf75b9cb04dc586a7ac1",
      "tree": "801c579b76cdcd684a80462d679e3b84a9215861",
      "parents": [
        "62e7163f879389ba5205106f64fd5f6f99e2fb98"
      ],
      "author": {
        "name": "dylanhz",
        "email": "53137516+dylanhz@users.noreply.github.com",
        "time": "Thu Mar 26 18:04:44 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 26 18:04:44 2026 +0800"
      },
      "message": "[hotfix][docs] Move PERCENTILE doc from arithmetic to aggregate section\n\nThis closes #27832."
    },
    {
      "commit": "62e7163f879389ba5205106f64fd5f6f99e2fb98",
      "tree": "254dab3a8a59c31d3ecebe23aba3b691d890c3bf",
      "parents": [
        "26046c653a6d70a1386fc69671fae448ba072fb6"
      ],
      "author": {
        "name": "dylanhz",
        "email": "dylanhz@163.com",
        "time": "Tue Mar 24 02:04:46 2026 +0800"
      },
      "committer": {
        "name": "lincoln lee",
        "email": "lincoln.86xy@gmail.com",
        "time": "Thu Mar 26 17:40:30 2026 +0800"
      },
      "message": "[FLINK-39187][table] Add new built-in functions to allow direct cardinality return for bitmap aggregation\n"
    },
    {
      "commit": "26046c653a6d70a1386fc69671fae448ba072fb6",
      "tree": "adbc126cf379e9b441b244f4a434b92b7aca160f",
      "parents": [
        "1c6943c3f713437edf93b547e1f42addc6ed98b4"
      ],
      "author": {
        "name": "dylanhz",
        "email": "dylanhz@163.com",
        "time": "Tue Mar 24 02:02:12 2026 +0800"
      },
      "committer": {
        "name": "lincoln lee",
        "email": "lincoln.86xy@gmail.com",
        "time": "Thu Mar 26 17:40:30 2026 +0800"
      },
      "message": "[FLINK-39187][table] Add the built-in function BITMAP_AND_AGG, BITMAP_OR_AGG, BITMAP_XOR_AGG\n"
    },
    {
      "commit": "1c6943c3f713437edf93b547e1f42addc6ed98b4",
      "tree": "1cd5e2ff4ced2960db04c1f46022a86d8ea32fa4",
      "parents": [
        "8ade28e18d3580875ccd8ddf0e98f5f956fa82ff"
      ],
      "author": {
        "name": "dylanhz",
        "email": "dylanhz@163.com",
        "time": "Tue Mar 24 21:10:21 2026 +0800"
      },
      "committer": {
        "name": "lincoln lee",
        "email": "lincoln.86xy@gmail.com",
        "time": "Thu Mar 26 17:40:30 2026 +0800"
      },
      "message": "[FLINK-39187][table] Add the built-in function BITMAP_BUILD_AGG\n"
    },
    {
      "commit": "8ade28e18d3580875ccd8ddf0e98f5f956fa82ff",
      "tree": "b42034c37814da70322d9bb3ff8bb0e1080f5588",
      "parents": [
        "ee64584126784de20229bb4e19e068fa1d19048c"
      ],
      "author": {
        "name": "dylanhz",
        "email": "dylanhz@163.com",
        "time": "Tue Mar 24 21:08:31 2026 +0800"
      },
      "committer": {
        "name": "lincoln lee",
        "email": "lincoln.86xy@gmail.com",
        "time": "Thu Mar 26 17:40:30 2026 +0800"
      },
      "message": "[hotfix][core] Make RoaringBitmapData implement Serializable and Remove unused wrap method\n"
    },
    {
      "commit": "ee64584126784de20229bb4e19e068fa1d19048c",
      "tree": "22c56071a187214e43737236ad169e1004a08b80",
      "parents": [
        "a6da0b9d97dbe63b8964df0bcb647590b2a238ab"
      ],
      "author": {
        "name": "Yi Zhang",
        "email": "zhangyi0985@163.com",
        "time": "Thu Mar 12 17:47:07 2026 +0800"
      },
      "committer": {
        "name": "Zhu Zhu",
        "email": "reedpor@gmail.com",
        "time": "Thu Mar 26 17:15:04 2026 +0800"
      },
      "message": "[FLINK-38976][runtime] Support zero job in an application\n"
    },
    {
      "commit": "a6da0b9d97dbe63b8964df0bcb647590b2a238ab",
      "tree": "2030838bb69a40a084c20d172eff636f278c7a60",
      "parents": [
        "eaf99f509a785a3c4aedfbc1117f9a9705c86fc3"
      ],
      "author": {
        "name": "Yi Zhang",
        "email": "zhangyi0985@163.com",
        "time": "Thu Mar 12 14:13:50 2026 +0800"
      },
      "committer": {
        "name": "Zhu Zhu",
        "email": "reedpor@gmail.com",
        "time": "Thu Mar 26 17:15:04 2026 +0800"
      },
      "message": "[FLINK-38976][runtime] Support multiple batch jobs in an application\n"
    },
    {
      "commit": "eaf99f509a785a3c4aedfbc1117f9a9705c86fc3",
      "tree": "c7fd000893ad62e7a690e3ba971c03ed9dde65cf",
      "parents": [
        "bbd045f324dce0e68349c88ec1d3fc041f060efb"
      ],
      "author": {
        "name": "dylanhz",
        "email": "53137516+dylanhz@users.noreply.github.com",
        "time": "Thu Mar 26 11:24:35 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 26 11:24:35 2026 +0800"
      },
      "message": "[FLINK-39094][table-planner] Avoid creating duplicate function instances in code generation (#27613)"
    },
    {
      "commit": "bbd045f324dce0e68349c88ec1d3fc041f060efb",
      "tree": "bae37d96879efda8516b24fc044ff9184eb84593",
      "parents": [
        "31daa9d9d0b4de6620de642a85a6bfd36384f619"
      ],
      "author": {
        "name": "Yi Zhang",
        "email": "zhangyi0985@163.com",
        "time": "Wed Mar 11 11:23:31 2026 +0800"
      },
      "committer": {
        "name": "Zhu Zhu",
        "email": "reedpor@gmail.com",
        "time": "Thu Mar 26 10:03:45 2026 +0800"
      },
      "message": "[FLINK-39240][runtime] Jobs share application-level jar when possible\n"
    },
    {
      "commit": "31daa9d9d0b4de6620de642a85a6bfd36384f619",
      "tree": "5fd65bf5273fb09cdce3c9fa93abaf853da8a7ac",
      "parents": [
        "83496f49acde4cdd5c3e23ac59d7683f259f1ce9"
      ],
      "author": {
        "name": "Piotr Nowojski",
        "email": "piotr.nowojski@gmail.com",
        "time": "Wed Mar 25 10:13:16 2026 +0100"
      },
      "committer": {
        "name": "Piotr Nowojski",
        "email": "pnowojski@users.noreply.github.com",
        "time": "Wed Mar 25 15:59:30 2026 +0100"
      },
      "message": "[FLINK-39318][table] Fix interruptible timers are not working for TemporalSort\n"
    },
    {
      "commit": "83496f49acde4cdd5c3e23ac59d7683f259f1ce9",
      "tree": "07c3a52913356d8a44b8ced00f67333aa293fcb5",
      "parents": [
        "4a5b178fab3613ac8f3ae125819298027cdde357"
      ],
      "author": {
        "name": "Piotr Nowojski",
        "email": "piotr.nowojski@gmail.com",
        "time": "Tue Mar 24 18:20:07 2026 +0100"
      },
      "committer": {
        "name": "Piotr Nowojski",
        "email": "pnowojski@users.noreply.github.com",
        "time": "Wed Mar 25 15:59:30 2026 +0100"
      },
      "message": "[FLINK-39318][table] Fix interruptible timers are not working for TemporalJoin\n"
    },
    {
      "commit": "4a5b178fab3613ac8f3ae125819298027cdde357",
      "tree": "143737d2905d255de0e272738ae15bfaaadd01cd",
      "parents": [
        "45a04a78eef779352c94da9869946cdf9fa8f8c0"
      ],
      "author": {
        "name": "Yi Zhang",
        "email": "zhangyi0985@163.com",
        "time": "Tue Mar 24 15:37:56 2026 +0800"
      },
      "committer": {
        "name": "Piotr Nowojski",
        "email": "pnowojski@users.noreply.github.com",
        "time": "Wed Mar 25 15:52:57 2026 +0100"
      },
      "message": "[FLINK-39311][runtime] Fix application-related main thread execution in Dispatcher\n"
    },
    {
      "commit": "45a04a78eef779352c94da9869946cdf9fa8f8c0",
      "tree": "e695e1d2244552dec0a7e447b6998cb44766e8fb",
      "parents": [
        "2e49048680e452c3d0ecb981fe3e4fd685d6aacf"
      ],
      "author": {
        "name": "Xuyang",
        "email": "xyzhong188@163.com",
        "time": "Wed Mar 25 19:12:20 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 25 19:12:20 2026 +0800"
      },
      "message": "[FLINK-39174][table-planner] Support lookup join after delta join (#27698)"
    },
    {
      "commit": "2e49048680e452c3d0ecb981fe3e4fd685d6aacf",
      "tree": "defeafcf1f81c0224309bce6694f73acb937b6f3",
      "parents": [
        "370a8870450e4cd827c5fd1c4aacef551c15193e"
      ],
      "author": {
        "name": "xuyang",
        "email": "xyzhong188@163.com",
        "time": "Tue Mar 24 19:30:54 2026 +0800"
      },
      "committer": {
        "name": "xuyang",
        "email": "xyzhong188@163.com",
        "time": "Wed Mar 25 17:44:18 2026 +0800"
      },
      "message": "[FLINK-39314][table-planner] Allow input to drop update before if filter is applied on any of upsert keys\n"
    },
    {
      "commit": "370a8870450e4cd827c5fd1c4aacef551c15193e",
      "tree": "5a082d54893ed4cf8de31701f3259dc653250995",
      "parents": [
        "58d7acc1f1164b6701fea7f24930a0a0ead1be2c"
      ],
      "author": {
        "name": "xuyang",
        "email": "xyzhong188@163.com",
        "time": "Mon Mar 23 15:17:37 2026 +0800"
      },
      "committer": {
        "name": "xuyang",
        "email": "xyzhong188@163.com",
        "time": "Wed Mar 25 17:44:18 2026 +0800"
      },
      "message": "[FLINK-39287][table-planner] Introduce FlinkRelMdImmutableColumns to implement the derivation logic of some simple nodes and update the logic to infer upsert key with immutable columns\n"
    },
    {
      "commit": "58d7acc1f1164b6701fea7f24930a0a0ead1be2c",
      "tree": "89daf3954069ddec08de6bc5d80881cb759b9937",
      "parents": [
        "c0bc1e53851c698d6004b0169b507e5572f9fade"
      ],
      "author": {
        "name": "xuyang",
        "email": "xyzhong188@163.com",
        "time": "Thu Mar 19 16:20:59 2026 +0800"
      },
      "committer": {
        "name": "xuyang",
        "email": "xyzhong188@163.com",
        "time": "Wed Mar 25 17:44:17 2026 +0800"
      },
      "message": "[FLINK-39286][table] Introduce immutable columns constraint in schema\n"
    },
    {
      "commit": "c0bc1e53851c698d6004b0169b507e5572f9fade",
      "tree": "6c04368f7644307b3bc47aa3deced2ee2e280704",
      "parents": [
        "198816c4115ee7a6a588d8763ca37038b451d150"
      ],
      "author": {
        "name": "dylanhz",
        "email": "dylanhz@163.com",
        "time": "Tue Mar 24 01:50:48 2026 +0800"
      },
      "committer": {
        "name": "lincoln lee",
        "email": "lincoln.86xy@gmail.com",
        "time": "Wed Mar 25 17:26:08 2026 +0800"
      },
      "message": "[FLINK-39186][table] Add the built-in function BITMAP_AND, BITMAP_ANDNOT, BITMAP_OR, BITMAP_XOR\n"
    },
    {
      "commit": "198816c4115ee7a6a588d8763ca37038b451d150",
      "tree": "e9d0b7babb3c66026783b7c160d3452bc108c3ce",
      "parents": [
        "20af677612fd767dfcb062b0107b25dab54e3cf3"
      ],
      "author": {
        "name": "dylanhz",
        "email": "dylanhz@163.com",
        "time": "Tue Mar 24 01:47:50 2026 +0800"
      },
      "committer": {
        "name": "lincoln lee",
        "email": "lincoln.86xy@gmail.com",
        "time": "Wed Mar 25 17:26:08 2026 +0800"
      },
      "message": "[FLINK-39186][table] Add the built-in function BITMAP_TO_ARRAY, BITMAP_TO_STRING\n"
    },
    {
      "commit": "20af677612fd767dfcb062b0107b25dab54e3cf3",
      "tree": "45001d8dbe65ad921bb690b221997126737a14d4",
      "parents": [
        "9318cc0f1e26a21ce93190973a298dbcbf228e0d"
      ],
      "author": {
        "name": "dylanhz",
        "email": "dylanhz@163.com",
        "time": "Tue Mar 24 01:44:13 2026 +0800"
      },
      "committer": {
        "name": "lincoln lee",
        "email": "lincoln.86xy@gmail.com",
        "time": "Wed Mar 25 17:26:08 2026 +0800"
      },
      "message": "[FLINK-39186][table] Add the built-in function BITMAP_CARDINALITY\n"
    },
    {
      "commit": "9318cc0f1e26a21ce93190973a298dbcbf228e0d",
      "tree": "085b407dc97582090b320ee35ed91c31928434be",
      "parents": [
        "afe599dc95b7f7425fc29e72391d4e3d8ac5701e"
      ],
      "author": {
        "name": "dylanhz",
        "email": "dylanhz@163.com",
        "time": "Tue Mar 24 01:38:57 2026 +0800"
      },
      "committer": {
        "name": "lincoln lee",
        "email": "lincoln.86xy@gmail.com",
        "time": "Wed Mar 25 17:26:08 2026 +0800"
      },
      "message": "[FLINK-39186][table] Support BITMAP literal in Table API and add BITMAP cast it cases\n"
    },
    {
      "commit": "afe599dc95b7f7425fc29e72391d4e3d8ac5701e",
      "tree": "9420ce01bd198319f25d7dd2f0d939d3192e90be",
      "parents": [
        "0071c4d6e8060d94aee6beddc9e3fba190825b31"
      ],
      "author": {
        "name": "dylanhz",
        "email": "dylanhz@163.com",
        "time": "Tue Mar 24 01:34:02 2026 +0800"
      },
      "committer": {
        "name": "lincoln lee",
        "email": "lincoln.86xy@gmail.com",
        "time": "Wed Mar 25 17:26:08 2026 +0800"
      },
      "message": "[FLINK-39186][table] Add the built-in function BITMAP_FROM_BYTES, BITMAP_TO_BYTES\n"
    },
    {
      "commit": "0071c4d6e8060d94aee6beddc9e3fba190825b31",
      "tree": "a1e24d65238295984b3301c9b6710220858d24cc",
      "parents": [
        "df4f8c48d6042f4e1a2ccf5282ba0ad8cf541fbd"
      ],
      "author": {
        "name": "dylanhz",
        "email": "dylanhz@163.com",
        "time": "Tue Mar 24 01:33:06 2026 +0800"
      },
      "committer": {
        "name": "lincoln lee",
        "email": "lincoln.86xy@gmail.com",
        "time": "Wed Mar 25 17:26:08 2026 +0800"
      },
      "message": "[FLINK-39186][table] Add the built-in function BITMAP_BUILD\n"
    }
  ],
  "next": "df4f8c48d6042f4e1a2ccf5282ba0ad8cf541fbd"
}
