)]}'
{
  "log": [
    {
      "commit": "12225456bac824ef1e437b3c50afeee9697c6658",
      "tree": "e53ddd4c1699879ca1437383d30642af0ca824b3",
      "parents": [
        "f6d5a2109d8cd503c0ef4753faa8a81fb4bbae0e"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Nov 02 10:34:02 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Nov 02 12:25:45 2026 +1000"
      },
      "message": "Groovy plus Flink plus TornadoVM\n"
    },
    {
      "commit": "f6d5a2109d8cd503c0ef4753faa8a81fb4bbae0e",
      "tree": "b456a841406d58589dfbf7fa5a6b421876abe266",
      "parents": [
        "05e2f6b4a5faa86e2ae078cdc8eefed33fe382a5"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Nov 02 10:30:29 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Nov 02 10:30:29 2026 +1000"
      },
      "message": "minor updates on versions\n"
    },
    {
      "commit": "05e2f6b4a5faa86e2ae078cdc8eefed33fe382a5",
      "tree": "d6c2a8bb200bf707e4e338127c6c05204641c421",
      "parents": [
        "11e2f77276c1caca63993e008ade3b07f13b3084"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed Oct 28 14:19:53 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed Oct 28 14:32:31 2026 +1000"
      },
      "message": "Groovy and TornadoVM\n"
    },
    {
      "commit": "11e2f77276c1caca63993e008ade3b07f13b3084",
      "tree": "9dbbf28378fbd1d9fd99dc3f75bc1d0a2f520864",
      "parents": [
        "2bec2023d8f52e6a7743e202c09fbd70e46d9ff8"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sun Oct 25 09:10:32 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sun Oct 25 09:10:32 2026 +1000"
      },
      "message": "update TM -\u003e R\n"
    },
    {
      "commit": "2bec2023d8f52e6a7743e202c09fbd70e46d9ff8",
      "tree": "e754f120eba8791ce8eacaa266349e5595f32801",
      "parents": [
        "ffc3e96add754a534ded1e87e4ed084c95fb1c61"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Oct 24 12:56:00 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Oct 24 12:56:00 2026 +1000"
      },
      "message": "update for Groovy 6.0\n"
    },
    {
      "commit": "ffc3e96add754a534ded1e87e4ed084c95fb1c61",
      "tree": "633cb845921117a9e5b3f32993fb488ef644af5c",
      "parents": [
        "51873db9df436442963484f68b927538719c411e"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri Oct 23 13:48:17 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri Oct 23 13:48:17 2026 +1000"
      },
      "message": "ClearSplit app: move screenshots to their own respective sections\n"
    },
    {
      "commit": "51873db9df436442963484f68b927538719c411e",
      "tree": "14eb47da82d8e3d57936490c4223edcb617e35d0",
      "parents": [
        "da4ce5533087ea364136d325d42139a024c18dd8"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri Oct 23 13:05:51 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri Oct 23 13:05:51 2026 +1000"
      },
      "message": "ClearSplit app blog post\n"
    },
    {
      "commit": "da4ce5533087ea364136d325d42139a024c18dd8",
      "tree": "7d51da63f9470f5cc67ec470ce2b0f676409f49c",
      "parents": [
        "8761f99c19375d7edca340e8c83e665a4f8fd1a6"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri Oct 23 12:57:24 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri Oct 23 12:57:24 2026 +1000"
      },
      "message": "ClearSplit app blog post\n"
    },
    {
      "commit": "8761f99c19375d7edca340e8c83e665a4f8fd1a6",
      "tree": "5da33341e6c6f13d1339dc74270db9b802dd1c73",
      "parents": [
        "8549af1401b59f25aff521596edf7fa61abe59eb"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri Oct 23 03:20:05 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri Oct 23 03:20:05 2026 +1000"
      },
      "message": "updates for GEP-19 to align with the proposed PR (3 latter commits on the PR)\n"
    },
    {
      "commit": "8549af1401b59f25aff521596edf7fa61abe59eb",
      "tree": "d0543a0d784a697a2ba31541142c7256cf04f594",
      "parents": [
        "f92c2b50814c0dd9f72e1503d46b09143f8bdee2"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed Oct 21 20:12:01 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed Oct 21 20:12:01 2026 +1000"
      },
      "message": "updates for GEP-19 to align with the proposed PR\n"
    },
    {
      "commit": "f92c2b50814c0dd9f72e1503d46b09143f8bdee2",
      "tree": "ff408439a110770d3f04c1de0947dd9f449fbf66",
      "parents": [
        "93bd3010c0784931602713d38aae7f7c9f21f4cb"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed Oct 21 05:46:57 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed Oct 21 05:46:57 2026 +1000"
      },
      "message": "remove the \"under investigation\" placeholder\n"
    },
    {
      "commit": "93bd3010c0784931602713d38aae7f7c9f21f4cb",
      "tree": "78d72c300c5f0e555a8de734216384287c7a621e",
      "parents": [
        "2b7c4ff213ad16a52cdebebde6a6b40ce97ce8f1"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Oct 20 20:26:44 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Oct 20 20:26:44 2026 +1000"
      },
      "message": "Add a blog about openclover (minor tweaks)\n"
    },
    {
      "commit": "2b7c4ff213ad16a52cdebebde6a6b40ce97ce8f1",
      "tree": "6b64a5120d6495ee3498d0c7d3243bdd8df12994",
      "parents": [
        "058b040d1fe814b6e0153a1bb54f93627d030b6f"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Oct 20 20:08:19 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Oct 20 20:08:19 2026 +1000"
      },
      "message": "Add a blog about openclover\n"
    },
    {
      "commit": "058b040d1fe814b6e0153a1bb54f93627d030b6f",
      "tree": "b8b67cf1cafe9e836901fb9e1ec4c89d1c93046f",
      "parents": [
        "a483424a4000ff1485de5e128acc33e816ac33f3"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Oct 20 10:23:17 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Oct 20 10:23:17 2026 +1000"
      },
      "message": "Draft GEP for a Restricted Compiler Profile. We know how you can lock things down - disabling Grab, using SecureASTCustomizer etc. but this would make it easy so embedders can easily lock it down when they want to.\n"
    },
    {
      "commit": "a483424a4000ff1485de5e128acc33e816ac33f3",
      "tree": "25769ff3c87c7d40386f10625e84b3bb5bb05957",
      "parents": [
        "be8698962e128970bbc432dae7b64b62fbdbba1f"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sun Oct 18 13:13:44 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sun Oct 18 13:13:52 2026 +1000"
      },
      "message": "update Groovy AI blog (added hosted model examples (OpenRouter, llmao gateway), Groovy 6\u0027s declarative HTTP client and parallel provider comparison, `MarkdownSlurper` structured output, and a decision model example.)\n"
    },
    {
      "commit": "be8698962e128970bbc432dae7b64b62fbdbba1f",
      "tree": "f8d5413e46c58a902152c0560922dfe494a5fc71",
      "parents": [
        "c55e3a7106f58b22e75551ed7d3dff1c500f9d13"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri Oct 09 00:12:17 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri Oct 09 00:12:17 2026 +1000"
      },
      "message": "minor adjustments for what went in 6.0.0\n"
    },
    {
      "commit": "c55e3a7106f58b22e75551ed7d3dff1c500f9d13",
      "tree": "0c92c283bba6b428000da25f3bdb39486b5e0157",
      "parents": [
        "7888a824a634fbebac25fcc4f487260dd1124c2d"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Sep 26 16:00:46 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Sep 26 16:00:46 2026 +1000"
      },
      "message": "add windows installers\n"
    },
    {
      "commit": "7888a824a634fbebac25fcc4f487260dd1124c2d",
      "tree": "f9b865c6107295e4fbd9c88d121345e54827f6d2",
      "parents": [
        "eb0d827c7e6bc9197b5a5d985a3965b6f3f9780e"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed Sep 23 14:16:07 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed Sep 23 14:16:07 2026 +1000"
      },
      "message": "fix link\n"
    },
    {
      "commit": "eb0d827c7e6bc9197b5a5d985a3965b6f3f9780e",
      "tree": "374872e7455e8f7fea2ef4c31b8c9d894eae7203",
      "parents": [
        "a1ad9006f26eadf15e7548ad3d8ffeb8cc040b94"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed Sep 23 13:57:07 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed Sep 23 13:57:07 2026 +1000"
      },
      "message": "fix links\n"
    },
    {
      "commit": "a1ad9006f26eadf15e7548ad3d8ffeb8cc040b94",
      "tree": "3c4e5878b8603f7e15da6278220d864234cc1915",
      "parents": [
        "2452c2f2dd104802538bc3c95fef6022e5b74608"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Sep 22 16:09:42 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Sep 22 16:09:42 2026 +1000"
      },
      "message": "remove warning\n"
    },
    {
      "commit": "2452c2f2dd104802538bc3c95fef6022e5b74608",
      "tree": "0de7e20123ebaa0ad1e06cb93f93a66b26d8f271",
      "parents": [
        "01cdf51b360d44f81930ee65ea9a69e383adf232"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Sep 22 14:49:24 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Sep 22 15:06:56 2026 +1000"
      },
      "message": "Release 6.0.0: update sitemap"
    },
    {
      "commit": "01cdf51b360d44f81930ee65ea9a69e383adf232",
      "tree": "1e9ec54fd8c8d27295bf5368397eb550371b9df1",
      "parents": [
        "3ede0682b31b30523c065b954fc295400332b1e8"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Sep 22 14:19:42 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Sep 22 14:29:58 2026 +1000"
      },
      "message": "Release 5.1.3: update sitemap"
    },
    {
      "commit": "3ede0682b31b30523c065b954fc295400332b1e8",
      "tree": "2dd905a38cfb582906547c0cff7998fee055d942",
      "parents": [
        "38ae4c0be053885dd20a55636776c9c9b226a0b5"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Sep 19 07:37:06 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Sep 19 07:37:06 2026 +1000"
      },
      "message": "update Groovy AI blog (add native Micronaut)\n"
    },
    {
      "commit": "38ae4c0be053885dd20a55636776c9c9b226a0b5",
      "tree": "4c7e8b799d05057e91cc5d5c8f8addcf1c2e92eb",
      "parents": [
        "ae141f3793d54c7dc892e681633b9639354f7099"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri Sep 18 23:54:20 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri Sep 18 23:54:20 2026 +1000"
      },
      "message": "update Groovy AI blog (add native Micronaut)\n"
    },
    {
      "commit": "ae141f3793d54c7dc892e681633b9639354f7099",
      "tree": "baa6854e1005ea4747e38f5f9d12d37192c6f460",
      "parents": [
        "28348652c6420e39b2f3922e76c12d1a45492d11"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri Sep 18 15:00:03 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri Sep 18 15:00:10 2026 +1000"
      },
      "message": "add Android blog post\n"
    },
    {
      "commit": "28348652c6420e39b2f3922e76c12d1a45492d11",
      "tree": "56e1083a561063205709f74889c806021cbeefb2",
      "parents": [
        "c89aef9ca643d103556fbefda5bdd01f67d2e54c"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri Sep 18 08:44:44 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri Sep 18 08:44:44 2026 +1000"
      },
      "message": "fix stale links\n"
    },
    {
      "commit": "c89aef9ca643d103556fbefda5bdd01f67d2e54c",
      "tree": "055ee767fdb664bde1702fafe7a54e0506a2f99d",
      "parents": [
        "ea22533d9a3e8cac6ed06fa5445123b69fd9df8c"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri Sep 18 08:24:46 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri Sep 18 08:24:46 2026 +1000"
      },
      "message": "fix version\n"
    },
    {
      "commit": "ea22533d9a3e8cac6ed06fa5445123b69fd9df8c",
      "tree": "0693c0f6380e6b2d1e6c7e6035e9927e1b733038",
      "parents": [
        "6ee1457bb26ca878465a709026830985198fe146"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri Sep 18 08:09:28 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri Sep 18 08:09:35 2026 +1000"
      },
      "message": "latest RC-3 changes\n"
    },
    {
      "commit": "6ee1457bb26ca878465a709026830985198fe146",
      "tree": "f21badf21c5f427574792bbb9b095f8cea5be7f8",
      "parents": [
        "0857fc91f03d5c1c3efad350aa37bc13e946f55b"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri Sep 18 03:31:33 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri Sep 18 06:28:57 2026 +1000"
      },
      "message": "Release 6.0.0-RC-3: update sitemap"
    },
    {
      "commit": "0857fc91f03d5c1c3efad350aa37bc13e946f55b",
      "tree": "2a02aaa2e04fc11b9b0f004c12c8ba676eec41a7",
      "parents": [
        "8a64f6ea3c334626c11704665ef292fd3b83b389"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Sep 17 19:02:10 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Sep 17 19:02:18 2026 +1000"
      },
      "message": "update gatherers examples to Groovy 6\n"
    },
    {
      "commit": "8a64f6ea3c334626c11704665ef292fd3b83b389",
      "tree": "7cb9897232bc0baa6ad4fa9862f40501900050fc",
      "parents": [
        "51671f351f23d85f78c13c71b684d27987feb026"
      ],
      "author": {
        "name": "Keegan Witt",
        "email": "keeganwitt@gmail.com",
        "time": "Tue Sep 15 15:40:30 2026 -0400"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed Sep 16 07:09:29 2026 +1000"
      },
      "message": "Fix archived distribution mirror links\n\nFixes #86\n\nAssisted-by: OpenAI Codex\n"
    },
    {
      "commit": "51671f351f23d85f78c13c71b684d27987feb026",
      "tree": "750d92c10970b10ed30efebf055e34b4ac34f686",
      "parents": [
        "472f1dc3ae8c26a2a0255578421f0aa6f4891854"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Sep 14 17:01:53 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Sep 14 17:01:53 2026 +1000"
      },
      "message": "GEP-19: narrow two carve-outs that overstated the compatibility cost\n\nBoth were checked against the reference implementation and neither\nbreaks as much as the text claimed. In each case the implementation is\nmore backward-compatible than the document, so the document was wrong.\n\nColon-form empty literals. The text said `case []:` and `case [:]:`\nbecome compile-time errors because patterns require the arrow form.\nThey do not: a colon-form label is never read as a pattern, so both keep\ntheir legacy never-matching meaning and nothing that compiles today\nstops compiling. The reinterpretation applies to the arrow spellings\nalone.\n\nCall labels with a wildcard argument. The text gave `case foo(_) -\u003e` as\nthe example. That spelling is unaffected and still calls `foo`. The form\nthat does change is the capitalised one, `case Foo(_) -\u003e` where `Foo`\nnames a method rather than a type, since capitalisation is what tips the\nlabel into being read as a record pattern. Other pattern-shaped\narguments such as `var x` do not parse today, so they claim no existing\nmeaning and are not carve-outs at all.\n\nThe compatibility list is now two items rather than three, says so, and\nthe unchanged-forms table gains rows for lower-case `case foo(_)` and\nthe colon-form empty literals so the distinction is visible where\nreaders look for it.\n"
    },
    {
      "commit": "472f1dc3ae8c26a2a0255578421f0aa6f4891854",
      "tree": "da4414e9f017059fb99acfe3eb4e17c5ebf9c54a",
      "parents": [
        "9dca941b9582e70bcdf7c49cc1c9549cfc5286ad"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Sep 14 15:51:23 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Sep 14 15:56:46 2026 +1000"
      },
      "message": "GEP-19: reconcile the July reference-implementation learnings with the switch-position updates\n\nTwo sets of proposed changes had been written against different bases and\nneither had seen the other. The July branch (gep19refImplLearnings)\nrecorded what building the reference implementation taught us; the\nSeptember commit on asf-site recorded what GROOVY-12399, 12405, 12406 and\n12408 settled about switch position. They are largely complementary.\n\nTaken from July, verified against the current port where checkable:\n\n- Bracket-form assignment `def [...] \u003d expr` deferred pending review.\n  The implementation already omits it, so this is the document catching\n  up rather than a change of scope.\n- Pattern semantics the implementation settled: pattern labels are\n  arrow-only and a colon-form pattern label is an error; patterns and\n  legacy labels mix freely; patterns never match null, so a null subject\n  falls through and a legacy `case null` label still matches it, while\n  within a pattern a typed element does not match null and `var`, `def`\n  and `_` do; list and map matching rules; guards rejected on\n  legacy-shaped labels; the `instanceof` primitive-component divergence.\n- The rewritten Compilation section, including the measured 6x and 1.4x\n  figures and the note that SwitchBootstraps.typeSwitch waits on a\n  JDK 21+ target.\n- The fuller carve-out list, replacing the shorter September version.\n- The more precise JEP 507 row.\n\nKept from September, which July predates entirely:\n\n- Position, exhaustiveness and unmatched values: the rule that position\n  decides, the split whereby an expression is always exhaustive and a\n  statement only when it carries a pattern label, and the runtime\n  answers for an unmatched value and a null selector.\n- The Remaining work section: severity, deconstruction coverage,\n  `case null` as a trigger, control transfer in arrow arms, and the\n  minimum JDK question.\n\nAdjusted where July had gone stale:\n\n- It said a non-exhaustive switch warns. The implementation errors, and\n  whether that is right is now an open question, so the text says so and\n  points at Remaining work.\n- The header note said the implementation was developed against master.\n  It has been re-ported since, and the note now says its behaviour\n  records progress rather than a decision.\n- The two null passages are reconciled: Features defines the rule and\n  the later section refers back to it.\n\n"
    },
    {
      "commit": "9dca941b9582e70bcdf7c49cc1c9549cfc5286ad",
      "tree": "fbf0f57c758c8b574975f1cbee730bfc383266e8",
      "parents": [
        "badaf753de8440c6f307847850ff9f8615ead1ed"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Sep 14 14:11:49 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Sep 14 14:11:49 2026 +1000"
      },
      "message": "GEP-19 updates from GROOVY-12399/12405/12406/12408\n"
    },
    {
      "commit": "badaf753de8440c6f307847850ff9f8615ead1ed",
      "tree": "bc47517952362f3c5bef54ef4d12c2710cd0bdfc",
      "parents": [
        "d513dd5345929541fc6c3334fcd2a8134fc2d6bf"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sun Sep 13 22:08:58 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sun Sep 13 22:09:06 2026 +1000"
      },
      "message": "RC-2 changes\n"
    },
    {
      "commit": "d513dd5345929541fc6c3334fcd2a8134fc2d6bf",
      "tree": "53cb6619d77be417a2005391dfcd91d4b7c4aad5",
      "parents": [
        "ad21bec89b154d72bd09e5ef846e581e63d92f4a"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sun Sep 13 20:58:47 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sun Sep 13 21:15:05 2026 +1000"
      },
      "message": "Release 6.0.0-RC-2: update sitemap"
    },
    {
      "commit": "ad21bec89b154d72bd09e5ef846e581e63d92f4a",
      "tree": "4035d4f57c93e796f3b794dd713d3e774060f694",
      "parents": [
        "06c72cc9ae85d537572bed38ae07a8234c0b8cb9"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri Sep 11 20:48:48 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri Sep 11 20:48:48 2026 +1000"
      },
      "message": "minor changes\n"
    },
    {
      "commit": "06c72cc9ae85d537572bed38ae07a8234c0b8cb9",
      "tree": "0c86e7fac66a0db5175bb376051d5e404412220e",
      "parents": [
        "8d7d6c2f215f7502e846c6c143893391a4579ce5"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed Sep 09 13:30:46 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed Sep 09 13:30:57 2026 +1000"
      },
      "message": "minor changes\n"
    },
    {
      "commit": "8d7d6c2f215f7502e846c6c143893391a4579ce5",
      "tree": "b35ff3031a395bbbe924764e44a18d0e1589c6e8",
      "parents": [
        "8a4863727c5bcceb2a6d703b56589e7122d3f587"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Sep 07 21:42:39 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Sep 07 21:47:49 2026 +1000"
      },
      "message": "Release 6.0.0-RC-1: update sitemap"
    },
    {
      "commit": "8a4863727c5bcceb2a6d703b56589e7122d3f587",
      "tree": "c397b247cd12a6091795bf360a5a5b592ffdb189",
      "parents": [
        "b91d4f73e7acf66b86c5e20bb0d6df082f5370dc"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Sep 07 20:54:02 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Sep 07 20:54:02 2026 +1000"
      },
      "message": "minor changes\n"
    },
    {
      "commit": "b91d4f73e7acf66b86c5e20bb0d6df082f5370dc",
      "tree": "b6a6b888ea5e6e7355b9cf8c84510ab764d032fc",
      "parents": [
        "408b85fea09a6d622e4b2ccfac152ca08b0841c9"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Sep 07 15:35:52 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Sep 07 15:50:12 2026 +1000"
      },
      "message": "Release 5.1.2: update sitemap"
    },
    {
      "commit": "408b85fea09a6d622e4b2ccfac152ca08b0841c9",
      "tree": "4e34e7e0fa2baebfb4dd798f6e54dc4cee494a9d",
      "parents": [
        "f9a07c52018f62ac647dfa9326c8abf41ea1c3fa"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Sep 05 15:31:45 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Sep 05 15:31:45 2026 +1000"
      },
      "message": "minor changes\n"
    },
    {
      "commit": "f9a07c52018f62ac647dfa9326c8abf41ea1c3fa",
      "tree": "b8b2879f74c0397fe681e52f2cda6c245727cefa",
      "parents": [
        "a8c9cc7c16680365d9728075451adde1b6be0305"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Sep 05 11:04:06 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Sep 05 11:04:06 2026 +1000"
      },
      "message": "Optimization problems blog post updated for Groovy 6, Timefold 2.6 and OptaPlanner 10.2\n"
    },
    {
      "commit": "a8c9cc7c16680365d9728075451adde1b6be0305",
      "tree": "e823af44d637f3fa08625f7df098227740d1f4a6",
      "parents": [
        "181b02794ebf91ac03f05b85e428d5f33c40cfe6"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Sep 05 06:40:46 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Sep 05 06:40:53 2026 +1000"
      },
      "message": "update release notes\n"
    },
    {
      "commit": "181b02794ebf91ac03f05b85e428d5f33c40cfe6",
      "tree": "5d2ed16eeebe426002dc70305d29fa05e1a49ef6",
      "parents": [
        "ab6a2419b366c33bdcc81dca86691ac504421327"
      ],
      "author": {
        "name": "Jochen Theodorou",
        "email": "blackdrag@gmx.org",
        "time": "Mon Aug 31 18:10:38 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 18:10:38 2026 +0200"
      },
      "message": "Create GEP-31.adoc (Realm based dynamic semantics)\n\nA new proposal for the realms idea from back in 2012, this time with a quite different and much more general concept. It no longer tries to redefine the current default MOP"
    },
    {
      "commit": "ab6a2419b366c33bdcc81dca86691ac504421327",
      "tree": "227f64bfe17b03ca11ae4ee87b7b1597ede324f5",
      "parents": [
        "c5bab426aad7da9ed1041e4685f6f1a3a3265abd"
      ],
      "author": {
        "name": "Jochen Theodorou",
        "email": "blackdrag@gmx.org",
        "time": "Mon Aug 31 18:02:27 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 18:02:27 2026 +0200"
      },
      "message": "Reject GEP-11.adoc\n\nGEP-11 is pretty outdated by now. A new approach is needed"
    },
    {
      "commit": "c5bab426aad7da9ed1041e4685f6f1a3a3265abd",
      "tree": "6358ed4b7e9e6772acb188156de0656f76294853",
      "parents": [
        "9312a4b68b67ed0166741a047062ab05725cbe5d"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Aug 29 20:26:55 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Aug 29 20:27:02 2026 +1000"
      },
      "message": "add hero-cards to release notes\n"
    },
    {
      "commit": "9312a4b68b67ed0166741a047062ab05725cbe5d",
      "tree": "67b4a49283efb485cf46eadf4ac377db61bca757",
      "parents": [
        "1a325857fdb35f885b7c8a6d303a3b76c6ce2c23"
      ],
      "author": {
        "name": "Keegan Witt",
        "email": "keeganwitt@gmail.com",
        "time": "Thu Aug 27 17:02:54 2026 -0400"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri Aug 28 12:51:21 2026 +1000"
      },
      "message": "fix: LinkedIn links\n"
    },
    {
      "commit": "1a325857fdb35f885b7c8a6d303a3b76c6ce2c23",
      "tree": "355c4551620b70276f94c0492e7bb3d371d3b35c",
      "parents": [
        "32cae4f27c122945f3e0bbdcde239dba54406845"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Aug 27 16:15:40 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Aug 27 16:29:29 2026 +1000"
      },
      "message": "Release 6.0.0-beta-3: update sitemap"
    },
    {
      "commit": "32cae4f27c122945f3e0bbdcde239dba54406845",
      "tree": "c0a362b5c9b3285488d2f28a5b3ccd2c4e7c389f",
      "parents": [
        "e3b904e5f8af9afae62bf29a9b9d849b6f6fbbf6"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Aug 27 13:41:00 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Aug 27 13:50:03 2026 +1000"
      },
      "message": "Release 5.1.1: update sitemap"
    },
    {
      "commit": "e3b904e5f8af9afae62bf29a9b9d849b6f6fbbf6",
      "tree": "183c724e6c3e55849683d60a182b058a760d6c22",
      "parents": [
        "57e62bc6ace08fb0e4f9f151b289f7f103c63e49"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed Aug 26 21:42:26 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed Aug 26 21:42:26 2026 +1000"
      },
      "message": "add jcuda example to matrix multiplication blog post\n"
    },
    {
      "commit": "57e62bc6ace08fb0e4f9f151b289f7f103c63e49",
      "tree": "fe2f925ef573120be88dd1a2505d646c1d6afd82",
      "parents": [
        "440fb396b62dd6b6a5ebb0cc3a8701749707141f"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed Aug 26 12:05:33 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed Aug 26 12:05:33 2026 +1000"
      },
      "message": "add groovy-csv examples\n"
    },
    {
      "commit": "440fb396b62dd6b6a5ebb0cc3a8701749707141f",
      "tree": "68c76cbef36ffd88a39e8155b70288c0a447496f",
      "parents": [
        "f0e6490e282ff46c04ee71faff12d5cdbfc7fd95"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed Aug 26 09:43:50 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed Aug 26 09:43:50 2026 +1000"
      },
      "message": "add groovy-csv examples\n"
    },
    {
      "commit": "f0e6490e282ff46c04ee71faff12d5cdbfc7fd95",
      "tree": "c0f4aa321977409671da81c4346d45afe9e928c9",
      "parents": [
        "880a113c52de849b6ad2e6b23d65e07f3bbef544"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Aug 25 15:16:29 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Aug 25 15:16:29 2026 +1000"
      },
      "message": "add groovy-csv examples\n"
    },
    {
      "commit": "880a113c52de849b6ad2e6b23d65e07f3bbef544",
      "tree": "c3b1905125e72b74287da91daf2cc706549f2236",
      "parents": [
        "6f73bbdf0275617733be8b437433f9649ca537ce"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Aug 25 07:26:09 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Aug 25 07:26:09 2026 +1000"
      },
      "message": "minor edits\n"
    },
    {
      "commit": "6f73bbdf0275617733be8b437433f9649ca537ce",
      "tree": "63add23f6e2a8b60f7bcfe7e722017fab7ddb311",
      "parents": [
        "a0b80ddc12f343fe91b9e453fd40128da0d4de5a"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Aug 24 16:38:23 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Aug 24 16:38:23 2026 +1000"
      },
      "message": "minor edits\n"
    },
    {
      "commit": "a0b80ddc12f343fe91b9e453fd40128da0d4de5a",
      "tree": "a1e68d59c6252ca83c086c140297fda0f2816e2c",
      "parents": [
        "156a7cad87d1b453be6e1354924f3405bf35e895"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Aug 24 14:42:53 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Aug 24 14:42:53 2026 +1000"
      },
      "message": "update release notes\n"
    },
    {
      "commit": "156a7cad87d1b453be6e1354924f3405bf35e895",
      "tree": "573f01ffb868ea1202526901664074bf216d6fb3",
      "parents": [
        "6d5e94098d1d9973a452f239c92c87d4c2b68a15"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Aug 24 09:19:56 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Aug 24 09:19:56 2026 +1000"
      },
      "message": "update release notes\n"
    },
    {
      "commit": "6d5e94098d1d9973a452f239c92c87d4c2b68a15",
      "tree": "a656c1bf7eeb962ce6a432800b6cea32ffa13533",
      "parents": [
        "fc00e6527649fd2bfa90b5de9872ff44a046d7f6"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Aug 24 08:40:33 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Aug 24 08:40:33 2026 +1000"
      },
      "message": "minor edits\n"
    },
    {
      "commit": "fc00e6527649fd2bfa90b5de9872ff44a046d7f6",
      "tree": "6bf5cbf949324e5733a6c4c95a0a519ea73dd6a3",
      "parents": [
        "8d2cb1d22518d257596b9eb92ea6e51fc4740ca8"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Aug 22 20:05:54 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Aug 22 20:05:54 2026 +1000"
      },
      "message": "fix date\n"
    },
    {
      "commit": "8d2cb1d22518d257596b9eb92ea6e51fc4740ca8",
      "tree": "31a48a9d74fe1f6878e794397d77b0cb2ce4a49f",
      "parents": [
        "589c7a740c6146e122b00a90f6e2afdac76f77cb"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Aug 22 16:26:05 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Aug 22 16:26:05 2026 +1000"
      },
      "message": "note about native code for deep learning post\n"
    },
    {
      "commit": "589c7a740c6146e122b00a90f6e2afdac76f77cb",
      "tree": "4eb31f476eae8a5c9731fcc9ff597c85c81d28d2",
      "parents": [
        "d8bb540fcd902fe21f3de4684f7d664c4892cb09"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Aug 20 15:33:54 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Aug 20 15:33:54 2026 +1000"
      },
      "message": "note about native code for deep learning post\n"
    },
    {
      "commit": "d8bb540fcd902fe21f3de4684f7d664c4892cb09",
      "tree": "733fde9f71b246589e9cb53777d740ab90831162",
      "parents": [
        "1b925e53cefcdf24dfc1a9ff3a7bfbc006345dce"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Aug 20 15:33:32 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Aug 20 15:33:32 2026 +1000"
      },
      "message": "note about native code for release notes\n"
    },
    {
      "commit": "1b925e53cefcdf24dfc1a9ff3a7bfbc006345dce",
      "tree": "4fdece69899d66e02be20a5735e35ccc2456c235",
      "parents": [
        "a64cda685542b84cfdf742646c49eeef30fe0609"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Aug 20 15:07:42 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Aug 20 15:07:42 2026 +1000"
      },
      "message": "update for Groovy 6\n"
    },
    {
      "commit": "a64cda685542b84cfdf742646c49eeef30fe0609",
      "tree": "a73574ac76a8fdb9cdeef5ea139f30e87d2a2183",
      "parents": [
        "6f49928407fdd75f3f6b97898bc6c812bacbe44c"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Aug 20 15:06:31 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Aug 20 15:06:31 2026 +1000"
      },
      "message": "fix flag typo\n"
    },
    {
      "commit": "6f49928407fdd75f3f6b97898bc6c812bacbe44c",
      "tree": "d406285d2c81a85092b7c608bab668e59a40d797",
      "parents": [
        "c81ddcf8e4adb3ce3582f870ff3e00f4fc5cee84"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Aug 18 18:29:27 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Aug 18 18:29:36 2026 +1000"
      },
      "message": "minor release note tweaks\n"
    },
    {
      "commit": "c81ddcf8e4adb3ce3582f870ff3e00f4fc5cee84",
      "tree": "1b17acc60ab198f75aa7a9d1facd46b2e6c787df",
      "parents": [
        "84967c05e9ca159ab0a300c4e07cea54f92089f8"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Aug 18 18:29:04 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Aug 18 18:29:36 2026 +1000"
      },
      "message": "add links to Apache projects\n"
    },
    {
      "commit": "84967c05e9ca159ab0a300c4e07cea54f92089f8",
      "tree": "482e32782bb574d8179a1568f87bbcbf3bcb8289",
      "parents": [
        "78e674b7eb6df440987f5fa4c48b0d8c0580f77e"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Aug 18 12:11:08 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Aug 18 18:29:36 2026 +1000"
      },
      "message": "Groovy 6 release notes: align Grape Maven to Grape Ivy for checksum failure\n"
    },
    {
      "commit": "78e674b7eb6df440987f5fa4c48b0d8c0580f77e",
      "tree": "ca4cac200473d19d94389a3c89ba71b080ca79c9",
      "parents": [
        "f43289be4f887b7efe6f408c00f5d72057d0a101"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Aug 15 14:30:25 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Aug 15 15:21:19 2026 +1000"
      },
      "message": "Release 6.0.0-beta-2: update sitemap"
    },
    {
      "commit": "f43289be4f887b7efe6f408c00f5d72057d0a101",
      "tree": "293a1abf751f398fa719df7f06bc171dc7d70142",
      "parents": [
        "8854286c0759a26727f93e06241c6ffef6bdc97c"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Aug 15 14:05:49 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Aug 15 14:21:57 2026 +1000"
      },
      "message": "Release 5.1.0: update sitemap"
    },
    {
      "commit": "8854286c0759a26727f93e06241c6ffef6bdc97c",
      "tree": "a3bf1932ef7794f875bbcff0518e9be977da020e",
      "parents": [
        "903edb548a68b3214abb06dcf58a453bc36065eb"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Aug 15 08:05:23 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Aug 15 08:05:23 2026 +1000"
      },
      "message": "make post no longer draft\n"
    },
    {
      "commit": "903edb548a68b3214abb06dcf58a453bc36065eb",
      "tree": "e8bb49658a973570707f77df712e80a626239da2",
      "parents": [
        "6f0926803f4cc69a0166e78d9881785e9ee94e29"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Aug 15 07:57:00 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Aug 15 07:57:00 2026 +1000"
      },
      "message": "add windows installers\n"
    },
    {
      "commit": "6f0926803f4cc69a0166e78d9881785e9ee94e29",
      "tree": "c9cf6a4faa28873f4837876f6633a14b872a9578",
      "parents": [
        "11f714a865061c2562b221e7287fd083a8cacfc7"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri Aug 14 09:44:31 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri Aug 14 09:44:31 2026 +1000"
      },
      "message": "tweaks to GeaFlow blog post\n"
    },
    {
      "commit": "11f714a865061c2562b221e7287fd083a8cacfc7",
      "tree": "b17e07701b234a0c4b051449eacb430a7db27f09",
      "parents": [
        "9c1062f7d4cea9bd9e1af243294f845147e1af9a"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Aug 13 22:04:51 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Aug 13 22:04:51 2026 +1000"
      },
      "message": "draft blog post about GeaFlow\n"
    },
    {
      "commit": "9c1062f7d4cea9bd9e1af243294f845147e1af9a",
      "tree": "67d1d4ee8b3fd6ad44ab6657c026234104bf93cc",
      "parents": [
        "3f759c94d2bddb4ce082617ab88f56eccbd4da67"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Aug 13 09:37:45 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Aug 13 09:37:45 2026 +1000"
      },
      "message": "another image\n"
    },
    {
      "commit": "3f759c94d2bddb4ce082617ab88f56eccbd4da67",
      "tree": "88818f8e9c61bc4b59e7e2ec1743241e3b2c8f38",
      "parents": [
        "3ab2ea6d85de122697e8fe0020f9ab7fa702a196"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Aug 13 09:16:51 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Aug 13 09:16:51 2026 +1000"
      },
      "message": "a couple of images\n"
    },
    {
      "commit": "3ab2ea6d85de122697e8fe0020f9ab7fa702a196",
      "tree": "ec8e68459fabdd3e1b630ac3943568720c9d69da",
      "parents": [
        "b4813cf3112b898e99c0893e1aa89c3189bbd363"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Aug 13 08:15:48 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Aug 13 08:15:48 2026 +1000"
      },
      "message": "eye candy summaries for the AI post\n"
    },
    {
      "commit": "b4813cf3112b898e99c0893e1aa89c3189bbd363",
      "tree": "43a07e0a3df8387a79f765f2f8f943d8de3b1d55",
      "parents": [
        "8e773f94149fd0a94bbc25f8d5cf12be543a81e2"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Aug 13 08:14:46 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Aug 13 08:14:46 2026 +1000"
      },
      "message": "eye candy summaries for the AI post\n"
    },
    {
      "commit": "8e773f94149fd0a94bbc25f8d5cf12be543a81e2",
      "tree": "2df2e4558a93c5bdb2daedd62cce36dade5b6c32",
      "parents": [
        "fe7d80413640c82e3f2867c7cdb2337f6042ee1f"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Aug 13 08:08:02 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Aug 13 08:08:02 2026 +1000"
      },
      "message": "eye candy summaries for the AI post\n"
    },
    {
      "commit": "fe7d80413640c82e3f2867c7cdb2337f6042ee1f",
      "tree": "84551f53019845ae32cd301d8c9ee7524994fa73",
      "parents": [
        "0acb89915b0909c7df1ae3869426ffb61db92bc6"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Aug 13 08:04:31 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Aug 13 08:04:31 2026 +1000"
      },
      "message": "eye candy summaries for the AI post\n"
    },
    {
      "commit": "0acb89915b0909c7df1ae3869426ffb61db92bc6",
      "tree": "9d5ecdc4b4a27003e55ba8310e503fbacf614379",
      "parents": [
        "74470a53375ed162b65321d307db3549dc169af4"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Aug 13 06:55:28 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Aug 13 06:55:28 2026 +1000"
      },
      "message": "eye candy summaries for the AI post\n"
    },
    {
      "commit": "74470a53375ed162b65321d307db3549dc169af4",
      "tree": "72a7cff76d4e1e80bcc8859ed9e2c0d3351dcf4c",
      "parents": [
        "62e858859df93fec16e6daf591bbde2d0206ad24"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed Aug 12 15:01:28 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed Aug 12 15:01:28 2026 +1000"
      },
      "message": "update NullChecker post\n"
    },
    {
      "commit": "62e858859df93fec16e6daf591bbde2d0206ad24",
      "tree": "4d3a3842f2d332eb3510a40f7b842471c5730b44",
      "parents": [
        "909918f2b077dcb3973416d13c2c9b0c992f737c"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed Aug 12 15:01:13 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed Aug 12 15:01:13 2026 +1000"
      },
      "message": "add AI post\n"
    },
    {
      "commit": "909918f2b077dcb3973416d13c2c9b0c992f737c",
      "tree": "8a915749420debdf1970b35152d94c287de5cc37",
      "parents": [
        "146eaa15a5f3db32334d0021ac457e3d92b1541a"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed Aug 12 13:37:14 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed Aug 12 13:37:14 2026 +1000"
      },
      "message": "update release notes\n"
    },
    {
      "commit": "146eaa15a5f3db32334d0021ac457e3d92b1541a",
      "tree": "6166a123ac61a4c4c7bd296ff221d7710aa97193",
      "parents": [
        "8f5a40edce8d4fad45d33ffb93678e0f7f727163"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Aug 11 17:22:00 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Aug 11 17:22:00 2026 +1000"
      },
      "message": "update release notes\n"
    },
    {
      "commit": "8f5a40edce8d4fad45d33ffb93678e0f7f727163",
      "tree": "a2ec8408a49851082f3ce5cf1427080576b7dafa",
      "parents": [
        "c470e188f39d462abbb19ecc95b5cf24a88ef7e6"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Aug 10 16:43:12 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Aug 10 16:43:19 2026 +1000"
      },
      "message": "Add 12240 to Groovy 6 rel notes\n"
    },
    {
      "commit": "c470e188f39d462abbb19ecc95b5cf24a88ef7e6",
      "tree": "4aa4c3e4617aa06e83ca83fa0e7cca2b81307224",
      "parents": [
        "66128c0fc72b8172528e548265393974e921fa1b"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Aug 04 15:35:18 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Aug 04 16:28:52 2026 +1000"
      },
      "message": "Release 6.0.0-beta-1: update sitemap"
    },
    {
      "commit": "66128c0fc72b8172528e548265393974e921fa1b",
      "tree": "988f4306fc7db42b49519f5c5de339de8024485b",
      "parents": [
        "5f064dd1dd0592b489baccdd16682df0acaeb7f4"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Aug 04 10:40:53 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Aug 04 10:40:53 2026 +1000"
      },
      "message": "update GEP-28 based on mailing list feedback (thanks to Matt M)\n"
    },
    {
      "commit": "5f064dd1dd0592b489baccdd16682df0acaeb7f4",
      "tree": "f33453f1cd8fe0f4a5dbc6dfed9ed2eef7f886d5",
      "parents": [
        "6c76abf920e3b5b6d0a35902254e653fd5e86372"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Aug 03 10:29:42 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Aug 03 10:29:42 2026 +1000"
      },
      "message": "add link for external reference to release notes\n"
    },
    {
      "commit": "6c76abf920e3b5b6d0a35902254e653fd5e86372",
      "tree": "27edfb3bed88292bfc5c810ea58c1cf07513d3fa",
      "parents": [
        "a9a13af40744a21486a3efa01350a52bf3ddec4f"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Aug 03 10:26:53 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Mon Aug 03 10:26:53 2026 +1000"
      },
      "message": "tweak for Groovy 5/6 enhancements\n"
    },
    {
      "commit": "a9a13af40744a21486a3efa01350a52bf3ddec4f",
      "tree": "69791c8b0f4b0a65a7ced13d40b978c2dc1950b9",
      "parents": [
        "aff6067dd867362d6292c79fd2371b4190e2bebd"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Aug 01 17:46:57 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Aug 01 20:34:11 2026 +1000"
      },
      "message": "Add measured performance figures to Groovy 6 highlights\n"
    },
    {
      "commit": "aff6067dd867362d6292c79fd2371b4190e2bebd",
      "tree": "b0fc0db828c0c4c1b85e4536053c9b4154475efe",
      "parents": [
        "65102a7c3dc49c572a44d72fc199beb83322121c"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Aug 01 13:33:47 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Aug 01 15:52:51 2026 +1000"
      },
      "message": "Include GROOVY-12191 and a performance highlight subsection\n"
    },
    {
      "commit": "65102a7c3dc49c572a44d72fc199beb83322121c",
      "tree": "f4ddebfed7b845b64420117485e0a5ef50525f5f",
      "parents": [
        "acc0408ad42198bfb00e4ca3c766afed7ce7fd12"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Aug 01 15:38:07 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Aug 01 15:39:48 2026 +1000"
      },
      "message": "Release 5.0.8: update sitemap"
    },
    {
      "commit": "acc0408ad42198bfb00e4ca3c766afed7ce7fd12",
      "tree": "7940568bcfbf569c29fb78d73809ac40fa43af71",
      "parents": [
        "13fc1de353f7a4babdab77f4fe52c5303138c9e5"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Aug 01 14:33:06 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sat Aug 01 14:43:57 2026 +1000"
      },
      "message": "Release 4.0.33: update sitemap"
    },
    {
      "commit": "13fc1de353f7a4babdab77f4fe52c5303138c9e5",
      "tree": "64ce3142188fe1d4ea3ce74b55dc12c2f731e50b",
      "parents": [
        "d109205e332f40bc33f8c215c2cbf243ee983a39"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri Jul 31 13:03:48 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Fri Jul 31 13:03:48 2026 +1000"
      },
      "message": "latest rel note additions\n"
    },
    {
      "commit": "d109205e332f40bc33f8c215c2cbf243ee983a39",
      "tree": "2de45c07731974b8a6305faa52bd252ab48bb9c2",
      "parents": [
        "af624cdd9ed717cd9462f86c411c222b70f559a3"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Jul 30 14:30:37 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Jul 30 14:30:37 2026 +1000"
      },
      "message": "latest rel note additions\n"
    },
    {
      "commit": "af624cdd9ed717cd9462f86c411c222b70f559a3",
      "tree": "c6e4e02b0493418d4cb67a08090fea4a4c49da7c",
      "parents": [
        "6baaf16242c8d60fb1602efc0d8ce6b657597fda"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Jul 30 11:29:10 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Thu Jul 30 11:29:10 2026 +1000"
      },
      "message": "Add ClassTag to Groovy 6 rel notes\n"
    },
    {
      "commit": "6baaf16242c8d60fb1602efc0d8ce6b657597fda",
      "tree": "398dd7c2bf185128934fe7acdd058e01d6f420fb",
      "parents": [
        "59db0aff0c260ac14f96894e01c6b9b8669fcdd6"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed Jul 29 12:38:52 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Wed Jul 29 12:38:52 2026 +1000"
      },
      "message": "Draft GEP-30 for consideration for Groovy 7\n"
    },
    {
      "commit": "59db0aff0c260ac14f96894e01c6b9b8669fcdd6",
      "tree": "26a5ac24b1bcbe3f75fd7b4eb9577e7fc379d89c",
      "parents": [
        "722a344e2b3be54ea26ab82db29a18d0f190f39e"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Jul 28 15:56:37 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Tue Jul 28 15:56:37 2026 +1000"
      },
      "message": "Draft GEP-29 for consideration for Groovy 7\n"
    },
    {
      "commit": "722a344e2b3be54ea26ab82db29a18d0f190f39e",
      "tree": "83321ce076b42dd76d7cc4aad82d2926523db786",
      "parents": [
        "3595389364b6c4731e823a1a3dd63800b171c58e"
      ],
      "author": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sun Jul 26 20:51:51 2026 +1000"
      },
      "committer": {
        "name": "Paul King",
        "email": "paulk@asert.com.au",
        "time": "Sun Jul 26 20:51:51 2026 +1000"
      },
      "message": "Latest additions for Groovy 6\n"
    }
  ],
  "next": "3595389364b6c4731e823a1a3dd63800b171c58e"
}
