)]}'
{
  "log": [
    {
      "commit": "5f158b642fb3ad896e0e168f6d78b4b327d7d4c5",
      "tree": "ab6600eca84033f95bc2ad7e88f6e3c42d1911e9",
      "parents": [
        "d873ff6918d9e2185f1885a07b9b6209248935d3"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Aug 23 21:04:01 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Aug 23 21:04:01 2026 +0200"
      },
      "message": "enable security 4.0 suite completely\n"
    },
    {
      "commit": "d873ff6918d9e2185f1885a07b9b6209248935d3",
      "tree": "8bf710770367d48886ee6211d954d32d7aa823e7",
      "parents": [
        "a6e6b3bc8da40f6c6d392b806a25e3aa4eadb687"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 26 16:11:50 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 26 16:11:50 2026 +0200"
      },
      "message": "Run the TCK against a chosen TomEE ref and flavour\n\nAdd environment/tomee/build-tomee.sh, which builds Apache TomEE from any\ntag, branch, or commit and installs every distribution ZIP and the\nArquillian adapter into a Maven repository. The Jenkins pipeline takes\nTOMEE_REF, TOMEE_REPO_URL, and TOMEE_CLASSIFIER, builds that ref once, and\nstashes the org/apache/tomee repository slice for every branch to unstash\nand test.\n\nCarry TOMEE_VERSION and TOMEE_CLASSIFIER through all three runner scripts.\nThe smoke runner ignored both, and the security, authentication, and faces\nrunners hardcoded a distribution in the tomee-remote profile they inject\ninto the downloaded TCK, so they ignored the classifier entirely.\n"
    },
    {
      "commit": "a6e6b3bc8da40f6c6d392b806a25e3aa4eadb687",
      "tree": "e1b3346c070dd2430ebc27531117ed94b111b320",
      "parents": [
        "de24ec613613b64608cc2f23852bebc7695720b7"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Thu Jul 23 21:29:36 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Thu Jul 23 21:31:03 2026 +0200"
      },
      "message": "Ensure JAVA_HOME is set for the security runner\u0027s bundled provider\n\nThe security runner starts its bundled OpenID provider via Tomcat\u0027s\nstartup.sh, which reads JAVA_HOME/JRE_HOME and ignores PATH. When both\nare unset the provider never starts (Maven still runs, since java is on\nPATH), the client\u0027s .well-known discovery fetch is refused, and the\nOpenId2Default/OpenId3Default TCK tests fail in a way that looks like a\ntoken-validation bug in TomEE.\n\nDerive JAVA_HOME from the java on PATH (resolving symlinks) when neither\nJAVA_HOME nor JRE_HOME is set, so the child JVMs launched by the\nprovider\u0027s shell scripts inherit it; fail fast with a clear message when\nno java is found.\n"
    },
    {
      "commit": "de24ec613613b64608cc2f23852bebc7695720b7",
      "tree": "a1aa9920adba467569c0235fcca89e25ea065993",
      "parents": [
        "b622a4ef39ed1adb97062ab00cebef280cf37add"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Tue Jul 21 20:54:41 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Tue Jul 21 20:54:41 2026 +0200"
      },
      "message": "Drop the JAXB RI pin now that TOMEE-4657 is fixed\n\nTomEE pins jakarta.xml.bind.JAXBContextFactory itself, so the validation\nrunner no longer needs to set it in the server JVM. Bean Validation XML\nconfig works on a stock Plume server.\n\nAlso drops the workaround notes from the validation exclusions header,\nthe runner README, and the KNOWN_ISSUES product gaps.\n"
    },
    {
      "commit": "b622a4ef39ed1adb97062ab00cebef280cf37add",
      "tree": "b9f336a284db4dad929c03e7cfe029abb52f58c4",
      "parents": [
        "9a893bb6af0d9b7f522775e3de94248789613ed1"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Mon Jul 20 06:04:23 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Mon Jul 20 06:04:23 2026 +0200"
      },
      "message": "Run JavaTest-to-JUnit conversion unconditionally, not per-partition\n\njavatest-report-to-junit.sh already no-ops when a module produced no\nJavaTest report, so gating it on a hardcoded id allowlist just misses\nconversion for any future partition that starts producing JTS output.\n"
    },
    {
      "commit": "9a893bb6af0d9b7f522775e3de94248789613ed1",
      "tree": "2bfe380e1c7a1d21ab4a7ae0657f2c5a18643451",
      "parents": [
        "1fedb2930aff1107f17cb42ae5e30e66b17663da"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 23:17:38 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 23:17:38 2026 +0200"
      },
      "message": "Build the old-tck bundles without the native zip binary\n\nThe CI containers ship no zip executable, so the old-tck source build died\npackaging its bundle. The download step now patches the release build to\ntake its portable ant \u003czip\u003e fallback on every platform, and fixes that\nfallback\u0027s includes pattern to recurse into the bundle directory (it\nmatched only the directory entry, producing an empty zip). Verified by\nrebuilding the security-old bundle inside the pinned zip-less container:\n21 MB, 1,490 files, same as the native-zip original.\n"
    },
    {
      "commit": "1fedb2930aff1107f17cb42ae5e30e66b17663da",
      "tree": "9183932b0122e5d2963e18ee59dfa085387e65d6",
      "parents": [
        "2311593dcc48338620eeffea97e34e01ed2b2e41"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 23:16:22 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 23:16:22 2026 +0200"
      },
      "message": "Keep the skipEJB modules out of the authentication invoker run\n\nThe tomee-remote profile sets skipEJB\u003dtrue for the Web Profile run, so\nasync-authentication and invoke-ejb-cdi built test-skipped wars that\nverify-invoker-result rejected as silently green - the same reason\nejb-propagation and ejb-register-session were never included. Verified\nend-to-end: all 11 invoker projects pass, 0 failures, 0 errors.\n"
    },
    {
      "commit": "2311593dcc48338620eeffea97e34e01ed2b2e41",
      "tree": "b44a63fbe5eb03cc8208cd592530299b38571e43",
      "parents": [
        "4dfd2b7b530b6cf88b2325ac7e39ede8420b50a2"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 23:03:14 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 23:03:14 2026 +0200"
      },
      "message": "Surface JavaTest suite results as JUnit XML for CI ingestion\n\nThe JT Harness suites (transactions, security-old, faces-old) report only\nthrough the harness work/report directories, so the Jenkins junit step never\nsaw their per-test results. run-standalone-suite.sh now converts the harness\ntext report into JUnit XML under target/surefire-reports/ after every run,\nembedding each failed test\u0027s .jtr harness log in its failure element; the\nexisting Jenkinsfile junit and archive globs pick it up unchanged.\n"
    },
    {
      "commit": "4dfd2b7b530b6cf88b2325ac7e39ede8420b50a2",
      "tree": "fe31c78e87cf6e1b738cc3046cb88e0a18f81123",
      "parents": [
        "99ae995409ac5dc04bfdc8c857f11dd06e248206"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 22:46:43 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 22:46:43 2026 +0200"
      },
      "message": "Fix faces branch checkout: use checkout scm instead of missing stash\n\nNothing in the pipeline stashes \u0027source\u0027, so the faces branch failed\nimmediately with \u0027No such saved stash\u0027 instead of running any tests.\n"
    },
    {
      "commit": "99ae995409ac5dc04bfdc8c857f11dd06e248206",
      "tree": "627c1f750e98a09a127cfde914b23972cb8f702a",
      "parents": [
        "068c3dcf71169d4b99abd5370c2cbc5ef43ee9e8"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 21:13:15 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 21:13:15 2026 +0200"
      },
      "message": "Keep the JSON-P TCK\u0027s invalid XML characters out of the surefire reports\n\nThe JSON-P TCK round-trips characters XML cannot represent (U+FFFF among\nthem) and echoes them through java.util.logging at INFO. Surefire copies the\ncaptured streams into its report CDATA verbatim, leaving two report files\nunparseable: the suite passes 197/197, but Jenkins\u0027 junit step fails to read\nthose files and reports each as a test failure, while the 54 tests they\ncontain never appear in the totals.\n\nRedirect the test output to the .txt files the archive glob already collects\nand pin a JUL config that holds the console at WARNING, so the reports stay\nwell-formed. All 25 report files now parse and the full 197 tests are\nvisible.\n"
    },
    {
      "commit": "068c3dcf71169d4b99abd5370c2cbc5ef43ee9e8",
      "tree": "fb479a4a29a101bdb2eff3e2761095c7b90d442b",
      "parents": [
        "de3161f65f991e98cf7a527b832a64769d4195d8"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 21:09:12 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 21:09:12 2026 +0200"
      },
      "message": "Keep port 8080 free for the rest runner\u0027s SeBootstrap tests\n\nSeBootstrapIT boots an embedded Jetty on the SeBootstrap default port the\nspec mandates (8080) and cannot be pointed elsewhere. Inside each CI branch\u0027s\nprivate network namespace 8080 is free, so the port selector handed it to\nTomEE and the two default-port tests failed to bind.\n\nReserve 8080 for the rest runner so TomEE selects around it, and keep the\nreserved port out of every other selection\u0027s avoid list so an upward scan\ncannot land on it either.\n"
    },
    {
      "commit": "de3161f65f991e98cf7a527b832a64769d4195d8",
      "tree": "1232d13b8a1f8e1c86e1f4ab6171bcf2ad1ef8ea",
      "parents": [
        "43ac83ab49c858d1a382b8e8a5b9634960d673cb"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 21:09:06 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 21:09:06 2026 +0200"
      },
      "message": "Package the CDI TCK porting jar for test-phase runs\n\nThe cdi and cdi-ee runners stop at the test phase, so the porting module\u0027s\ndefault package-phase jar:jar never ran and the antrun copy that stages the\njar into org.jboss.cdi.tck.libraryDirectory found nothing. Ant\u0027s copy with an\nempty fileset succeeds silently, so every deployed archive shipped without\norg.apache.openejb.tck.cdi.tomee.BeansImpl and the TCK failed its porting SPI\nlookup with \"Unable to get configuration\" before reaching any test body.\n\nBind jar:jar to test-compile in the porting module so the artifact exists by\nthe time the sibling runners\u0027 generate-test-resources copy looks for it, and\nassert in both runners that a jar was actually staged so a future regression\nfails where the cause is visible rather than 107 tests later.\n"
    },
    {
      "commit": "43ac83ab49c858d1a382b8e8a5b9634960d673cb",
      "tree": "23c86017b5bd39fcef1baea22f9cf18e8d988e61",
      "parents": [
        "85e0fa71ada2dfe4476622256b3f6671bb39555d"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 17:06:45 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 17:06:45 2026 +0200"
      },
      "message": "ci: don\u0027t archive smoke runner artifacts\n"
    },
    {
      "commit": "85e0fa71ada2dfe4476622256b3f6671bb39555d",
      "tree": "4d3073a492376eadc0861ddd649456548b0694b0",
      "parents": [
        "a3d375c15b2ec8e1220cb0f6b42487bddca9c79a"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 16:59:49 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 16:59:49 2026 +0200"
      },
      "message": "ci: remove stashing/unstashing\n"
    },
    {
      "commit": "a3d375c15b2ec8e1220cb0f6b42487bddca9c79a",
      "tree": "95bd13bc89777a0da4bd1a6a6477bd5ee26815f1",
      "parents": [
        "08167d763f8d676479dafe28b402a8358948d2d3"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 16:53:54 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 16:53:54 2026 +0200"
      },
      "message": "Point each CI container\u0027s HOME at the workspace\n"
    },
    {
      "commit": "08167d763f8d676479dafe28b402a8358948d2d3",
      "tree": "6cc8ddf4cd1ebbb4f51c68cc99bb084e35db3a20",
      "parents": [
        "e152aacd3ec5e16101b601bd2eecb6696a7b8f98"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 16:40:51 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 16:40:51 2026 +0200"
      },
      "message": "Describe the containerized CI branches in the docs\n"
    },
    {
      "commit": "e152aacd3ec5e16101b601bd2eecb6696a7b8f98",
      "tree": "d14d482fdf6ba17cd3c02f07c39cc4ac34acbfa9",
      "parents": [
        "c62154d86c7050affbbd9818754cd1cec498e764"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 16:40:46 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 16:40:46 2026 +0200"
      },
      "message": "Run every CI branch inside a digest-pinned JDK container\n\nEach branch\u0027s suite now executes in a container-private network\nnamespace (plain eclipse-temurin JDK images; the faces branch keeps its\nChrome-bundling image), so no other job on the host can collide with or\nanswer on a chosen TomEE/Derby/LDAP/JavaTest port. The Maven wrapper\nbootstraps Maven inside the container and the port scripts probe via\nthe images\u0027 bash /dev/tcp fallback; the free-port selection and\nrequire-free guards stay as defense in depth for workstation runs.\n"
    },
    {
      "commit": "c62154d86c7050affbbd9818754cd1cec498e764",
      "tree": "d9e9ba3864a9154bd14f70c2727d5fda0eb0f78b",
      "parents": [
        "8944c03bc38ce55b472eb55f65f6500dc7656d45"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 16:29:34 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 16:29:34 2026 +0200"
      },
      "message": "Run the smoke suite through a free-port-selecting wrapper script\n\nrun-smoke-suite.sh selects free http/shutdown ports and passes them as\n-Dtomee.http.port/-Dtomee.shutdown.port; the smoke pom defines those\nproperties, filters them into arquillian.xml and the failsafe\nwebServerPort, and asserts the effective ports free at validate so the\nguard covers caller overrides and runs right before TomEE binds. The\nJenkinsfile Smoke step uses the wrapper and lints the two new scripts.\n"
    },
    {
      "commit": "8944c03bc38ce55b472eb55f65f6500dc7656d45",
      "tree": "5a60519b424e6d380f22b4fa6c54ef9b5a62170e",
      "parents": [
        "8f447c86c4895bca110564a4ff4d1114dac57143"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 16:29:27 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 16:29:27 2026 +0200"
      },
      "message": "Make the invoker reactors\u0027 HTTP pin movable and fail fast on busy ports\n\nThe authentication and faces tomee-remote-profile.xml resolve their\ntomee.httpPort pin from tomee.http.port at profile-inject time, so the\nshell-selected port reaches the downloaded reactors, and both poms assert\nthe chosen port free right before the invoker runs. The security reactor\npins 8080/8443/8005/33389 across config, DB seeds, and compile-time\nconstants, so its pom asserts that fixed set free instead of relocating.\n"
    },
    {
      "commit": "8f447c86c4895bca110564a4ff4d1114dac57143",
      "tree": "e7c9b916c750831dd0b02787db0a45b8a0869ec7",
      "parents": [
        "5d8b73a366863201d048f274ed3346cc99621558"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 16:29:18 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 16:29:18 2026 +0200"
      },
      "message": "Assert the JavaTest harness log port (and security-old\u0027s LDAP port) free\n\nThe JavaTest client JVM opens a ServerSocket on the harness log port, so\nthe transactions, faces-old, and security-old guards assert it along with\nthe TomEE ports; the port itself follows tck.harness.log.port. security-old\nalso asserts the immovable in-process LDAP port 11389, which the built\nold-tck sources hardcode on both the server and the test servlets.\n"
    },
    {
      "commit": "5d8b73a366863201d048f274ed3346cc99621558",
      "tree": "a1f07c7fd9dc9f33e5809a8efb7363367b96e27b",
      "parents": [
        "2cb46d3c9ae523c1d83ad63f6e572eacf653bfe1"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 16:29:11 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 16:29:11 2026 +0200"
      },
      "message": "Select free ports per standalone runner and guard the chosen ones\n\nrun-standalone-suite.sh keeps a per-id table of the ports each runner\nbinds, selects free ones at branch start, and appends them as the existing\n-D overrides; a caller-supplied -D wins and its value seeds the later\npicks\u0027 avoid lists. The parent pom asserts the chosen TomEE ports free at\nvalidate, gated by tck.tomee.ports.guard.skip so TomEE-less modules opt\nout, and the validation/cdi/cdi-ee arquillian.xml gain the httpsPort knob\nso the always-bound TLS connector is movable.\n"
    },
    {
      "commit": "2cb46d3c9ae523c1d83ad63f6e572eacf653bfe1",
      "tree": "f67f53ff4a7b0c15b8cd83bd79f534816c518dca",
      "parents": [
        "beed181f4892d01d105c39aec3d3968272838787"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 16:29:03 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 16:29:03 2026 +0200"
      },
      "message": "Run the platform catalog on dynamically selected free ports\n\nrun-platform-suite.sh selects free http/https/shutdown/derby/harness-log\nports once at branch start and passes them as -D overrides. The run pom\nintroduces the tomee.*.port and tck.harness.log.port properties, chains\ntck.http.port to tomee.http.port so the failsafe client target can never\ndiverge from the container bind, points securedWebServicePort at\ntomee.https.port, filters the arquillian.xml port literals, stages ts.jte\nthrough a filtered copy so its webServerPort and harness.log.port track the\nchosen ports, and asserts the chosen TomEE ports free at validate.\n"
    },
    {
      "commit": "beed181f4892d01d105c39aec3d3968272838787",
      "tree": "4d7d3b7e233d822b232f820b341e8f7208f9c671",
      "parents": [
        "b491a2798403fda4ca8dfc77b5a53ede54393e05"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 16:28:54 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 16:28:54 2026 +0200"
      },
      "message": "Add a shared free-port selector and harden the TomEE port guard\n\nselect-free-port.sh echoes the preferred port when free and otherwise scans\nupward for the first free port not in the avoid list, with the same TCP\nprobe as require-tomee-ports-free.sh so selection and the final assertion\nagree on what free means. Both scripts fail closed when neither nc nor bash\nis available, run the /dev/tcp fallback through an explicit bash (an inline\nredirect under dash silently marks every port free), and the guard accepts\nadditional positional ports beyond http/https/shutdown.\n"
    },
    {
      "commit": "b491a2798403fda4ca8dfc77b5a53ede54393e05",
      "tree": "4582c46f2955050b2520eb93e894294e8efe06c5",
      "parents": [
        "4f6830a756d8165fcab59c3fed7fc7897985d8cb"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 15:05:34 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 15:06:54 2026 +0200"
      },
      "message": "Clone once and stash the source for all parallel Jenkins stages\n"
    },
    {
      "commit": "4f6830a756d8165fcab59c3fed7fc7897985d8cb",
      "tree": "eb80f20c872b214bee72b42aa4592b0d2c5a2350",
      "parents": [
        "4955cb07394c7c1a6cdbef4d5cbb817179547bbb"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 14:44:24 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 14:44:24 2026 +0200"
      },
      "message": "Return explicit closures from the Jenkinsfile branch factories\n"
    },
    {
      "commit": "4955cb07394c7c1a6cdbef4d5cbb817179547bbb",
      "tree": "f9ded030e05de40803db79563b830b3bde76b7d7",
      "parents": [
        "002d73a1c20a7c292b53a32989918d1425fbe3c9"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 14:39:11 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 14:39:11 2026 +0200"
      },
      "message": "Drop OpenJPA webprofile persistence-javatest branch from Jenkins CI\n"
    },
    {
      "commit": "002d73a1c20a7c292b53a32989918d1425fbe3c9",
      "tree": "092ef0a2423442798f52217091fa02bfc0b5debb",
      "parents": [
        "f2a4dabcaa84d7850106365af11f1f688c4828b9"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 14:30:30 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 14:30:30 2026 +0200"
      },
      "message": "Drop OpenJPA/webprofile persistence detail from known-issues docs\n\nKNOWN_ISSUES.md and KNOWN_FAILURES.md now report only the Plume/EclipseLink\npersistence results. Runner capability docs (README.md files) keep the\nTOMEE_CLASSIFIER\u003dwebprofile instructions since that mode is still supported.\n"
    },
    {
      "commit": "f2a4dabcaa84d7850106365af11f1f688c4828b9",
      "tree": "12ba8be1b3e800045d4912ccf6b48ad59fad5d38",
      "parents": [
        "b48237fd6087e2af99f9e6ca94bc3c81a4cce12d"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 13:11:09 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 13:11:09 2026 +0200"
      },
      "message": "Run the faces TCK suite in CI inside a Chrome-bundling container\n\nThe modern faces suite drives a real Chrome through Selenium in its\nold-tck-selenium modules, so it cannot run on the bare JDK-tools\n\u0027ubuntu \u0026\u0026 ephemeral\u0027 agents that ship no browser. Add a facesBranch that\nruns run-standalone-suite.sh faces inside markhobson/maven-chrome:jdk-21\n(JDK 21, Maven 3.9.15, Chrome + chromedriver 147 on Ubuntu 24.04), pinned\nby digest like the repo\u0027s other inputs. checkout/archive/junit/deleteDir\nstay on the node around the container; inside it the image\u0027s own JDK is\nused, Maven\u0027s local repo is left at the container default (fresh per\nbuild, torn down with the container), and --shm-size\u003d2g gives headless\nChrome enough shared memory since the TCK driver does not set\n--disable-dev-shm-usage. The faces branch gets a 300-minute timeout.\n\nVerified: the suite runs green in the container (verify-invoker-result\nOK, 6 modules, 0 failures, 0 errors), with the Selenium/Chrome ITs\nexecuting and passing.\n"
    },
    {
      "commit": "b48237fd6087e2af99f9e6ca94bc3c81a4cce12d",
      "tree": "7be1ca7aff590037672d8a2b32ce76da95eca8cc",
      "parents": [
        "512aa8c19f35fff8ad86b2b9605cb2e4e1cae855"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 12:13:34 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 12:13:34 2026 +0200"
      },
      "message": "Wire security-old into CI and document the faces browser constraint\n\nAdd the security-old JavaTest runner to the standalone branch list on the\nplain 240-minute default; its one-off old-tck source build plus ~83 tests\nstay well under the faces-old sizing. Its report lands in\ntarget/securityreport/**, already matched by the target/*report archive glob,\nand it emits no TEST-*.xml, so no glob change is needed.\n\nThe modern faces reactor stays workstation-only: its old-tck-selenium modules\ndrive Chrome through Selenium, and the ASF ubuntu \u0026\u0026 ephemeral agents ship no\nbrowser binary. Replace the vague \"once its baseline is confirmed\" wording\nwith the actual constraint.\n"
    },
    {
      "commit": "512aa8c19f35fff8ad86b2b9605cb2e4e1cae855",
      "tree": "18b312619072afee1842e716ccb21496c31129f0",
      "parents": [
        "b8edfbef591e0c35dc01e0e4941142653ba477b0",
        "848420b6610444fa5dc22dfb38e7697a6e90d8cf"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 10:55:01 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 10:55:01 2026 +0200"
      },
      "message": "Merge branch \u0027ee11\u0027 into claude/tck-module-setup-check-0c52f9\n\n# Conflicts:\n#\tKNOWN_ISSUES.md\n"
    },
    {
      "commit": "848420b6610444fa5dc22dfb38e7697a6e90d8cf",
      "tree": "708e5d571b5312f630f628899585890f39bf4ff5",
      "parents": [
        "13b26abe2ce3c350f7901af3478b1268f8062a38"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 10:53:10 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 10:53:10 2026 +0200"
      },
      "message": "Document the security-old baseline and its one product-gap exclusion\n"
    },
    {
      "commit": "13b26abe2ce3c350f7901af3478b1268f8062a38",
      "tree": "dfe6e12e29cf5874f1faadba53826a0ddfa9e955",
      "parents": [
        "e855d83e1dca07d65defab23339cc45ace7d3fc8"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 10:53:04 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 10:53:04 2026 +0200"
      },
      "message": "Add a security-old runner for the Jakarta Security legacy JavaTest TCK\n"
    },
    {
      "commit": "b8edfbef591e0c35dc01e0e4941142653ba477b0",
      "tree": "c2eff51d66f46d094ae44e4d45289736b8ddde89",
      "parents": [
        "a9e24b94359e3e625b79894364d618060a45b5da"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 10:17:32 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 10:17:32 2026 +0200"
      },
      "message": "Run the Faces old-tck-selenium modules in the faces TCK suite\n\nAdd old-tck-selenium (ajax, commandLink, protectedViews) to the faces\ninvoker run and the expected-module list. Clean each TCK reactor before\nverify so the aggregating check never counts stale reports left by an\nearlier run, and count only final surefire/failsafe outcomes so a\nChrome test that recovers on rerun no longer reads as an error.\n\nWith exclusions applied the suite runs 298 tests, 0 failures, 0 errors,\n17 skipped; old-tck-selenium needs no exclusions.\n"
    },
    {
      "commit": "a9e24b94359e3e625b79894364d618060a45b5da",
      "tree": "83728692bf05a03cb39a8660a4dadb0bf1b36359",
      "parents": [
        "e855d83e1dca07d65defab23339cc45ace7d3fc8"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 09:25:08 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 09:25:08 2026 +0200"
      },
      "message": "Set the EL variable.mapper porting property and clear the webprofile exclusions\n"
    },
    {
      "commit": "e855d83e1dca07d65defab23339cc45ace7d3fc8",
      "tree": "ebf11f6a3bd2214446b2dfb02e1aaec707c71d2e",
      "parents": [
        "4315462825ce685bae4fa76d38ed8e8cc2ada6ba"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 01:57:17 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 01:57:17 2026 +0200"
      },
      "message": "Declare the invoker verification inside the existing exec plugin blocks\n"
    },
    {
      "commit": "4315462825ce685bae4fa76d38ed8e8cc2ada6ba",
      "tree": "6baff1f712b60676d48424b7f34bd8094b143cbb",
      "parents": [
        "d68146201ca0796af74629910a8672eb41ebff31",
        "27302f7d6c25d9be44060bf07e9fbf9485a76872"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 01:53:16 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 01:53:16 2026 +0200"
      },
      "message": "Merge branch \u0027ee11\u0027 into claude/tck-module-setup-check-0c52f9\n"
    },
    {
      "commit": "d68146201ca0796af74629910a8672eb41ebff31",
      "tree": "76f9aa691314245e729e8d8650c4a0599bb3de8c",
      "parents": [
        "785e52e0ed8fe75112958e162963da018a4001b0"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 01:51:56 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 01:51:56 2026 +0200"
      },
      "message": "Reconcile the triage docs and fix stale runner cross-references\n"
    },
    {
      "commit": "785e52e0ed8fe75112958e162963da018a4001b0",
      "tree": "05e67b7c3115409b7893c47096b35f7ecadc68fb",
      "parents": [
        "0b39a6ba9761accbcbc49c3eedd5de310fa4ab67"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 01:47:48 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 01:47:48 2026 +0200"
      },
      "message": "Guard the self-provisioned TomEE runners against a foreign server on the port\n"
    },
    {
      "commit": "0b39a6ba9761accbcbc49c3eedd5de310fa4ab67",
      "tree": "bcb6020e2b1dd9b90b4dcd63f0d9dba8b7d19826",
      "parents": [
        "a09ea051bc2fd24c7e2c31c9abd9e0fd11094e8e"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 01:45:45 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 01:45:45 2026 +0200"
      },
      "message": "Collect the deep faces reactor reports and lint the standalone scripts in CI\n"
    },
    {
      "commit": "a09ea051bc2fd24c7e2c31c9abd9e0fd11094e8e",
      "tree": "1e67227093eb7ad889f8a1dcbb8eb6491f896294",
      "parents": [
        "3d341ca6dc867b6ea6a3b11191e96d425336ad3b"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 01:45:11 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 01:45:11 2026 +0200"
      },
      "message": "Verify the Security TCK zip checksum on download\n"
    },
    {
      "commit": "3d341ca6dc867b6ea6a3b11191e96d425336ad3b",
      "tree": "21dc4e3bcf7e378533c32b7f6bd392590a60f9c0",
      "parents": [
        "135f76ca7eddd6faf692ae74ee13e01b945016ba"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 01:44:06 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 01:44:06 2026 +0200"
      },
      "message": "Fail invoker-driven TCK runners on hidden test and tooling failures\n"
    },
    {
      "commit": "135f76ca7eddd6faf692ae74ee13e01b945016ba",
      "tree": "c2e288806826c769684385275758d7d5e2f55659",
      "parents": [
        "db34d69afcc4af5a4d2b212898dc09e701a07e43"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 01:36:39 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 01:36:39 2026 +0200"
      },
      "message": "Rebuild the transactions exclusion baseline from the pristine zip entry\n\nThe configure-tck step snapshotted ts.jtx.orig from the extracted ts.jtx\nwith copy overwrite\u003dfalse, so re-runs took the snapshot after an earlier\niteration had already appended the exclusions, contaminating the baseline\nand silently keeping exclusions in a \u0027none\u0027 run. Re-materialize ts.jtx.orig\nfrom the distribution zip\u0027s single bin/ts.jtx entry every run, then concat.\n\nRetitle the failures as cross-request UserTransaction state leakage across\npooled servlet requests (leaker/victim pairs), the honest signature from the\ntrue no-exclusions baseline and per-area isolation runs. Drop the disproven\ncommit-after-timeout root cause: settransactiontimeout001 passes in isolation\nwhen its 30s sleep actually reaches commit(). The three affected areas stay\nexcluded whole because a narrower id list just shifts the victims.\n"
    },
    {
      "commit": "db34d69afcc4af5a4d2b212898dc09e701a07e43",
      "tree": "395327b8d162f66c7bf42e17634fc2ce61935d79",
      "parents": [
        "0c8dd201afe7aad1193a05fd3bb5d6cbe3871de5"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 01:20:22 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 01:20:22 2026 +0200"
      },
      "message": "Bump the Jakarta Data TCK to the 1.0.1 certification release\n\nPin jakarta.data-tck 1.0.1, pass jakarta.tck.database.type\u003dRELATIONAL to the\ncontainer JVM and surefire, and define java:comp/DefaultDataSource explicitly\non embedded Derby so the persistence unit no longer auto-links to the network\nDerby datasources. Re-derive exclusions/data.txt from a 1.0.1 baseline (same 36\nEntityTests methods) with per-feature-group attribution.\n"
    },
    {
      "commit": "0c8dd201afe7aad1193a05fd3bb5d6cbe3871de5",
      "tree": "9b9d1c646322077e744539aa52d528185e4cd35a",
      "parents": [
        "7ae24ba31dd6a94a7125cf4133228c584d29044e"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 01:11:56 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 01:11:56 2026 +0200"
      },
      "message": "Carry the cdi-tomee OpenWebBeans overlay and sign the CDI runners\n\nShip the apache/tomee tck/cdi-tomee OpenWebBeans TCK overlay and the\nTomEE-aware Beans porting SPI to both CDI runners through a dedicated\nporting jar staged into org.jboss.cdi.tck.libraryDirectory, so every\ndeployed archive picks up strictDynamicValidation, the spec-default\ndefaultBeanDiscoveryMode\u003dANNOTATED, and the intra-VM-proxy-aware Beans\nimplementation. Point both cdi-tck.properties at the TomEE Beans SPI and\nadd the mandatory CDI API signature check (cdi-api-jdk17.sig) to the core\nrunner.\n\nRe-derive both exclusion lists from the actual remaining failures (cdi:\n90 -\u003e 81, cdi-ee: 117 -\u003e 106), using method-level entries where a method\nfails and whole-class entries only where the deployment/configuration\nphase fails. Correct the build-compatible-extensions attribution across\nthe lists and the docs: the gap is the missing\njakarta.enterprise.inject.build.compatible.spi.BuildServices provider in\nOpenWebBeans 4.1, which the Method Invokers tests hit only because the\nTCK registers them through a build-compatible extension.\n"
    },
    {
      "commit": "7ae24ba31dd6a94a7125cf4133228c584d29044e",
      "tree": "53a412cde4c9983fd50b42ee4115a2d1cf983848",
      "parents": [
        "9748783bd827ec3d514448ea93fed46d86fed658"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 00:02:51 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sun Jul 19 00:02:51 2026 +0200"
      },
      "message": "Run the Faces TCK modern modules on Plume and retriage exclusions\n\nMove the tomee-remote container configuration into the failsafe execution\nwhere the TCK runs every IT: a surefire-only block never reached the\nintegration-test fork, so the adapter fell back to its defaults and the\nsuite ran against the webprofile distribution (MyFaces) instead of Plume\n(Mojarra). Stage ShrinkWrap API 1.2.6 through tomee.additionalLibs so the\nfaces40/41 WARs\u0027 bundled util deployment scans cleanly under OpenWebBeans.\n\nRederive exclusions/faces.txt from the clean Plume/Mojarra baseline: the\nfaces-config https xsi:schemaLocation gap affects one class (Spec1760IT),\nnot three; the rest are Mojarra/TomEE integration behaviors (Faces CDI\nimplicit-object injection, whole-bean and CDI method validation, one\nChrome ajax quirk).\n"
    },
    {
      "commit": "9748783bd827ec3d514448ea93fed46d86fed658",
      "tree": "1c8afcb3d57f2e3bc2d170a6fa797e03d3424868",
      "parents": [
        "6fa854196031494657e340b0dee3e1c0db956801"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 23:18:24 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 23:18:24 2026 +0200"
      },
      "message": "Register the Authentication spi provider under Tomcat\u0027s app-context naming\n\nThe spi module registered its test AuthConfigProvider under GlassFish\napp-context-ids (server /spitests_servlet_web), but Tomcat derives the\nJASPIC app-context-id as getVirtualServerName() + \" \" + contextPath\n(Catalina/localhost /spitests_servlet_web), so no provider matched and\nthe server-side SAM never ran, failing every ServletProfileSPITest\nassertion. Rewrite the HttpServlet app-context-ids in\nspi/common/ProviderConfiguration.xml and pin the matching\nlogical.hostname.servlet for the client-side assertions\n(jakartaee/authentication#220). ServletProfileSPITest now passes 56 of\nits 57 assertions; only CheckMsgInfoKey stays excluded, a TCK challenge\n(jakartaee/authentication#219) that hard-codes a Jakarta Authorization\nrequirement the Web Profile does not mandate.\n"
    },
    {
      "commit": "6fa854196031494657e340b0dee3e1c0db956801",
      "tree": "88ad915619a70d04ed3d95deb643234432e1dc45",
      "parents": [
        "da8bdfc730a1f506929ed4e8ca3cd6bafd5f4d3b"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 23:06:21 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 23:06:21 2026 +0200"
      },
      "message": "Run the WebSocket TCK negative-deployment tests against TomEE\n\nTolerate the spec-required deployment failure of the negdep archives with an\nArquillian extension so their client probes run, and set the two Tomcat\nWebSocket timeout properties on both the client and server JVMs. The suite\nnow discovers 737 tests with only the 3 permessage-deflate configurator\nassertions excluded.\n"
    },
    {
      "commit": "da8bdfc730a1f506929ed4e8ca3cd6bafd5f4d3b",
      "tree": "7147cb9a2b0adc596e035cf961f5979382b8b883",
      "parents": [
        "b018cfc6f83a4ac151f635b3c8a20a5de254545a"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 22:36:06 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 22:36:06 2026 +0200"
      },
      "message": "Trim the REST TCK exclusions to 3 via constrainedto tolerance and the URLConnection conduit\n\nThe rest runner passes openejb.jaxrs.fail-on-constrainedto\u003dfalse to the\nserver JVM through catalina_opts, so TomEE ignores the TCK\u0027s\n@ConstrainedTo(CLIENT) provider (the spec-required behavior) instead of\nrejecting the deployment, and pins the CXF client to the HttpURLConnection\nconduit (org.apache.cxf.transport.http.forceURLConnection\u003dtrue), whose\nasync-conduit no-entity handling is tracked upstream as CXF-9039. A full\nrun without exclusions scores 2,803 tests, 2 failures, 1 error; the three\nremaining product results (Feature/DynamicFeature META-INF/services\ndiscovery — TOMEE-4321/CXF-9005 — and 405-vs-404 superclass @Path\nmatching) stay excluded, and the suite is green with the reviewed list.\n"
    },
    {
      "commit": "b018cfc6f83a4ac151f635b3c8a20a5de254545a",
      "tree": "a4ed5f236c2192824efdb9ad3c95e34c5af3c40a",
      "parents": [
        "255bff2c4ebc5bd54388a8716532214dd905c1cb"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 22:22:57 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 22:22:57 2026 +0200"
      },
      "message": "Configure the Servlet TCK harness for cross-context, encoding, and trailers\n\nEnable real cross-context dispatch and the STRICT_SERVLET_COMPLIANCE subset\nthrough a conf/context.xml overlay, add allowedTrailerHeaders on the HTTP\nconnector via a module-local server.xml, and strip TomEE\u0027s UTF-8 encoding\npins while adding the ja-\u003eShift_Jis locale mapping in the conf/web.xml\noverlay. The full baseline drops from 69 to 12 errors; the two remaining\nclasses (pluggability RegistrationTests, spec DefaultMappingTests) fail\nbecause TomEE aborts context startup on a servlet/filter class the war does\nnot package.\n"
    },
    {
      "commit": "255bff2c4ebc5bd54388a8716532214dd905c1cb",
      "tree": "1a27f0fe21927e99651daf2ed7af46f20fef93e6",
      "parents": [
        "2fec5560868466fc8ad40bbf9d72bedd5dd23fe2"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 21:30:12 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 21:30:12 2026 +0200"
      },
      "message": "Pin the JAXB RI for the Validation TCK and wire its signature test\n\nPlume ships both EclipseLink MOXy and the JAXB RI; MOXy wins ServiceLoader discovery and rejects the namespace rewriting Apache BVal performs while parsing validation.xml/constraint-mapping descriptors, which broke every Bean Validation XML-configuration test. Pinning jakarta.xml.bind.JAXBContextFactory to the JAXB RI in the server JVM clears all 124 previously-excluded failures. Also wire the mandatory Validation API signature test. Full suite now passes 1,049/1,049 with no exclusions and the signature test green.\n"
    },
    {
      "commit": "2fec5560868466fc8ad40bbf9d72bedd5dd23fe2",
      "tree": "1ac075204cbf7ca3921c1d9a8629d5e5bb024b19",
      "parents": [
        "323d555e5be8b6155decb51ce3a3c0ba62b8e0be"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 21:16:54 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 21:16:54 2026 +0200"
      },
      "message": "Run the JSON-B TCK with COMPAT locale data and drop the locale exclusions\n"
    },
    {
      "commit": "323d555e5be8b6155decb51ce3a3c0ba62b8e0be",
      "tree": "4f02a7ff4e5d9b1578a085bd89e4afe8e05da8c1",
      "parents": [
        "e4fd6f5487f3aff3bdea127ef7f46a06bfde7588"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 21:13:51 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 21:13:51 2026 +0200"
      },
      "message": "Set the EL TCK variable.mapper porting property and clear the exclusions\n"
    },
    {
      "commit": "27302f7d6c25d9be44060bf07e9fbf9485a76872",
      "tree": "714cc2c02f8a75c69790df74dbeb6af2ce5b78a0",
      "parents": [
        "58f353d28e59ae79a167f99e7ec0c3f896820adf"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 20:34:27 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 20:34:27 2026 +0200"
      },
      "message": "Reduce the webprofile manifest to per-partition overrides\n"
    },
    {
      "commit": "58f353d28e59ae79a167f99e7ec0c3f896820adf",
      "tree": "9c7df5df938f3dbc22d86010b5823664e7bf568e",
      "parents": [
        "504cd99974c94c8dbb06992964f5258e1b0f1126"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 20:32:55 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 20:32:55 2026 +0200"
      },
      "message": "Propagate tck.derby.port into the staged tomee.xml datasources\n"
    },
    {
      "commit": "504cd99974c94c8dbb06992964f5258e1b0f1126",
      "tree": "2e701a1ab907a7b703687145e4295864edefe016",
      "parents": [
        "5353517db71a4ba37e48e8c4a4c6f5c9a9a11a05"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 20:28:56 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 20:28:56 2026 +0200"
      },
      "message": "Share the DI TCK suite construction between both entry points\n"
    },
    {
      "commit": "5353517db71a4ba37e48e8c4a4c6f5c9a9a11a05",
      "tree": "0a258f894fc73195e7532b16b64ec7e84068482a",
      "parents": [
        "e4fd6f5487f3aff3bdea127ef7f46a06bfde7588"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 20:28:21 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 20:28:21 2026 +0200"
      },
      "message": "Fold the smoke stages into a JDK matrix\n"
    },
    {
      "commit": "e4fd6f5487f3aff3bdea127ef7f46a06bfde7588",
      "tree": "20ef9a0282fd484c40da77e2ff8b775862a659ea",
      "parents": [
        "93d417671220f8616b3c4d67ffbf9e8c08eaa47b"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 20:27:49 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 20:27:49 2026 +0200"
      },
      "message": "Derive the standalone runner module list and reuse the prebuilt reactor\n"
    },
    {
      "commit": "93d417671220f8616b3c4d67ffbf9e8c08eaa47b",
      "tree": "92ba5c8e227926b0ccd9dcc567cc4d52ae7cba1a",
      "parents": [
        "751e001ded4433bcd2edab77448fdd3e36293907"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 20:26:19 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 20:26:19 2026 +0200"
      },
      "message": "Deduplicate the webprofile Derby JDBC settings\n"
    },
    {
      "commit": "751e001ded4433bcd2edab77448fdd3e36293907",
      "tree": "5de6dd2107694f833b7dd5c75b31b3dbadbb9e05",
      "parents": [
        "cea678962f9f2f1822ab99e143949a6603b777c7"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 20:24:32 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 20:24:32 2026 +0200"
      },
      "message": "Manage shared plugin and sigtest versions in the root pom\n"
    },
    {
      "commit": "cea678962f9f2f1822ab99e143949a6603b777c7",
      "tree": "d26df9558b4fbdba945ba721ac0fe3578b380635",
      "parents": [
        "b31ceeb829849f939085b06c8f4054fe4f5c7559"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 20:21:57 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 20:21:57 2026 +0200"
      },
      "message": "Share the Faces TCK and Ant pins through the runner-standalone parent\n"
    },
    {
      "commit": "b31ceeb829849f939085b06c8f4054fe4f5c7559",
      "tree": "bf23b0cdac48cd6e7d558e3f936cfd67fd638d78",
      "parents": [
        "c95b49b9f667e3586fa785b6e9df0997770fe536"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 20:20:54 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 20:20:54 2026 +0200"
      },
      "message": "Inherit the TomEE port defaults from the runner-standalone parent\n"
    },
    {
      "commit": "c95b49b9f667e3586fa785b6e9df0997770fe536",
      "tree": "1589162bc6acf3575c8e36c4473e546ded311483",
      "parents": [
        "5c8155978398f474f5a1b9a2212a10e249177078"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 20:19:44 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 20:19:44 2026 +0200"
      },
      "message": "Drop dead configuration knobs and make --metadata-only real\n"
    },
    {
      "commit": "5c8155978398f474f5a1b9a2212a10e249177078",
      "tree": "544512f0e5880daa5a93f942700626529dd96223",
      "parents": [
        "cdde2a1cfe3fc50d255a3ddbc625aec9591d06bb"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 18:11:01 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 18:11:01 2026 +0200"
      },
      "message": "Record the faces-old CI wiring in the triage list\n"
    },
    {
      "commit": "cdde2a1cfe3fc50d255a3ddbc625aec9591d06bb",
      "tree": "8e459575afb7bb7f9c97f75b9eb704c123c736d6",
      "parents": [
        "b3361fdaf7f01e1e810c48eb7d01ef88d49111ea"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 18:11:01 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 18:11:01 2026 +0200"
      },
      "message": "Run the faces-old suite in CI\n"
    },
    {
      "commit": "b3361fdaf7f01e1e810c48eb7d01ef88d49111ea",
      "tree": "ad3dc996dbd8f291d45cd28786f0354d3dca92a7",
      "parents": [
        "f05675450e948fd17448ab64e32a928ffdfb7e91"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 18:11:01 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 18:11:01 2026 +0200"
      },
      "message": "Fail the faces-old build when JavaTest reports failures\n"
    },
    {
      "commit": "f05675450e948fd17448ab64e32a928ffdfb7e91",
      "tree": "95d1d05aba3060260fe989150275dac343bb9c23",
      "parents": [
        "6463c605a058fff3a8ff1e4af5f2d6bebd651a3a"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 17:58:12 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 17:58:12 2026 +0200"
      },
      "message": "Drop completed items from the harness work remaining list\n"
    },
    {
      "commit": "6463c605a058fff3a8ff1e4af5f2d6bebd651a3a",
      "tree": "5610fc3da53694e14228ba2ed7be343f9d1e689a",
      "parents": [
        "4f41e4501b8c709b07c03e54c9a5da9d9c6d9e14"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 17:58:12 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 17:58:12 2026 +0200"
      },
      "message": "Document the side-by-side Derby port caveat in the standalone runner README\n"
    },
    {
      "commit": "4f41e4501b8c709b07c03e54c9a5da9d9c6d9e14",
      "tree": "ef40ca19b67d300cd48790d947cef3a7a6cbe50b",
      "parents": [
        "9881b20b551edcbab046f90f8f8d33f254b444ea"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 17:40:32 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 17:40:32 2026 +0200"
      },
      "message": "Wire the remaining standalone suites into CI and close the triage list\n\nThe Jenkins standalone branch list adds el, persistence, transactions,\nsecurity, and authentication - every wired suite now runs in CI with its\nreviewed exclusions. The junit/archive globs additionally ingest the\nsurefire/failsafe reports inside the extracted TCK reactors the\nsource-reactor runners drive through the Maven invoker, plus the\nJavaTest report directories.\n\nKNOWN_ISSUES and the runner README record the new baselines (el 361/9E,\npersistence full pass, transactions 40/9F with all signature vehicles\npassing), the provider-level confirmation of the Tomcat EL and TomEE\nUserTransaction findings, the verified security/authentication\nend-to-end runs, and the completed exclusion-confirmation sweep across\nall suites.\n"
    },
    {
      "commit": "9881b20b551edcbab046f90f8f8d33f254b444ea",
      "tree": "39c92c56fbcf9fca4650b6a64d7f29430aec6a67",
      "parents": [
        "8a1248bf4d11b27cffe539ba0961f7b61bc2b41d"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 17:40:32 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 17:40:32 2026 +0200"
      },
      "message": "Run the security and authentication signature tests against TomEE\n\nBoth reactors\u0027 signature modules were disabled as GlassFish-bound; the\nsigtest.api.* hooks they already expose now point at what TomEE ships:\nsecurity at org.apache.tomee:jakartaee-api (the artifact whose -tomcat\nrepackaging is lib/jakartaee-api-*-tomcat.jar; the security classes are\nbyte-identical), authentication at org.apache.tomcat:tomcat-jaspic-api\n(lib/jaspic-api.jar) with tomcat-catalina on the module classpath\nbecause Tomcat\u0027s AuthConfigFactory hard-references its default factory\nimplementation. Both pass and run in the invoker pass.\n\nTwo fixes surfaced by the first full exclusion-gated runs: the runners\nnow delete stale inner surefire/failsafe reports before the invoker\n(failsafe:verify otherwise fails a now-fully-excluded module on the\nprevious run\u0027s summary), and the security tomee-remote profile defines\nthe trustStore.path/trustStore.password properties the OpenID modules\u0027\nkeytool steps read (unset, keytool prompts against ~/.keystore and the\nmodule build dies). With the reviewed exclusion lists both suites run\ngreen end-to-end: security all 27 invoker projects, authentication all\n13 with 0 failures.\n"
    },
    {
      "commit": "8a1248bf4d11b27cffe539ba0961f7b61bc2b41d",
      "tree": "3c88bc57f97cb0e557256ccce632a57292541770",
      "parents": [
        "3e5c1e4c9f359c1ef157917df3b9bec99cae9aac"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 17:40:12 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 17:40:12 2026 +0200"
      },
      "message": "Add EL 6.0, Persistence 3.2, and Transactions 2.0 standalone TCK runners\n\n- el: EFTL zip installed under the jar\u0027s own jakarta.tck coordinates,\n  local-JVM run against Tomcat\u0027s Jasper EL (the implementation every\n  TomEE distribution bundles). 361 tests, sigtest passes; the 9 errors\n  are the two known Tomcat EL 6.0 gaps (MethodExpression overload\n  selection, StandardELContext without a VariableMapper), excluded in\n  exclusions/el.txt - green 352/352.\n- persistence: TCK 3.2.1 artifacts installed with their distribution\n  poms, standalone (SE) vehicle against the EclipseLink build bundled in\n  TomEE Plume on the harness Derby (schema and dbprocedures from the\n  zip; the dbprocedures jar rides the module test classpath onto Derby\u0027s\n  server -cp). Full pass: 2,135/2,135 including the signature test, no\n  exclusions.\n- transactions: the JavaTest UserTransaction suite from the prebuilt\n  2.0.1 distribution; the runner provisions TomEE, predeploys the\n  servlet/jsp vehicle WARs (impl.vi\u003dnone), patches the JDK 17+\n  SecurityManager allow switch into the harness JVM, and repacks the\n  signature WARs against a container-level sigtest.jar to avoid a\n  JavaTest classloader split. 49 tests: 40 pass, all three signature\n  vehicles pass; the 9 failures are TomEE UserTransaction\n  rollback/timeout state leaks (excluded per test id - a failing test\n  poisons the next in the same vehicle) - green 27/27, with a\n  verify-phase gate so a regression fails the build.\n\nThe no-container standalone vehicle of the transactions tests stays out:\nit needs the reference implementation\u0027s local JTA stack and tests\nnothing of TomEE. faces-old joins the reactor module list alongside the\nnew runners.\n"
    },
    {
      "commit": "3e5c1e4c9f359c1ef157917df3b9bec99cae9aac",
      "tree": "1fde264239ebbbacf364100e49bf856725558975",
      "parents": [
        "1a74ccd475dadbea4903f6ef0b8904d4359e94d1"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 17:40:12 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 17:40:12 2026 +0200"
      },
      "message": "Match inherited test methods in the TestNG exclusion listener\n\nThe TCKs\u0027 abstract base classes contribute inherited @Test methods that\nthe annotation transformer\u0027s declaring-class match never sees - the\nvalidation TCK\u0027s XmlBasedContainerElementGroupConversionValidationTest\nran (and failed) despite its whole-class exclusion entry. The listener\nnow also implements IMethodInterceptor and filters by the concrete\nruntime class; the validation suite runs green (925 tests) with it.\n"
    },
    {
      "commit": "1a74ccd475dadbea4903f6ef0b8904d4359e94d1",
      "tree": "12e2401b1e73b036058cb89994e3a7a79b8d7ef6",
      "parents": [
        "404f7d9b2f1ec0c208acbbe23b63325144752b41"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 17:39:51 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 17:39:51 2026 +0200"
      },
      "message": "Port the Faces old-tck JavaTest half and the faces signature test\n\nThe faces-old runner builds the legacy old-tck from the distribution\u0027s\nbundled sources, provisions its own TomEE, deploys through the TCK\u0027s\ntomcat handler, and passes 5,391/5,391 in standalone mode with no\nexclusions. The faces-signaturetest module joins the faces runner\u0027s\ninvoker pass and passes against the Mojarra artifact TomEE Plume bundles\n(sigtest.api.* properties injected through the tomee-remote profile).\n"
    },
    {
      "commit": "404f7d9b2f1ec0c208acbbe23b63325144752b41",
      "tree": "4e57366543995c91fd8afcbd55d72dd7dfa05d76",
      "parents": [
        "15256305f2d289be761dcb527b09436d53b980e5"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 16:38:14 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 16:38:14 2026 +0200"
      },
      "message": "Describe the concurrency/data/jsonb docs in present tense\n\nDrop the before/after narration from KNOWN_ISSUES, the runner status table,\nand the exclusion-list headers; the docs state the current baselines and\nthe runner provisions they depend on, and git history keeps the change\nstory.\n"
    },
    {
      "commit": "15256305f2d289be761dcb527b09436d53b980e5",
      "tree": "a10ad56247f43732e43b6af88881bd8afc0581ff",
      "parents": [
        "32438f9a3b2dfc72f536c77abbf841391bfc0532"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 16:29:53 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 16:29:53 2026 +0200"
      },
      "message": "Update triage docs for the corrected concurrency/data/jsonb baselines\n\nKNOWN_ISSUES and the runner status table now reflect the post-fix numbers:\nconcurrency passes completely with no exclusions, data\u0027s failures shrink to\n36 openejb-jakarta-data query-generation methods, and jsonb\u0027s\nBigDecimal/BigInteger entries are gone. The former \u0027Concurrency 3.1\nimplementation\u0027 product-gap entry is removed — it was harness\nmisconfiguration — and the Jakarta Data entry is rescoped to the real\nquery-generation gaps. Also records the el/persistence/transactions\nscoreboard rows with their exclusion lists (their runner modules land\nseparately) and the port-override guidance.\n"
    },
    {
      "commit": "32438f9a3b2dfc72f536c77abbf841391bfc0532",
      "tree": "b41485421e8344775166a5e54226e7a8835c84de",
      "parents": [
        "f4556d4874c7fcfd9527124370c7209025311a04"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 16:29:44 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 16:29:44 2026 +0200"
      },
      "message": "Parametrize TomEE ports in the servlet, validation, cdi, and cdi-ee runners\n\nSame tomee.http.port/tomee.https.port/tomee.shutdown.port convention as the\npages/rest/websocket (and now concurrency/data) runners, so every\nArquillian-based suite can run beside another harness instance. This is\nmore than convenience: the TomEE remote Arquillian adapter attaches to\nwhatever server already answers on the configured http port, so a leftover\nor foreign TomEE on 8080 silently absorbs the deployments and produces\nplausible-looking but meaningless results. The suite script documents the\ntrap.\n"
    },
    {
      "commit": "f4556d4874c7fcfd9527124370c7209025311a04",
      "tree": "9a807d253f525af081b3a31c112a56bceeedbc96",
      "parents": [
        "5e16247cd716d0446a4a386cb793416e26ac40ce"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 16:29:33 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 16:29:33 2026 +0200"
      },
      "message": "Fix concurrency, data, and jsonb TCK harness misconfigurations\n\nThe concurrency and data failures previously triaged as TomEE product gaps\nwere harness defects; the reference setups in apache/tomee\ntck/concurrency-standalone and tck/data-standalone provided the recipe.\n\n- concurrency: openejb.environment.default\u003dtrue declares the\n  java:comp/Default* resource-env-refs (their absence made every\n  @Resource(lookup\u003d\"java:comp/Default...\") inject null), a\n  ConcurrencyTckArchiveProcessor adds the beans.xml OWB needs to activate\n  the TCK\u0027s @Priority AsynchronousInterceptor, and the Derby engine jar is\n  staged for the tx tests\u0027 embedded @DataSourceDefinition. Result: 197\n  tests, 0 failures, 0 errors, no exclusions (was 45 F + 49 E with 94\n  exclusions).\n- data: the archive processor now supplies the persistence.xml (on\n  java:comp/DefaultDataSource) and beans.xml (bean-discovery-mode\u003dall) a\n  Jakarta Data runtime is expected to provide, so @Repository interfaces\n  are scanned and materialized. Result: 99 tests, 7 F + 29 E confined to\n  standalone.entity.EntityTests (real openejb-jakarta-data query-generation\n  gaps, 36 method exclusions) — was 73 F + 22 E with 95 blanket exclusions.\n- jsonb: set johnzon.use-bigdecimal-stringadapter\u003dfalse and\n  johnzon.use-biginteger-stringadapter\u003dfalse (Johnzon\u0027s spec-compat\n  switches, same as apache/tomee tck/jsonb-standalone) so\n  BigDecimal/BigInteger serialize as JSON numbers per JSON-B 3.0 §3.4.1;\n  both mapping tests now pass, leaving 2 F + 2 E (2 real Johnzon gaps +\n  2 pre-CLDR-34 locale expectations).\n\nconcurrency and data are port-parametrized (tomee.http/https/shutdown.port,\ndata\u0027s tomee.xml honours tck.derby.port via a filtered copy) and both\nsuites plus jsonb were re-verified green with default exclusions on JDK 21.\n"
    },
    {
      "commit": "5e16247cd716d0446a4a386cb793416e26ac40ce",
      "tree": "f275d48c69db685e6abc757a0c23902bb34d11e6",
      "parents": [
        "5e90e8a234d87b87133622beff0edfb5948a4ec2",
        "63287472ffed3060880743c712d9dad8c1a80507"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 10:17:59 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 10:17:59 2026 +0200"
      },
      "message": "Merge JSON-P, JSON-B, and Debugging TCK runners (worktree agent)\n\nUnify the merged branches: profile-gated -install modules everywhere\n(debugging-install converted from the phase-property variant),\ntck.derby.port and tomee.*.port as the shared port-override names, and\nall nine exclusion-gated suites in the Jenkins standalone matrix.\n"
    },
    {
      "commit": "5e90e8a234d87b87133622beff0edfb5948a4ec2",
      "tree": "dff52446be58df644997ebcecf35aa962a86cc10",
      "parents": [
        "80989aea7c18eb8ee35c2be447896b61d6e32564",
        "fb25f5834cf1e65e1c50e8fd619ffa3847ac5127"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 10:14:58 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 10:14:58 2026 +0200"
      },
      "message": "Merge WebSocket 2.2 TCK runner (worktree agent)\n"
    },
    {
      "commit": "80989aea7c18eb8ee35c2be447896b61d6e32564",
      "tree": "8835d78244e363fe80e98fd674bad5e35f4f1ada",
      "parents": [
        "25d841156edd5c7a4cad0ae6e5ebaa9ef4492f1a",
        "623c036624364edf856cf618a0644feaeb4516c1"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 10:13:28 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 10:13:28 2026 +0200"
      },
      "message": "Merge Pages 4.0 TCK runner (worktree agent)\n"
    },
    {
      "commit": "25d841156edd5c7a4cad0ae6e5ebaa9ef4492f1a",
      "tree": "83a51955bb453f868354b14547b19b030232184e",
      "parents": [
        "2f2afaf771a30ae09e0693b72d3b97f65ebd2d73",
        "a8904a8107cd8f1b2ab93c690b4384f0e5da540d"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 10:11:14 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 10:11:14 2026 +0200"
      },
      "message": "Merge REST 4.0 TCK runner (worktree agent)\n"
    },
    {
      "commit": "a8904a8107cd8f1b2ab93c690b4384f0e5da540d",
      "tree": "83a51955bb453f868354b14547b19b030232184e",
      "parents": [
        "654e3e97b21c49b15820709e59a0e33e4d6dffbf"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 10:08:27 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 10:08:27 2026 +0200"
      },
      "message": "Document the REST 4.0 TCK results and port overrides\n"
    },
    {
      "commit": "654e3e97b21c49b15820709e59a0e33e4d6dffbf",
      "tree": "4409dde4c8ddeebd7d8b0a083bc2e79630936f1b",
      "parents": [
        "e2288cf64e93a6b4132d5ed5f4c772f93fafe512"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 10:08:26 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 10:08:26 2026 +0200"
      },
      "message": "Give the CXF client its JSON-B providers and record the REST exclusions\n\nThe spec-required JSON-B entity support on the client comes from CXF\u0027s\ncxf-rt-rs-extension-providers auto-registration; without it the JSON-B\ncontext-provider test cannot serialize on the client side. The reviewed\nexclusion list captures the 14 remaining TomEE/CXF product results from\nthe 2026-07-18 full baseline (2,803 tests, 4 failures, 11 errors, 128\nTCK-disabled skips); with it applied the suite runs green (2,789 tests,\n0 failures, 0 errors).\n"
    },
    {
      "commit": "fb25f5834cf1e65e1c50e8fd619ffa3847ac5127",
      "tree": "3d71b9086dd7c7a3a4b2b104596330aac8c3d387",
      "parents": [
        "09609accf8e1c27c114b4877c3f79648de88abad"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:59:41 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:59:41 2026 +0200"
      },
      "message": "Record the WebSocket 2.2 baseline and wire the suite into CI\n\nFull baseline on the TomEE Plume snapshot (Java 21, 2026-07-18):\n715 tests, 0 failures, 30 errors, signature test passing. 25 errors are\nthe server-side negative-deployment classes (Tomcat halts the whole\nwebapp deployment on an invalid endpoint, which Arquillian reports as a\ndeploy error), 3 are permessage-deflate showing up in the configurator\u0027s\nextension lists, 2 are idle-timeout/close-code differences. With the\nreviewed exclusion list the suite runs green: 685 tests, 0 failures,\n0 errors. Add the websocket branch to the Jenkins standalone matrix and\ndocument the runner in the READMEs and KNOWN_ISSUES.md.\n"
    },
    {
      "commit": "623c036624364edf856cf618a0644feaeb4516c1",
      "tree": "cddd1c89404ff16a1bc4bbc40a5a9d132bb45896",
      "parents": [
        "3b7171af4a33be2ccdf966689a39a7fa0feb8f7b"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:54:53 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:54:53 2026 +0200"
      },
      "message": "Record the clean Pages 4.0 TCK baseline\n\n682/682 pass on the TomEE Plume snapshot (Java 21, 2026-07-18) including\nthe signature test, with no exclusions; the suite joins the CI standalone\nbranch list. The only configuration finding is TomEE\u0027s global UTF-8\ndefault request/response encoding in conf/web.xml, which the runner\u0027s\noverlay resets to the specification default for the run.\n"
    },
    {
      "commit": "3b7171af4a33be2ccdf966689a39a7fa0feb8f7b",
      "tree": "e25dcc84033701860037bc93d5e1c3f5148d0d9e",
      "parents": [
        "3b425fe27066782cce70f020f05a8283da8082ea"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:53:54 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:53:54 2026 +0200"
      },
      "message": "Finish the Pages TCK runner wiring\n\n- jakarta.tck:common/signaturetest move to 11.1.1 (the line Apache\n  Tomcat\u0027s TCK runners use): the 11.0.0-M1 pin the TCK pom carries still\n  couples BaseUrlClient to the unpublished javatest:javatest harness,\n  which broke JUnit discovery of every URL client class.\n- sigtest-maven-plugin 2.6, because the 11.1.x SigTestDriver passes\n  -BootCp/-IgnoreJDKClasses that the TCK pom\u0027s 2.2 pin rejects.\n- The overlay ships the TomEE distribution\u0027s conf/web.xml with the two\n  UTF-8 request/response character-encoding overrides removed: the Pages\n  TCK asserts the specification default (ISO-8859-1) when a page declares\n  no encoding (i18nStandardPageResponseEncodingTest).\n"
    },
    {
      "commit": "3b425fe27066782cce70f020f05a8283da8082ea",
      "tree": "53b0d6078737fb6aaff26feb4a3f70e37ebf437e",
      "parents": [
        "68047b62ccccf5c8e1866a1b44890c09a54a2713"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:53:54 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:53:54 2026 +0200"
      },
      "message": "Parameterize the shared Derby lifecycle port\n\nderby.port (default 1527, the fixed harness catalog port) now feeds the\nport checks, the network server, and the shutdown call, so a runner can\nmove its whole port set. The port travels to Derby as the\nderby.drda.portNumber system property because exec-maven-plugin swallows\nthe value following a literal -p argument (it treats -p as the JVM module\npath flag).\n"
    },
    {
      "commit": "63287472ffed3060880743c712d9dad8c1a80507",
      "tree": "548fd8b6338d631efcf8420dc29cceb987066c83",
      "parents": [
        "17f3d25f749d4e810dd97f432e3d2f346d160944"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:53:18 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:53:18 2026 +0200"
      },
      "message": "Record the JSON-P, JSON-B, and Debugging TCK results\n\n2026-07-18 baselines on Java 21 against the TomEE Plume snapshot\u0027s\nbundled providers:\n\n- JSON Processing 2.1: 197/197 pass on Johnzon 2.1.0 (179 functional +\n  signature, 18 pluggability).\n- JSON Binding 3.0: 295 tests, 4 failures, 2 errors, 5 skipped on\n  Johnzon 2.1.0. Two failures are the TCK\u0027s pre-CLDR-34 French locale\n  expectations (JDK data); the four Johnzon gaps (BigDecimal/BigInteger\n  serialized as strings, JsonbDeserializer CDI resolution, creator\n  parameter date format in polymorphic deserialization) are triaged in\n  KNOWN_ISSUES.md and excluded in jsonb.txt, so the default run is green.\n- Debugging Support 2.0: passes; both JSPs produce valid SMAPs from the\n  distribution\u0027s Jasper compiler.\n"
    },
    {
      "commit": "17f3d25f749d4e810dd97f432e3d2f346d160944",
      "tree": "ab4efa01247a07cdacff643e19b436b8ecbee16c",
      "parents": [
        "2ba5c9b1371c52bd688b2285e530205a760ac64b"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:53:08 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:53:08 2026 +0200"
      },
      "message": "Add standalone JSON-P, JSON-B, and Debugging Support TCK runners\n\nThree new server-less runners complete more of the Web Profile 11\nstandalone TCK catalog, all opt-in behind the standalone-tck profile:\n\n- jsonp runs the Jakarta JSON Processing 2.1 TCK (functional, signature,\n  and pluggability halves as separate surefire executions so the TCK\u0027s\n  own JsonProvider service never shadows the real one) against Apache\n  Johnzon 2.1.0, the provider bundled in the TomEE distribution. The\n  signature test checks the jakarta.json packages of the distribution\u0027s\n  jakartaee-api jar, extracted apart from the JSON Binding subpackage the\n  uber jar also carries.\n- jsonb runs the Jakarta JSON Binding 3.0 TCK against johnzon-jsonb 2.1.0\n  with OpenWebBeans as the CDI SE container; a harness extension boots\n  the container because the TCK\u0027s own private @BeforeAll bootstrap is\n  silently ignored by JUnit. The jakarta.tck sigtest fork replaces the\n  TCK\u0027s JDK-21-incapable org.netbeans.tools dependency.\n- debugging compiles the Debugging Support 2.0 TCK\u0027s testclient.war JSPs\n  offline with the Jasper compiler bundled in the TomEE distribution\n  (SMAP generation and dumping enabled) and validates every generated\n  SMAP with the TCK\u0027s VerifySMAP tool, each run in a fresh classloader\n  because the tool keeps static parser state.\n\nThe JSON-P and JSON-B TCK jars resolve from Maven Central, byte-identical\nto the official EFTL zips whose SHA-256 values are recorded in\nenvironment/versions.env; the Debugging zip is not on Central and keeps\nthe download-and-install module pattern.\n"
    },
    {
      "commit": "2ba5c9b1371c52bd688b2285e530205a760ac64b",
      "tree": "d46e8c4ddeeeefd2e04a4166e61e8e5ec76bf0a6",
      "parents": [
        "2f2afaf771a30ae09e0693b72d3b97f65ebd2d73"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:52:52 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:52:52 2026 +0200"
      },
      "message": "Keep the default reactor green without the standalone-tck profile\n\nmaven-install-plugin\u0027s install-file goal has no skip parameter, so the\n\u003cskip\u003e flag in the -install modules was silently ignored and a fresh\ndefault build failed trying to install TCK artifacts it never downloaded.\nBind those executions to the new tck.standalone.install.phase property\ninstead: unbound by default, process-resources under the standalone-tck\nprofile.\n\nThe di runner\u0027s helper sources compile against the profile-provided TCK\njar, so its test compilation now follows tck.standalone.skip as well.\n"
    },
    {
      "commit": "e2288cf64e93a6b4132d5ed5f4c772f93fafe512",
      "tree": "5e70b22c800b90cc86fb61cd9a33d56516a0270e",
      "parents": [
        "c9ffa799d7d992bb041ef812704fe4520e42fe9e"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:52:02 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:52:02 2026 +0200"
      },
      "message": "Fix the Derby port flag and give the REST runner a database-free overlay\n\nexec-maven-plugin swallows the value following a literal -p argument\n(java module-path handling), which dropped the Derby port; pass it as\n-Dderby.drda.portNumber instead. The REST TCK uses no datasource, so its\noverlay replaces tomee.xml with an empty one and the server log stays\nclean when the Derby port is offset.\n"
    },
    {
      "commit": "09609accf8e1c27c114b4877c3f79648de88abad",
      "tree": "7a0b1d4a6069b5fffd4571672023a4c12104fef6",
      "parents": [
        "f707a4220fb0bf216298df54cecdb1e58cc6b0ec"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:51:47 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:51:47 2026 +0200"
      },
      "message": "Fix the Derby port argument and the client WebSocket classpath\n\nexec-maven-plugin swallows the value of a \u0027-p\u0027 argument, so pass the\nDerby port through derby.drda.portNumber instead. Add tomcat-api to the\nrunner classpath: the Tomcat WebSocket client container needs\nInstanceManagerBindings but tomcat-websocket does not declare it.\n"
    },
    {
      "commit": "c9ffa799d7d992bb041ef812704fe4520e42fe9e",
      "tree": "965cc79d76bb588130029bb8480e9326a20c7b56",
      "parents": [
        "f6aa65096fd94545cdfb5e55567ea8e6b76d54c3"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:43:54 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:43:54 2026 +0200"
      },
      "message": "Scaffold the Jakarta RESTful Web Services 4.0 TCK runner\n\nrest-install downloads the EFTL jakarta-restful-ws-tck-4.0.1 zip\n(SHA-256 pinned) and installs the TCK jar; the rest runner drives it\nwith the remote TomEE Arquillian adapter, TomEE\u0027s OpenEJBRestServlet as\nthe servlet adaptor, and the CXF JAX-RS client on the test classpath.\nThe TomEE ports are overridable through tomee.http/https/shutdown.port.\n"
    },
    {
      "commit": "f6aa65096fd94545cdfb5e55567ea8e6b76d54c3",
      "tree": "518f76730ced34044f7f143a1073060daddc214e",
      "parents": [
        "4e62b69bc329e594a4042fc09c11ee8b6ba71dfd"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:43:54 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:43:54 2026 +0200"
      },
      "message": "Make the Derby port overridable for side-by-side runs\n\nThe shared container lifecycle accepts -Dtck.derby.port (default 1527)\nand passes it through the start/stop/ping helpers, so a standalone suite\ncan run next to another harness instance. The shared tomee.xml\ndatasources stay on 1527, which only matters for suites that use the\ndatabase.\n"
    },
    {
      "commit": "4e62b69bc329e594a4042fc09c11ee8b6ba71dfd",
      "tree": "550ab80d60806c51c756e06b624139212c299e3c",
      "parents": [
        "2f2afaf771a30ae09e0693b72d3b97f65ebd2d73"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:43:54 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:43:54 2026 +0200"
      },
      "message": "Keep the default reactor green on a fresh checkout\n\nmaven-install-plugin\u0027s install-file goal has no skip parameter, so the\n\u003cskip\u003e the -install modules configured was silently ignored and a fresh\ncheckout\u0027s plain \u0027mvnw verify\u0027 failed on the missing TCK artifacts. Bind\nthe download/install plugins inside the standalone-tck profile instead.\nThe di runner\u0027s test sources reference TCK-only types, so their\ncompilation is now also gated on TCK mode.\n"
    },
    {
      "commit": "f707a4220fb0bf216298df54cecdb1e58cc6b0ec",
      "tree": "22f4dd7587ada5cd83d7676d9b2d093374046b34",
      "parents": [
        "66103cbf5beae328cca463a84796a7970af744eb"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:43:33 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:43:33 2026 +0200"
      },
      "message": "Add the standalone Jakarta WebSocket 2.2 TCK runner\n\nThe EFTL distribution zip (SHA-256 pinned) installs\njakarta.tck:websocket-tck-spec-tests with its distribution poms so the\njakarta.tck helper artifacts resolve from Central. The suite is JUnit 5\n+ Arquillian like the Servlet TCK; tomcat-websocket provides the\nclient-side container, and the TomEE/Derby ports are overridable\nthrough tck.http.port/tck.https.port/tck.stop.port/tck.derby.port.\n"
    },
    {
      "commit": "66103cbf5beae328cca463a84796a7970af744eb",
      "tree": "fbb665f4782290e7941d242af75f620aa11429d6",
      "parents": [
        "cbbc7c43a03f6f9a77fa7f79d0e504fab6248557"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:43:32 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:43:32 2026 +0200"
      },
      "message": "Make the standalone runners\u0027 Derby port overridable\n\nAdd tck.derby.port (default 1527) to the shared container lifecycle and\nteach the port scripts an optional port argument so a standalone suite\ncan run next to another TomEE/Derby pair on the same host.\n"
    },
    {
      "commit": "cbbc7c43a03f6f9a77fa7f79d0e504fab6248557",
      "tree": "0a23fe08d9f91faa5c57bbc993fd4636a8087d47",
      "parents": [
        "2f2afaf771a30ae09e0693b72d3b97f65ebd2d73"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:43:23 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:43:23 2026 +0200"
      },
      "message": "Gate the TCK install pipelines so the default reactor is green\n\nmaven-install-plugin\u0027s install-file goal has no skip parameter, so the\n\u003cskip\u003e${tck.standalone.skip}\u003c/skip\u003e configuration was silently ignored\nand the default \u0027./mvnw verify\u0027 reactor failed on the first install\nmodule\u0027s missing distribution file. Move each installer\u0027s download and\ninstall-file pipeline into the standalone-tck profile instead, and skip\nthe di runner\u0027s test compilation by default because its extension\ncompiles against classes that only exist after di-install ran.\n"
    },
    {
      "commit": "68047b62ccccf5c8e1866a1b44890c09a54a2713",
      "tree": "e7abe6108384f4db81f9f8b3e3462e803b43df3a",
      "parents": [
        "06d762015ecc01b582743bc9ba5c6c93c35d5fd9"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:38:01 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:38:01 2026 +0200"
      },
      "message": "Scaffold the standalone Jakarta Pages 4.0 TCK runner\n\nThe EFTL distribution (SHA-256 pinned) is installed to the local\nrepository as jakarta.tck:jakarta-pages-tck:4.0.0; the JUnit 5 +\nArquillian suite runs against the staged TomEE with the shared overlay.\nThe TomEE and Derby ports are overridable through tomee.http.port,\ntomee.https.port, tomee.shutdown.port, and derby.port so the suite can\nrun beside another harness instance; the shared Derby scripts accept an\noptional port argument (default 1527) for that.\n"
    },
    {
      "commit": "06d762015ecc01b582743bc9ba5c6c93c35d5fd9",
      "tree": "d3d899b32e5fb9a15d03a45d333abe25fb53d6d6",
      "parents": [
        "2f2afaf771a30ae09e0693b72d3b97f65ebd2d73"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:37:52 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:37:52 2026 +0200"
      },
      "message": "Keep the default reactor free of TCK downloads and installs\n\nmaven-install-plugin\u0027s install-file goal has no skip parameter, so the\n\u003cskip\u003e configuration in the *-install modules was silently ignored and a\nplain \u0027./mvnw verify\u0027 failed on the missing EFTL artifacts. Move the\ndownload and install executions into the standalone-tck profile, and stop\ncompiling the di runner\u0027s test sources in the default reactor since they\nimport the profile-gated TCK jar.\n"
    },
    {
      "commit": "2f2afaf771a30ae09e0693b72d3b97f65ebd2d73",
      "tree": "a8814838ab17ffa848c0fba80d8e2969d368e67e",
      "parents": [
        "bc9661bb55c612b1e7bae1149e382b52bb2e8ba3"
      ],
      "author": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:22:27 2026 +0200"
      },
      "committer": {
        "name": "Markus Jung",
        "email": "jungm@apache.org",
        "time": "Sat Jul 18 09:22:27 2026 +0200"
      },
      "message": "Document the known gaps centrally in KNOWN_ISSUES.md\n\nThe repo-root triage list aggregates everything currently broken across\nthe Platform catalog and the standalone TCKs: the per-suite baseline\nscoreboard, TomEE product gaps, upstream provider gaps (OpenWebBeans,\nBVal, Tomcat SPI, OpenJPA), and the remaining harness work. The runner\nand exclusions READMEs explain the exclusion mechanisms and how to run\nunexcluded baselines.\n"
    }
  ],
  "next": "bc9661bb55c612b1e7bae1149e382b52bb2e8ba3"
}
