)]}'
{
  "log": [
    {
      "commit": "119df7b56ba8592165a4140339cecaafff3c08be",
      "tree": "e9bfa207c510cb71b9364c7673afa370b5999f55",
      "parents": [
        "18e6f55df397376c277ed4e40fb6e35f1aa01d0e"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Tue Apr 22 10:36:06 2025 -0400"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Tue Apr 22 10:36:06 2025 -0400"
      },
      "message": "Remove .idea\n"
    },
    {
      "commit": "18e6f55df397376c277ed4e40fb6e35f1aa01d0e",
      "tree": "b83eae856eb5a01cfcab4703a698750c6894f5ec",
      "parents": [
        "28a1467ec50277d01d4ee0c714bf6661c18dc5c4"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Tue Apr 22 10:32:47 2025 -0400"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Tue Apr 22 10:34:46 2025 -0400"
      },
      "message": "Move to grails-core\n"
    },
    {
      "commit": "28a1467ec50277d01d4ee0c714bf6661c18dc5c4",
      "tree": "040661ca883854c780163a20223d60dfac5c4fe7",
      "parents": [
        "a5509b6a74cb1b6725e81649121715277b15864b"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Tue Apr 22 10:32:47 2025 -0400"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Tue Apr 22 10:32:47 2025 -0400"
      },
      "message": "Move to grails-core\n"
    },
    {
      "commit": "a5509b6a74cb1b6725e81649121715277b15864b",
      "tree": "662c7439056cde8674c7e74c518a7e91f415ced1",
      "parents": [
        "9c3d13648f7e9844488cf93a6ba13170670495eb"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Tue Apr 15 09:04:26 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 15 09:04:26 2025 +0200"
      },
      "message": "Update Gradle wrapper and `.sdkmanrc` Java (#167)\n\n* build: update Gradle wrapper to 8.13\n\n* build: update Java in `.sdkmanrc` to 17.0.14-librca"
    },
    {
      "commit": "9c3d13648f7e9844488cf93a6ba13170670495eb",
      "tree": "3bebf4af3c5eea85ec3fee7494b78a7a2f84a665",
      "parents": [
        "9e3ffe436138c1f6b0b135620ddf12d820e06c10"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Tue Apr 15 08:41:53 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 15 08:41:53 2025 +0200"
      },
      "message": "build: fix develocity build-scan tag (#166)\n\n"
    },
    {
      "commit": "9e3ffe436138c1f6b0b135620ddf12d820e06c10",
      "tree": "218a20f89deae7861ddc9b7edcd9f4798d024693",
      "parents": [
        "fa506eae68e7b6a15cf59fd650ec77ba30088335",
        "500bc347753efcb035ea3b71278840cd3f5dc785"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Tue Apr 15 08:39:51 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 15 08:39:51 2025 +0200"
      },
      "message": "Merge pull request #165 from matrei/merge-4.2.x-into-5.0.x\n\nMerge 4.2.x into 5.0.x"
    },
    {
      "commit": "500bc347753efcb035ea3b71278840cd3f5dc785",
      "tree": "218a20f89deae7861ddc9b7edcd9f4798d024693",
      "parents": [
        "fa506eae68e7b6a15cf59fd650ec77ba30088335",
        "67789f44b889600c6e15e4b5ac4daeb6eb826213"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Tue Apr 15 08:28:27 2025 +0200"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Tue Apr 15 08:28:27 2025 +0200"
      },
      "message": "Merge branch \u00274.2.x\u0027 into merge-4.2.x-into-5.0.x\n\n# Conflicts:\n#\tREADME.md\n"
    },
    {
      "commit": "67789f44b889600c6e15e4b5ac4daeb6eb826213",
      "tree": "027bc588f423d312091a56ec8de1a89565ccd987",
      "parents": [
        "ebabd7082362206e82af68026266f78f4ab2b63b"
      ],
      "author": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Tue Apr 15 08:20:53 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 15 08:20:53 2025 +0200"
      },
      "message": "fix: Add fileDetector method to IContainerGebConfiguration interface (#164)\n\n"
    },
    {
      "commit": "fa506eae68e7b6a15cf59fd650ec77ba30088335",
      "tree": "5be48392482179881b35311db7d314515c534b36",
      "parents": [
        "4f40bbc01452ad3b208e83074ea43ff0b81220ce"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Mon Apr 14 17:57:08 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 14 17:57:08 2025 +0200"
      },
      "message": "build: update develocity auth (#163)\n\n"
    },
    {
      "commit": "4f40bbc01452ad3b208e83074ea43ff0b81220ce",
      "tree": "f416f9c657890dcd4730dffe967877a1c1a28481",
      "parents": [
        "c09c1588fa0915e3d8e48248a722279fc7a56237"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Thu Apr 10 13:25:42 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 10 13:25:42 2025 +0200"
      },
      "message": "build: switch develocity instance (#162)\n\n"
    },
    {
      "commit": "ebabd7082362206e82af68026266f78f4ab2b63b",
      "tree": "134e60ade9e5a9a25e0a876658f9c0dad67d141f",
      "parents": [
        "c32ae32ac838e79ceb2902113273665f1b762661"
      ],
      "author": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Wed Apr 09 13:34:38 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 09 13:34:38 2025 +0200"
      },
      "message": "feat: ContainerGebConfiguration inheritance (#151)\n\n* boolean inheritance\n\n* array inheritance\n\n* Revert annotation inheritance\n\nThis reverts commit cfd896c954f2f4e387eefe78447cc66ad36c1d85.\nThis reverts commit d98f80d1faf40d59aab33f4ff2763e7ade8cdddf.\n\n* actual implementation, by me\n\nthe previous two reverted showcase things were claude lol (only committed as interesting)\n\n* reviewed\n\n* mention in documentation\n\n---------\n\nCo-authored-by: Mattias Reichel \u003cmattias.reichel@gmail.com\u003e"
    },
    {
      "commit": "c09c1588fa0915e3d8e48248a722279fc7a56237",
      "tree": "0ec6eec955e4a33ccd7bdbae014f9e17b8a742f1",
      "parents": [
        "701ed75a7e9b82b96a7df613bb088ba5a814dcf2",
        "76d7307df20980b27121d1165b666420b6f15738"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Wed Apr 09 13:00:48 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 09 13:00:48 2025 +0200"
      },
      "message": "Merge pull request #160 from matrei/merge-4.2.x-into-5.0.x\n\nMerge 4.2.x into 5.0.x"
    },
    {
      "commit": "76d7307df20980b27121d1165b666420b6f15738",
      "tree": "0ec6eec955e4a33ccd7bdbae014f9e17b8a742f1",
      "parents": [
        "701ed75a7e9b82b96a7df613bb088ba5a814dcf2",
        "c32ae32ac838e79ceb2902113273665f1b762661"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Wed Apr 09 12:13:24 2025 +0200"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Wed Apr 09 12:13:24 2025 +0200"
      },
      "message": "Merge branch \u00274.2.x\u0027 into merge-4.2.x-into-5.0.x\n"
    },
    {
      "commit": "c32ae32ac838e79ceb2902113273665f1b762661",
      "tree": "47576d9faa67d7ff86b92ad03f9865cd4af1b40c",
      "parents": [
        "7c6469eecceb266f7a93d6238f8ec0335ff3e9b4",
        "4946ad9c3543b6d0c9455d6be2e97f13e6982148"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Tue Apr 08 16:25:20 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 08 16:25:20 2025 +0200"
      },
      "message": "Merge pull request #146 from JonasPammer/file-support\n\nfeat: ServiceRegistry + Use LocalFileDetector by default"
    },
    {
      "commit": "701ed75a7e9b82b96a7df613bb088ba5a814dcf2",
      "tree": "6ad06f23941fe994d4ae7907ed29d3ab1c0b5731",
      "parents": [
        "73c623bba021b2e88358b1b05245a18778bc2d96"
      ],
      "author": {
        "name": "James Fredley",
        "email": "jamesfredley@users.noreply.github.com",
        "time": "Sat Apr 05 12:39:55 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 05 12:39:55 2025 -0400"
      },
      "message": "apply asset-pipeline-gradle plugin (#155)\n\nresolves java.lang.ClassNotFoundException: org.graalvm.polyglot.Context"
    },
    {
      "commit": "73c623bba021b2e88358b1b05245a18778bc2d96",
      "tree": "80a65ac2617ffcbb196d7414374448416591bcfb",
      "parents": [
        "a356f86368850549f56481d1972a17690733b098",
        "9a3c020f438e4b11cec0827f6e43a2ee66814263"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Fri Apr 04 03:53:04 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 04 03:53:04 2025 -0400"
      },
      "message": "Merge pull request #158 from jdaugherty/5.0.x\n\nupdate test app for apache coordinate change"
    },
    {
      "commit": "9a3c020f438e4b11cec0827f6e43a2ee66814263",
      "tree": "80a65ac2617ffcbb196d7414374448416591bcfb",
      "parents": [
        "99dfb5d04f3b200fe9967fdfae3654ed46ea8f14"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Fri Apr 04 03:51:55 2025 -0400"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Fri Apr 04 03:51:55 2025 -0400"
      },
      "message": "update test app for apache coordinate change\n"
    },
    {
      "commit": "a356f86368850549f56481d1972a17690733b098",
      "tree": "9f8c104d6c109bdcd3172e134e81c3a798a97bcc",
      "parents": [
        "b8a8bf8186fd0a664e3697af0a3452f0bba22bb8",
        "99dfb5d04f3b200fe9967fdfae3654ed46ea8f14"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Fri Apr 04 03:40:52 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 04 03:40:52 2025 -0400"
      },
      "message": "Merge pull request #157 from jdaugherty/5.0.x\n\nupdate for view coordinate change"
    },
    {
      "commit": "99dfb5d04f3b200fe9967fdfae3654ed46ea8f14",
      "tree": "9f8c104d6c109bdcd3172e134e81c3a798a97bcc",
      "parents": [
        "418a31d64263aff6e6eb8fd8ffb65c12bcaa81a3"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Fri Apr 04 02:31:08 2025 -0400"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Fri Apr 04 02:31:08 2025 -0400"
      },
      "message": "update for view coordinate change\n"
    },
    {
      "commit": "b8a8bf8186fd0a664e3697af0a3452f0bba22bb8",
      "tree": "81a51c9f37599b3cefdfd87a7d83ee7a9059c02a",
      "parents": [
        "3eb447436ad7aaa06b5e750781038211206b29f7",
        "418a31d64263aff6e6eb8fd8ffb65c12bcaa81a3"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Fri Apr 04 02:20:04 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 04 02:20:04 2025 -0400"
      },
      "message": "Merge pull request #156 from jdaugherty/5.0.x\n\nupdate for gorm cordinate change"
    },
    {
      "commit": "418a31d64263aff6e6eb8fd8ffb65c12bcaa81a3",
      "tree": "81a51c9f37599b3cefdfd87a7d83ee7a9059c02a",
      "parents": [
        "e3023fdd0ceb45a86a236d68d766f6d5367de44f"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Fri Apr 04 02:19:12 2025 -0400"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Fri Apr 04 02:19:12 2025 -0400"
      },
      "message": "update for gorm cordinate change\n"
    },
    {
      "commit": "3eb447436ad7aaa06b5e750781038211206b29f7",
      "tree": "6a99d8cf87656fd0eb644db3e411f0d4d87acb36",
      "parents": [
        "660a2f5f02277bd615d0922ac2c7e63d71310bf4",
        "e3023fdd0ceb45a86a236d68d766f6d5367de44f"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Thu Apr 03 15:07:59 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 03 15:07:59 2025 -0400"
      },
      "message": "Merge pull request #154 from jdaugherty/5.0.x\n\nApache artifact rename"
    },
    {
      "commit": "e3023fdd0ceb45a86a236d68d766f6d5367de44f",
      "tree": "6a99d8cf87656fd0eb644db3e411f0d4d87acb36",
      "parents": [
        "c855a01567e54730a98cd93cab48b7278ca0820b"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Thu Apr 03 15:01:56 2025 -0400"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Thu Apr 03 15:07:08 2025 -0400"
      },
      "message": "apache coordinate change\n"
    },
    {
      "commit": "c855a01567e54730a98cd93cab48b7278ca0820b",
      "tree": "b753f1a486542f43ea98e0d51e3df0bd1e01bcd2",
      "parents": [
        "e6de1523c4c90f0a9b5ee6a22fca9d8ed001391e"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Thu Apr 03 00:26:50 2025 -0400"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Thu Apr 03 00:32:40 2025 -0400"
      },
      "message": "Apache artifact rename\n"
    },
    {
      "commit": "4946ad9c3543b6d0c9455d6be2e97f13e6982148",
      "tree": "4142908473d28ae84908f9a1eae2a742bbf5b636",
      "parents": [
        "8efac2531fb7ce9f71a02db2cc66e74087883602"
      ],
      "author": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Sun Mar 16 14:33:15 2025 +0100"
      },
      "committer": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Sun Mar 16 14:33:15 2025 +0100"
      },
      "message": "intellij optimize imports\n"
    },
    {
      "commit": "8efac2531fb7ce9f71a02db2cc66e74087883602",
      "tree": "049cb6f391834c131477cba020676e3e4064d440",
      "parents": [
        "faef7dcdfc579272a875a1daed3af27a683dcc6e"
      ],
      "author": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Sun Mar 16 12:28:09 2025 +0100"
      },
      "committer": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Sun Mar 16 12:28:09 2025 +0100"
      },
      "message": "resolve\n"
    },
    {
      "commit": "faef7dcdfc579272a875a1daed3af27a683dcc6e",
      "tree": "f60e37d715d9f890277a2659bc7ab14044565a69",
      "parents": [
        "63382a47a3087c01fcb803c427119f0370ba2dbb"
      ],
      "author": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Sun Mar 16 08:56:37 2025 +0100"
      },
      "committer": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Sun Mar 16 08:56:37 2025 +0100"
      },
      "message": "reviewed\n\ntests works on my windows machine\n"
    },
    {
      "commit": "660a2f5f02277bd615d0922ac2c7e63d71310bf4",
      "tree": "ba5d064f7305b6a2e28e539c0d26d1b445d178ab",
      "parents": [
        "dcd9fcd6fd85a129b955c8e30016a9519b2a4232",
        "e6de1523c4c90f0a9b5ee6a22fca9d8ed001391e"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Mon Mar 10 14:45:23 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 10 14:45:23 2025 -0400"
      },
      "message": "Merge pull request #153 from jdaugherty/5.0.x\n\nSwitch to grails/grails-github-actions/deploy-github-pages@main"
    },
    {
      "commit": "e6de1523c4c90f0a9b5ee6a22fca9d8ed001391e",
      "tree": "ba5d064f7305b6a2e28e539c0d26d1b445d178ab",
      "parents": [
        "dcd9fcd6fd85a129b955c8e30016a9519b2a4232"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Mon Mar 10 14:27:05 2025 -0400"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Mon Mar 10 14:27:05 2025 -0400"
      },
      "message": "Switch to grails/grails-github-actions/deploy-github-pages@main\n"
    },
    {
      "commit": "dcd9fcd6fd85a129b955c8e30016a9519b2a4232",
      "tree": "603f049dcc0e277b1ff1e364480c4a5c8983bb8b",
      "parents": [
        "dbca1691e4a07fd6c3c54f3dfe47dc09947f9430"
      ],
      "author": {
        "name": "grails-build",
        "email": "grails-build@users.noreply.github.com",
        "time": "Wed Mar 05 13:13:41 2025 +0000"
      },
      "committer": {
        "name": "grails-build",
        "email": "grails-build@users.noreply.github.com",
        "time": "Wed Mar 05 13:13:41 2025 +0000"
      },
      "message": "chore: Bump version to 5.0.0-SNAPSHOT\n"
    },
    {
      "commit": "dbca1691e4a07fd6c3c54f3dfe47dc09947f9430",
      "tree": "8beec216ec0280628dde255206632390a3dae20d",
      "parents": [
        "1443caa4899a271de8a5bec61033c6e1793bf5e9"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Wed Mar 05 08:05:47 2025 -0500"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Wed Mar 05 08:06:48 2025 -0500"
      },
      "message": "[skip ci] grails 7.0.0-M3\n"
    },
    {
      "commit": "1443caa4899a271de8a5bec61033c6e1793bf5e9",
      "tree": "41c7fa084c4e7eb0c5e8f739f3973ab9ed4fb938",
      "parents": [
        "cc27a92281efe9fcb6d544fb639a8e3f7271b242"
      ],
      "author": {
        "name": "grails-build",
        "email": "grails-build@users.noreply.github.com",
        "time": "Wed Mar 05 13:00:31 2025 +0000"
      },
      "committer": {
        "name": "grails-build",
        "email": "grails-build@users.noreply.github.com",
        "time": "Wed Mar 05 13:00:31 2025 +0000"
      },
      "message": "[skip ci] Release v5.0.0-M4\n"
    },
    {
      "commit": "cc27a92281efe9fcb6d544fb639a8e3f7271b242",
      "tree": "e3db7a4bc1120c0709aa687deabfc34abfcc05e8",
      "parents": [
        "04e06ffb84f57ca79a98e4cd262bddd406aeb0f6"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Wed Mar 05 07:56:55 2025 -0500"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Wed Mar 05 07:59:32 2025 -0500"
      },
      "message": "[skip ci] grails 7.0.0-M3\n"
    },
    {
      "commit": "04e06ffb84f57ca79a98e4cd262bddd406aeb0f6",
      "tree": "febb5de4f860dbfa5aefd4a9a35bac20b69467d1",
      "parents": [
        "4694bfbcfcb041cd387f74b566975e8ab9eded06"
      ],
      "author": {
        "name": "grails-build",
        "email": "grails-build@users.noreply.github.com",
        "time": "Wed Mar 05 12:51:07 2025 +0000"
      },
      "committer": {
        "name": "grails-build",
        "email": "grails-build@users.noreply.github.com",
        "time": "Wed Mar 05 12:51:07 2025 +0000"
      },
      "message": "chore: Bump version to 5.0.0-SNAPSHOT\n"
    },
    {
      "commit": "4694bfbcfcb041cd387f74b566975e8ab9eded06",
      "tree": "1b6dd5d305b1866406bcf9719ec8e3ea893ac797",
      "parents": [
        "bd73675a2e8624f9281903d8291c25ca646be01e"
      ],
      "author": {
        "name": "grails-build",
        "email": "grails-build@users.noreply.github.com",
        "time": "Wed Mar 05 12:46:24 2025 +0000"
      },
      "committer": {
        "name": "grails-build",
        "email": "grails-build@users.noreply.github.com",
        "time": "Wed Mar 05 12:46:24 2025 +0000"
      },
      "message": "[skip ci] Release v5.0.0-M3\n"
    },
    {
      "commit": "bd73675a2e8624f9281903d8291c25ca646be01e",
      "tree": "febb5de4f860dbfa5aefd4a9a35bac20b69467d1",
      "parents": [
        "d0e18d9d08a66c07a69647a1da6d1a34d62f47b8"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Wed Mar 05 07:45:00 2025 -0500"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Wed Mar 05 07:45:00 2025 -0500"
      },
      "message": "[skip ci] fix build to be staged\n"
    },
    {
      "commit": "63382a47a3087c01fcb803c427119f0370ba2dbb",
      "tree": "f250680ca524323940e656b0f52249a2358beed7",
      "parents": [
        "52b3f43b9f3fc3adf894a13a2de115b3050b8b91"
      ],
      "author": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Wed Mar 05 06:05:58 2025 +0100"
      },
      "committer": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Wed Mar 05 06:05:58 2025 +0100"
      },
      "message": "Ignore SpockSpec with GitHub URL, Update docs\n"
    },
    {
      "commit": "52b3f43b9f3fc3adf894a13a2de115b3050b8b91",
      "tree": "b82e24f98b5a39a06e8923c96552049fa64e2887",
      "parents": [
        "ac987edf803a812dfd07b35e164d8e07490f1f4d"
      ],
      "author": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Tue Mar 04 06:33:25 2025 +0100"
      },
      "committer": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Tue Mar 04 06:33:25 2025 +0100"
      },
      "message": "test confirming https://github.com/grails/geb/pull/146#issuecomment-2691433277 (no exception was thrown)\n"
    },
    {
      "commit": "ac987edf803a812dfd07b35e164d8e07490f1f4d",
      "tree": "b6f225792908c7e8c269fd16c6a774a1c16f704e",
      "parents": [
        "7850faf06914e13eaf3748a85b1316b3c7c4aca9"
      ],
      "author": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Tue Mar 04 06:28:17 2025 +0100"
      },
      "committer": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Tue Mar 04 06:28:17 2025 +0100"
      },
      "message": "rename spec classes to fit with #143\n"
    },
    {
      "commit": "7850faf06914e13eaf3748a85b1316b3c7c4aca9",
      "tree": "74791bad6efa9c9b2778a0daeb36a0dbab9f1bec",
      "parents": [
        "98580b35d33fb5d92216712808930840180b721f"
      ],
      "author": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Tue Mar 04 06:24:18 2025 +0100"
      },
      "committer": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Tue Mar 04 06:24:18 2025 +0100"
      },
      "message": "replace the concurrenthashmap with hashmap (https://github.com/grails/geb/pull/146#issuecomment-2691320778)\n"
    },
    {
      "commit": "98580b35d33fb5d92216712808930840180b721f",
      "tree": "4397cedf392f4518191a5d46953159e87bf2e024",
      "parents": [
        "e03b260c7d77e07e4f99307002634b23a7a48fa5"
      ],
      "author": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Tue Mar 04 06:20:15 2025 +0100"
      },
      "committer": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Tue Mar 04 06:20:15 2025 +0100"
      },
      "message": "copy/paste \"call the ServiceRegistry directly not needing any different service loader implementations at all\"\n"
    },
    {
      "commit": "e03b260c7d77e07e4f99307002634b23a7a48fa5",
      "tree": "f165ed84666cbf497191a125b2a2301893d56ad4",
      "parents": [
        "7d8847e8f89c0d3908fb806d107f60abb43dd116"
      ],
      "author": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Tue Mar 04 06:13:36 2025 +0100"
      },
      "committer": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Tue Mar 04 06:13:36 2025 +0100"
      },
      "message": "copy/paste https://github.com/grails/geb/pull/146#issuecomment-2690523380\n\ndid not (yet) implement the third part of mentioned comment. still using ContainerFileDetectorServiceLoader\n\nonly difference: put into .serviceloader package\n"
    },
    {
      "commit": "d0e18d9d08a66c07a69647a1da6d1a34d62f47b8",
      "tree": "32c5d0616d796f54ef4121bfb8d84cde72df9604",
      "parents": [
        "f6ecb3c2fb77fe50e1181887a0134cd49cee57cc",
        "fd233fd409c9f2208dba46e3cc8a39873333c957"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Sun Mar 02 14:54:56 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Mar 02 14:54:56 2025 +0100"
      },
      "message": "Merge pull request #150 from grails/merge-4.2.x-into-5.0.x\n\nMerge 4.2.x into 5.0.x"
    },
    {
      "commit": "fd233fd409c9f2208dba46e3cc8a39873333c957",
      "tree": "32c5d0616d796f54ef4121bfb8d84cde72df9604",
      "parents": [
        "f6ecb3c2fb77fe50e1181887a0134cd49cee57cc",
        "7c6469eecceb266f7a93d6238f8ec0335ff3e9b4"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Feb 28 21:18:19 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Feb 28 21:18:19 2025 +0100"
      },
      "message": "Merge branch \u00274.2.x\u0027 into merge-4.2.x-into-5.0.x\n"
    },
    {
      "commit": "7c6469eecceb266f7a93d6238f8ec0335ff3e9b4",
      "tree": "35fc50f7fa5b68c8062ea6ab733f0f6f5661b5c7",
      "parents": [
        "9ddf99875cf2b99820a4a41a931a983c977080df",
        "913cbf23bbfd93b7d12903977914471480bdd6ef"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Feb 28 21:17:20 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 28 21:17:20 2025 +0100"
      },
      "message": "Merge pull request #149 from grails/merge-4.1.x-into-4.2.x\n\nMerge 4.1.x into 4.2.x"
    },
    {
      "commit": "913cbf23bbfd93b7d12903977914471480bdd6ef",
      "tree": "35fc50f7fa5b68c8062ea6ab733f0f6f5661b5c7",
      "parents": [
        "9ddf99875cf2b99820a4a41a931a983c977080df",
        "40faf53e74e5b58730ff9a5f32006e5d68a71d69"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Feb 28 21:06:33 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Feb 28 21:06:33 2025 +0100"
      },
      "message": "Merge branch \u00274.1.x\u0027 into merge-4.1.x-into-4.2.x\n"
    },
    {
      "commit": "7d8847e8f89c0d3908fb806d107f60abb43dd116",
      "tree": "fdb90e232e31a011b857b9ffba0a5e39ddfb7667",
      "parents": [
        "953ba076de0047861a61dd7a79eaea593d121da2"
      ],
      "author": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Fri Feb 28 20:57:10 2025 +0100"
      },
      "committer": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Fri Feb 28 20:57:10 2025 +0100"
      },
      "message": "preliminary code review\n"
    },
    {
      "commit": "953ba076de0047861a61dd7a79eaea593d121da2",
      "tree": "dcf663ec2215e46d63b171709bbb8a13053ec08e",
      "parents": [
        "69a7e5f7e36753271d091024348df79be9f390ae",
        "9ddf99875cf2b99820a4a41a931a983c977080df"
      ],
      "author": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Thu Feb 27 21:29:40 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 27 21:29:40 2025 +0100"
      },
      "message": "Merge branch \u00274.2.x\u0027 into file-support"
    },
    {
      "commit": "69a7e5f7e36753271d091024348df79be9f390ae",
      "tree": "93672ffc61783496ccf03ebdc9d88f87086e5293",
      "parents": [
        "c2e7312a47578361328368af1e1dc87432bfc7f0"
      ],
      "author": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Thu Feb 27 21:19:02 2025 +0100"
      },
      "committer": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Thu Feb 27 21:19:02 2025 +0100"
      },
      "message": "try to replicate serviceloaderity\n\nmore minimalist serviceloader/spock/annotation README\n\nmade a interface to allow future extensibility, i.e. maybe pass along current container info through an interface getter, similiar to how we pass errorInfo in other serviceloader?\nmay have went overboard with this\n"
    },
    {
      "commit": "9ddf99875cf2b99820a4a41a931a983c977080df",
      "tree": "b13b857ac4f9b9dab82a6b6522f6b46505585b21",
      "parents": [
        "a7529102464b7ee7cbabcb2b275dde0f6fc5a490"
      ],
      "author": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Thu Feb 27 21:06:55 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 27 21:06:55 2025 +0100"
      },
      "message": "feat: allow to configure implicit wait (#147)\n\n* at least allow to configure it, as a quick solution\n\n* refactor(review): camelCase\n\n* chore: code review \u003c3\n\n* refactor: default 0, update README with details\n\n* refactor: read suggested name from comment more carefully\n\n* feat: other values with descriptions found in https://www.selenium.dev/selenium/docs/api/java/org/openqa/selenium/WebDriver.Timeouts.html\n\n* code reviewed\n\n* chore: code review https://github.com/grails/geb/pull/147#discussion_r1973128141"
    },
    {
      "commit": "c2e7312a47578361328368af1e1dc87432bfc7f0",
      "tree": "df3bd689f6b39bb64519f473b1509af757c3e2e0",
      "parents": [
        "b637cca0eb0742efe14e148337a5e5ac61ca955a"
      ],
      "author": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Thu Feb 27 19:42:40 2025 +0100"
      },
      "committer": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Thu Feb 27 19:42:40 2025 +0100"
      },
      "message": "chore: code review\n"
    },
    {
      "commit": "a7529102464b7ee7cbabcb2b275dde0f6fc5a490",
      "tree": "fff2bd39d390e2d8c56151d0e7edaab8e1662790",
      "parents": [
        "783784397f021e3f36d9e48a85e4a40c8274068f",
        "c22b5ce4459baa4b47bd29e27179d7adda3737b8"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Wed Feb 26 18:35:25 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 26 18:35:25 2025 -0500"
      },
      "message": "Merge pull request #145 from JonasPammer/custom-geb-config-2\n\n"
    },
    {
      "commit": "c22b5ce4459baa4b47bd29e27179d7adda3737b8",
      "tree": "fff2bd39d390e2d8c56151d0e7edaab8e1662790",
      "parents": [
        "215cf6aa1f1b3f0fe4b969d8691b4ed79ef7acf4"
      ],
      "author": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Wed Feb 26 21:33:39 2025 +0100"
      },
      "committer": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Wed Feb 26 21:33:39 2025 +0100"
      },
      "message": "unused import\n"
    },
    {
      "commit": "b637cca0eb0742efe14e148337a5e5ac61ca955a",
      "tree": "3c1497b5225c903daa7ab5ffc9baac3a949bec77",
      "parents": [
        "0cffc9c4d737c4a00218d72cda40c82cf20e3ca1"
      ],
      "author": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Tue Feb 25 07:01:44 2025 +0100"
      },
      "committer": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Tue Feb 25 07:01:44 2025 +0100"
      },
      "message": "feat: implement as @ContainerGebConfiguration, add test\n\nTODO factory/serviceloader pattern ability as per https://github.com/grails/geb/pull/143\n\nimplementing it as @Shared of ContainerSupport.groovy trait was wrong, and lead to a race condition as not picked up by matchesCurrentContainerConfiguration for obvious reason. also trying that was more complicated to implement, so not even commited to avoid people thinking i have no clue about advanced interlinked self-referencing trait patterns (i dont)\n"
    },
    {
      "commit": "215cf6aa1f1b3f0fe4b969d8691b4ed79ef7acf4",
      "tree": "932f00db0e0f50feaff4aa262a4f0d4703a823a2",
      "parents": [
        "3d8735624202bc137192ff4f08abbcf6fed82563"
      ],
      "author": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Mon Feb 24 20:26:13 2025 +0100"
      },
      "committer": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Mon Feb 24 20:26:13 2025 +0100"
      },
      "message": "update RootPageSpec to only set the PageSourceReporter\n\nhttps://github.com/grails/geb/pull/145#discussion_r1967623951\n"
    },
    {
      "commit": "40faf53e74e5b58730ff9a5f32006e5d68a71d69",
      "tree": "8f87b05f32fab948352d7a9dc49e1c59f762c708",
      "parents": [
        "86e2e1bc7c33666fe2e589fba3f302d18c7ce4c7",
        "947eb0ae8ef59c0e1a47ee01173664ad8248843d"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Sun Feb 23 14:02:07 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Feb 23 14:02:07 2025 +0100"
      },
      "message": "Merge pull request #148 from grails/jp-custom-geb-config\n\nfix: could not find directory log message"
    },
    {
      "commit": "947eb0ae8ef59c0e1a47ee01173664ad8248843d",
      "tree": "8f87b05f32fab948352d7a9dc49e1c59f762c708",
      "parents": [
        "8184a0e303abb61e18f4194cb1bb72b8599ad1ee"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Sun Feb 23 10:13:21 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Sun Feb 23 13:52:52 2025 +0100"
      },
      "message": "chore: update year in license header\n"
    },
    {
      "commit": "8184a0e303abb61e18f4194cb1bb72b8599ad1ee",
      "tree": "778610c4660ee3bf58d1c7ee242953aae13a77a9",
      "parents": [
        "86e2e1bc7c33666fe2e589fba3f302d18c7ce4c7"
      ],
      "author": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Sat Feb 22 21:25:01 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Sun Feb 23 13:52:51 2025 +0100"
      },
      "message": "fix: fix log message\n"
    },
    {
      "commit": "0cffc9c4d737c4a00218d72cda40c82cf20e3ca1",
      "tree": "2c7f13ed88af18ee307406610af0236e12c1414f",
      "parents": [
        "960dff8dfa16eda85bfcb5f83307829e76e3d3ce"
      ],
      "author": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Sat Feb 22 23:38:02 2025 +0100"
      },
      "committer": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Sat Feb 22 23:38:02 2025 +0100"
      },
      "message": "document https://github.com/grails/geb/issues/128#issuecomment-2621565934\n"
    },
    {
      "commit": "960dff8dfa16eda85bfcb5f83307829e76e3d3ce",
      "tree": "ae3c2d61fc5c71a177b224bc5f485fa77791efa8",
      "parents": [
        "c98faa4d2d2b24a334fe34c32bb95979e4eb65dd"
      ],
      "author": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Sat Feb 22 23:31:14 2025 +0100"
      },
      "committer": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Sat Feb 22 23:31:14 2025 +0100"
      },
      "message": "statically set as per docs\n\nhttps://www.selenium.dev/documentation/webdriver/drivers/remote_webdriver/#uploads\n"
    },
    {
      "commit": "c98faa4d2d2b24a334fe34c32bb95979e4eb65dd",
      "tree": "4fe8ac52fdfc41ab17bb88f87d452475a11e9087",
      "parents": [
        "783784397f021e3f36d9e48a85e4a40c8274068f"
      ],
      "author": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Sat Feb 22 23:22:51 2025 +0100"
      },
      "committer": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Sat Feb 22 23:22:51 2025 +0100"
      },
      "message": "failing test\n"
    },
    {
      "commit": "3d8735624202bc137192ff4f08abbcf6fed82563",
      "tree": "bbd6590036d80d90263dfb1b41c9fc85ce925e7c",
      "parents": [
        "783784397f021e3f36d9e48a85e4a40c8274068f"
      ],
      "author": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Sat Feb 22 22:59:51 2025 +0100"
      },
      "committer": {
        "name": "Jonas Pammer",
        "email": "opensource@jonaspammer.at",
        "time": "Sat Feb 22 23:00:43 2025 +0100"
      },
      "message": "fix: include ScreenshotReporter by default in container too\n\nhttps://github.com/apache/groovy-geb/blob/917df94c29b71f9eeec940ee1462ba2a4285489d/module/geb-core/src/main/groovy/geb/Configuration.groovy#L679\n"
    },
    {
      "commit": "f6ecb3c2fb77fe50e1181887a0134cd49cee57cc",
      "tree": "687340030cdbdf0afb5f99c640a983ed8d224cf1",
      "parents": [
        "f8a3c8ccb339c5dd581deb05c342ba87c9982830",
        "5b49ac70fe8180ad27d5706811e060e09554a238"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Tue Feb 18 13:27:46 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 18 13:27:46 2025 +0100"
      },
      "message": "Merge pull request #136 from gsartori/5.0.x\n\nBootStrap init closure servletContext cleanup"
    },
    {
      "commit": "f8a3c8ccb339c5dd581deb05c342ba87c9982830",
      "tree": "98526ce0c665cb1bc19066b17f157de98fe27b70",
      "parents": [
        "1bed538a3df1ca58b4a4c2c7250350529830f62c",
        "db10623b532f3b57b66d3993d0593d059a5d239e"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Tue Feb 18 12:57:59 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 18 12:57:59 2025 +0100"
      },
      "message": "Merge pull request #140 from grails/merge-4.2.x-into-5.0.x\n\nMerge 4.2.x into 5.0.x"
    },
    {
      "commit": "db10623b532f3b57b66d3993d0593d059a5d239e",
      "tree": "98526ce0c665cb1bc19066b17f157de98fe27b70",
      "parents": [
        "74708b989923013d57fc02a44d00d1c89ba5219f"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Tue Feb 18 12:55:00 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Tue Feb 18 12:55:00 2025 +0100"
      },
      "message": "docs: resolve Geb version for Javadoc API links\n\nAdd task to resolve the Geb version from the Grails BOM, ensuring\ncorrect versioning for the Geb API links in Javadoc documentation.\n"
    },
    {
      "commit": "74708b989923013d57fc02a44d00d1c89ba5219f",
      "tree": "070908bc265cb3a99e1d17aae8315a9f23ad0f22",
      "parents": [
        "1bed538a3df1ca58b4a4c2c7250350529830f62c",
        "783784397f021e3f36d9e48a85e4a40c8274068f"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Tue Feb 18 11:48:22 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Tue Feb 18 11:48:22 2025 +0100"
      },
      "message": "Merge branch \u00274.2.x\u0027 into merge-4.2.x-into-5.0.x\n"
    },
    {
      "commit": "783784397f021e3f36d9e48a85e4a40c8274068f",
      "tree": "599fe68bcb97630c3376de88d32798052ec93c71",
      "parents": [
        "21455510b4d00ee1bbfd31c4e683bf16c4bee04c",
        "cd09e9769ca78fcde3dd9959bcc1f8d9661dbfae"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Tue Feb 18 11:47:14 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 18 11:47:14 2025 +0100"
      },
      "message": "Merge pull request #139 from grails/matrei/improve-browser-delegate\n\nImprovements to `BrowserDelegate`"
    },
    {
      "commit": "cd09e9769ca78fcde3dd9959bcc1f8d9661dbfae",
      "tree": "599fe68bcb97630c3376de88d32798052ec93c71",
      "parents": [
        "b2c38311b8ded3737ca4c45b53954ced6fe672c3"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Tue Feb 18 11:21:40 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Tue Feb 18 11:21:40 2025 +0100"
      },
      "message": "docs: add Javadoc to `BrowserDelegate` with Geb API links\n\nAdd Javadoc to the methods in `BrowserDelegate`, including references\nto the relevant Geb API documentation.\n"
    },
    {
      "commit": "b2c38311b8ded3737ca4c45b53954ced6fe672c3",
      "tree": "5147b1e81dca426b2ef41ef91e6a613e93d5cb0b",
      "parents": [
        "21455510b4d00ee1bbfd31c4e683bf16c4bee04c"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Tue Feb 18 11:02:50 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Tue Feb 18 11:02:50 2025 +0100"
      },
      "message": "fix: add `getCurrentUrl()` and `getPage()` to `BrowserDelegate`\n\nAdds the `getCurrentUrl()` and `getPage()` methods to the `BrowserDelegate`\nclass, ensuring it matches the API provided by `Browser` and allowing proper\ndelegation of these commonly used methods.\n"
    },
    {
      "commit": "1bed538a3df1ca58b4a4c2c7250350529830f62c",
      "tree": "8ed524b8acf23f746a8986377dbcf769267e78b3",
      "parents": [
        "52f93f20eec4e32e2a4ad0c0eed17d18375fb7c7",
        "536330f63194ade36fd462cafe4622e350257337"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Feb 14 11:31:48 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 14 11:31:48 2025 +0100"
      },
      "message": "Merge pull request #138 from grails/merge-4.2.x-into-5.0.x\n\nMerge 4.2.x into 5.0.x"
    },
    {
      "commit": "536330f63194ade36fd462cafe4622e350257337",
      "tree": "8ed524b8acf23f746a8986377dbcf769267e78b3",
      "parents": [
        "52f93f20eec4e32e2a4ad0c0eed17d18375fb7c7",
        "21455510b4d00ee1bbfd31c4e683bf16c4bee04c"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Feb 14 11:24:01 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Feb 14 11:24:01 2025 +0100"
      },
      "message": "Merge branch \u00274.2.x\u0027 into merge-4.2.x-into-5.0.x\n"
    },
    {
      "commit": "21455510b4d00ee1bbfd31c4e683bf16c4bee04c",
      "tree": "a186ba5a94600bc4383bb60b361b27e3c0d70f4d",
      "parents": [
        "bb95d0c7689a0591ef904060fae422faf1f38fab"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Feb 14 11:21:24 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 14 11:21:24 2025 +0100"
      },
      "message": "fix: delegate to page object for missing methods and properties (#137)\n\nFixes an issue where delegation to the page object was broken after\nremoving `@DynamicallyDispatchesToBrowser`.\n\nThis commit restores proper delegation by implementing `methodMissing`\nand `propertyMissing` to handle dynamic method and property calls."
    },
    {
      "commit": "5b49ac70fe8180ad27d5706811e060e09554a238",
      "tree": "85123f598b3e07504553cf7974287386acbbe334",
      "parents": [
        "52f93f20eec4e32e2a4ad0c0eed17d18375fb7c7"
      ],
      "author": {
        "name": "g.sartori",
        "email": "g.sartori@gmail.com",
        "time": "Thu Feb 13 14:33:52 2025 +0100"
      },
      "committer": {
        "name": "g.sartori",
        "email": "g.sartori@gmail.com",
        "time": "Thu Feb 13 14:33:52 2025 +0100"
      },
      "message": "BootStrap init closure servletContext cleanup\n"
    },
    {
      "commit": "86e2e1bc7c33666fe2e589fba3f302d18c7ce4c7",
      "tree": "16acd1526b00df6fef79a990e1f392c5d371345c",
      "parents": [
        "24477b5b149bc33abc8687eb57db88897f78bc94"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Tue Feb 11 09:58:20 2025 -0500"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Tue Feb 11 09:58:53 2025 -0500"
      },
      "message": "#131 - when recording is enabled, always restart the containers\n"
    },
    {
      "commit": "24477b5b149bc33abc8687eb57db88897f78bc94",
      "tree": "6dbc470ea433509ba4afd92d8170aebc50c69f24",
      "parents": [
        "c5780918a2c1dd63763baa4c14ae958e5fcef1fa"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Tue Feb 11 09:56:04 2025 -0500"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Tue Feb 11 09:56:04 2025 -0500"
      },
      "message": "Revert \"Investigating fixes for same recordings\"\n\nThis reverts commit c5780918a2c1dd63763baa4c14ae958e5fcef1fa.\n"
    },
    {
      "commit": "c5780918a2c1dd63763baa4c14ae958e5fcef1fa",
      "tree": "cb09656f776134b3bf635429bfa5e901a901ad0b",
      "parents": [
        "667a075ae619b95ad9cc74d18a959bd6700850ef"
      ],
      "author": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Fri Feb 07 01:01:28 2025 -0500"
      },
      "committer": {
        "name": "James Daugherty",
        "email": "jdaugherty@jdresources.net",
        "time": "Fri Feb 07 01:11:02 2025 -0500"
      },
      "message": "Investigating fixes for same recordings\n"
    },
    {
      "commit": "52f93f20eec4e32e2a4ad0c0eed17d18375fb7c7",
      "tree": "20b569d3c7a61b191f38484a63c7fa856f5fb279",
      "parents": [
        "54b16a8dc88de9e6f467df9a147958ae7763f63f",
        "5c65d0612f714615f317e875b2c2704d877117c2"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Jan 31 11:08:02 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 31 11:08:02 2025 +0100"
      },
      "message": "Merge pull request #130 from grails/merge-4.2.x-into-5.0.x\n\nMerge 4.2.x into 5.0.x"
    },
    {
      "commit": "5c65d0612f714615f317e875b2c2704d877117c2",
      "tree": "20b569d3c7a61b191f38484a63c7fa856f5fb279",
      "parents": [
        "54b16a8dc88de9e6f467df9a147958ae7763f63f",
        "bb95d0c7689a0591ef904060fae422faf1f38fab"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Jan 31 10:54:53 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Jan 31 10:54:53 2025 +0100"
      },
      "message": "Merge branch \u00274.2.x\u0027 into merge-4.2.x-into-5.0.x\n\n# Conflicts:\n#\t.github/workflows/gradle.yml\n#\t.github/workflows/release.yml\n#\tbuild.gradle\n#\tgradle.properties\n#\tspock-container-test-app/gradle/wrapper/gradle-wrapper.jar\n#\tspock-container-test-app/gradle/wrapper/gradle-wrapper.properties\n#\tspock-container-test-app/gradlew\n#\tspock-container-test-app/gradlew.bat\n#\tsrc/testFixtures/groovy/grails/plugin/geb/ContainerAwareDownloadSupport.groovy\n#\tsrc/testFixtures/groovy/grails/plugin/geb/ContainerGebSpec.groovy\n"
    },
    {
      "commit": "bb95d0c7689a0591ef904060fae422faf1f38fab",
      "tree": "08ef2919296db77b908fa62ea9303f417515f9e0",
      "parents": [
        "e5ade0bb35325eba6512826f77f91e1d3571bb1a",
        "738da0376bd2e2920cd9722c31188f141bf1f1c6"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Jan 31 10:44:42 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 31 10:44:42 2025 +0100"
      },
      "message": "Merge pull request #129 from grails/matrei/chores-4.2.x\n\nMiscellaneous cleanup and maintenance tasks"
    },
    {
      "commit": "738da0376bd2e2920cd9722c31188f141bf1f1c6",
      "tree": "08ef2919296db77b908fa62ea9303f417515f9e0",
      "parents": [
        "1854e1093e1f2dae7f0af399c0f47074219344ec"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Jan 31 10:38:01 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Jan 31 10:38:01 2025 +0100"
      },
      "message": "ci: update GitHub workflows\n\n- Migrate from `GRADLE_ENTERPRISE_ACCESS_KEY` to `DEVELOCITY_ACCESS_KEY`.\n- Use `--continue` on build and test tasks to report all errors.\n- Use `--no-build-cache` on publish to prevent caching issues.\n- Remove `SECRING_FILE` environment variable from `publishToSonatype` as it\u0027s not needed.\n- Update cog emoji in step name.\n"
    },
    {
      "commit": "1854e1093e1f2dae7f0af399c0f47074219344ec",
      "tree": "2d9e1c07a8826340e936ceb1d56fe8c54aebbf11",
      "parents": [
        "a2c5e8ceab7661174a57caf9570ca8a153d7d5a8"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Jan 31 10:18:47 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Jan 31 10:18:47 2025 +0100"
      },
      "message": "build(deps): bump `common-custom-user-data` from 2.0.2 to 2.1\n\n- [Release Notes](https://plugins.gradle.org/plugin/com.gradle.common-custom-user-data-gradle-plugin/2.1)\n"
    },
    {
      "commit": "a2c5e8ceab7661174a57caf9570ca8a153d7d5a8",
      "tree": "f4ab861e526de189488d172bc749b87bedb15219",
      "parents": [
        "7fdb69129e776f40470536a0af20d66e748f05a5"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Jan 31 10:17:11 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Jan 31 10:17:11 2025 +0100"
      },
      "message": "build(deps): bump `com.gradle.develocity` from 3.18.2 to 3.19.1\n\n- [3.19.1 Release Notes](https://plugins.gradle.org/plugin/com.gradle.develocity/3.19.1)\n- [3.19 Release Notes](https://plugins.gradle.org/plugin/com.gradle.develocity/3.19)\n"
    },
    {
      "commit": "7fdb69129e776f40470536a0af20d66e748f05a5",
      "tree": "0296f511957d782f89d93f63c737ef545f92a252",
      "parents": [
        "f0c34a8cc4e22108732081b5fdf2221be400c5eb"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Jan 31 10:07:28 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Jan 31 10:07:28 2025 +0100"
      },
      "message": "build(deps): bump `gradle-wrapper` in test project from 7.6.2 to 7.6.4\n\n- Align test project with the main project\u0027s Gradle version.\n"
    },
    {
      "commit": "f0c34a8cc4e22108732081b5fdf2221be400c5eb",
      "tree": "944dedf4363243821b1b1d96ed2530e6eb1424a4",
      "parents": [
        "6a2e2d29943fc15e0ded20fa21c46cfdfc1a456b"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Jan 31 09:53:55 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Jan 31 09:53:55 2025 +0100"
      },
      "message": "chore: simplify GString expression\n"
    },
    {
      "commit": "6a2e2d29943fc15e0ded20fa21c46cfdfc1a456b",
      "tree": "182420bc2f5b3219e7040f57354b4f84b7e20858",
      "parents": [
        "e09f73cbb074ba270a72c33d300ab0e1703d1456"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Jan 31 09:49:45 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Jan 31 09:49:45 2025 +0100"
      },
      "message": "chore(deps): bump `grails-gradle-plugin` from 6.2.3 to 6.2.4\n\n- (Release Notes)[https://github.com/grails/grails-gradle-plugin/releases/tag/v6.2.4]\n"
    },
    {
      "commit": "e09f73cbb074ba270a72c33d300ab0e1703d1456",
      "tree": "e2bb774b59f09c95ca21ea9b673ab2158b03c0c4",
      "parents": [
        "01974cb5304f8f2c95934035f8f0d65de709e252"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Jan 31 09:48:31 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Jan 31 09:48:31 2025 +0100"
      },
      "message": "chore(deps): bump Grails from 6.2.2 to 6.2.3\n\n- (Release Notes)[https://github.com/grails/grails-core/releases/tag/v6.2.3]\n"
    },
    {
      "commit": "01974cb5304f8f2c95934035f8f0d65de709e252",
      "tree": "41286f5b6692b67b44ca1840baf352009185d6d9",
      "parents": [
        "dad79677850318fb5715ad75f9370e21d2d3a3a5"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Jan 31 09:39:21 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Jan 31 09:39:21 2025 +0100"
      },
      "message": "test: use new API in integration test\n\n- Leverage `ContainerGebSpec.pageSource` delegate for improved readability.\n- Use an instance of the page object for better type hints.\n"
    },
    {
      "commit": "dad79677850318fb5715ad75f9370e21d2d3a3a5",
      "tree": "a12eed774390618577892659ffc7615ec2b13661",
      "parents": [
        "d3d2f30700358474d7cc546f80327a7bc022dcfd"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Jan 31 09:36:13 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Jan 31 09:36:13 2025 +0100"
      },
      "message": "test: fix error on windows test\n"
    },
    {
      "commit": "d3d2f30700358474d7cc546f80327a7bc022dcfd",
      "tree": "24d30efc65c07c93f9d16a37a7e944fc6e20875a",
      "parents": [
        "a03e206bb3ba3c3457b9f9373fd2015d59d27468"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Jan 31 09:20:43 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Jan 31 09:20:43 2025 +0100"
      },
      "message": "chore(deps): bump `selenium` from 4.27.0 to 4.28.1\n\n- Upgrade `selenium` to the latest release.\n- See the [changelog](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG) for details.\n"
    },
    {
      "commit": "a03e206bb3ba3c3457b9f9373fd2015d59d27468",
      "tree": "43e1b72911818c6106adee09fe8d9c850f4e1ed8",
      "parents": [
        "29fe3e071dabd1a497cf690e00eeb81392d176db"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Jan 31 09:05:26 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Jan 31 09:05:26 2025 +0100"
      },
      "message": "build(deps): bump `com.github.javaparser:javaparser-core` from 3.26.2 to 3.26.3\n\n- Upgrade `javaparser-core` to the latest patch release.\n- See the [release notes](https://github.com/javaparser/javaparser/releases/tag/javaparser-parent-3.26.3) for details.\n"
    },
    {
      "commit": "29fe3e071dabd1a497cf690e00eeb81392d176db",
      "tree": "c39c481e109d7d2ddd9d295c542492f8e517ef34",
      "parents": [
        "e5ade0bb35325eba6512826f77f91e1d3571bb1a"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Jan 31 08:58:14 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Jan 31 08:58:14 2025 +0100"
      },
      "message": "build(deps): bump `com.github.ben-manes.versions` from 0.51.0 to 0.52.0\n\n- Upgrade `gradle-versions-plugin` to the latest release.\n- See the [release notes](https://github.com/ben-manes/gradle-versions-plugin/releases/tag/v0.52.0) for details.\n"
    },
    {
      "commit": "e5ade0bb35325eba6512826f77f91e1d3571bb1a",
      "tree": "6028ddbe79644cd98cd9c72b4066058ee045ac33",
      "parents": [
        "59cf0f6b8ae5aab48ac7079db0fcc4042dddbfbd",
        "c73b351b128761fab061135e0f79d58200fb39d3"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Fri Jan 31 08:25:39 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 31 08:25:39 2025 +0100"
      },
      "message": "Merge pull request #126 from grails/matrei/ide-autocompletion\n\nEnhance Developer Experience with Explicit Delegation"
    },
    {
      "commit": "c73b351b128761fab061135e0f79d58200fb39d3",
      "tree": "6028ddbe79644cd98cd9c72b4066058ee045ac33",
      "parents": [
        "9019e301f367b3c45a58eb263648390855da3008"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Thu Jan 23 16:14:18 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Thu Jan 23 16:14:18 2025 +0100"
      },
      "message": "docs: add license header and Javadoc to `ReportingSupport`\n"
    },
    {
      "commit": "9019e301f367b3c45a58eb263648390855da3008",
      "tree": "90dead29f3fbbfde28916d5f39bb018b9856de08",
      "parents": [
        "60e344858cdb31b8ad0f60c60c850c8aa867d063"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Thu Jan 23 16:13:49 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Thu Jan 23 16:13:49 2025 +0100"
      },
      "message": "docs: set correct year in license header\n"
    },
    {
      "commit": "60e344858cdb31b8ad0f60c60c850c8aa867d063",
      "tree": "04e992ba14600c98c81bf5b041965bf588215bbc",
      "parents": [
        "1a6e12a755f20919101b424dc93194dd14f094cb"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Thu Jan 23 16:06:39 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Thu Jan 23 16:06:39 2025 +0100"
      },
      "message": "build: cleanup\n"
    },
    {
      "commit": "1a6e12a755f20919101b424dc93194dd14f094cb",
      "tree": "0b88522714facaaeebfeed88561d78215eac79c1",
      "parents": [
        "b84630dde45e1bf12ebb1f931cb4ec26153f67e5"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Thu Jan 23 15:58:22 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Thu Jan 23 15:58:22 2025 +0100"
      },
      "message": "build: user setter syntax for Gradle compatibility\n"
    },
    {
      "commit": "b84630dde45e1bf12ebb1f931cb4ec26153f67e5",
      "tree": "47225d886260a5c1d35223979c2a7811d6568fe1",
      "parents": [
        "64ab6513c74c6c5034aab0f8072f586b7e751498"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Thu Jan 23 15:55:50 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Thu Jan 23 15:55:50 2025 +0100"
      },
      "message": "docs: correct `@since` version in Javadoc for `ContainerSupport`\n\nThe `@since` attribute in the `ContainerSupport` class was incorrectly set to `4.1`.\nUpdated it to the correct version, `4.2`.\n"
    },
    {
      "commit": "64ab6513c74c6c5034aab0f8072f586b7e751498",
      "tree": "449001f8b08e73bb6531a7a1add3d56c6d66addc",
      "parents": [
        "59feccc85ef99cde62fc952798844ca50df127b5"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Thu Jan 23 15:53:32 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Thu Jan 23 15:53:32 2025 +0100"
      },
      "message": "fix: improve DX by using manual delegation to Geb API\n\nGeb classes lack parameter metadata, which prevents proper IDE autocompletion. To address this, we manually delegate to enable accurate parameter names.\n\n- Add delegate implementations for all Geb interfaces in `ContainerGebSpec`.\n- Move container-related logic to the `ContainerSupport` class for better separation of concerns.\n- Add `@CompileStatic` where possible.\n"
    },
    {
      "commit": "59feccc85ef99cde62fc952798844ca50df127b5",
      "tree": "e578c646c09e5593fcc76ff1e0e9d4a77911f834",
      "parents": [
        "3ff12e879757de6b343c90fc61764672641fa841"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Thu Jan 23 15:43:29 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Thu Jan 23 15:43:29 2025 +0100"
      },
      "message": "build: include parameter metadata in compiled Groovy classes\n\n- This enables IDE autocompletion to display correct parameter names, improving developer experience.\n"
    },
    {
      "commit": "3ff12e879757de6b343c90fc61764672641fa841",
      "tree": "184924c76c5ac1c0b421608eecc7bd1954ec9f90",
      "parents": [
        "59cf0f6b8ae5aab48ac7079db0fcc4042dddbfbd"
      ],
      "author": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Sun Jan 19 16:48:55 2025 +0100"
      },
      "committer": {
        "name": "Mattias Reichel",
        "email": "mattias.reichel@gmail.com",
        "time": "Wed Jan 22 07:31:25 2025 +0100"
      },
      "message": "fix: enhance IDE autocompletion\n\nThis commit introduces explicit delegation to improve convenience and support for IDE autocompletion. The following delegates have been added:\n\n- `browser` object delegate\n- `page` object delegate\n- `report(String)` method delegate\n- `getPageSource()` method delegate\n- Refactor `ContainerAwareDownloadSupport` to a more generic support trait and move `createFileInputSource` method to it.\n- Move support classes to `support` package.\n"
    }
  ],
  "next": "54b16a8dc88de9e6f467df9a147958ae7763f63f"
}
