)]}'
{
  "log": [
    {
      "commit": "08cb139004a85be8feb97ccbbdfdd062ed4371e4",
      "tree": "236ea9c9ab36b0703ecdc5c35ae5d2534d6fd309",
      "parents": [
        "17e66a2aab7d839e7e81075a52a81d73a5034d97"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri May 08 22:28:30 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri May 08 22:28:30 2026 +1000"
      },
      "message": "minor refactor: warning for junit.network only when we test\n"
    },
    {
      "commit": "17e66a2aab7d839e7e81075a52a81d73a5034d97",
      "tree": "75c3ae269098bcfd3dcbeebdf559c2a52244a188",
      "parents": [
        "f65c867e4c60e43236c0931d494848727c53e814"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri May 08 21:12:22 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri May 08 21:12:22 2026 +1000"
      },
      "message": "GROOVY-11988: Add support for {@inheritDoc} in external JDK classes (address AI review comments)\n"
    },
    {
      "commit": "f65c867e4c60e43236c0931d494848727c53e814",
      "tree": "ce083a326f557f16d24aeffa7d2d29bdee2baa00",
      "parents": [
        "a24f1c7300afc20bb857cb634650d89bf39a7faa"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Mon May 04 23:13:33 2026 +0900"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri May 08 20:40:01 2026 +1000"
      },
      "message": "GROOVY-11988: Add support for {@inheritDoc} in external JDK classes\n"
    },
    {
      "commit": "a24f1c7300afc20bb857cb634650d89bf39a7faa",
      "tree": "9ea701849e5f4c4dabcf8cf0d80025fb948dd4b7",
      "parents": [
        "9d5fd190e7c248aa00784f41ff8b9a0384e5eb92"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 20:22:32 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri May 08 18:39:24 2026 +1000"
      },
      "message": "GROOVY-11998: Better support of intersection types (copilot review)\n"
    },
    {
      "commit": "9d5fd190e7c248aa00784f41ff8b9a0384e5eb92",
      "tree": "b64fc8745db24e2090904ff3805efafdda70cf1f",
      "parents": [
        "566c8f2c045296ab0f1db4f85f7ab7e6f0f675fd"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 18:56:41 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri May 08 18:39:24 2026 +1000"
      },
      "message": "GROOVY-11999: ProxyGeneratorAdapter NPE when proxy interfaces mix bootstrap and user classloaders\n"
    },
    {
      "commit": "566c8f2c045296ab0f1db4f85f7ab7e6f0f675fd",
      "tree": "728a7abc9fbae5d8d4bea00564be001369d9ddb7",
      "parents": [
        "1f28e07b60d3f46b29a6b7cd133dd47c750c90ef"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 18:39:06 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri May 08 18:39:24 2026 +1000"
      },
      "message": "GROOVY-11998: Better support of intersection types (part 5)\nClosure literal native intersection. StaticTypesClosureWriter generates a class implementing all components for (R \u0026 S) { -\u003e ... }, docs.\n"
    },
    {
      "commit": "1f28e07b60d3f46b29a6b7cd133dd47c750c90ef",
      "tree": "80011613201d9c8e7fc9fb4e3fa1b7c87aba4e13",
      "parents": [
        "f7a1256bbff48405ab5572fbfde18d8922d7fb0a"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 18:07:10 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri May 08 18:39:24 2026 +1000"
      },
      "message": "GROOVY-11998: Better support of intersection types (part 4)\nas coercion. Closure asType overload, ProxyGenerator plumbing, dynamic castToType(Object, Class[]).\n"
    },
    {
      "commit": "f7a1256bbff48405ab5572fbfde18d8922d7fb0a",
      "tree": "33b6ac8fb895f44e79d6076a2a677e2467aca35c",
      "parents": [
        "ce0fe94d0502745978c9243b6e0545b2cdad059c"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 17:51:33 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri May 08 18:39:24 2026 +1000"
      },
      "message": "GROOVY-11998: Better support of intersection types (part 3)\nBytecode for lambdas/method refs. writeFunctionalInterfaceIndy markers, altMetafactory flags. Static parity with Java\u0027s (R \u0026 S) ()-\u003e….\n"
    },
    {
      "commit": "ce0fe94d0502745978c9243b6e0545b2cdad059c",
      "tree": "cbfc4d664bd657d72d76553968e3598575c14289",
      "parents": [
        "9a52d3de8734961929d26537906c8e040ec22286"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 17:28:54 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri May 08 18:39:24 2026 +1000"
      },
      "message": "GROOVY-11998: Better support of intersection types (part 2)\nResolution + STC. ResolveVisitor resolves components; StaticTypeCheckingVisitor.visitCastExpression validates and propagates. LAMBDA_MARKERS metadata. Static error messages.\n"
    },
    {
      "commit": "9a52d3de8734961929d26537906c8e040ec22286",
      "tree": "740ea8c45ac966c4e8757adb2e50c417c047915a",
      "parents": [
        "c7c0eabeee286c5c3ca575412f871431260d8706"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 16:37:59 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri May 08 18:39:24 2026 +1000"
      },
      "message": "GROOVY-11998: Better support of intersection types (part 1)\nGrammar + AST. intersectionType rule, IntersectionTypeClassNode, AstBuilder updates. Includes parser tests; no semantic impact (ResolveVisitor errors out on it).\n"
    },
    {
      "commit": "c7c0eabeee286c5c3ca575412f871431260d8706",
      "tree": "578eac727665ae21aa70f1bf4f86bae7333a295b",
      "parents": [
        "200f089ee73d76b23b43a159c63e3b1d8638ce44"
      ],
      "author": {
        "name": "Eric Milles",
        "email": "eric.milles@thomsonreuters.com",
        "time": "Thu May 07 15:47:11 2026 -0500"
      },
      "committer": {
        "name": "Eric Milles",
        "email": "eric.milles@thomsonreuters.com",
        "time": "Thu May 07 15:47:11 2026 -0500"
      },
      "message": "minor items"
    },
    {
      "commit": "200f089ee73d76b23b43a159c63e3b1d8638ce44",
      "tree": "7da3059e97f15cb1469b1aabc79d5728c4a2e1b9",
      "parents": [
        "55c0a189a93d5cd26cebc08278724c0039286404"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu May 07 19:26:17 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu May 07 19:26:17 2026 +1000"
      },
      "message": "GROOVY-11997: Add @ForkedJvm JUnit extension (use classpath filtering)\n"
    },
    {
      "commit": "55c0a189a93d5cd26cebc08278724c0039286404",
      "tree": "85c269aa2a29ae0f50ea6e671b0d7742127851e8",
      "parents": [
        "933a59c0c86e4ad60f56b591cd2e7a3674eafd13"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu May 07 19:18:10 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu May 07 19:18:10 2026 +1000"
      },
      "message": "minor refactor: consistent spelling\n"
    },
    {
      "commit": "933a59c0c86e4ad60f56b591cd2e7a3674eafd13",
      "tree": "73f428d94c3c24b86aab2c138c7bf136e302e809",
      "parents": [
        "bb6c33df7f68de1377e6e0c444a47a7264c3a23c"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu May 07 19:13:50 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu May 07 19:13:50 2026 +1000"
      },
      "message": "GROOVY-11997: Add @ForkedJvm JUnit extension (allow classpath filtering)\n"
    },
    {
      "commit": "bb6c33df7f68de1377e6e0c444a47a7264c3a23c",
      "tree": "bef02cc1c4045cd5163cc8622f3c49dde244b41c",
      "parents": [
        "2ddeb28834014acfcc1c4811a011f204ceab90f1"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu May 07 11:17:31 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu May 07 11:17:31 2026 +1000"
      },
      "message": "minor refactor: use direct sha1 number even though infra permits friendly version name\n"
    },
    {
      "commit": "2ddeb28834014acfcc1c4811a011f204ceab90f1",
      "tree": "ccd610d197aa101a4210ef375108d3736e2878cf",
      "parents": [
        "7fb605f2e44174e27bbeba9695dccf4ab54d4abf"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 23:54:52 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 23:54:52 2026 +1000"
      },
      "message": "minor refactor: run jmh tests also daily (prep work)\n"
    },
    {
      "commit": "7fb605f2e44174e27bbeba9695dccf4ab54d4abf",
      "tree": "69bcaae481a97c677bd0236cf6d71c6a30f55c5b",
      "parents": [
        "1380ed66bb8f94dc800d7ffdcbd760aa36dae784"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 23:20:17 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 23:20:17 2026 +1000"
      },
      "message": "GROOVY-11997: Add @ForkedJvm and @ExpectedToFail JUnit extensions to groovy-test-junit6 (tweaks)\n"
    },
    {
      "commit": "1380ed66bb8f94dc800d7ffdcbd760aa36dae784",
      "tree": "3d6c08ffe721234ae5cfbba04812f8ac04e9f4a0",
      "parents": [
        "3ad10bb4ee65b023b64096d4bc7668dade0670ef"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 10:43:51 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 20:41:59 2026 +1000"
      },
      "message": "minor refactor: run jmh tests also daily\n"
    },
    {
      "commit": "3ad10bb4ee65b023b64096d4bc7668dade0670ef",
      "tree": "1f5a104b9230cf202a16ce18a8adfbffd6f75c65",
      "parents": [
        "6fde0124541cf9c6ca2b659635b4bf226cf8261c"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 20:41:24 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 20:41:24 2026 +1000"
      },
      "message": "minor refactor: remove javadoc warnings\n"
    },
    {
      "commit": "6fde0124541cf9c6ca2b659635b4bf226cf8261c",
      "tree": "3ae59eeb26c4a5de8ca3cde4a6bf0844881a67a9",
      "parents": [
        "49a8738033c46d50a76e2779c74084025488aa0c"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 14:34:05 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 15:52:37 2026 +1000"
      },
      "message": "GROOVY-11997: Add @ForkedJvm and @ExpectedToFail JUnit extensions to groovy-test-junit6 (additional tests converted)\n"
    },
    {
      "commit": "49a8738033c46d50a76e2779c74084025488aa0c",
      "tree": "f9142dae125c37d8d2fe0f2d19744a0fad884ddb",
      "parents": [
        "915895d8965a60cd37fc805b26e6b9ea3fda1e41"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 14:02:44 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 14:02:44 2026 +1000"
      },
      "message": "GROOVY-11997: Add @ForkedJvm and @ExpectedToFail JUnit extensions to groovy-test-junit6 (minor tweaks and an additional test converted)\n"
    },
    {
      "commit": "915895d8965a60cd37fc805b26e6b9ea3fda1e41",
      "tree": "07da29b55bd3268584434b274f52b44651c444bf",
      "parents": [
        "7d924a8048ec5b27c0da95bb8e3f3907995ad44f"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 11:01:25 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 11:01:25 2026 +1000"
      },
      "message": "GROOVY-11996: Provide a groovy.truth.file.exists.enabled system property which when false reverts to Groovy 4 behavior (test)\n"
    },
    {
      "commit": "7d924a8048ec5b27c0da95bb8e3f3907995ad44f",
      "tree": "16fccfe9d9d4703d174f2cefff441be9097455ad",
      "parents": [
        "f97ae1bfbf4070f49abdee723606544c0bbde6be"
      ],
      "author": {
        "name": "Paolo Di Tommaso",
        "email": "paolo.ditommaso@gmail.com",
        "time": "Mon May 04 17:32:06 2026 +0200"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 10:47:59 2026 +1000"
      },
      "message": "GROOVY-11996: Provide a groovy.truth.file.exists.enabled system property which when false reverts to Groovy 4 behavior\n\nRestore the pre-Groovy 5 truthy semantics for `java.io.File` and\n`java.nio.file.Path` when the system property\n`-Dgroovy.io.fileLegacyTruthy\u003dtrue` is set: any non-null reference is\ntruthy, regardless of whether the underlying file exists.\n\nThe default behavior introduced in 5.0 (delegating to\n`File.exists()` / `Files.exists()`) is preserved when the property is\nabsent or false.\n"
    },
    {
      "commit": "f97ae1bfbf4070f49abdee723606544c0bbde6be",
      "tree": "94da8942fd7cb815e7d46b7b8e1f4d9a31a7fe56",
      "parents": [
        "443686e9e3978d85290f814a74a5c58d04ee9169"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 09:39:26 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 09:39:26 2026 +1000"
      },
      "message": "minor refactor: run jmh tests also daily\n"
    },
    {
      "commit": "443686e9e3978d85290f814a74a5c58d04ee9169",
      "tree": "f4062f5b49ba95cce1df915cefac0891f5dc64b1",
      "parents": [
        "924898f5fcd3c40d8debaeb93a8eaa5a9b3f02a0"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 09:37:00 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 09:37:00 2026 +1000"
      },
      "message": "minor refactor: allow jmh format to be parameterised\n"
    },
    {
      "commit": "924898f5fcd3c40d8debaeb93a8eaa5a9b3f02a0",
      "tree": "902df8ffe731d2f062d7d5dfe38a8364e9481ea3",
      "parents": [
        "16ba9168f23cbcd29c64fd66e535383295bfc82f"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Wed May 06 06:16:20 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 06:16:20 2026 +0800"
      },
      "message": "GROOVY-11993: Support serializable method reference (#2514)"
    },
    {
      "commit": "16ba9168f23cbcd29c64fd66e535383295bfc82f",
      "tree": "c62f269edcca2107d0004be72f3d434c43ea35e6",
      "parents": [
        "19826e18dcb7bad60beadaae219a5ca7b90f827c"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 01:35:33 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 08:15:04 2026 +1000"
      },
      "message": "GROOVY-11997: Add @ForkedJvm and @ExpectedToFail JUnit extensions to groovy-test-junit6\n"
    },
    {
      "commit": "19826e18dcb7bad60beadaae219a5ca7b90f827c",
      "tree": "b78c71ae0b5fdae7ef1c3a991cd3106f5a8b6807",
      "parents": [
        "5f5bf922fd92518312d7ac593c2f4257dd6c45c4"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue May 05 06:47:30 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 01:14:10 2026 +1000"
      },
      "message": "GROOVY-11994: GEP-16: Missing groovy.val.enabled flag\n"
    },
    {
      "commit": "5f5bf922fd92518312d7ac593c2f4257dd6c45c4",
      "tree": "a11e5bda5c22837e4dd794049a570b0c1c6c2165",
      "parents": [
        "f208e2f3bc233ce31c5deff284e1db1464d45abf"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue May 05 23:30:14 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed May 06 00:04:06 2026 +1000"
      },
      "message": "GROOVY-11995: groovyc ant task could support passing through system properties or jvmargs\n"
    },
    {
      "commit": "f208e2f3bc233ce31c5deff284e1db1464d45abf",
      "tree": "374e7c07825542b5d756cafad89ad0178c4636ed",
      "parents": [
        "97e6557eab433fc7bf151830b30a6b1ed8d8c925"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Tue May 05 20:02:53 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Tue May 05 20:02:53 2026 +0900"
      },
      "message": "Trivial refactor: avoid using magic number\n"
    },
    {
      "commit": "97e6557eab433fc7bf151830b30a6b1ed8d8c925",
      "tree": "0188e2cec8286aff9a7592eade8c0668694149a2",
      "parents": [
        "e7834f937b18666f48dce6bf0ac316e5df902b1f"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue May 05 20:21:21 2026 +1000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 05 18:21:21 2026 +0800"
      },
      "message": "GROOVY-11987: groovydoc CLI fails with \"Unsupported Java Version: false\" when --javaVersion omitted (#2511)"
    },
    {
      "commit": "e7834f937b18666f48dce6bf0ac316e5df902b1f",
      "tree": "909570ba25598db914e35c55464f332968b873b8",
      "parents": [
        "80160d65149d0cbebb0111748aec0d90f9c0902c"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Tue May 05 00:32:18 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Tue May 05 00:32:18 2026 +0900"
      },
      "message": "Remove duplicated `SystemRegistryImpl` already included in jline\n"
    },
    {
      "commit": "80160d65149d0cbebb0111748aec0d90f9c0902c",
      "tree": "4792886074608ba100996a5ce2c6131d6e38009f",
      "parents": [
        "f71bbea6fd7c352fb313d112f8915589a1c7b137"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Tue May 05 00:21:40 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Tue May 05 00:21:40 2026 +0900"
      },
      "message": "Remove \"@deprecated\" in javadoc\n"
    },
    {
      "commit": "f71bbea6fd7c352fb313d112f8915589a1c7b137",
      "tree": "facbdb43bd941eaee951798c367943c16aed064e",
      "parents": [
        "0fc45f4bf6540397564411815a11c1d8382092b7"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Tue May 05 00:14:19 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Tue May 05 00:14:19 2026 +0900"
      },
      "message": "GROOVY-11992: Bump org.apache.maven.resolver:maven-resolver-supplier-mvn4: 2.0.16 → 2.0.17\n"
    },
    {
      "commit": "0fc45f4bf6540397564411815a11c1d8382092b7",
      "tree": "55e06b64855079c617e52af591f1062d689019d9",
      "parents": [
        "e0270618253fb3ab6b88a3df07f6af46b86f7a0c"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Tue May 05 00:11:35 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Tue May 05 00:11:35 2026 +0900"
      },
      "message": "GROOVY-11991: Bump jline to 4.0.14\n"
    },
    {
      "commit": "e0270618253fb3ab6b88a3df07f6af46b86f7a0c",
      "tree": "a6e3b75398a1d1f90679d7d5d0b21a0efc848560",
      "parents": [
        "3ccf055a8e0443f586832c8c92bc48acf259ac87"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Tue May 05 00:09:01 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Tue May 05 00:09:01 2026 +0900"
      },
      "message": "GROOVY-11990: Bump jackson to 2.21.3\n"
    },
    {
      "commit": "3ccf055a8e0443f586832c8c92bc48acf259ac87",
      "tree": "77d009ba4c05c0d10a1dcee61e6fe5f0ce528051",
      "parents": [
        "88c227f7e0c025699cc8b72ff6c0a90c83c83dea"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Tue May 05 00:04:43 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Tue May 05 00:04:43 2026 +0900"
      },
      "message": "GROOVY-11989: Bump com.github.javaparser:javaparser-core: 3.28.0 → 3.28.1\n"
    },
    {
      "commit": "88c227f7e0c025699cc8b72ff6c0a90c83c83dea",
      "tree": "d98be1608a54e1d943a29de14e3adda95139f8b3",
      "parents": [
        "36870fa03c9f07d629ba7b4ebcc279d60cfc65cd"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon May 04 22:17:24 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon May 04 22:17:24 2026 +1000"
      },
      "message": "fix test flakiness\n"
    },
    {
      "commit": "36870fa03c9f07d629ba7b4ebcc279d60cfc65cd",
      "tree": "70961876725fc5233464fe9a3b8613929ab00435",
      "parents": [
        "95283c8e8ee7c0483f9a42b0f57d9b8bd4e71248"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon May 04 22:06:56 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon May 04 22:06:56 2026 +1000"
      },
      "message": "add testcase for GROOVY-11202\n"
    },
    {
      "commit": "95283c8e8ee7c0483f9a42b0f57d9b8bd4e71248",
      "tree": "42e068f8a8baaf6fa9bfb6ae821484bb16300d33",
      "parents": [
        "9ccd6a713bc8b006933100761b7a452b86acc563"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon May 04 21:26:35 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon May 04 21:26:35 2026 +1000"
      },
      "message": "possible testlens fix for JDK25\n"
    },
    {
      "commit": "9ccd6a713bc8b006933100761b7a452b86acc563",
      "tree": "3ca45d78cfab5ab5a4463a15cbc47ca6b5951b43",
      "parents": [
        "5cbb8f4225f27101685d1fda3b1938d293ef4f17"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Mon May 04 18:06:57 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Mon May 04 18:06:57 2026 +0900"
      },
      "message": "Add missing javadoc\n"
    },
    {
      "commit": "5cbb8f4225f27101685d1fda3b1938d293ef4f17",
      "tree": "8eb4afffa86b7d3693647d1f4ad8ff2385455ce0",
      "parents": [
        "76a77742a9aac87692ad6c896419af737a70b6fe"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Mon May 04 17:26:28 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Mon May 04 17:26:28 2026 +0900"
      },
      "message": "Avoid setup TestLens for Java25 build\n"
    },
    {
      "commit": "76a77742a9aac87692ad6c896419af737a70b6fe",
      "tree": "1e2f27330ac7017a339a4fc2ff697683eafb47b2",
      "parents": [
        "43a931fb038649f73bf77ee01aeb718e061a6927"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Mon May 04 17:13:12 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Mon May 04 17:13:12 2026 +0900"
      },
      "message": "Remove `@Deprecated` added by accident\n"
    },
    {
      "commit": "43a931fb038649f73bf77ee01aeb718e061a6927",
      "tree": "2f9a235b814d81c9fa7a42bdb0a0bb11a70289a9",
      "parents": [
        "f5057e78f445110fae91c9c175d55ed709f06f10"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Mon May 04 16:36:45 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Mon May 04 16:37:52 2026 +0900"
      },
      "message": "Enhance type resolution for groovydoc\n"
    },
    {
      "commit": "f5057e78f445110fae91c9c175d55ed709f06f10",
      "tree": "1bc0be09bdd481b93e8534315975610dd918acb1",
      "parents": [
        "de3b42fc9be962676028c1b92980b44bf287a8ba"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon May 04 17:14:05 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon May 04 17:14:05 2026 +1000"
      },
      "message": "add testlens to build (cont\u0027d)\n"
    },
    {
      "commit": "de3b42fc9be962676028c1b92980b44bf287a8ba",
      "tree": "2fa8407ce1e58f2c88ffdb362931de11041b22eb",
      "parents": [
        "c4b936b3573c6400a9bbd73e3b906a488507868f"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon May 04 17:10:48 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon May 04 17:10:54 2026 +1000"
      },
      "message": "add testlens to build\n"
    },
    {
      "commit": "c4b936b3573c6400a9bbd73e3b906a488507868f",
      "tree": "397c91d4caf6b292f3f020e15dc2d99d8cac3577",
      "parents": [
        "159c9839d95266915a08e1eb2fe7def4db1e79ae"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Mon May 04 15:14:42 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Mon May 04 15:44:38 2026 +0900"
      },
      "message": "Add missing javadoc\n"
    },
    {
      "commit": "159c9839d95266915a08e1eb2fe7def4db1e79ae",
      "tree": "97d2f6f2537eb69dc49618e16762e85c7f2be4b3",
      "parents": [
        "40efb0b418cfe6f9637baef2768ce9c613dba21c"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Mon May 04 14:08:09 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Mon May 04 14:19:48 2026 +0900"
      },
      "message": "Add missing javadoc\n"
    },
    {
      "commit": "40efb0b418cfe6f9637baef2768ce9c613dba21c",
      "tree": "b19ac8123abae26399321b0cc2dba73feccdf05e",
      "parents": [
        "4b9fcfeb4a850421d64a4c87fbd6674656734afa"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Mon May 04 13:38:28 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Mon May 04 13:38:44 2026 +0900"
      },
      "message": "Add missing javadoc\n"
    },
    {
      "commit": "4b9fcfeb4a850421d64a4c87fbd6674656734afa",
      "tree": "1f8dce0171633890f8e4299764f26d7a62a4a7f4",
      "parents": [
        "ae8c9c025c055764c9405734fd8876aae73d12a3"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon May 04 14:24:48 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon May 04 14:25:37 2026 +1000"
      },
      "message": "fix build\n"
    },
    {
      "commit": "ae8c9c025c055764c9405734fd8876aae73d12a3",
      "tree": "9860e022303f970646ae759beb5f707ea6671612",
      "parents": [
        "a4caaa4ba5f3a6de2cd2c050eaa3b04570838b58"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Mon May 04 10:12:25 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Mon May 04 10:12:25 2026 +0900"
      },
      "message": "Tweak javadoc for `getParamTypes`\n"
    },
    {
      "commit": "a4caaa4ba5f3a6de2cd2c050eaa3b04570838b58",
      "tree": "2d8193310bfa99ea32f5f9ed3b052c17d737feea",
      "parents": [
        "999f6dcd81963977f826cb22440c0c7aed287d08"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sun May 03 14:01:24 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon May 04 09:36:27 2026 +1000"
      },
      "message": "GROOVY-11986: genericGetMethod registration too permissive: matches any get(X) where X is a supertype of String (test)\n"
    },
    {
      "commit": "999f6dcd81963977f826cb22440c0c7aed287d08",
      "tree": "7353cf0c545cc506f91a1452d7d2282ee0b2a6bd",
      "parents": [
        "0f692ec17fe435049696cf9b43d36e00e4ab55c5"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sun May 03 14:01:12 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon May 04 09:36:27 2026 +1000"
      },
      "message": "GROOVY-11986: genericGetMethod registration too permissive: matches any get(X) where X is a supertype of String\n"
    },
    {
      "commit": "0f692ec17fe435049696cf9b43d36e00e4ab55c5",
      "tree": "dbb1a557498ff4be7da847d6f790216ef4aa3baf",
      "parents": [
        "e3f318ef717a4d010a5ea4487aa79e28319fe789"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon May 04 08:13:13 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon May 04 08:13:13 2026 +1000"
      },
      "message": "GROOVY-11983: STC: unsound smart-cast in else branch of if (cond \u0026\u0026 !(x instanceof Y))  (improved NOT handling)\n"
    },
    {
      "commit": "e3f318ef717a4d010a5ea4487aa79e28319fe789",
      "tree": "5be87e2995dcf07d714aa5fa7521f16f5f1bc530",
      "parents": [
        "404990169b2ebea9386c9caa27fd5cc4d5b572bc"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Mon May 04 03:32:11 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Mon May 04 03:32:11 2026 +0900"
      },
      "message": "Add missing javadoc\n"
    },
    {
      "commit": "404990169b2ebea9386c9caa27fd5cc4d5b572bc",
      "tree": "9b7dd20ca1968ba44d60b677b0577450be515895",
      "parents": [
        "d9e6ae18154a6e4ad25c645b6bf33a78709282a9"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Mon May 04 03:03:10 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Mon May 04 03:03:10 2026 +0900"
      },
      "message": "Add missing javadoc\n"
    },
    {
      "commit": "d9e6ae18154a6e4ad25c645b6bf33a78709282a9",
      "tree": "0f35a41ce9853aea0b88b166164ff38b94bb0049",
      "parents": [
        "2681943576f6bf5dea7ac1aa1d5a67a48b48263e"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Mon May 04 01:38:11 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Mon May 04 02:44:48 2026 +0900"
      },
      "message": "Add missing javadoc\n"
    },
    {
      "commit": "2681943576f6bf5dea7ac1aa1d5a67a48b48263e",
      "tree": "92cc73c5a59fb9bdc24177eef7153e6d4a7a6b3c",
      "parents": [
        "52fc245a9488f2897d0764161f8b3e84d5c02d70"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Mon May 04 00:20:21 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Mon May 04 00:34:20 2026 +0900"
      },
      "message": "Add missing package-info\n"
    },
    {
      "commit": "52fc245a9488f2897d0764161f8b3e84d5c02d70",
      "tree": "7c9872417d5fd5818eeb98b4139378f3fb17350d",
      "parents": [
        "664e81733d856c4e12c6b7456490f235ec7910e0"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sun May 03 22:32:26 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sun May 03 22:32:26 2026 +0900"
      },
      "message": "Add missing package-info\n"
    },
    {
      "commit": "664e81733d856c4e12c6b7456490f235ec7910e0",
      "tree": "44631da81b98b62773177efbd5aef9849f78c610",
      "parents": [
        "703121d9aae5f0de7d7ff3db9433e3f0630a1f28"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sun May 03 21:54:56 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sun May 03 21:54:56 2026 +0900"
      },
      "message": "Fix javadoc warnings\n"
    },
    {
      "commit": "703121d9aae5f0de7d7ff3db9433e3f0630a1f28",
      "tree": "aed7735e7d61c7e045801e09171a17dea861e696",
      "parents": [
        "8b934f6f0af0ddfb0ceb918b346237dd32a8047f"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sun May 03 21:21:05 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sun May 03 21:21:05 2026 +0900"
      },
      "message": "Rename package-info.java to package-info.groovy\n"
    },
    {
      "commit": "8b934f6f0af0ddfb0ceb918b346237dd32a8047f",
      "tree": "32660bc035b4a31d42b27d2df2df562d5465aad2",
      "parents": [
        "a029b89a7a52504aa4697657cdea92efb1a09974"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sun May 03 20:33:36 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sun May 03 20:40:16 2026 +0900"
      },
      "message": "Add missing package-info\n"
    },
    {
      "commit": "a029b89a7a52504aa4697657cdea92efb1a09974",
      "tree": "da389088416482aec361372245059dcc9bc7320e",
      "parents": [
        "3c38dd3977eac000def7b275100f72e93214550d"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sun May 03 15:18:05 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sun May 03 16:01:25 2026 +1000"
      },
      "message": "minor refactor: fix javadoc warnings\n"
    },
    {
      "commit": "3c38dd3977eac000def7b275100f72e93214550d",
      "tree": "e6f4622b90b4350ad34f5b0362ab6667d7086f32",
      "parents": [
        "af95d66d4592caffe7a749dab1af6dbb8dbc0fbb"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sun May 03 01:22:24 2026 +0000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sun May 03 14:07:57 2026 +1000"
      },
      "message": "Bump com.gradle.develocity from 4.4.0 to 4.4.1\n\nBumps com.gradle.develocity from 4.4.0 to 4.4.1.\n\n---\nupdated-dependencies:\n- dependency-name: com.gradle.develocity\n  dependency-version: 4.4.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "af95d66d4592caffe7a749dab1af6dbb8dbc0fbb",
      "tree": "edbd4a0e64ef469cfa30c8a74ddcba7dc20386da",
      "parents": [
        "88ca738c8940882e7c878c114d173255b81f7fe6"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sun May 03 11:25:44 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sun May 03 13:47:31 2026 +1000"
      },
      "message": "GROOVY-11983: STC: unsound smart-cast in else branch of if (cond \u0026\u0026 !(x instanceof Y))\n"
    },
    {
      "commit": "88ca738c8940882e7c878c114d173255b81f7fe6",
      "tree": "c1a18354196cd6c8605a94ede3df23e040078497",
      "parents": [
        "e6e11c14f50fc463bb45898251b6634d1763ad07"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sun May 03 09:16:41 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sun May 03 11:15:28 2026 +1000"
      },
      "message": "GROOVY-11982: Default methods in interface throw IncompatibleClassChangeError under indy\u003dfalse\n"
    },
    {
      "commit": "e6e11c14f50fc463bb45898251b6634d1763ad07",
      "tree": "58073447eec96d3001af43e36cc4362b8aef218f",
      "parents": [
        "d652391d23f721c4b65dcfb0d65fafd422b030ec"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sun May 03 07:59:42 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sun May 03 08:39:27 2026 +1000"
      },
      "message": "GROOVY-11979: Consolidate XML factory hardening and document secure-by-default parsing (Part 3)\n"
    },
    {
      "commit": "d652391d23f721c4b65dcfb0d65fafd422b030ec",
      "tree": "90ef984f2839407ca19c4abfd03cf407e24a37ed",
      "parents": [
        "9f54c3d580ccbc235324101da3e7e5d6504cf607"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sun May 03 07:28:50 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sun May 03 08:39:27 2026 +1000"
      },
      "message": "GROOVY-11979: Consolidate XML factory hardening and document secure-by-default parsing (Part 2)\n"
    },
    {
      "commit": "9f54c3d580ccbc235324101da3e7e5d6504cf607",
      "tree": "baf8392a36de7827d7c187781510b2b4b56832b0",
      "parents": [
        "ced726ce38d8830ba35ca1f07c132998b4303738"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sun May 03 07:01:25 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sun May 03 08:39:27 2026 +1000"
      },
      "message": "GROOVY-11979: Consolidate XML factory hardening and document secure-by-default parsing (Part 1)\n"
    },
    {
      "commit": "ced726ce38d8830ba35ca1f07c132998b4303738",
      "tree": "92e91a351307e0e67119b6010d62820071d272af",
      "parents": [
        "78bd8bc6be74606ff4d9253360d5ee08c2fc8799"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sun May 03 07:29:38 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sun May 03 08:11:55 2026 +1000"
      },
      "message": "GROOVY-11980: @AutoClone clone() override adds CloneNotSupportedException not declared by superclass\n"
    },
    {
      "commit": "78bd8bc6be74606ff4d9253360d5ee08c2fc8799",
      "tree": "055fe78d0d353503e1fadfb081630eac6fff002b",
      "parents": [
        "a47cf9653162be47eedd30f44946723804a3fd54"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sun May 03 05:02:06 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sun May 03 05:02:06 2026 +0900"
      },
      "message": "Add missing javadoc\n"
    },
    {
      "commit": "a47cf9653162be47eedd30f44946723804a3fd54",
      "tree": "ad8fdec739ea66b06bd99456db450274aafb8766",
      "parents": [
        "ad71192a3ee2ecd1db1b1289a0081a1d5305973c"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sun May 03 03:49:19 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sun May 03 03:49:19 2026 +0900"
      },
      "message": "Restore `equals` deleted by accident\n"
    },
    {
      "commit": "ad71192a3ee2ecd1db1b1289a0081a1d5305973c",
      "tree": "36c1f3f55809315df6cc47107b9c08f915acf317",
      "parents": [
        "c12832e882365da8eccd84df9844f758318d3bed"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sun May 03 03:37:17 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sun May 03 03:37:17 2026 +0900"
      },
      "message": "Add missing javadoc\n"
    },
    {
      "commit": "c12832e882365da8eccd84df9844f758318d3bed",
      "tree": "29dcab4cf6bea63096bac8aaad461ece91190bef",
      "parents": [
        "39ab9b2413265bf70b3598871c84bc91ed0ef685"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sun May 03 01:50:30 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sun May 03 01:50:30 2026 +0900"
      },
      "message": "Add missing javadoc\n"
    },
    {
      "commit": "39ab9b2413265bf70b3598871c84bc91ed0ef685",
      "tree": "4337ee8c85e6ed1b3493a0251778f4cbf8c24708",
      "parents": [
        "8e066531c9fda74e37b5f495a26800768653bf46"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sun May 03 00:45:11 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sun May 03 00:56:51 2026 +0900"
      },
      "message": "Tweak javadoc\n"
    },
    {
      "commit": "8e066531c9fda74e37b5f495a26800768653bf46",
      "tree": "97b47a4d6c6c7c080cbfce0f4447e0e2b13daf0a",
      "parents": [
        "069282f7674fed85fe6f417039373f465ad16df0"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sun May 03 00:20:31 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sun May 03 00:28:53 2026 +0900"
      },
      "message": "Tweak javadoc\n"
    },
    {
      "commit": "069282f7674fed85fe6f417039373f465ad16df0",
      "tree": "06886d1408768793db7c275fab9d49f34b48c0aa",
      "parents": [
        "3fc15e04cbe48d7a838f59a1b9970e7ae5b3819f"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sat May 02 23:49:27 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sat May 02 23:49:27 2026 +0900"
      },
      "message": "Trivial refactor: remove unnecessary casting\n"
    },
    {
      "commit": "3fc15e04cbe48d7a838f59a1b9970e7ae5b3819f",
      "tree": "3ddcb0eb37a061db09900ed8097702803b49f9cd",
      "parents": [
        "7a055c9a885f61a94585c6ae51b10124c9688a88"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sat May 02 23:30:31 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sat May 02 23:30:31 2026 +0900"
      },
      "message": "Trivial refactor: use type inference for Set\n"
    },
    {
      "commit": "7a055c9a885f61a94585c6ae51b10124c9688a88",
      "tree": "2104c075bcecc42827fc88811ad9317e236d04c7",
      "parents": [
        "a6b9afe620fa6c0bb33401a00275460c29ff20d8"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sat May 02 23:08:17 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sat May 02 23:08:17 2026 +0900"
      },
      "message": "Trivial refactor: use switch expression instead\n"
    },
    {
      "commit": "a6b9afe620fa6c0bb33401a00275460c29ff20d8",
      "tree": "9fbb7f957d3e3571f34f520fb6050848432d6ba7",
      "parents": [
        "a19bc8e1b0ab8e71eecef402e5720731903137cf"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sat May 02 23:06:50 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sat May 02 23:06:50 2026 +0900"
      },
      "message": "Trivial refactor: use collection factory call instead\n"
    },
    {
      "commit": "a19bc8e1b0ab8e71eecef402e5720731903137cf",
      "tree": "f679ab6edc129467459423abd4c18ad6159d8413",
      "parents": [
        "7361715ac4c57b7c48fb5f86d7bf18178f7fb431"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sat May 02 23:01:15 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sat May 02 23:01:15 2026 +0900"
      },
      "message": "Trivial refactor: remove unnecessary unboxing\n"
    },
    {
      "commit": "7361715ac4c57b7c48fb5f86d7bf18178f7fb431",
      "tree": "943b3d3d9b0593a83c218edd740579262e784efe",
      "parents": [
        "2be80cc4ebbe1d2f700752e2f774b01c9298b705"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sat May 02 23:00:23 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sat May 02 23:00:23 2026 +0900"
      },
      "message": "Trivial refactor: use `contains` instead\n"
    },
    {
      "commit": "2be80cc4ebbe1d2f700752e2f774b01c9298b705",
      "tree": "b849ffbc35e30b9fab614f48d98c5b32ce69fd5c",
      "parents": [
        "07cbf92576b465db27c39d1e5e07abb3dc293d2d"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sat May 02 22:57:56 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sat May 02 22:57:56 2026 +0900"
      },
      "message": "Trivial refactor: use pattern variable instead\n"
    },
    {
      "commit": "07cbf92576b465db27c39d1e5e07abb3dc293d2d",
      "tree": "f082bcdf19bcc80250a64cb8275ba80a11698e3a",
      "parents": [
        "99bd90ad6d05095c7d389fd94e58c81faab9096e"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat May 02 23:00:33 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat May 02 23:00:40 2026 +1000"
      },
      "message": "tweak for windows test stability\n"
    },
    {
      "commit": "99bd90ad6d05095c7d389fd94e58c81faab9096e",
      "tree": "56701d3a6dd22bf2bbb9f91a98c44e32fa77b9ef",
      "parents": [
        "c0e70da16ba4853b1060e55c86c5ddb662aa7245"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sat May 02 21:47:49 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sat May 02 21:47:49 2026 +0900"
      },
      "message": "Tweak javadoc\n"
    },
    {
      "commit": "c0e70da16ba4853b1060e55c86c5ddb662aa7245",
      "tree": "604a87d556ebd8b009e9724cf6ac0c073c3fe73c",
      "parents": [
        "4654b1134b5c3f5d7a8277f150f16ae430521ad9"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sat May 02 21:35:47 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sat May 02 21:35:47 2026 +0900"
      },
      "message": "Tweak javadoc\n"
    },
    {
      "commit": "4654b1134b5c3f5d7a8277f150f16ae430521ad9",
      "tree": "39698bde6c8ac99ba2b96a5875d85788248ff5a7",
      "parents": [
        "ce3dc199bcb46823bdc329c6f42e074e5c0154f0"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat May 02 22:26:10 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat May 02 22:26:10 2026 +1000"
      },
      "message": "@since versions\n"
    },
    {
      "commit": "ce3dc199bcb46823bdc329c6f42e074e5c0154f0",
      "tree": "d8f7c1736ca285952e629f3098dc41f1d91c6f5e",
      "parents": [
        "0ecf1947e6cb95482ea4502352d461acfc03d26b"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat May 02 22:25:42 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat May 02 22:25:49 2026 +1000"
      },
      "message": "@since versions\n"
    },
    {
      "commit": "0ecf1947e6cb95482ea4502352d461acfc03d26b",
      "tree": "e7dc35f9973a2c8b52e6cbebc100de7cfab010bb",
      "parents": [
        "2d5452117619ba13b157ec72365d3006a4643b0e"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sat May 02 20:43:32 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sat May 02 20:43:32 2026 +0900"
      },
      "message": "Update dependency metadata\n"
    },
    {
      "commit": "2d5452117619ba13b157ec72365d3006a4643b0e",
      "tree": "56b2cf441cda4d307691cbe131bb593b5520900a",
      "parents": [
        "387e236fbbac0f8a7d79296779c8bcee395fe2b2"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sat May 02 19:08:58 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sat May 02 19:09:12 2026 +0900"
      },
      "message": "Add missing javadoc\n"
    },
    {
      "commit": "387e236fbbac0f8a7d79296779c8bcee395fe2b2",
      "tree": "0de106d48a1f8898f411034d3e8091dd332dd9ba",
      "parents": [
        "f3d8eef3a0a21cdbaaefba48368ab3dfd8e00849"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat May 02 19:43:32 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat May 02 19:44:14 2026 +1000"
      },
      "message": "GROOVY-11978: RootLoader returns duplicate resource URLs when the same jar appears on parent and child classpaths\n"
    },
    {
      "commit": "f3d8eef3a0a21cdbaaefba48368ab3dfd8e00849",
      "tree": "d4839739c1aac674a084feb593794f861fd4b52a",
      "parents": [
        "eb91821cf96b5e41d6fdcedc45e4797e6ddcd8c4"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sat May 02 18:19:27 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sat May 02 18:19:27 2026 +0900"
      },
      "message": "Add missing javadoc\n"
    },
    {
      "commit": "eb91821cf96b5e41d6fdcedc45e4797e6ddcd8c4",
      "tree": "9e4130865bfddcc7362fae911ab493f9ef53f1e6",
      "parents": [
        "056ea54c6799ccb4f2acc63c3cc2bc8c63be6957"
      ],
      "author": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sat May 02 17:55:48 2026 +0900"
      },
      "committer": {
        "name": "Daniel Sun",
        "email": "sunlan@apache.org",
        "time": "Sat May 02 17:55:48 2026 +0900"
      },
      "message": "Add missing javadoc\n"
    },
    {
      "commit": "056ea54c6799ccb4f2acc63c3cc2bc8c63be6957",
      "tree": "374af36a6970a8c4c9ef6a0467a7f14119f091b8",
      "parents": [
        "7b26481c705ac75deef8da1c6a5fd387d201b177"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat May 02 16:14:14 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat May 02 16:14:14 2026 +1000"
      },
      "message": "minor refactor: fix version typo\n"
    },
    {
      "commit": "7b26481c705ac75deef8da1c6a5fd387d201b177",
      "tree": "799098a7ae6c0667a4b2449f1028f8f232150a59",
      "parents": [
        "9c23ae1393e739002a7fed31aec729e2d5545ac4"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Apr 28 22:08:01 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat May 02 16:04:29 2026 +1000"
      },
      "message": "GROOVY-11970: Provide support for compound assignment operator overloading (GEP-15)\n"
    },
    {
      "commit": "9c23ae1393e739002a7fed31aec729e2d5545ac4",
      "tree": "5bac1cb14bb446764cdd30e254673342c9ce1544",
      "parents": [
        "57662d1a1aa870434d3b5e40389840f482b34938"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed Apr 29 11:56:33 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat May 02 15:51:15 2026 +1000"
      },
      "message": "GROOVY-11976: stub generation should better account for the shape that will exist after later transforms run when known\n"
    },
    {
      "commit": "57662d1a1aa870434d3b5e40389840f482b34938",
      "tree": "3ad3bc89a27f7b7948808a2f9b579953afcbc757",
      "parents": [
        "42b9d17edfbccb8d8af261683c487a5fac0eeca9"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat May 02 09:20:01 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat May 02 15:50:15 2026 +1000"
      },
      "message": "GROOVY-11978: RootLoader duplicates the core jar already on the bootstrap classpath\n"
    },
    {
      "commit": "42b9d17edfbccb8d8af261683c487a5fac0eeca9",
      "tree": "be11e70a50cedfcf66643c1007ff8e865aec150d",
      "parents": [
        "3e45a30aa374eb876d38e3e032fa705d1bbc483f"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Apr 28 16:25:01 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat May 02 15:47:45 2026 +1000"
      },
      "message": "GROOVY-11770: StackOverflowError processing generics for kubernetes-client library (cycle guard instead of try/catch)\n"
    },
    {
      "commit": "3e45a30aa374eb876d38e3e032fa705d1bbc483f",
      "tree": "9f8ec367fdabd3aa5e2af464ac7a19dabe6d2c49",
      "parents": [
        "cd3296b8d6ab2810669ec61d41ce000614ae32fb"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat May 02 12:41:28 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat May 02 12:41:28 2026 +1000"
      },
      "message": "minor refactor: fix asciidoc link\n"
    },
    {
      "commit": "cd3296b8d6ab2810669ec61d41ce000614ae32fb",
      "tree": "16fa62f537a7177626d831c7aa3d2e7316cec572",
      "parents": [
        "30908a55bcd76cb4e12266b4948643cc892e5a0e"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat May 02 10:19:21 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat May 02 10:19:21 2026 +1000"
      },
      "message": "GEP-16/GEP-20 overlap cleanup now that both are merged.\n"
    }
  ],
  "next": "30908a55bcd76cb4e12266b4948643cc892e5a0e"
}
