)]}'
{
  "log": [
    {
      "commit": "320d5ecef6de76daad2c83a53799e216744f3a74",
      "tree": "2cc8f82c04ade5b51989ac45df3629800f3a105a",
      "parents": [
        "e74e8e7bf11d6a30d31054b24dad8dd5cfcf9235"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Apr 19 09:26:12 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Apr 19 09:26:12 2026 +0200"
      },
      "message": "TAP5-2819: Jenkinsfile another attempt to fix cell separation\n"
    },
    {
      "commit": "e74e8e7bf11d6a30d31054b24dad8dd5cfcf9235",
      "tree": "a873116fc2a63350ee57d2f0f966a5abace9d459",
      "parents": [
        "01336b07143133b6723365694690913a593ff366"
      ],
      "author": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sat Apr 18 12:40:41 2026 -0300"
      },
      "committer": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sat Apr 18 12:40:58 2026 -0300"
      },
      "message": "TAP5-2810: little tweaks around ES shims"
    },
    {
      "commit": "01336b07143133b6723365694690913a593ff366",
      "tree": "9912a199b67c556ae596fc74dd5650b34cee30f2",
      "parents": [
        "72918c74c1c9ed4bd9c6aff0750188a193ba8235"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 18 16:53:44 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 18 16:53:44 2026 +0200"
      },
      "message": "TAP5-2819: Jenkinsfile fix cell-based artifact archiving\n"
    },
    {
      "commit": "72918c74c1c9ed4bd9c6aff0750188a193ba8235",
      "tree": "c4ae917ac6303f68789e75b652a807346e5284af",
      "parents": [
        "91d4f899a582a4db46772265ac45fc71038829c3"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 18 13:40:50 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 18 13:40:50 2026 +0200"
      },
      "message": "TAP5-2819: WebResourcesTest trying to fix timeout on Apache CI\n\nThe test_CoffeeScript_compilation test fails on Apache quite\nreproducable, but neither local or on my own CI server.\n\nMy educated guess is that the inital Rhino initialization takes too long\nfor some reason, so the we hit the timeout.\nTherefore, I set the Selenium timeout before the open call, but only in\nthis test.\nIt will also affect test_Less_compilation but this one succeeded before\nanyway.\n"
    },
    {
      "commit": "91d4f899a582a4db46772265ac45fc71038829c3",
      "tree": "82a0a362cc92cc846f7dfced3fa2df7902e99300",
      "parents": [
        "1b017fb269065239560ce61276c39e4f9d2f1681"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 18 11:50:33 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 18 11:50:33 2026 +0200"
      },
      "message": "TAP5-2809: NpmTask use /tmp/.npm as cache\n"
    },
    {
      "commit": "1b017fb269065239560ce61276c39e4f9d2f1681",
      "tree": "745bd884ac9cfd85eaa4969d6ec62c6eeb99519d",
      "parents": [
        "8a640f34a5b42772a3db3cad2b28d3c303f2694f"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 18 11:27:30 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 18 11:27:30 2026 +0200"
      },
      "message": "GoogleClosureMinimizer: further optimizations\n\nTrying to find the best option set to not let it interfere too much, as\nwe only use it for whitespace removal.\n"
    },
    {
      "commit": "8a640f34a5b42772a3db3cad2b28d3c303f2694f",
      "tree": "b36db9b74fdda50420514cc1f2247ec54150f8d0",
      "parents": [
        "89bea1afa40ccc73289c2d694dfd4482d4fa6d66"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 18 11:26:36 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 18 11:26:36 2026 +0200"
      },
      "message": "TAP5-2809/2819: Integration testing streamlined\n\nRepetitive tasks in tapestry-core build.gradle and\nJenkinsfile.integration-variants simplified.\n\nPreparations for future Gradle 9 update.\n"
    },
    {
      "commit": "89bea1afa40ccc73289c2d694dfd4482d4fa6d66",
      "tree": "1e389183cd39bcab3c2d208c68025b776ca7adad",
      "parents": [
        "cd3518fea9fe6a2ef02e410af9a78ab11ca68384"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 18 11:23:54 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 18 11:23:54 2026 +0200"
      },
      "message": "TAP5-2809: add missing license info to GenerateCheksums.groovy\n"
    },
    {
      "commit": "cd3518fea9fe6a2ef02e410af9a78ab11ca68384",
      "tree": "27847011bc77ad3eedfb46158b490f89167371b3",
      "parents": [
        "ea8b799f197ae52c079f189981c4bfb4c73b5694"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 18 11:23:33 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 18 11:23:33 2026 +0200"
      },
      "message": "TAP5-2809: NpmTask with Docker support, don\u0027t emit TypeScript types into es-modules\n\nAs it\u0027s not guaranteed that npm is available, and to make builds more\nstable/reproducible, an NpmTask was added that checks for Docker first\nto run npm with a fallback to a local installation.\n\nThe existing npm/typescript related code in tapestr-core build.gradle\nwere adapted.\n\nFurthermore, the TypeScript project package.json/tsconfig.json was\nslightly improved, no longer emitting the typings into the es-modules,\nand hardening script calling in general.\n"
    },
    {
      "commit": "ea8b799f197ae52c079f189981c4bfb4c73b5694",
      "tree": "81456def41d85d9810b79ac7846ca991b1f32e8d",
      "parents": [
        "8edf1ed6287f1667308b721f6ce38a5e8bbc32d2"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Fri Apr 17 09:07:38 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 18 11:14:34 2026 +0200"
      },
      "message": "TAP5-2819: Jenkinsfile integration test results prefixing improved\n"
    },
    {
      "commit": "8edf1ed6287f1667308b721f6ce38a5e8bbc32d2",
      "tree": "8fe8d32236358b67d3c8e06c30678b4652569f2f",
      "parents": [
        "1f3dd17f2a9c9f28bf165a555d30305e84a07591"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Wed Apr 15 09:29:54 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Wed Apr 15 09:29:54 2026 +0200"
      },
      "message": "GoogleClosureMinimizer: return non-minimized JS on error\n\nThe Google Closure minimizer is only used to remove whitespace, but its\nCompiler trips over unrelated problems.\nTherefore we return the original JS to not break a page if the minimizer\nhas an issue with code it doesn\u0027t understand.\n"
    },
    {
      "commit": "1f3dd17f2a9c9f28bf165a555d30305e84a07591",
      "tree": "9b4833ae9e6d655d09d5ac2d9b82aa7ff3d6220d",
      "parents": [
        "3679c4a56c42c74ffe05ab265ebc827d568a0d57"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Wed Apr 15 09:28:07 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Wed Apr 15 09:28:07 2026 +0200"
      },
      "message": "TAP5-2809: run TestNG unit tests via Jupiter, integration tests native, more cleanup\n\nAs using both JUnit and TestNG in the same project can be troublesome,\nwe now created a deliberate split at integration testing level.\n\nUnit tests are run via the Jupiter testng-runner, whereas integration\ntests are still run with \"native\" TestNG, as SeleniumTestCase uses\nTestNG-only feature for its lifecycles.\n\nFurthermore, the Gradle files have been cleaned up and added some\ndocumentation to improve maintainability.\n"
    },
    {
      "commit": "3679c4a56c42c74ffe05ab265ebc827d568a0d57",
      "tree": "7b37e3938af39b08e3852f23464db9e44158452d",
      "parents": [
        "0d14be92444f44efa22a6d30d5300f25570853ae"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Apr 12 16:52:11 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Apr 12 16:52:11 2026 +0200"
      },
      "message": "webresources: GoogleClosureMinimizer no logging by default\n"
    },
    {
      "commit": "0d14be92444f44efa22a6d30d5300f25570853ae",
      "tree": "9048e28bf3b049a67cc5f0a0848714f1d758705c",
      "parents": [
        "4c32a4be870cab65fce4bc8d45bcacef9111a6b0"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Apr 12 16:51:43 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Apr 12 16:51:43 2026 +0200"
      },
      "message": "TAP5-2819: Jenkinsfile try to improve test result splitting in matrix builds\n"
    },
    {
      "commit": "4c32a4be870cab65fce4bc8d45bcacef9111a6b0",
      "tree": "70a934c309fa4c1d7f368dad47be121fc55c412f",
      "parents": [
        "2b31a26e2b463a7d0072ad8845f4f4df2b24ffc6"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Apr 12 16:51:22 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Apr 12 16:51:22 2026 +0200"
      },
      "message": "TAP5-2809: register core integration test tasks for both JUnit and TestNG\n"
    },
    {
      "commit": "2b31a26e2b463a7d0072ad8845f4f4df2b24ffc6",
      "tree": "930094911d18e4028296e321b39655e644b5acb4",
      "parents": [
        "f0eb5e1e35c23a289127abd4a876f745f1ba6a46"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Apr 12 12:45:49 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Apr 12 12:45:49 2026 +0200"
      },
      "message": "TAP5-2809: run JUnit4 via vintage engine, add explicit testNG task\n"
    },
    {
      "commit": "f0eb5e1e35c23a289127abd4a876f745f1ba6a46",
      "tree": "ff1083e8f711380ffcd4721d8a46085e4ec6ec81",
      "parents": [
        "d9e553a94c9c8b19a7aefce5ae8ca54d3c065e93"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Apr 12 12:42:22 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Apr 12 12:42:22 2026 +0200"
      },
      "message": "TAP5-2819: Jenkinsfile fix mail token for skipped tests\n"
    },
    {
      "commit": "d9e553a94c9c8b19a7aefce5ae8ca54d3c065e93",
      "tree": "e6efc7b9845fa7cc8d13685c0ec88040a96d6870",
      "parents": [
        "5678d2c2b1b78286552131edee62c73e470e89fe"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Apr 12 12:42:02 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Apr 12 12:42:02 2026 +0200"
      },
      "message": "TAP5-2809: exlcude netty from mavenLocal, improve project version guards\n"
    },
    {
      "commit": "5678d2c2b1b78286552131edee62c73e470e89fe",
      "tree": "30b573ac715b9eadd30929579ea25ce1e02fe874",
      "parents": [
        "983380f2cc38d03af46766b4e63f5bb41463d3b3"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Mon Apr 06 16:32:21 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Mon Apr 06 16:32:21 2026 +0200"
      },
      "message": "ioc-jcache: Explitly request jsr107 CachingProvider\n\nAfter removing Infinispan for testing, the tests worked locally, but\nfailed on Apache CI.\nDue to the Service discovery mechanisms used, it might load the wrong\nprovider if none is specified.\n"
    },
    {
      "commit": "983380f2cc38d03af46766b4e63f5bb41463d3b3",
      "tree": "1368f08de44cb46087ffb54fa67fde5cb473bb7c",
      "parents": [
        "06fc5d82a71bfc7b758c596ab6005e3ffbc96cac"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Mon Apr 06 16:19:10 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Mon Apr 06 16:19:10 2026 +0200"
      },
      "message": "TAP5-2819: Jenkinsfile further build artifacts separation\n"
    },
    {
      "commit": "06fc5d82a71bfc7b758c596ab6005e3ffbc96cac",
      "tree": "fa7b5f4faac7d82325faefba3752b505974ddc0f",
      "parents": [
        "1c81fe8b8d6b2d63fb0725950be93b608a7b60f0"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Mon Apr 06 16:18:47 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Mon Apr 06 16:18:47 2026 +0200"
      },
      "message": "webresources: silence more of Google Closure Minimizer\n"
    },
    {
      "commit": "1c81fe8b8d6b2d63fb0725950be93b608a7b60f0",
      "tree": "c8b531fc4a6f7f22a68b4883fbe14f3e708cee69",
      "parents": [
        "2c7b146803a43bded4a4e76f5265c0094617a366"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Mon Apr 06 13:05:43 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Mon Apr 06 13:05:43 2026 +0200"
      },
      "message": "TAP5-2819: Jenkinsfile changelog generation improved\n"
    },
    {
      "commit": "2c7b146803a43bded4a4e76f5265c0094617a366",
      "tree": "00a19a1b2e15d71ebc798eaf9183c45f1a2623f6",
      "parents": [
        "3279fd20edde04bcab148d082eda09a35573b2c1"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Mon Apr 06 13:04:22 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Mon Apr 06 13:05:14 2026 +0200"
      },
      "message": "SeleniumTestCase timeouts from testng.xml or system props only\n\nManaging the timeouts didn’t work out as planned, as Selenium is reused,\nand a different configuration might not be applied.\n\nTo make it an explicit decision, we only consider the testng.xml\nparameters and the system properties as a fallback on runner creation.\n"
    },
    {
      "commit": "3279fd20edde04bcab148d082eda09a35573b2c1",
      "tree": "438c1bf75cb3c881f399f4bdf70649ea55701cd8",
      "parents": [
        "7d7965174af1781fdd21983a4f892eb70e4f7a28"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Apr 05 18:31:16 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Apr 05 18:31:16 2026 +0200"
      },
      "message": "SeleniumTestCase fix blank check\n"
    },
    {
      "commit": "7d7965174af1781fdd21983a4f892eb70e4f7a28",
      "tree": "e2d14189d7fc548763ea80a31f9eaf6a5d3d8824",
      "parents": [
        "c972125152d188d241ffa11d34925c9c10223c79"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Apr 05 18:23:14 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Apr 05 18:23:14 2026 +0200"
      },
      "message": "TAP5-2819: Jenkinsfile move javadoc into matrix, fix build artifact names\n"
    },
    {
      "commit": "c972125152d188d241ffa11d34925c9c10223c79",
      "tree": "c1b76355abb9be32ba796321500dd02de316e7fe",
      "parents": [
        "6ac2a6575f8bf2be5f55003b526aa85c6d4c095b"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Apr 05 18:22:27 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Apr 05 18:22:27 2026 +0200"
      },
      "message": "SeleniumTestCase make page-load/wait timeout configurable via annotation/props\n"
    },
    {
      "commit": "6ac2a6575f8bf2be5f55003b526aa85c6d4c095b",
      "tree": "c277727e34761b517cbb953e5daf22419f2da2cf",
      "parents": [
        "206367d40a68087c8a3fcdf2992703291c71bf0b"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Apr 05 15:56:27 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Apr 05 15:56:27 2026 +0200"
      },
      "message": "TAP5-2819: Jenkinsfile notification mails improved\n"
    },
    {
      "commit": "206367d40a68087c8a3fcdf2992703291c71bf0b",
      "tree": "da78e37b157c9c5354170df1cf5023353e7f5ae0",
      "parents": [
        "5ce05d7d024912ed6320ab49c13b657ae6c0dd1a"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Apr 05 15:53:15 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Apr 05 15:53:15 2026 +0200"
      },
      "message": "TAP5-2825: tapestry-jpa-cache Java 21 support\n"
    },
    {
      "commit": "5ce05d7d024912ed6320ab49c13b657ae6c0dd1a",
      "tree": "a227bac1b597fd7af7becb604bfbf3178d823c49",
      "parents": [
        "00ba26302fb21f0e5a49760f76833653db270eee"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Apr 05 10:47:00 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Apr 05 10:47:08 2026 +0200"
      },
      "message": "TAP5-2825: Java 21 support\n"
    },
    {
      "commit": "00ba26302fb21f0e5a49760f76833653db270eee",
      "tree": "0f6c7bd5ba5089c180a7f204a94cf2b992935692",
      "parents": [
        "5ea4bacc7ae99179f10c11928ecf42639b9edfc2"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Apr 05 10:45:59 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Apr 05 10:45:59 2026 +0200"
      },
      "message": "TAP5-2809: java-convention use source/targetCompatibility, not toolchain\n"
    },
    {
      "commit": "5ea4bacc7ae99179f10c11928ecf42639b9edfc2",
      "tree": "6676866d5518d28b1659bc0877b5f23d7faca358",
      "parents": [
        "1f21d8483cc96b42b6bad71005547577fa340b42"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 04 15:40:19 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 04 15:40:19 2026 +0200"
      },
      "message": "TAP5-2819: Jenkinsfile fix stage nesting\n"
    },
    {
      "commit": "1f21d8483cc96b42b6bad71005547577fa340b42",
      "tree": "0a37509a419956ef6fbdc12dcff3ea6e9f6f37a9",
      "parents": [
        "d72a3e5e43ee911aea48a3d6411481749a8ee1cf"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 04 15:30:25 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 04 15:30:25 2026 +0200"
      },
      "message": "TAP5-2823: Spock 2.4, Geb removed (unused)\n"
    },
    {
      "commit": "d72a3e5e43ee911aea48a3d6411481749a8ee1cf",
      "tree": "0e60e16004fc2d2559fbaa8c0715867dd684fd39",
      "parents": [
        "4f31d0db9e51fa0b7b5aeb36bb335851881f55d1"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 04 15:28:00 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 04 15:28:00 2026 +0200"
      },
      "message": "5.10 release notes scratch pad updated\n"
    },
    {
      "commit": "4f31d0db9e51fa0b7b5aeb36bb335851881f55d1",
      "tree": "354cca815709cda99c15696307c4d0d1afc27669",
      "parents": [
        "6f6b1b949c8b5b26f515ce40222b78715b79b9c2"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 04 15:27:44 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 04 15:27:44 2026 +0200"
      },
      "message": "prebuild.sh: made OS-aware\n"
    },
    {
      "commit": "6f6b1b949c8b5b26f515ce40222b78715b79b9c2",
      "tree": "f694aa0a83898ae38dd550cd76cdf868f3c456ef",
      "parents": [
        "aaed6732dfd04e25b392a97cf2179c31566409f4"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 04 15:27:25 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 04 15:27:25 2026 +0200"
      },
      "message": "TAP5-2809: Gradle 8.14.4\n"
    },
    {
      "commit": "aaed6732dfd04e25b392a97cf2179c31566409f4",
      "tree": "609aa666106600de4e063c8de668889a1a0c32c2",
      "parents": [
        "1adaf0dee1a1fed8b244a97142d5eca062837551"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 04 15:27:05 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 04 15:27:05 2026 +0200"
      },
      "message": "TAP5-2809: Apache commons dependencies updated\n"
    },
    {
      "commit": "1adaf0dee1a1fed8b244a97142d5eca062837551",
      "tree": "7704d5653fcfcb3b4f15d168d69a80d5b4a35588",
      "parents": [
        "911552addbfdcaf42aa20e7589df99fd8f822194"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 04 15:26:45 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 04 15:26:45 2026 +0200"
      },
      "message": "TAP5-2809: jacoco 0.8.14, version guards removed\n"
    },
    {
      "commit": "911552addbfdcaf42aa20e7589df99fd8f822194",
      "tree": "fb9444a9aaaadcc278ef926268bbcdd86e8b55b8",
      "parents": [
        "c926d6258b073c9c214bb529a43be7ad9d6f055d"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 04 13:19:02 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Apr 04 15:04:41 2026 +0200"
      },
      "message": "TAP5-2819: Jenkinsfile use matrix for min/max JDK, more sensible timeouts\n"
    },
    {
      "commit": "c926d6258b073c9c214bb529a43be7ad9d6f055d",
      "tree": "dfb8f2fe3a5c9efe7e026fbcd5ec70fd432f34fb",
      "parents": [
        "cf1ad1ff51f012800a2fcc42a4c32284a95ba891"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Tue Mar 31 09:42:28 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Tue Mar 31 09:42:28 2026 +0200"
      },
      "message": "TAP5-2819: Jenkinsfile.integration-variants added\n"
    },
    {
      "commit": "cf1ad1ff51f012800a2fcc42a4c32284a95ba891",
      "tree": "51caca96be9afee33cc4db92949dfc6cfc096a68",
      "parents": [
        "414646ebefe0ef9b4dafd5a20868202666c38083"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Mon Mar 30 12:07:06 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Mon Mar 30 12:07:06 2026 +0200"
      },
      "message": "TAP5-2809: simplifying tapestry-jpa build.gradle\n"
    },
    {
      "commit": "414646ebefe0ef9b4dafd5a20868202666c38083",
      "tree": "7118f60401031945944a5f9e5152e73583dd7a02",
      "parents": [
        "1397fd7d5a5973adbe7e234fa567f6cdeff34a70"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Mon Mar 30 12:04:54 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Mon Mar 30 12:04:54 2026 +0200"
      },
      "message": "SeleniumTestCase always write error report (HTML+screenshot)\n"
    },
    {
      "commit": "1397fd7d5a5973adbe7e234fa567f6cdeff34a70",
      "tree": "fe2fe00ac98681cfb550585fe82d2365fdd05feb",
      "parents": [
        "a917d880efe91920dd92823d54ec59c85bb8c72d"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Mon Mar 30 12:03:43 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Mon Mar 30 12:03:43 2026 +0200"
      },
      "message": "TAP5-2819: Jenkinsfile always archive test and coverage artifacts\n"
    },
    {
      "commit": "a917d880efe91920dd92823d54ec59c85bb8c72d",
      "tree": "154a509a90aa83e92b98b57053bfab13b83b345a",
      "parents": [
        "4ccb37e48b93885aaa5d883c763a3f4bd2ac762d"
      ],
      "author": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sun Mar 29 19:02:39 2026 -0300"
      },
      "committer": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sun Mar 29 19:03:00 2026 -0300"
      },
      "message": "TAP5-2809: fixing tapestry-jpa runTestAppN tasks\n\nplus trying to figure out why\norg.apache.tapestry5.jpa.integration.app6.JpaIntegrationTestWithAnnotationsInServiceImplementation.grid()\nis failing on Jenkins"
    },
    {
      "commit": "4ccb37e48b93885aaa5d883c763a3f4bd2ac762d",
      "tree": "ea6672bceb97e047e9df42614954bec9bd22d7a0",
      "parents": [
        "1cf9b9eee189786235d19777aa71741d558d9b64"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Mar 29 18:38:35 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Mar 29 18:38:35 2026 +0200"
      },
      "message": "TAP5-2819: Jenkinsfile disable coverage (missing plugin?)\n"
    },
    {
      "commit": "1cf9b9eee189786235d19777aa71741d558d9b64",
      "tree": "b0da915a05bab692c9973b5a6a81b187bc19b35a",
      "parents": [
        "afd850ae48e2b899bfe905196a2f104794b62949"
      ],
      "author": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sun Mar 29 12:32:55 2026 -0300"
      },
      "committer": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sun Mar 29 12:33:30 2026 -0300"
      },
      "message": "Improving code."
    },
    {
      "commit": "afd850ae48e2b899bfe905196a2f104794b62949",
      "tree": "01d4c7e12a85e991b923aead5ddcde31a9be643c",
      "parents": [
        "75e56f9769e64f5e8f2b1598f87fb82675e6dc38"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Mar 29 17:05:17 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Mar 29 17:05:17 2026 +0200"
      },
      "message": "TAP5-2819: Jenkinsfile continue on failed tests\n"
    },
    {
      "commit": "75e56f9769e64f5e8f2b1598f87fb82675e6dc38",
      "tree": "5ae521656650c78af1e9600a6a08a3de89f2c9ef",
      "parents": [
        "bafa7f74ac10952b6ddc3de268d45b2e12ae7e07"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Mar 29 17:04:53 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Mar 29 17:04:53 2026 +0200"
      },
      "message": "TAP5-2819: SeleniumTestCase improve headless environment\n"
    },
    {
      "commit": "bafa7f74ac10952b6ddc3de268d45b2e12ae7e07",
      "tree": "e7b332979c42c2765f14c11213a2cf88026ac081",
      "parents": [
        "1cfb911cfac4f1458cb5a5b6336478f5f1e6f73e"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Mar 29 15:17:45 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Mar 29 15:17:45 2026 +0200"
      },
      "message": "TAP5-2819: SeleniumTestCase allow paramters from system property as fallback\n\nTo eventually parallelize the integration testing in the future, the\nintegration tests variant shouldn\u0027t all use the default port 9090.\n\nTherefore, the parameters should fallback to system properties if the\nXML value is null, and only if the prop is null, too, return the default\nvalue.\n"
    },
    {
      "commit": "1cfb911cfac4f1458cb5a5b6336478f5f1e6f73e",
      "tree": "654d65e068628c4eff4b95f038243e6a9901cbd5",
      "parents": [
        "b42abba5828ea61bfc65a8f86d3b87d48aebe21b"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Mar 29 15:13:55 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Mar 29 15:13:55 2026 +0200"
      },
      "message": "TAP5-2819: Jenkinsfile don\u0027t test integration variants\n\nAs the integration tests can be quite flaky and take forever to complete\nall 4 of them, we should move the extra 3 variants out of the \"default\"\nJenkinsfile and trigger them downstream (wip).\n"
    },
    {
      "commit": "b42abba5828ea61bfc65a8f86d3b87d48aebe21b",
      "tree": "e174460f4cc94c30c4015922c8eb016738f27858",
      "parents": [
        "e02987902a54240a0da89f384f82dde15e65810f"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Mar 29 13:25:31 2026 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Mar 29 13:25:31 2026 +0200"
      },
      "message": "TAP5-2821: ReloadSpec write bytecode first, touch after\n"
    },
    {
      "commit": "e02987902a54240a0da89f384f82dde15e65810f",
      "tree": "c0700618b47615a0b9a4456b2272e4a1b2dbf0d5",
      "parents": [
        "1be8d9944c9b69beb0bf3eacd7bb8af96909d390"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Mar 21 14:21:57 2026 +0100"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Mar 21 14:21:57 2026 +0100"
      },
      "message": "TAP5-2819: Jenkinsfile increase selenium timeout\n"
    },
    {
      "commit": "1be8d9944c9b69beb0bf3eacd7bb8af96909d390",
      "tree": "a2eb4fc350fa340aad889a33c83ab239e0270d4c",
      "parents": [
        "fe28db6632cf4374b6100c9b1c359064a159dc28"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Mar 21 13:19:16 2026 +0100"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Mar 21 13:19:16 2026 +0100"
      },
      "message": "TAP5-2820: ConcurrentBarrier remove synchronized blocks\n\nUnder heavy contention, the synchronized blocks introduced a global\nmonitor on a ThreadLocal that can lead to livelock/starvation.\n\nReentrantWriteLock already supports local thread-based locking, so\nrelying on that is the better approach.\n\nFurthermore, InterrupedExceptions were silently swallowed without\nsetting the flag, which is now no longer the case.\n\nThe existing tests were converted from Spock to Java.\n"
    },
    {
      "commit": "fe28db6632cf4374b6100c9b1c359064a159dc28",
      "tree": "6b31336b77fce9c4e3a54265d527280ca36f349a",
      "parents": [
        "9d6cc70719299ef47de4e50bde3d400fe40264f9"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Fri Mar 20 08:31:23 2026 +0100"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Fri Mar 20 08:31:23 2026 +0100"
      },
      "message": "TAP5-2819: Jenkinsfile increase timeout\n\nTo accomodate all four integration test variants we need a little more\ntime on the Apache CI\n"
    },
    {
      "commit": "9d6cc70719299ef47de4e50bde3d400fe40264f9",
      "tree": "8cf7c63eeaad528279875a9a2477d2cbb627d88c",
      "parents": [
        "f894b51ffc49680a8032a678db3a443785b8b00d"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Wed Mar 18 17:07:11 2026 +0100"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Wed Mar 18 17:07:11 2026 +0100"
      },
      "message": "TAP5-2819: SeleniumTestCase remove implicit waiting, make wait time configurable\n\nThe driver itself was waiting implictly, in addition to utilizing\nWebDriverWait. That might not work well together and could be\nresponsible for the flakiness of the element lookup sometimes.\n\nTherefore, we only rely on WebDriverWait, but make it easier to\nconfigure via system properties.\n"
    },
    {
      "commit": "f894b51ffc49680a8032a678db3a443785b8b00d",
      "tree": "480f93aa48020d0fb3b25890c465d2756e89a04c",
      "parents": [
        "45676f13456b78cca2e4d1691e5100d41f4a322d"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Tue Mar 17 17:11:38 2026 +0100"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Tue Mar 17 17:11:38 2026 +0100"
      },
      "message": "TAP5-2819: Add Jenkinsfile\n"
    },
    {
      "commit": "45676f13456b78cca2e4d1691e5100d41f4a322d",
      "tree": "356d337aa9bc238c40a76d271d7a459c1c4d6f6d",
      "parents": [
        "0c8e7db7f14132f222a92c26c09815f91ea73ad2"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Tue Mar 17 17:11:23 2026 +0100"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Tue Mar 17 17:11:23 2026 +0100"
      },
      "message": "TAP5-2819: Run headless on CI\n"
    },
    {
      "commit": "0c8e7db7f14132f222a92c26c09815f91ea73ad2",
      "tree": "daca38d6cad6c0e09a2686f89ea2246bb9679acf",
      "parents": [
        "4e1e411ca2164b254f19bd8f574e115d5cc685de"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Tue Mar 17 17:10:57 2026 +0100"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Tue Mar 17 17:10:57 2026 +0100"
      },
      "message": "TAP5-2809: testing-base-convention improved\n\nSet all the system properties at once, and propagate \u0027ci\u0027 to make it\nviable for TAP5-2819\n"
    },
    {
      "commit": "4e1e411ca2164b254f19bd8f574e115d5cc685de",
      "tree": "d2bd7e077766cc14850a191d158b37a36c976016",
      "parents": [
        "6254efb667e3ae56a299a31604e4edba769d4e27"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Mar 14 09:55:10 2026 +0100"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Tue Mar 17 17:08:34 2026 +0100"
      },
      "message": "TAP5-2819: enable JaCoCo XML export, move HTML output\n"
    },
    {
      "commit": "6254efb667e3ae56a299a31604e4edba769d4e27",
      "tree": "852f9211b45e19ad84fbbf50290379c3b93e648e",
      "parents": [
        "197b67f9ba874c7aa08a16cb2cd7651b26f94d87"
      ],
      "author": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Tue Feb 24 23:08:19 2026 -0300"
      },
      "committer": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Tue Feb 24 23:09:47 2026 -0300"
      },
      "message": "Temporarily disabling the quickstart build"
    },
    {
      "commit": "197b67f9ba874c7aa08a16cb2cd7651b26f94d87",
      "tree": "10f5837fcfa9a77cdedb27c10a88440aaa0e61c2",
      "parents": [
        "79b75ff6a7b1b1ffea14a7e730eb790398726012"
      ],
      "author": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sun Feb 22 17:38:10 2026 -0300"
      },
      "committer": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sun Feb 22 17:38:10 2026 -0300"
      },
      "message": "Fixing Maven artifact publication"
    },
    {
      "commit": "79b75ff6a7b1b1ffea14a7e730eb790398726012",
      "tree": "11b1dc9f513216769e7304c074e7d44697c97f96",
      "parents": [
        "5bac8eb6a2b22bb9a690f6124b166aa38617f36e"
      ],
      "author": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sun Feb 22 11:42:27 2026 -0300"
      },
      "committer": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sun Feb 22 11:42:27 2026 -0300"
      },
      "message": "emoving --info option from Gradle\n"
    },
    {
      "commit": "5bac8eb6a2b22bb9a690f6124b166aa38617f36e",
      "tree": "d463991d9cee26f3bf3ee38e7e6da33c3b6acc0c",
      "parents": [
        "42b9a0321f8b8bc31731d7accd3b41c355ef37e4"
      ],
      "author": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sun Feb 22 11:41:05 2026 -0300"
      },
      "committer": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sun Feb 22 11:41:05 2026 -0300"
      },
      "message": "Fixing generateChecksums Gradle task"
    },
    {
      "commit": "42b9a0321f8b8bc31731d7accd3b41c355ef37e4",
      "tree": "6c55b64979091b772c8e7fbd1e069ff1316f8775",
      "parents": [
        "d7a1718260dcfb2454ab7922f6327b386af5fe05"
      ],
      "author": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sun Feb 22 11:19:31 2026 -0300"
      },
      "committer": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sun Feb 22 11:19:31 2026 -0300"
      },
      "message": "Changing how the dependency on task typeScriptDocs is done"
    },
    {
      "commit": "d7a1718260dcfb2454ab7922f6327b386af5fe05",
      "tree": "f000553e63ca0575b0f6336833bd2ad209b62d0d",
      "parents": [
        "786355a5c289d722c325ca4635a5b51d2cd9df53"
      ],
      "author": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sat Feb 21 18:29:38 2026 -0300"
      },
      "committer": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sat Feb 21 18:31:42 2026 -0300"
      },
      "message": "TAP5-2813: Hopefully last workaround (attempt #2)"
    },
    {
      "commit": "786355a5c289d722c325ca4635a5b51d2cd9df53",
      "tree": "7be4aec891d4a8a305886f0beae1a3381a763e71",
      "parents": [
        "9d50d99979c0463fe7f38cc324045ecae32a5ce8"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Feb 07 13:36:40 2026 +0100"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Feb 07 13:36:40 2026 +0100"
      },
      "message": "TAP5-2809: Release notes scratch pad updated\n"
    },
    {
      "commit": "9d50d99979c0463fe7f38cc324045ecae32a5ce8",
      "tree": "d3feeff31693d0aa3b33caee5c91ee043de2a7cc",
      "parents": [
        "938543511515c4d7c048dd03cb7df4c6d59b87e7"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Feb 07 13:36:16 2026 +0100"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Feb 07 13:36:16 2026 +0100"
      },
      "message": "core: CronExpressionSpec serialization test re-enabled\n\nI don\u0027t see a reason in the code why CronExpression can\u0027t be serialized,\nthe test passes.\nMost likely a stale comment.\n"
    },
    {
      "commit": "938543511515c4d7c048dd03cb7df4c6d59b87e7",
      "tree": "4f7e851c84e0736579af2e5eb507d52d235c1d1e",
      "parents": [
        "8b90a1dc1204f12c7dcb07000025344a9c1f6a62"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Feb 07 13:32:40 2026 +0100"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Feb 07 13:32:40 2026 +0100"
      },
      "message": "TAP5-2817: SeleniumTestCase rename container constants\n"
    },
    {
      "commit": "8b90a1dc1204f12c7dcb07000025344a9c1f6a62",
      "tree": "824c85854d5969f379eb0de5ecf47cd28c73e37f",
      "parents": [
        "6ff6ded4047f55d7a5fd3b6027a500e04015a140"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Jan 31 13:56:17 2026 +0100"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Jan 31 13:56:17 2026 +0100"
      },
      "message": "TAP5-2816: SeleniumTestCase increase wait time on opening links\n\nThe test run fine on my machine, but not on the Apache CI.\nAs it fails with a TimeoutException, this is the only simple thing to do\nbefore adding more debug output for CI.\n"
    },
    {
      "commit": "6ff6ded4047f55d7a5fd3b6027a500e04015a140",
      "tree": "29a9e15d82b9a9214cc23a33b2733e8cc9468784",
      "parents": [
        "68fc38b955725ef0674ae6d351c5e08cc2fb3710"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Jan 31 12:05:44 2026 +0100"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Jan 31 12:06:49 2026 +0100"
      },
      "message": "TAP5-2816: SeleniumTestCase replace By.link with By.xpath locator\n"
    },
    {
      "commit": "68fc38b955725ef0674ae6d351c5e08cc2fb3710",
      "tree": "c8b61a10c40ff53cfa0c214453bdab86bafc9c7c",
      "parents": [
        "34ffa9f02d6350c848a4949267d3717453aa020b"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Jan 25 13:53:59 2026 +0100"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Jan 25 13:53:59 2026 +0100"
      },
      "message": "TAP5-2809: Setting java toolchain in submodules where required\n"
    },
    {
      "commit": "34ffa9f02d6350c848a4949267d3717453aa020b",
      "tree": "c8e19c65d124acbffa4a6971a13cb900362d5381",
      "parents": [
        "d087882249618ff4249a22288636c10f608b30e8"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Jan 25 12:18:30 2026 +0100"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Jan 25 12:18:30 2026 +0100"
      },
      "message": "core: XMLTokenStreamTest disabled for now\n\nThe test might fail as it loads an external resource that could be\nrate-limited. As this is not mission-critical for the next release, the\ntest is disabled until the underlying issue can be fixed by loading the\nresource locally instead.\n"
    },
    {
      "commit": "d087882249618ff4249a22288636c10f608b30e8",
      "tree": "5e6503cbf7f405dfece12fcbc205a50b2cb1ce50",
      "parents": [
        "834dccda1a80dcd0abc42d17a1a0925c9abaad49"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Jan 25 12:16:17 2026 +0100"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Jan 25 12:16:17 2026 +0100"
      },
      "message": "TAP5-2809: Update dependency version before 5.10 RC\n"
    },
    {
      "commit": "834dccda1a80dcd0abc42d17a1a0925c9abaad49",
      "tree": "a4300a3c167e8fdbebe236211f5d471a21acf67c",
      "parents": [
        "847805f1b59c2e1a383f113eb08485d94fdb808d"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Jan 25 12:14:51 2026 +0100"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Jan 25 12:14:51 2026 +0100"
      },
      "message": "TAP5-2809: Setting java toolchain/release to 11, remove version safeguards\n"
    },
    {
      "commit": "847805f1b59c2e1a383f113eb08485d94fdb808d",
      "tree": "a27d0a7bfea9f963d1922c7f185a086ba7fe100d",
      "parents": [
        "05506bc57ee9cf2faaa20492ba6bd011155e9dd6"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Jan 25 12:07:03 2026 +0100"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Jan 25 12:14:13 2026 +0100"
      },
      "message": "TAP5-2809: Gradle 8.14.2 -\u003e 8.14.3\n"
    },
    {
      "commit": "05506bc57ee9cf2faaa20492ba6bd011155e9dd6",
      "tree": "333d88600201fef29e9dee4de1bc46c58ddc4d9b",
      "parents": [
        "8aa367f300f7ace38b98d5b03733e8dd015445dc"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Nov 16 09:50:57 2025 +0100"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Nov 16 14:06:13 2025 +0100"
      },
      "message": "TAP5-2809: Gradle project setup overhaul\n\nWhole project setup was overhauled to address multiple issues:\n\n- remove pre-Java 8 remnants\n- inconsistent testing libraries\n- outdated dependencies\n\nThe following changes where done:\n\n- share most build-logic related concerns via Gradle conventions\n- introduce Gradle version catalogue\n- update dependencies where possible\n- align versions throughout the submodules\n- streamline testing setup\n  - remove testng.xml if not necessary\n  - prefer JUnit5 where possible\n  - prefer parameterized Java tests over Spock\n"
    },
    {
      "commit": "8aa367f300f7ace38b98d5b03733e8dd015445dc",
      "tree": "476793025178713a31fe1eee639928466fe94dec",
      "parents": [
        "7ad972edae8bbd288b14ef5b58e518639270a494"
      ],
      "author": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sat Nov 15 14:45:47 2025 -0300"
      },
      "committer": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sat Nov 15 14:45:47 2025 -0300"
      },
      "message": "TAP5-2803: more ES module callback and contribution API tweaks"
    },
    {
      "commit": "7ad972edae8bbd288b14ef5b58e518639270a494",
      "tree": "e72a8c7dbfeb4930121b5d474c4b73505a80d4a8",
      "parents": [
        "96cd766c51b1a646706ca3e22f6dfe996b92201f"
      ],
      "author": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sat Nov 15 11:08:48 2025 -0300"
      },
      "committer": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sat Nov 15 11:08:48 2025 -0300"
      },
      "message": "TAP%-2803: fixing JavaDoc error"
    },
    {
      "commit": "96cd766c51b1a646706ca3e22f6dfe996b92201f",
      "tree": "2f831e62b3b0225859e293b32e71537cf2d0ac88",
      "parents": [
        "aa12d279adbc06471257a96036435bd7095268ea"
      ],
      "author": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sat Nov 15 10:53:59 2025 -0300"
      },
      "committer": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sat Nov 15 10:53:59 2025 -0300"
      },
      "message": "TAP5-2803: trying to improve the ES module callback contribution API"
    },
    {
      "commit": "aa12d279adbc06471257a96036435bd7095268ea",
      "tree": "609280932c4f8068ae2580d4c1c45f76406fea15",
      "parents": [
        "2b7f14cb2fa16576c488848cd691986c4289df3c"
      ],
      "author": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sat Nov 08 11:00:24 2025 -0300"
      },
      "committer": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sat Nov 08 11:00:24 2025 -0300"
      },
      "message": "TAP5-2813: Hopefully last workaround"
    },
    {
      "commit": "2b7f14cb2fa16576c488848cd691986c4289df3c",
      "tree": "fbe51622586fcc1b450fa4586ed718b3900f040a",
      "parents": [
        "99a24314e2fd7945551ad22a90bcb28df8c76a4a"
      ],
      "author": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sun Oct 12 10:31:13 2025 -0300"
      },
      "committer": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sun Oct 12 10:31:13 2025 -0300"
      },
      "message": "TAP5-2813: Better workaround"
    },
    {
      "commit": "99a24314e2fd7945551ad22a90bcb28df8c76a4a",
      "tree": "033d0286eee69bd27b5579f658890239121aafb3",
      "parents": [
        "fe6fa22fff64f210475f47409daf2384c50b5603"
      ],
      "author": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sat Oct 11 16:21:06 2025 -0300"
      },
      "committer": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sat Oct 11 16:21:06 2025 -0300"
      },
      "message": "TAP5-2814: Upgrade ASM to 9.9"
    },
    {
      "commit": "fe6fa22fff64f210475f47409daf2384c50b5603",
      "tree": "a10e82746b961a2308c76e0c6a7b728ca8b9b9e7",
      "parents": [
        "c9f5eb6343407c3de287f29fd8f2a02f2ba366d1"
      ],
      "author": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sat Oct 04 17:51:07 2025 -0300"
      },
      "committer": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sat Oct 04 17:51:07 2025 -0300"
      },
      "message": "TAP5-2813: NPE when @Cached applied to method returning a generic type\n\nin multiple classloader mode"
    },
    {
      "commit": "c9f5eb6343407c3de287f29fd8f2a02f2ba366d1",
      "tree": "3f38e64c39e8cd677d80372960bd1ea6ddc91334",
      "parents": [
        "e45fc77dc8063d5cd7ac428de0f24ba7008baf69"
      ],
      "author": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sun Aug 31 19:20:59 2025 -0300"
      },
      "committer": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sun Aug 31 19:21:30 2025 -0300"
      },
      "message": "TAP5-2812: preparing to publish npm package."
    },
    {
      "commit": "e45fc77dc8063d5cd7ac428de0f24ba7008baf69",
      "tree": "e778a2f1f4f3748b86ff1d1cb0f402aea4a8db0e",
      "parents": [
        "7af2ac16d7d0f6e4a761befeef792f75d3b8bd3a"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Aug 30 13:37:42 2025 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sat Aug 30 13:37:42 2025 +0200"
      },
      "message": "core: ThrowawayClassLoader extract test logic to actual test\n"
    },
    {
      "commit": "7af2ac16d7d0f6e4a761befeef792f75d3b8bd3a",
      "tree": "0df92dc3923a90b22d7c8a7d9e897988db70035f",
      "parents": [
        "f32d32d49d686523213f5a91a273bfb7e70ef9af"
      ],
      "author": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sun Aug 24 18:26:16 2025 -0300"
      },
      "committer": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sun Aug 24 18:26:16 2025 -0300"
      },
      "message": "TAP5-2812: publish T5\u0027s JS and TS to npm\n"
    },
    {
      "commit": "f32d32d49d686523213f5a91a273bfb7e70ef9af",
      "tree": "1cd1dcc2f9fcd2fe28b64b39d66579e078fc6c6d",
      "parents": [
        "976caa7f6610920963a370083ea56676fb4a6612"
      ],
      "author": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Tue Aug 12 19:39:07 2025 -0300"
      },
      "committer": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Tue Aug 12 19:39:07 2025 -0300"
      },
      "message": "TAP5-2811: fixing possible XSS in Confirm mixin JS\n\nThanks Yannick Dylla (https://github.com/ydylla) for bringing this to\nour attention!"
    },
    {
      "commit": "976caa7f6610920963a370083ea56676fb4a6612",
      "tree": "ce0d8b0cd4f21691ff409e0e51666b0f4f2eb6e9",
      "parents": [
        "3acc01802c630d865228fa833fdc811c61174009"
      ],
      "author": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sat Aug 09 08:38:56 2025 -0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 09 08:38:56 2025 -0300"
      },
      "message": "TAP5-2810 Adding a Require.js-less mode (#54)\n\nTAP5-2810: Require.js-less mode"
    },
    {
      "commit": "3acc01802c630d865228fa833fdc811c61174009",
      "tree": "45c7532554d29819684b745ab25ad9347ad9c3ca",
      "parents": [
        "4cee8eebde8a9f4d6636d0ae6e3f034b532f1d47"
      ],
      "author": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sat Jun 14 21:22:47 2025 -0300"
      },
      "committer": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sat Jun 14 21:22:47 2025 -0300"
      },
      "message": "TAP5-2803: Fixing bad service configuration contribution"
    },
    {
      "commit": "4cee8eebde8a9f4d6636d0ae6e3f034b532f1d47",
      "tree": "52c4ca01b62ddd6322acdb51e3b2e9248ceb5216",
      "parents": [
        "9ec4acb6ae5702d04567d13350aec18e5efa8b9c"
      ],
      "author": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sat Jun 14 09:23:42 2025 -0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 14 09:23:42 2025 -0300"
      },
      "message": "TAP5-2804: Convert Tapestry JS sources from CoffeeScript to TypeScript (#53)\n\n* decaffeinate: Rename ajax.coffee and 27 other files from .coffee to .js\n\n* decaffeinate: Convert ajax.coffee and 27 other files to JS\n\n* TAP5-2804: moving converted CoffeeScript sources to TS project\n\n* TAP5-2804: creating TypeScript project\n\n* TAP5-2804: changing file extensions from .js to .ts\n\n* TAP5-2804: moving TypeScript files to correct folder\n\n* TAP5-2805: Upgrade underscore.js to 1.36.7\n\n* TAP5-2804: another pass at the CoffeeScript to TypeScript conversion\n\n* TAP5-2804: finishing the CoffeeScript to TypeScript conversion\n\nThorough tests still needed, though.\n\n* TAP5-2804: finishing the CoffeeScript to TypeScript conversion\n\nThorough tests still needed, though.\n\n* TAP5-2804: adding dom-prototype.ts plus little tweaks\n\n* TAP5-2804: adapting the build system to the TS codebase\n\n* TAP5-2804: renaming \u0027exports\u0027 variable in TS sources\n\nsince it causes a duplicated variable compilation error in generated\nAMD/Require.js modules\n\n* TAP5-2804: fixing typeScriptDocs() task type\n\n* TAP5-2804: removing t5-core-dom.coffee\n\n* decaffeinate: Rename beanvalidator-validation.coffee from .coffee to .js\n\n* decaffeinate: Convert beanvalidator-validation.coffee to JS\n\n* TAP5-2804: moving former Coffee file to resources\n\n* TAP5-2804: moving beanvalidator-validation JS\n\nto tapestry-core to keep things simple (even if a bit less organized)\n\n* TAP5-2804:  beanvalidator-validation JS to TS\n\n* TAP5-2804: tapestry-beanvalidator cleanup\n\n* decaffeinate: Rename zonedemo.coffee and 10 other files from .coffee to .js\n\n* decaffeinate: Convert zonedemo.coffee and 10 other files to JS\n\n* TAP5-2804: moving converted CoffeeScript to JS files\n\n* TAP5-2804: more CS to TS adjustments\n\n* TAP5-2804: removing last remnants of CoffeeScript\n\n* Trying to figure out Jenkins test failures\n\n* Another attempt to figure out Jenkins test failures\n\n* Attempt #3\n\n* TAP5-2804: bunch of small adjustments\n\n* TAP5-2804: fixing imports and JSDoc\n\n* TAP5-2804: initial work on option to disable Require.js\n\n* TAP5-2804: more little fixes\n\n* TAP5-2804: fixing onDocument() and its usages, plus imports\n\n* TAP5-2804: adapting test JS code to AMD module changes.\n\n* TAP5-2804: jQuery fixes\n\n* TAP5-2804: test JS fixes plus TS conversion fixes\n\n* TAP5-2804: fixing scanners initialization in dom.js\n\n* TAP5-2804: fixed ElementWrapper.attr() in jQuery.\n\n* Enabling logging to Gradle console on tapestry-beanvalidator\n\n* TAP5-2804: task tapestry-core:compileTypeScript not being called\n* TAP5-2804: renaming Require.js-enabling configuration symbol\n\n* Trying to speed up integration tests\n\n* TAP5-2804: adding test suites for Require.js enabled and not\n\n* Disabling tests with Require.js disabled while it\u0027s been worked\n\n* Fixing broken tests"
    },
    {
      "commit": "9ec4acb6ae5702d04567d13350aec18e5efa8b9c",
      "tree": "f4a3f035e471f7a96c8b5e96f314cd46c9d15b95",
      "parents": [
        "b685f89773daf0eb62066a1a56b47bd3b0a0143d"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Thu May 29 10:52:38 2025 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Thu May 29 10:52:38 2025 +0200"
      },
      "message": "TAP5-2806: beanmodel setup junit, add ProperyConduitSpec\n"
    },
    {
      "commit": "b685f89773daf0eb62066a1a56b47bd3b0a0143d",
      "tree": "6c0ad7c414960ae11849295b464fe8100a04a18b",
      "parents": [
        "5db995d901da6c39c9fb2c9e85cc4221133f1b7b"
      ],
      "author": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Wed May 07 15:44:57 2025 -0300"
      },
      "committer": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Wed May 07 15:44:57 2025 -0300"
      },
      "message": "TAP5-2803: disabling one of the suffix.mjs tests\n\nsince it keeps failing on Jenkins but not locally."
    },
    {
      "commit": "5db995d901da6c39c9fb2c9e85cc4221133f1b7b",
      "tree": "9224ef04673b93e630fad6e2845a5ddf55ecd442",
      "parents": [
        "78194aa9043767c91873c24170caa8fc8610ec43"
      ],
      "author": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Wed May 07 11:29:04 2025 -0300"
      },
      "committer": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Wed May 07 11:29:04 2025 -0300"
      },
      "message": "TAP5-2803: trying to figure out the suffix.mjs test failure"
    },
    {
      "commit": "78194aa9043767c91873c24170caa8fc8610ec43",
      "tree": "6bf2bd60fa0b12e9b71acabac8449fd1261b2e33",
      "parents": [
        "39f6cb20315b8b5fa7d9c6953a0863a989ba26cd"
      ],
      "author": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Tue May 06 11:19:28 2025 -0300"
      },
      "committer": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Tue May 06 11:19:28 2025 -0300"
      },
      "message": "TAP5-2803: .mjs files should also be considered ES modules"
    },
    {
      "commit": "39f6cb20315b8b5fa7d9c6953a0863a989ba26cd",
      "tree": "621bf0378bccb5bdba9f8d71a0259ce6b9e17ba4",
      "parents": [
        "3dc068e6a33a4fbb9ab36d383b32f08647f50f76"
      ],
      "author": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sat May 03 12:38:44 2025 -0300"
      },
      "committer": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Sat May 03 12:39:53 2025 -0300"
      },
      "message": "TAP5-2803: support for global per-thread ES module config callbacks"
    },
    {
      "commit": "3dc068e6a33a4fbb9ab36d383b32f08647f50f76",
      "tree": "95996af31de545c9fe2af12dd97693aa125b0d4f",
      "parents": [
        "df4014743b8343349f5f1930cfdc3eb7aeae60e2"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Mon Apr 14 08:33:39 2025 +0200"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Mon Apr 14 08:33:39 2025 +0200"
      },
      "message": "TAP5-2758: Treat @Symbol as explicit injection signal\n\nThe @Symbol annotation should be an explicit injection signal and not be\nautowired. That allows using @Symbol without an additional @Inject to\nforce the behavior in certain scenarios.\n"
    },
    {
      "commit": "df4014743b8343349f5f1930cfdc3eb7aeae60e2",
      "tree": "678f54b342fc1b31b082139fb8bac7ab399a3729",
      "parents": [
        "eebe32598f67ddc9c6152b6efb7b21d4e67a53ea"
      ],
      "author": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Thu Apr 03 09:41:41 2025 -0300"
      },
      "committer": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Thu Apr 03 09:41:41 2025 -0300"
      },
      "message": "Bumping version to 5.10.0 for JS improvements\n"
    },
    {
      "commit": "eebe32598f67ddc9c6152b6efb7b21d4e67a53ea",
      "tree": "492d2cb59420e9d508d02bf5320c97896626a7ff",
      "parents": [
        "efa63959037fb15a232c6688e1f6e25212c84ca7"
      ],
      "author": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Tue Apr 01 15:31:17 2025 -0300"
      },
      "committer": {
        "name": "Thiago H. de Paula Figueiredo",
        "email": "thiago@arsmachina.com.br",
        "time": "Thu Apr 03 09:32:49 2025 -0300"
      },
      "message": "TAP5-2803: foundation work for ES module support\n\nTAP5-2803: fixing JavaDoc errors\n\nTAP5-2803: adding @Import(esModule)\n\nTAP5-2803: fixing DocumentLinkerImplTest failures\n\nTAP5-2803: fixing live reloading of files in /META-INF/es-assets\n\nTAP5-2803: fixing broken commit_with_no_javascript test\n\nTAP5-2803: Implemented EsModuleInitialization.invoke() and .with().\n\nTAP5-2803: supporting Number and Boolean in ES module\u0027s .with()\n\nplus tests to verify all values were passed correctly\n"
    },
    {
      "commit": "efa63959037fb15a232c6688e1f6e25212c84ca7",
      "tree": "221f185433c9ad4509590dedff8f68d8a01168ea",
      "parents": [
        "589f4c5d8935a7a59f7da35174a490709dbfc6f7",
        "22bfff581b8500f0c9269cd61e11f8c79968df64"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Feb 02 11:52:58 2025 +0100"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Feb 02 11:52:58 2025 +0100"
      },
      "message": "Merge branch \u0027TAP5-2799\u0027\n"
    },
    {
      "commit": "22bfff581b8500f0c9269cd61e11f8c79968df64",
      "tree": "145cff9b2fa6f37ddf673c45ec0a48b57ea4bbd6",
      "parents": [
        "36b94e07b851735a44faa65887aed2a2ffb775b8"
      ],
      "author": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Feb 02 11:51:06 2025 +0100"
      },
      "committer": {
        "name": "Ben Weidig",
        "email": "ben@netzgut.net",
        "time": "Sun Feb 02 11:51:06 2025 +0100"
      },
      "message": "TAP5-2799: Adapt SessionImplTests to locking changes\n"
    },
    {
      "commit": "589f4c5d8935a7a59f7da35174a490709dbfc6f7",
      "tree": "158496b7a1ceffc65235fd2aecb0d5e5d3fdf75e",
      "parents": [
        "82199021fa646a7ea4f7ccd7a7ea08cccb014b46"
      ],
      "author": {
        "name": "Clay Johnson",
        "email": "cjohnson@gradle.com",
        "time": "Tue Jan 21 04:32:50 2025 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 21 11:32:50 2025 +0100"
      },
      "message": "Publish build scans to develocity.apache.org (#52)\n\n* Publish build scans to develocity.apache.org\r\n* Use `DEVELOCITY_ACCESS_KEY` to authenticate to `develocity.apache.org`\r\n* Update Develocity plugin versions"
    }
  ],
  "next": "36b94e07b851735a44faa65887aed2a2ffb775b8"
}
