)]}'
{
  "log": [
    {
      "commit": "ef7e686049258b3ec1cf1ee6243f9ae02e433713",
      "tree": "0705418c9ffc44f993ac8ad0f40b9d3272b76bea",
      "parents": [
        "e234f57c761fb581285881d548411dbfe3b2d90c",
        "601fa4ea4e8548d6b7687c5db8b7d3644afe1ff2"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Sat Jul 18 23:08:34 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 18 23:08:34 2026 -0400"
      },
      "message": "Merge pull request #146 from apache/feat/feature-relationship-metadata\n\nAct on the Forge API\u0027s feature relationship metadata"
    },
    {
      "commit": "601fa4ea4e8548d6b7687c5db8b7d3644afe1ff2",
      "tree": "0705418c9ffc44f993ac8ad0f40b9d3272b76bea",
      "parents": [
        "e234f57c761fb581285881d548411dbfe3b2d90c"
      ],
      "author": {
        "name": "Scott Murphy Heiberg",
        "email": "scott@alwaysvip.com",
        "time": "Sat Jul 18 18:45:36 2026 -0700"
      },
      "committer": {
        "name": "Scott Murphy Heiberg",
        "email": "scott@alwaysvip.com",
        "time": "Sat Jul 18 19:01:05 2026 -0700"
      },
      "message": "Act on the Forge API\u0027s feature relationship metadata\n\nThe Forge API now reports two relationship fields per feature:\ndependentFeatures (features a selection adds automatically server-side)\nand oneOfGroup (features sharing a group are mutually exclusive). The\nfeature selector previously showed neither: implied features were\ninvisible in the selection, and conflicting features could be selected\ntogether only to fail at generation time.\n\nA featureRelations helper expands a selection transitively, and the\nselector now:\n\n- labels implied feature cards \u0027included automatically by \u003cfeature\u003e\u0027\n  and makes them non-toggleable\n- greys out and disables cards whose selection - directly or through\n  anything they would add automatically - would land in a one-of group\n  already occupied, labelled \u0027unavailable with \u003cfeature\u003e\u0027\n- appends non-removable \u0027(included)\u0027 chips for implied features to the\n  Additional Selected Features row\n\nFeatures without the new metadata behave exactly as before.\n"
    },
    {
      "commit": "e234f57c761fb581285881d548411dbfe3b2d90c",
      "tree": "3fff9471c768c91f39641f8ca090dd42c35e0d9c",
      "parents": [
        "7450088d5fb514486ae9f254414f7d89e0e8e427",
        "f56a97e803bd68882a60a4e0c62134c46c3f662b"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Thu Jul 09 11:31:20 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 09 11:31:20 2026 -0400"
      },
      "message": "Merge pull request #132 from apache/fix/publish-no-changes\n\nSkip gh-pages commit when build output is unchanged"
    },
    {
      "commit": "f56a97e803bd68882a60a4e0c62134c46c3f662b",
      "tree": "5a326a4b1b70585c2d3dbadd4e796f668e901f81",
      "parents": [
        "634209f12ba7e22524c9e468cf7b3f56b2804950"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Thu Jul 09 11:30:02 2026 -0400"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Thu Jul 09 11:30:02 2026 -0400"
      },
      "message": "Skip gh-pages commit when build output is unchanged\n\nWith set -e, \u0027git commit\u0027 failing on an empty diff (e.g. after merges\nthat only touch workflow files) aborted the Publish run with exit 1.\nRestore the no-changes guard, checking the staged diff after \u0027git add -A\u0027\nso new files are also detected.\n"
    },
    {
      "commit": "7450088d5fb514486ae9f254414f7d89e0e8e427",
      "tree": "f0731c72952b6bd530a039d33c456efcd27de247",
      "parents": [
        "bcb03299bc6111aab6d86f161f7386c396ec496c",
        "6dfa82a715cf0bc58007844659686f2c65904f34"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Thu Jul 09 11:21:24 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 09 11:21:24 2026 -0400"
      },
      "message": "Merge pull request #128 from apache/dependabot/github_actions/actions/setup-java-5.4.0\n\nBump actions/setup-java from 5.2.0 to 5.4.0"
    },
    {
      "commit": "bcb03299bc6111aab6d86f161f7386c396ec496c",
      "tree": "fcaae2354c8119c993e80ae838db636b4b9a399a",
      "parents": [
        "6b186e7676ece5fc7fce7288919a14e47e5debbe",
        "073acc623d8b59d420d8d093d31908079caac2e3"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Thu Jul 09 11:20:07 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 09 11:20:07 2026 -0400"
      },
      "message": "Merge pull request #125 from apache/dependabot/github_actions/actions/checkout-7.0.0\n\nBump actions/checkout from 6.0.2 to 7.0.0"
    },
    {
      "commit": "6b186e7676ece5fc7fce7288919a14e47e5debbe",
      "tree": "ddad28660a7646d5dd4d161470c2a278f5acc550",
      "parents": [
        "634209f12ba7e22524c9e468cf7b3f56b2804950",
        "c54a0b1511e303635715ab854290ff613c06a64a"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Thu Jul 09 10:47:56 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 09 10:47:56 2026 -0400"
      },
      "message": "Merge pull request #130 from apache/dependency-security-patches\n\nPatch dependencies to non-vulnerable versions"
    },
    {
      "commit": "c54a0b1511e303635715ab854290ff613c06a64a",
      "tree": "ddad28660a7646d5dd4d161470c2a278f5acc550",
      "parents": [
        "634209f12ba7e22524c9e468cf7b3f56b2804950"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Tue Jul 07 16:18:32 2026 -0400"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Tue Jul 07 16:18:32 2026 -0400"
      },
      "message": "Patch dependencies to non-vulnerable versions\n\nResolves all npm audit findings:\n- app/launch: vite, undici, js-yaml, @babel/core\n- dev-proxy-server: form-data, qs\n\nAll fixes within existing semver ranges; only lockfiles changed.\n"
    },
    {
      "commit": "6dfa82a715cf0bc58007844659686f2c65904f34",
      "tree": "7837cd383a945cee3d378bb64adc918d585ec367",
      "parents": [
        "634209f12ba7e22524c9e468cf7b3f56b2804950"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Jun 26 22:23:14 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 26 22:23:14 2026 +0000"
      },
      "message": "Bump actions/setup-java from 5.2.0 to 5.4.0\n\nBumps [actions/setup-java](https://github.com/actions/setup-java) from 5.2.0 to 5.4.0.\n- [Release notes](https://github.com/actions/setup-java/releases)\n- [Commits](https://github.com/actions/setup-java/compare/be666c2fcd27ec809703dec50e508c2fdc7f6654...1bcf9fb12cf4aa7d266a90ae39939e61372fe520)\n\n---\nupdated-dependencies:\n- dependency-name: actions/setup-java\n  dependency-version: 5.4.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "073acc623d8b59d420d8d093d31908079caac2e3",
      "tree": "221d394b28d9aa4b57929e4f9ec67d064b4a04b8",
      "parents": [
        "634209f12ba7e22524c9e468cf7b3f56b2804950"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Jun 19 22:23:34 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 19 22:23:34 2026 +0000"
      },
      "message": "Bump actions/checkout from 6.0.2 to 7.0.0\n\nBumps [actions/checkout](https://github.com/actions/checkout) from 6.0.2 to 7.0.0.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/de0fac2e4500dabe0009e67214ff5f5447ce83dd...9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0)\n\n---\nupdated-dependencies:\n- dependency-name: actions/checkout\n  dependency-version: 7.0.0\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "634209f12ba7e22524c9e468cf7b3f56b2804950",
      "tree": "b1ddbcd346a9a579e6a8d733df2d5e04e98a29fe",
      "parents": [
        "e73ca1b8a44581c2b23d1bdc8dd90e70adf33bf2",
        "da8395c1ae56aaca380b9ba10c42ec1d95921b6e"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Tue Jun 16 17:39:43 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 16 17:39:43 2026 -0400"
      },
      "message": "Merge pull request #111 from apache/forge-ui-updates"
    },
    {
      "commit": "da8395c1ae56aaca380b9ba10c42ec1d95921b6e",
      "tree": "f61dd63344b6cf6b4a3ce97280782921689b79f3",
      "parents": [
        "79c84ef1fb5b750475f0c82e0a31479eaee193f6",
        "c3e90c9abb76c0b9253d7da31dbead792c5807d1"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Tue Jun 16 08:43:51 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 16 08:43:51 2026 -0400"
      },
      "message": "Merge pull request #119 from apache/fix/pr-111-restore-launch-ui\n\nRestore launch UI state loading"
    },
    {
      "commit": "c3e90c9abb76c0b9253d7da31dbead792c5807d1",
      "tree": "f61dd63344b6cf6b4a3ce97280782921689b79f3",
      "parents": [
        "3622295fb5d906a85a9fcb0c38da1df844b071bf"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Thu Jun 11 08:16:17 2026 -0400"
      },
      "committer": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Thu Jun 11 08:16:17 2026 -0400"
      },
      "message": "Restore launch form visual parity\n\nKeep the launch form children hidden until the Zustand store has been initialized, restore production-style standard selects, and preserve the form row spacing used by start.grails.org.\n\nAssisted-by: opencode:gpt-5.5\n"
    },
    {
      "commit": "3622295fb5d906a85a9fcb0c38da1df844b071bf",
      "tree": "55693d2c49888bdf937b069f64f5cc274c63a0b0",
      "parents": [
        "144a62d307d3e3228a1a4bd92ec686f4bbb2825e"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Thu Jun 11 07:53:08 2026 -0400"
      },
      "committer": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Thu Jun 11 07:53:08 2026 -0400"
      },
      "message": "Fix launch tooling and local proxy\n\nMake local launch scripts cross-platform, wire the React hooks lint plugin, and update the Express 5 version feed route used by local browser QA.\n\nAssisted-by: opencode:gpt-5.5\n"
    },
    {
      "commit": "144a62d307d3e3228a1a4bd92ec686f4bbb2825e",
      "tree": "b866857453aa07029e92907ba57a0d8aa5d9b4d9",
      "parents": [
        "433bef3932d2239b4779689d2853789026642188"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Thu Jun 11 07:52:14 2026 -0400"
      },
      "committer": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Thu Jun 11 07:52:14 2026 -0400"
      },
      "message": "Clean component lint issues\n\nReorder MUI imports and memoize the feature modal keyboard handler factory result so lint can run cleanly.\n\nAssisted-by: opencode:gpt-5.5\n"
    },
    {
      "commit": "433bef3932d2239b4779689d2853789026642188",
      "tree": "b1eab6debd26dc7277084e5c99ef8e234636b152",
      "parents": [
        "0435934429517fe1f34912a75fbb3a8460f87856"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Thu Jun 11 07:51:12 2026 -0400"
      },
      "committer": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Thu Jun 11 07:51:12 2026 -0400"
      },
      "message": "Strengthen application launch smoke test\n\nAssert that the launch form and action row render instead of only checking for a defined test container.\n\nAssisted-by: opencode:gpt-5.5\n"
    },
    {
      "commit": "0435934429517fe1f34912a75fbb3a8460f87856",
      "tree": "899a14159f063e8b0165e670d4c787e64f6082e4",
      "parents": [
        "79c84ef1fb5b750475f0c82e0a31479eaee193f6"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Thu Jun 11 07:50:17 2026 -0400"
      },
      "committer": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Thu Jun 11 07:50:17 2026 -0400"
      },
      "message": "Restore Zustand launch state loading\n\nInitialize the Zustand store before paint, reload feature data when feature-query fields change, ignore stale async loader responses, and keep reset defaults safe when option buckets are missing.\n\nAssisted-by: opencode:gpt-5.5\n"
    },
    {
      "commit": "79c84ef1fb5b750475f0c82e0a31479eaee193f6",
      "tree": "618be448c2c9edfe2f13f651bd439955fd23995b",
      "parents": [
        "a9e41a32d521ec01e85e5199c0a8417f229fac6f"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Wed Jun 10 14:56:47 2026 -0400"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Wed Jun 10 14:56:47 2026 -0400"
      },
      "message": "Remove diagnostic code\n"
    },
    {
      "commit": "a9e41a32d521ec01e85e5199c0a8417f229fac6f",
      "tree": "4cdc2c2ab0514790baa88bfd705153e545a235b6",
      "parents": [
        "ac9a1abb3f4f7fbfbc0a1719c7b254c30d57ab08"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Wed Jun 10 14:54:56 2026 -0400"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Wed Jun 10 14:54:56 2026 -0400"
      },
      "message": "Always run tests\n"
    },
    {
      "commit": "ac9a1abb3f4f7fbfbc0a1719c7b254c30d57ab08",
      "tree": "9446f4427e7ac0a564c7aa945a56a6d2552e3192",
      "parents": [
        "7868038759ff57b913c77690ea4425a6e9a49212"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Sun May 03 17:05:24 2026 -0400"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Wed Jun 10 14:53:03 2026 -0400"
      },
      "message": "Upgrade all dependencies to latest major versions\nMigrate React 17→19 (createRoot API), replace @material-ui/core v4 with\n@mui/material v7 (new Grid v2 API, slotProps, @mui/x-tree-view), replace\ndeprecated Recoil with Zustand 5 for state management, convert ESLint 8\nlegacy config to ESLint 9 flat config, upgrade Prettier 2→3, jsdom 28→29,\nand Express 4→5 in dev-proxy-server.\nReplace react-test-renderer (removed in React 19) with @testing-library/react. Gradle to 9.5.1.\n"
    },
    {
      "commit": "e73ca1b8a44581c2b23d1bdc8dd90e70adf33bf2",
      "tree": "a9f038cc032537371d7a736fa81265b2988ff04a",
      "parents": [
        "7868038759ff57b913c77690ea4425a6e9a49212",
        "92d816167da5db24645254402f333d43764fd7fd"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Sat May 30 11:45:54 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 30 11:45:54 2026 -0400"
      },
      "message": "Merge pull request #115 from apache/ci/setup-gradle-v6-basic-cache\n\nci: audit and update GitHub Actions to ASF-approved versions"
    },
    {
      "commit": "92d816167da5db24645254402f333d43764fd7fd",
      "tree": "a9f038cc032537371d7a736fa81265b2988ff04a",
      "parents": [
        "7868038759ff57b913c77690ea4425a6e9a49212"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Fri May 29 13:09:12 2026 -0400"
      },
      "committer": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Fri May 29 13:09:12 2026 -0400"
      },
      "message": "ci: audit and update GitHub Actions to ASF-approved versions\n\nPin every external GitHub Action to a full commit SHA from the ASF\napproved actions allow-list, with a trailing comment naming the version\nit resolves to. Mirrors the grails-core audit in apache/grails-core#15690.\n\n- actions/checkout -\u003e de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 (was v6)\n- actions/setup-java -\u003e be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 (was v5)\n- gradle/actions/setup-gradle -\u003e 50e97c2cd7a37755bbfafc9c5b7cafaece252f6e # v6.1.0 (was 0723195856401067f7a2779048b490ace7a47d7c # v5.2.0)\n- actions/setup-node -\u003e 48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 (was v4)\n\nAdd cache-provider: basic to all 2 setup-gradle steps so caching\nstays on the MIT-licensed provider rather than the proprietary enhanced\nprovider introduced in gradle/actions v6 (Gradle commercial Terms of Use).\n\nFirst-party apache/grails-github-actions/* and local ./.github/actions/*\nreferences are intentionally left unchanged.\n\nAssisted-by: claude-code:claude-4.8-opus\n"
    },
    {
      "commit": "7868038759ff57b913c77690ea4425a6e9a49212",
      "tree": "124c593a680fa178b59e180c11514af9dace3e38",
      "parents": [
        "572e375e0c907fd7b6f4d2834ac3ef6a53c349f3",
        "89f034f7277a4c2a4b2db80170437ddaf5b85ad7"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Thu Apr 23 07:50:13 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 23 07:50:13 2026 -0400"
      },
      "message": "Merge pull request #110 from apache/cleanup\n\nUpdate gradle action version to an approved ASF version"
    },
    {
      "commit": "89f034f7277a4c2a4b2db80170437ddaf5b85ad7",
      "tree": "124c593a680fa178b59e180c11514af9dace3e38",
      "parents": [
        "40aff8be30e8a92d664009f7f6ff7ecb99c2ab36"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Thu Apr 23 07:49:35 2026 -0400"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Thu Apr 23 07:49:35 2026 -0400"
      },
      "message": "Update gradle action version to an approved ASF version\n"
    },
    {
      "commit": "572e375e0c907fd7b6f4d2834ac3ef6a53c349f3",
      "tree": "1671cbfef9b654c703882a734fbc59726e6345ca",
      "parents": [
        "bb0ec9ec985c77198eda5857118520035bd18f8c",
        "40aff8be30e8a92d664009f7f6ff7ecb99c2ab36"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Wed Apr 22 21:34:21 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 22 21:34:21 2026 -0400"
      },
      "message": "Merge pull request #97 from apache/cleanup"
    },
    {
      "commit": "40aff8be30e8a92d664009f7f6ff7ecb99c2ab36",
      "tree": "1671cbfef9b654c703882a734fbc59726e6345ca",
      "parents": [
        "bb0ec9ec985c77198eda5857118520035bd18f8c"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Wed Apr 15 21:40:37 2026 -0400"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Wed Apr 22 08:35:55 2026 -0400"
      },
      "message": "Updating to non-vulnerable versions \u0026 changing \"Gorm\" to \"Grails Data\"\n"
    },
    {
      "commit": "bb0ec9ec985c77198eda5857118520035bd18f8c",
      "tree": "fc27a1738f0824b30dbab70a184e40aea1d821b1",
      "parents": [
        "c2af4d4cb0b427a8c208eeaa88846d543c03c8a3",
        "60bc1bfbb1d0e3ea004f6eb346383651bf2e8d6c"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Mon Mar 02 07:26:55 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 02 07:26:55 2026 -0500"
      },
      "message": "Merge pull request #88 from apache/fixVulnerabilitiesAndModernize\n\nRestore CI Action \u0026 run on PRs"
    },
    {
      "commit": "60bc1bfbb1d0e3ea004f6eb346383651bf2e8d6c",
      "tree": "fc27a1738f0824b30dbab70a184e40aea1d821b1",
      "parents": [
        "9375d36bbcd39ba3f133ef89acd66327d8b5b007"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Mon Mar 02 07:23:33 2026 -0500"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Mon Mar 02 07:25:10 2026 -0500"
      },
      "message": "Restore CI Action \u0026 run on PRs\n"
    },
    {
      "commit": "c2af4d4cb0b427a8c208eeaa88846d543c03c8a3",
      "tree": "ce63712b615d2c408fa4c33a0c7d6c3aaa70cdca",
      "parents": [
        "52dec2cf0f2aa2f7f00ae2960f04b766ce9709d8",
        "9375d36bbcd39ba3f133ef89acd66327d8b5b007"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Mon Mar 02 07:09:54 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 02 07:09:54 2026 -0500"
      },
      "message": "Merge pull request #86 from apache/fixVulnerabilitiesAndModernize\n\n"
    },
    {
      "commit": "9375d36bbcd39ba3f133ef89acd66327d8b5b007",
      "tree": "ce63712b615d2c408fa4c33a0c7d6c3aaa70cdca",
      "parents": [
        "4956894278ba0b09cf69ec25f6b3dba979378785",
        "1be9e0e68fdffa8b156f81064b61829b486e6274"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Sun Mar 01 12:03:31 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Mar 01 12:03:31 2026 -0500"
      },
      "message": "Merge pull request #87 from jamesfredley/fix/pr-86-review-fixes\n\nFix bugs, lint errors, and build issues from PR #86 review"
    },
    {
      "commit": "1be9e0e68fdffa8b156f81064b61829b486e6274",
      "tree": "ce63712b615d2c408fa4c33a0c7d6c3aaa70cdca",
      "parents": [
        "ceae6c4b876d7012c530c9f28d6ccd70c56b4f11"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Sun Mar 01 11:18:28 2026 -0500"
      },
      "committer": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Sun Mar 01 11:18:28 2026 -0500"
      },
      "message": "Revert to absolute URLs, use function-form manualChunks\n\nRevert index.html and vite base from relative (./) to absolute (/) paths\nto match codebase convention - the app is served from root.\n\nSwitch manualChunks from object form to function form that matches on\nid.includes(\u0027@material-ui/\u0027) to reliably catch all deep imports. This\npulls ~2.6KB more MUI code into the vendor chunk.\n"
    },
    {
      "commit": "ceae6c4b876d7012c530c9f28d6ccd70c56b4f11",
      "tree": "bbc0a2671863f45d6dc1cb1268ebf7f4ee2ba132",
      "parents": [
        "21d283171adb7fb6f786dd31da395d0ecd29a60a"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Sun Mar 01 08:14:01 2026 -0500"
      },
      "committer": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Sun Mar 01 08:14:01 2026 -0500"
      },
      "message": "Guard keyboard handler against editable elements, remove empty vendor chunk\n\nSkip arrow/page key handling when focus is inside INPUT, TEXTAREA, or SELECT\nelements so the search field in FeatureSelector works normally.\n\nRemove the react/react-dom manualChunks entry that produced an empty vendor\nchunk - React is already bundled into the main index chunk by Rollup.\n"
    },
    {
      "commit": "21d283171adb7fb6f786dd31da395d0ecd29a60a",
      "tree": "73cc18ac778b39d5311f92b7bf2107a0d4ccf3e1",
      "parents": [
        "da4d7c1cead16d1034deef90130f9fa2d2c828ad"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Sun Mar 01 08:09:48 2026 -0500"
      },
      "committer": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Sun Mar 01 08:09:48 2026 -0500"
      },
      "message": "Complete keyboard navigation for feature selector modal\n\nFix and modernize ModalKeyboardHandler:\n- Fix typo (confin -\u003e config)\n- Replace deprecated keyCode with event.key\n- Fix removeEventListener memory leak (mismatched function refs)\n- Replace Materialize onOpenEnd/onCloseEnd with createKeyDownHandler()\n  that works with any scrollable container via getter function\n\nWire up in FeatureSelector:\n- Arrow Up/Down scrolls feature list by 50px\n- Arrow Left/Right jumps between category groups\n- Page Up/Down scrolls by page\n- Uses MUI Dialog onKeyDown + DialogContent ref\n"
    },
    {
      "commit": "da4d7c1cead16d1034deef90130f9fa2d2c828ad",
      "tree": "838d896a0452989ed92cbe33899672237e9ea93f",
      "parents": [
        "4956894278ba0b09cf69ec25f6b3dba979378785"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Sun Mar 01 07:59:14 2026 -0500"
      },
      "committer": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Sun Mar 01 07:59:14 2026 -0500"
      },
      "message": "Fix bugs, lint errors, and build issues from PR #86 review\n\nBugs fixed:\n- Fix __dirname undefined in ESM vite.config.js (use fileURLToPath)\n- Fix typeof match (undefined variable) in CodePreview.jsx loop\n- Fix false CSS class rendered on unselected feature cards\n- Fix folder click in code preview showing \u0027cannot be previewed\u0027\n\nBuild/lint fixes:\n- ESLint config: disable react-in-jsx-scope (React 17 auto-transform),\n  disable prop-types, add test env overrides, lint *.jsx files\n- Fix all unused variable warnings (prefix with _)\n- Fix import order in CodePreview.jsx and Diff.jsx\n- Fix unescaped apostrophes in NextSteps and ShareModal\n- Wrap case-block declarations in braces (no-case-declarations)\n- Remove dead process.env shim and unused ModalKeyboardHandler\n\nOther improvements:\n- Use relative URLs in index.html (consistent with base: \u0027./\u0027)\n- Remove duplicate manifest link (leftover from CRA)\n- Add manualChunks to split MUI into separate vendor chunk\n"
    },
    {
      "commit": "4956894278ba0b09cf69ec25f6b3dba979378785",
      "tree": "42acc534be057e06a44584e6e5de7c9c7e3e716b",
      "parents": [
        "19f939ea72d3df66ae048a851271c94ba7279693"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Sun Mar 01 01:51:52 2026 -0500"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Sun Mar 01 01:51:52 2026 -0500"
      },
      "message": "test updates \u0026 fixing various styling mismatches\n"
    },
    {
      "commit": "19f939ea72d3df66ae048a851271c94ba7279693",
      "tree": "7b6aaefcce6d08598af781fc7a3d9d8140593785",
      "parents": [
        "561d199bc7f72134d2f84276134ae05253e4108b"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Sun Mar 01 01:34:13 2026 -0500"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Sun Mar 01 01:34:13 2026 -0500"
      },
      "message": "Fix renamed state key and regenerate stale snapshots\n"
    },
    {
      "commit": "561d199bc7f72134d2f84276134ae05253e4108b",
      "tree": "6c48e4df7a1f5416138ab6f4055c0afa4f1a3b1a",
      "parents": [
        "f8aa8321c56e88bb51c5ffc5f3687d580eb82bf6"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Sun Mar 01 01:29:36 2026 -0500"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Sun Mar 01 01:29:36 2026 -0500"
      },
      "message": "Adjust diff modal to be larger\n"
    },
    {
      "commit": "f8aa8321c56e88bb51c5ffc5f3687d580eb82bf6",
      "tree": "f578b58b408c31a97c9602b2b97db00aa550dde0",
      "parents": [
        "fcffc4cf0afdaaaded20c0113a1b96228968e6a9"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Sun Mar 01 01:29:28 2026 -0500"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Sun Mar 01 01:29:28 2026 -0500"
      },
      "message": "Adjust modal to be larger \u0026 fix title\n"
    },
    {
      "commit": "fcffc4cf0afdaaaded20c0113a1b96228968e6a9",
      "tree": "17a28e3f6db6466547bb01fe2de828f55d5ff50d",
      "parents": [
        "5d21acd1b7780b959685ee1f5cd8c5c313fb7b62"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Sun Mar 01 01:24:29 2026 -0500"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Sun Mar 01 01:24:29 2026 -0500"
      },
      "message": "Fix files with no content, fix files that are not previewable (null), fix selection on initial dialog load\n"
    },
    {
      "commit": "5d21acd1b7780b959685ee1f5cd8c5c313fb7b62",
      "tree": "3f994149870ac6e8fcb88ed441e2461c9092fdff",
      "parents": [
        "52dec2cf0f2aa2f7f00ae2960f04b766ce9709d8"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Fri Feb 27 21:53:58 2026 -0500"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Sun Mar 01 01:08:03 2026 -0500"
      },
      "message": "Remove all code vulnerabilities and adapt theme to newer materialize library\n"
    },
    {
      "commit": "52dec2cf0f2aa2f7f00ae2960f04b766ce9709d8",
      "tree": "e3c8171ea1f24e2de1f378ae19451024c755d1ea",
      "parents": [
        "f675a1cc30438046c74260ebad5eef59e64d75bc"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Fri Feb 27 21:18:09 2026 -0500"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Fri Feb 27 21:18:09 2026 -0500"
      },
      "message": "Fix compile failures from older scripts\n"
    },
    {
      "commit": "f675a1cc30438046c74260ebad5eef59e64d75bc",
      "tree": "3d1be46cf290c93abc0e0b982adac825eb52791c",
      "parents": [
        "7261f8b2fcf26d67d797e1e81c3f3fb1c10d3345"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Fri Feb 27 21:12:21 2026 -0500"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Fri Feb 27 21:12:21 2026 -0500"
      },
      "message": "Fix typo\n"
    },
    {
      "commit": "7261f8b2fcf26d67d797e1e81c3f3fb1c10d3345",
      "tree": "41932505a66fd149a147fd95fa4f04bd908f8002",
      "parents": [
        "1733969cb8bdaedda194dfe9ba7041918ec60db6",
        "cf9098265400dd36fc4eb03b623f5acb5635c0a2"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Fri Feb 27 21:10:32 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 27 21:10:32 2026 -0500"
      },
      "message": "Merge pull request #84 from jdaugherty/main\n\nSwitch from test framework to reloading as an option in forge"
    },
    {
      "commit": "1733969cb8bdaedda194dfe9ba7041918ec60db6",
      "tree": "4ad0c537031d18e4e04ff686b3297345e7932e6c",
      "parents": [
        "eac8e1e9735f5fb648e1b498381684a13a7370bb",
        "9bf756b8d17f8aacc5b08ecdf3e832d7e2f8bda1"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Sat Jan 31 10:06:39 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jan 31 10:06:39 2026 -0500"
      },
      "message": "Merge pull request #79 from apache/develocity-apache-org\n\nUpdate Develocity server URL in settings.gradle"
    },
    {
      "commit": "9bf756b8d17f8aacc5b08ecdf3e832d7e2f8bda1",
      "tree": "4ad0c537031d18e4e04ff686b3297345e7932e6c",
      "parents": [
        "11126a7366457c635787742e6328d36bf5fa987f"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Thu Jan 29 14:25:47 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 29 14:25:47 2026 -0500"
      },
      "message": "Remove trailing slash from Develocity server URL"
    },
    {
      "commit": "11126a7366457c635787742e6328d36bf5fa987f",
      "tree": "208a1234dd11878f0de710c72d017869d64fc2d1",
      "parents": [
        "eac8e1e9735f5fb648e1b498381684a13a7370bb"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Thu Jan 29 14:25:14 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 29 14:25:14 2026 -0500"
      },
      "message": "Update Develocity server URL in settings.gradle"
    },
    {
      "commit": "cf9098265400dd36fc4eb03b623f5acb5635c0a2",
      "tree": "446c053229c9e2849750009b4506fd2e2fb327c4",
      "parents": [
        "b148eb48607934b47cd14dcafa785528079c61ba",
        "47a85395fbeafc2375f3f300a030426d9b345ee4"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Thu Nov 20 11:56:10 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 20 11:56:10 2025 -0500"
      },
      "message": "Merge pull request #2 from jdaugherty/reloadingSelectDefault\n\n"
    },
    {
      "commit": "47a85395fbeafc2375f3f300a030426d9b345ee4",
      "tree": "446c053229c9e2849750009b4506fd2e2fb327c4",
      "parents": [
        "b148eb48607934b47cd14dcafa785528079c61ba"
      ],
      "author": {
        "name": "Kenneth Carroll",
        "email": "kenneth.james.carrolL@gmail.com",
        "time": "Thu Nov 20 11:29:39 2025 -0500"
      },
      "committer": {
        "name": "Kenneth Carroll",
        "email": "kenneth.james.carrolL@gmail.com",
        "time": "Thu Nov 20 11:31:05 2025 -0500"
      },
      "message": "Added default select for reloading hook\n"
    },
    {
      "commit": "b148eb48607934b47cd14dcafa785528079c61ba",
      "tree": "e80db01129285c4af06089eb8e3c226825242e01",
      "parents": [
        "7cbcebe8a74dc436d981314f5e4786b4e245ef4c"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Thu Nov 20 09:15:09 2025 -0500"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Thu Nov 20 09:25:56 2025 -0500"
      },
      "message": "Modernizing build setup\n"
    },
    {
      "commit": "7cbcebe8a74dc436d981314f5e4786b4e245ef4c",
      "tree": "e765262d7d4ac22e6aa08bff9f0381207b99720d",
      "parents": [
        "1ab7f2a7df25aa8f66251dab87d788cce936cab9"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Thu Nov 20 09:11:49 2025 -0500"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Thu Nov 20 09:11:49 2025 -0500"
      },
      "message": "react-scripts requires type script 3 or 4; support for 5 is not yet available\n"
    },
    {
      "commit": "1ab7f2a7df25aa8f66251dab87d788cce936cab9",
      "tree": "b6622cdb082110f5c22c02f9ba385dbdfb992ed0",
      "parents": [
        "2f9cf1d998df8910f01b9ed15a35a90f761e81a7",
        "6ebdccdb262714cf6ac32103dd8cd76705f6eb49"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Thu Nov 20 08:56:49 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 20 08:56:49 2025 -0500"
      },
      "message": "Merge pull request #1 from jdaugherty/dependency-changes\n\nDependency changes"
    },
    {
      "commit": "6ebdccdb262714cf6ac32103dd8cd76705f6eb49",
      "tree": "b6622cdb082110f5c22c02f9ba385dbdfb992ed0",
      "parents": [
        "2f9cf1d998df8910f01b9ed15a35a90f761e81a7"
      ],
      "author": {
        "name": "Kenneth Carroll",
        "email": "kenneth.james.carrolL@gmail.com",
        "time": "Wed Nov 19 16:01:20 2025 -0500"
      },
      "committer": {
        "name": "Kenneth Carroll",
        "email": "kenneth.james.carrolL@gmail.com",
        "time": "Wed Nov 19 16:02:49 2025 -0500"
      },
      "message": "Updating react-scripts dependency, start:local command, and readme\n"
    },
    {
      "commit": "2f9cf1d998df8910f01b9ed15a35a90f761e81a7",
      "tree": "b5b2a52d3d77c8f6ab46ef6dd53aa90ccd1a9c55",
      "parents": [
        "eac8e1e9735f5fb648e1b498381684a13a7370bb"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Wed Nov 19 13:40:10 2025 -0500"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Wed Nov 19 13:40:10 2025 -0500"
      },
      "message": "Initial work for test -\u003e reloading\n"
    },
    {
      "commit": "eac8e1e9735f5fb648e1b498381684a13a7370bb",
      "tree": "19aabc326c9918f72b6349630e8ab5f003aff712",
      "parents": [
        "4770d29b4468559816c1434bf5b53e31b2d9dc4e",
        "7d8000f3c61bc057b1cbabe553ad52dac1565e2b"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Mon Oct 27 17:40:55 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 27 17:40:55 2025 -0400"
      },
      "message": "Merge pull request #71 from apache/localize-external-resources\n\nLocalize external resources"
    },
    {
      "commit": "7d8000f3c61bc057b1cbabe553ad52dac1565e2b",
      "tree": "19aabc326c9918f72b6349630e8ab5f003aff712",
      "parents": [
        "bc9235ad638946e4657bf9075a055b99e17bb0d1"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Fri Oct 24 08:24:03 2025 -0400"
      },
      "committer": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Fri Oct 24 08:24:03 2025 -0400"
      },
      "message": "Update homepage field so it will work in dev and within a directory\n\nChanged the homepage field from a URL to a relative path (\u0027.\u0027) in package.json to adjust deployment or build settings.\n"
    },
    {
      "commit": "bc9235ad638946e4657bf9075a055b99e17bb0d1",
      "tree": "46360f5783a7fb1096fdcf6ac1905e3d635858ca",
      "parents": [
        "4770d29b4468559816c1434bf5b53e31b2d9dc4e"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Fri Oct 24 08:22:44 2025 -0400"
      },
      "committer": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Fri Oct 24 08:22:44 2025 -0400"
      },
      "message": "Move Materialize CSS and Material Icons to launch app directly\n\nAdded Materialize CSS framework and Material Icons font to the app/launch/public directory, including CSS, JS, and font files. Updated index.html to include the new styles and scripts, enabling Materialize UI components and icon support.  These were referenced from external locations which will not work with ASF CSP restrictions\n"
    },
    {
      "commit": "4770d29b4468559816c1434bf5b53e31b2d9dc4e",
      "tree": "ef9d65ba7a17d8b5102a4ebc93d4a224e4e57728",
      "parents": [
        "2792068ecd5a23a490a0997d522c7207f1336b39"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Thu Oct 23 20:07:18 2025 -0400"
      },
      "committer": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Thu Oct 23 20:07:18 2025 -0400"
      },
      "message": "Revert publishing changes\n"
    },
    {
      "commit": "2792068ecd5a23a490a0997d522c7207f1336b39",
      "tree": "5c4a53d60449fc77d9e57e59186ea0fd83464002",
      "parents": [
        "6636922f1560aabbf8c2c0f43fc8b3a5028f67f3"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Thu Oct 23 19:55:53 2025 -0400"
      },
      "committer": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Thu Oct 23 19:55:53 2025 -0400"
      },
      "message": "Add Gradle build step to publish workflow\n\nIntroduces a dedicated Gradle build step in the GitHub Actions publish workflow, utilizing secrets for Gradle Enterprise integration. This ensures the project is built before deploying the Grails Forge UI.\n"
    },
    {
      "commit": "6636922f1560aabbf8c2c0f43fc8b3a5028f67f3",
      "tree": "35bd2025f4e647c799135810a41d77ae32cb6f0e",
      "parents": [
        "3b2ae6a34e30770d0c86697f88b96d0f3e647a47"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Thu Oct 23 19:44:41 2025 -0400"
      },
      "committer": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Thu Oct 23 19:44:41 2025 -0400"
      },
      "message": "Add step to maximize build space in CI workflow\n\nIntroduced a step using easimon/maximize-build-space to free up disk space in the GitHub Actions publish workflow by removing unused SDKs and tools, adjusting swap size, and reserving root filesystem space. This helps prevent build failures due to insufficient disk space.\n"
    },
    {
      "commit": "3b2ae6a34e30770d0c86697f88b96d0f3e647a47",
      "tree": "378e27484c681dcffb7ecf29156ce06e4bb6473e",
      "parents": [
        "ef7a93ec9b5a080d4b9f54f64ddd6af7feadcb1e"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Thu Oct 23 19:39:17 2025 -0400"
      },
      "committer": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Thu Oct 23 19:39:17 2025 -0400"
      },
      "message": "Update publish workflow to use deploy-github-pages action\n\nReplaces the custom publish script with the apache/grails-github-actions/deploy-github-pages action. Updates environment variables to support deployment to the Grails website repository and sets relevant deployment parameters.\n"
    },
    {
      "commit": "ef7a93ec9b5a080d4b9f54f64ddd6af7feadcb1e",
      "tree": "ef9d65ba7a17d8b5102a4ebc93d4a224e4e57728",
      "parents": [
        "4bb735d83234f9580f2e7e79d20fcbd97117923b"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Sun Oct 19 16:39:26 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 19 16:39:26 2025 -0400"
      },
      "message": "Adjust order values for Grails version feed\n\nUpdated the order values for Grails versions in the JSON feed."
    },
    {
      "commit": "4bb735d83234f9580f2e7e79d20fcbd97117923b",
      "tree": "f514b06f3f3728ed7bf175376525816dddffd303",
      "parents": [
        "c222cfc2294cba66d6478637004a71d4fd32bb26"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Fri Sep 26 09:41:21 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 26 09:41:21 2025 -0400"
      },
      "message": "Remove incubating disclaimer from footer\n\nUpdate copy based on Apache Groovy Footer"
    },
    {
      "commit": "c222cfc2294cba66d6478637004a71d4fd32bb26",
      "tree": "09d68f3375ed30d6b18de7d903c6ae00adbed4c4",
      "parents": [
        "e74f622e21f109f6fd611f7d573d25265e78ca03",
        "a7a3d74852e7103f6b9472b87937cde2aeb9a285"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Sat Sep 20 09:48:28 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 20 09:48:28 2025 -0500"
      },
      "message": "Merge pull request #69 from dauer/issue-60-apache-software-foundation-updates\n\nIssue 60 apache software foundation updates"
    },
    {
      "commit": "a7a3d74852e7103f6b9472b87937cde2aeb9a285",
      "tree": "09d68f3375ed30d6b18de7d903c6ae00adbed4c4",
      "parents": [
        "7dd58219e4f531804adf5edbd0452cb243c15de9"
      ],
      "author": {
        "name": "Thomas Rasmussen",
        "email": "thomas.bregentved@gmail.com",
        "time": "Thu Sep 18 15:22:53 2025 +0200"
      },
      "committer": {
        "name": "Thomas Rasmussen",
        "email": "thomas.bregentved@gmail.com",
        "time": "Thu Sep 18 15:22:53 2025 +0200"
      },
      "message": "Fixed markdown link syntax in README file\n"
    },
    {
      "commit": "7dd58219e4f531804adf5edbd0452cb243c15de9",
      "tree": "3503e144cb2a0132e66c37723b5fd2f9ffe81f31",
      "parents": [
        "85c11408d8b2afd0eb44914843ddf16eeb9ab7d1"
      ],
      "author": {
        "name": "Thomas Rasmussen",
        "email": "thomas.bregentved@gmail.com",
        "time": "Thu Sep 18 15:22:00 2025 +0200"
      },
      "committer": {
        "name": "Thomas Rasmussen",
        "email": "thomas.bregentved@gmail.com",
        "time": "Thu Sep 18 15:22:00 2025 +0200"
      },
      "message": "Code comment changed to say Grails not Micronaut\n"
    },
    {
      "commit": "85c11408d8b2afd0eb44914843ddf16eeb9ab7d1",
      "tree": "5a9cde1c0616cec9212e0dcb4b191168045ad37f",
      "parents": [
        "b9b60c325f2f4f067f2246a717808d5dfe013136"
      ],
      "author": {
        "name": "Thomas Rasmussen",
        "email": "thomas.bregentved@gmail.com",
        "time": "Thu Sep 18 14:48:25 2025 +0200"
      },
      "committer": {
        "name": "Thomas Rasmussen",
        "email": "thomas.bregentved@gmail.com",
        "time": "Thu Sep 18 14:48:25 2025 +0200"
      },
      "message": "Open Graph metadata updated\n"
    },
    {
      "commit": "b9b60c325f2f4f067f2246a717808d5dfe013136",
      "tree": "2dd43b77a036b4ba3492b3439d8af6451ea2f6b0",
      "parents": [
        "9bead300e7995d618baf5eded1345da009b52375"
      ],
      "author": {
        "name": "Thomas Rasmussen",
        "email": "thomas.bregentved@gmail.com",
        "time": "Thu Sep 18 14:41:52 2025 +0200"
      },
      "committer": {
        "name": "Thomas Rasmussen",
        "email": "thomas.bregentved@gmail.com",
        "time": "Thu Sep 18 14:41:52 2025 +0200"
      },
      "message": "Renamed image files from micronaut* to grails*\n\nThe images are grails logos, the filenames should be grails*.png|.svg\n"
    },
    {
      "commit": "9bead300e7995d618baf5eded1345da009b52375",
      "tree": "656bada674f1b1390df7540afd49eee0fbc56789",
      "parents": [
        "e74f622e21f109f6fd611f7d573d25265e78ca03"
      ],
      "author": {
        "name": "Thomas Rasmussen",
        "email": "thomas.bregentved@gmail.com",
        "time": "Thu Sep 18 13:27:52 2025 +0200"
      },
      "committer": {
        "name": "Thomas Rasmussen",
        "email": "thomas.bregentved@gmail.com",
        "time": "Thu Sep 18 13:27:52 2025 +0200"
      },
      "message": "Apache Software Foundation Updates - start.grails.org\n\nUpdate the Grails Forge website start.grails.org to reflect the\ntransition from Grails Foundation to Apache Software Foundation\n\nHeader and Footer updated with ASF logo and links to their Privacy, licenses\netc. pages\n\nGitHub links changed from\n  https://github.com/grails\nto\n  https://github.com/apache/grails-core\n"
    },
    {
      "commit": "e74f622e21f109f6fd611f7d573d25265e78ca03",
      "tree": "d564ac17bd83454881807a55445aa2249caef168",
      "parents": [
        "9d97a994c48298e740255901fda6cdd9b82f2545"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Fri Aug 15 17:43:56 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 15 17:43:56 2025 -0400"
      },
      "message": "Make 7.0.0-RCX first until the 7 release"
    },
    {
      "commit": "9d97a994c48298e740255901fda6cdd9b82f2545",
      "tree": "f7bf4cc625c6768d1af140555fa7378132ae9023",
      "parents": [
        "656ada276d1bfcf8d8d7ee1a8686425e98e5a15b",
        "e6e9615868150438d19f3d1afc932fb8adff184a"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Fri Jul 11 22:47:47 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 11 22:47:47 2025 -0400"
      },
      "message": "Merge pull request #62 from apache/update-forge-cli-command\n\nAdd -t forge to generate project -\u003e commands"
    },
    {
      "commit": "e6e9615868150438d19f3d1afc932fb8adff184a",
      "tree": "f7bf4cc625c6768d1af140555fa7378132ae9023",
      "parents": [
        "15182297e7270adb2b6841a39a82ee86d3d622fa"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Fri Jul 11 22:46:11 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 11 22:46:11 2025 -0400"
      },
      "message": "Use grails-forge-cli instead"
    },
    {
      "commit": "15182297e7270adb2b6841a39a82ee86d3d622fa",
      "tree": "45540522f877db0ac3e2a4a896771694d181cdaa",
      "parents": [
        "656ada276d1bfcf8d8d7ee1a8686425e98e5a15b"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Fri Jul 11 22:39:45 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 11 22:39:45 2025 -0400"
      },
      "message": "Add -t forge to generate project -\u003e commands"
    },
    {
      "commit": "656ada276d1bfcf8d8d7ee1a8686425e98e5a15b",
      "tree": "b3b6e1ee8a41e7d8c8278572ffb814fcbfd65051",
      "parents": [
        "a9237206a0f40901dd248c016db84425b9f31b6f",
        "422310fac9de81158a4bfa43a39f7dc06d6462d7"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Fri Jul 11 22:33:07 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 11 22:33:07 2025 -0400"
      },
      "message": "Merge pull request #61 from apache/push-to-gitHub\n\nremove Push to GitHub button"
    },
    {
      "commit": "422310fac9de81158a4bfa43a39f7dc06d6462d7",
      "tree": "b3b6e1ee8a41e7d8c8278572ffb814fcbfd65051",
      "parents": [
        "0da2a0ea9ecac3e567400aee98a789805ca68434"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Fri Jul 11 22:28:27 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 11 22:28:27 2025 -0400"
      },
      "message": "Update GenerateButtons.js"
    },
    {
      "commit": "0da2a0ea9ecac3e567400aee98a789805ca68434",
      "tree": "99fcc994953491e1be84cdc290b79e3285085590",
      "parents": [
        "e9ee82491b633284bff6903604dd5bbaaa91902c"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Fri Jul 11 22:25:31 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 11 22:25:31 2025 -0400"
      },
      "message": "remove more github variables"
    },
    {
      "commit": "e9ee82491b633284bff6903604dd5bbaaa91902c",
      "tree": "1ec16a2f0433ebb544867baf4974b30d45b4086e",
      "parents": [
        "a9237206a0f40901dd248c016db84425b9f31b6f"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Fri Jul 11 22:21:35 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 11 22:21:35 2025 -0400"
      },
      "message": "remove Push to GitHub button"
    },
    {
      "commit": "a9237206a0f40901dd248c016db84425b9f31b6f",
      "tree": "575cde30d1b760c2cd75e1ca08a0cebd1ed0aa91",
      "parents": [
        "f48239d66c41d23e47d52b3a68dba8cb89e55f0f",
        "958f13b72c590d629add03492ddbaa26efc4d541"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Mon Jun 30 23:05:08 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 30 23:05:08 2025 -0400"
      },
      "message": "Merge pull request #59 from apache/matomo-apache-analytics\n\nAdd matomo apache analytics"
    },
    {
      "commit": "958f13b72c590d629add03492ddbaa26efc4d541",
      "tree": "575cde30d1b760c2cd75e1ca08a0cebd1ed0aa91",
      "parents": [
        "f48239d66c41d23e47d52b3a68dba8cb89e55f0f"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Mon Jun 30 23:03:02 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 30 23:03:02 2025 -0400"
      },
      "message": "Add matomo apache analytics"
    },
    {
      "commit": "f48239d66c41d23e47d52b3a68dba8cb89e55f0f",
      "tree": "a8f01da51d54ecc8263dba9d820d88d534ac49b1",
      "parents": [
        "68732ca702c19f128b326012000476b0505f995a"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Tue Jun 10 22:44:50 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 10 22:44:50 2025 -0400"
      },
      "message": "Update grails-version-feed.json order"
    },
    {
      "commit": "68732ca702c19f128b326012000476b0505f995a",
      "tree": "a7392cd5c15cddea246e8295b092fb1f23a5ef9d",
      "parents": [
        "c53e5380c9f34b5d60ba6ebfa7753b2cb05b4627",
        "9f2d7d68eb4957a910614babb7d1003c237ea3f4"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Tue Jun 10 22:40:04 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 10 22:40:04 2025 -0400"
      },
      "message": "Merge pull request #52 from apache/fix-publishing\n\nFix publishing"
    },
    {
      "commit": "9f2d7d68eb4957a910614babb7d1003c237ea3f4",
      "tree": "a7392cd5c15cddea246e8295b092fb1f23a5ef9d",
      "parents": [
        "c53e5380c9f34b5d60ba6ebfa7753b2cb05b4627"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Tue Jun 10 22:39:40 2025 -0400"
      },
      "committer": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Tue Jun 10 22:39:40 2025 -0400"
      },
      "message": "Fix publishing\n"
    },
    {
      "commit": "c53e5380c9f34b5d60ba6ebfa7753b2cb05b4627",
      "tree": "a06d3219dffed05fc8fc461afa82e9cbb94c7b5b",
      "parents": [
        "d3e354302f7c653bff6cb523b77c5c96d17f5a10"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Tue Jun 10 22:28:34 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 10 22:28:34 2025 -0400"
      },
      "message": "Update grails-version-feed.json sorting"
    },
    {
      "commit": "d3e354302f7c653bff6cb523b77c5c96d17f5a10",
      "tree": "938c9697117b9b24fd3f38f6f3847142fdc173a4",
      "parents": [
        "a8de3d2594fb868bc67a9de7807617e7df133162"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Mon Apr 14 18:09:05 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 14 18:09:05 2025 +0200"
      },
      "message": "build: update develocity auth (#51)\n\n"
    },
    {
      "commit": "a8de3d2594fb868bc67a9de7807617e7df133162",
      "tree": "d57d9b15392f1a4662e6aebbdb3b6ed1da0e00a0",
      "parents": [
        "4d47fa33aa6e501665e40091e0100030dad5a59d"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Thu Apr 10 22:19:42 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 10 22:19:42 2025 +0200"
      },
      "message": "build: add develocity (#50)\n\n"
    },
    {
      "commit": "4d47fa33aa6e501665e40091e0100030dad5a59d",
      "tree": "cb1a92f97e2d6c49a3a39e0811a009047f742182",
      "parents": [
        "124e6143e28fa52f2c44692d89ebd8df8c98d464",
        "0e2a1cb9381f052fae1c21390e2b5a2170101eeb"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Thu Jan 30 17:01:38 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 30 17:01:38 2025 +0100"
      },
      "message": "Merge pull request #49 from grails/matrei/commands\n\nCorrect displayed commands and prefer `grails create-app`"
    },
    {
      "commit": "124e6143e28fa52f2c44692d89ebd8df8c98d464",
      "tree": "120a7f61ab99c31361be0fa793f298a16c4093d7",
      "parents": [
        "459f266443cb6b6c19b6a0dc7d7ce31f2fd178fe",
        "62d4f4d0867288f3700a4cec07ef76a1abec4394"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Thu Jan 30 17:01:25 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 30 17:01:25 2025 +0100"
      },
      "message": "Merge pull request #48 from grails/matrei/favicon\n\nAdd favicon"
    },
    {
      "commit": "0e2a1cb9381f052fae1c21390e2b5a2170101eeb",
      "tree": "7a60717ae2d63be3d2c700ce576f71c707b717ef",
      "parents": [
        "459f266443cb6b6c19b6a0dc7d7ce31f2fd178fe"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Thu Jan 30 11:05:41 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Thu Jan 30 11:05:41 2025 +0100"
      },
      "message": "fix: correct displayed commands and prefer `grails create-app`\n\nSome displayed commands were incorrect; this commit fixes them.\nAdditionally, it replaces the alias `grails create-webapp` with the more standard `grails create-app`.\n"
    },
    {
      "commit": "62d4f4d0867288f3700a4cec07ef76a1abec4394",
      "tree": "120a7f61ab99c31361be0fa793f298a16c4093d7",
      "parents": [
        "459f266443cb6b6c19b6a0dc7d7ce31f2fd178fe"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Thu Jan 30 11:00:07 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Thu Jan 30 11:00:07 2025 +0100"
      },
      "message": "fix: add favicon\n"
    },
    {
      "commit": "459f266443cb6b6c19b6a0dc7d7ce31f2fd178fe",
      "tree": "bf0aa409f15d4f24289b7c247d446cba0ad59bb8",
      "parents": [
        "270c73782aea419735f743ec066d10bcf71a478c",
        "ad3e8ec74362e93dd4a2e5ae8c59f41fc7966bd4"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Thu Jan 30 07:00:58 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 30 07:00:58 2025 +0100"
      },
      "message": "Merge pull request #47 from grails/matrei/ui-updates\n\nUI updates"
    },
    {
      "commit": "ad3e8ec74362e93dd4a2e5ae8c59f41fc7966bd4",
      "tree": "bf0aa409f15d4f24289b7c247d446cba0ad59bb8",
      "parents": [
        "58f246ed36aaba3654bead83cba511ffe385fb03"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Wed Jan 29 11:15:08 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Wed Jan 29 11:15:08 2025 +0100"
      },
      "message": "fix: Update footer\n\n- Replace Twitter logo and link with X logo and link.\n- Adjust wording for the Apache license for better display.\n- Update copyright year to 2025.\n- Replace `class` attribute with `className` in `jsx`.\n"
    },
    {
      "commit": "58f246ed36aaba3654bead83cba511ffe385fb03",
      "tree": "a1f633c14be435b4e4ca2367ab83d4cdfabaa510",
      "parents": [
        "270c73782aea419735f743ec066d10bcf71a478c"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Wed Jan 29 11:08:15 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Wed Jan 29 11:08:15 2025 +0100"
      },
      "message": "fix: Improve wording in UI\n\n- Rename \"Application Type\" to \"Project Type\" to better reflect the functionality of the Grails Application Forge, which creates both applications and plugins. The term \"Application Type\" was likely carried over from the Micronaut Launch application and is misleading.\n- Change \"Embedded Servlet\" to \"Embedded Servlet Container\" for more accurate terminology.\n"
    },
    {
      "commit": "270c73782aea419735f743ec066d10bcf71a478c",
      "tree": "6b741db6d4851020699220fbbd4b1a906d726f26",
      "parents": [
        "d3ef27dbfd25a16850201f413f7c473bd4cb0072",
        "3d453c18a8f9c33aafcf7b9b40716881a923497b"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Mon Dec 16 15:09:18 2024 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 16 15:09:18 2024 -0500"
      },
      "message": "Merge pull request #45 from grails/add-prev-snapshot\n\nadd prev-snapshot to version list"
    },
    {
      "commit": "3d453c18a8f9c33aafcf7b9b40716881a923497b",
      "tree": "6b741db6d4851020699220fbbd4b1a906d726f26",
      "parents": [
        "d3ef27dbfd25a16850201f413f7c473bd4cb0072"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Wed Dec 11 17:05:51 2024 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 11 17:05:51 2024 -0500"
      },
      "message": "add prev-snapshot to version list"
    },
    {
      "commit": "d3ef27dbfd25a16850201f413f7c473bd4cb0072",
      "tree": "450acdb5f0f833a8d06f84d0054bcda1fda47a71",
      "parents": [
        "3ebcbf41eaf461c4865e725dcc935cfd4aece1ad"
      ],
      "author": {
        "name": "Puneet Behl",
        "email": "behlp@unityfoundation.io",
        "time": "Thu Feb 01 00:23:35 2024 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 01 00:23:35 2024 +0530"
      },
      "message": "Update ToCli.js (#39)\n\nFix the Generate Project/Commands CLI Command option. Fixes #38"
    },
    {
      "commit": "3ebcbf41eaf461c4865e725dcc935cfd4aece1ad",
      "tree": "5437f31f04936f051b98513e6bfaf575fe2353ec",
      "parents": [
        "f532409dcb1e6d790b242e38b3f3f4a635829844"
      ],
      "author": {
        "name": "Puneet Behl",
        "email": "behlp@unityfoundation.io",
        "time": "Mon Jan 08 13:29:14 2024 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 08 13:29:14 2024 +0530"
      },
      "message": "Update Footer\n\n* Update Footer"
    },
    {
      "commit": "f532409dcb1e6d790b242e38b3f3f4a635829844",
      "tree": "3b45a0cc138083ef3b4a9cbe8b63104615936d1b",
      "parents": [
        "ecf594d7af46dd1bc1d9e368384a4dc9e3590045"
      ],
      "author": {
        "name": "Puneet Behl",
        "email": "behlp@unityfoundation.io",
        "time": "Tue Dec 19 12:57:55 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 19 12:57:55 2023 +0530"
      },
      "message": "Update messages.json (#36)\n\nUpdate versionNoLongerSupported error message"
    },
    {
      "commit": "ecf594d7af46dd1bc1d9e368384a4dc9e3590045",
      "tree": "9b70f50e09d1ea7182660742f2d126d642854b69",
      "parents": [
        "c25bf34b5c7e42f157ba8a0b139ba73dec9e4aa5"
      ],
      "author": {
        "name": "Puneet Behl",
        "email": "behlp@unityfoundation.io",
        "time": "Fri Dec 15 23:47:29 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 15 23:47:29 2023 +0530"
      },
      "message": "Update to NEW DNS (#35)\n\nUse the new endpoints https://latest.grails.org and https://snapshot.grails.org instead of the default Google Cloud generated endpoints (ending with .app)"
    },
    {
      "commit": "c25bf34b5c7e42f157ba8a0b139ba73dec9e4aa5",
      "tree": "409cee8a77d473b528a51335089c31dd377102e2",
      "parents": [
        "5ebb398f409cdf469f5d94cc3428588751e3191b"
      ],
      "author": {
        "name": "Puneet Behl",
        "email": "behlp@unityfoundation.io",
        "time": "Fri Dec 15 23:37:54 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 15 23:37:54 2023 +0530"
      },
      "message": "Revert \"Adding node so I can run from Gradle. (#18)\" (#34)\n\nThis reverts commit 3569bc6a43a820af8c2042a6212602d030466f8e."
    },
    {
      "commit": "5ebb398f409cdf469f5d94cc3428588751e3191b",
      "tree": "27cd4979a73b88c220589b139a6165e7e45cca35",
      "parents": [
        "879550013f70e60daa89fa09207ec554ef82142f"
      ],
      "author": {
        "name": "renovate[bot]",
        "email": "29139614+renovate[bot]@users.noreply.github.com",
        "time": "Tue Nov 14 20:13:04 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 14 20:13:04 2023 +0530"
      },
      "message": "Update actions/checkout action to v4 (#28)\n\nCo-authored-by: renovate[bot] \u003c29139614+renovate[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "879550013f70e60daa89fa09207ec554ef82142f",
      "tree": "588c7aa21d3aa2cb92e62672884d509ff2043b88",
      "parents": [
        "3569bc6a43a820af8c2042a6212602d030466f8e"
      ],
      "author": {
        "name": "renovate[bot]",
        "email": "29139614+renovate[bot]@users.noreply.github.com",
        "time": "Tue Nov 14 20:12:47 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 14 20:12:47 2023 +0530"
      },
      "message": "Update dependency prettier to v2.8.8 (#29)\n\nCo-authored-by: renovate[bot] \u003c29139614+renovate[bot]@users.noreply.github.com\u003e"
    }
  ],
  "next": "3569bc6a43a820af8c2042a6212602d030466f8e"
}
