)]}'
{
  "log": [
    {
      "commit": "fd731667fbc50e704f567185a94b1659d8cfcac5",
      "tree": "7013200aa32f04c1acf8628eb66019ca87117b88",
      "parents": [
        "2bc5e70c44c3e3ba66bf13f85e67a09a07a73032"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Oct 31 15:44:18 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Oct 31 15:44:18 2026 -0400"
      },
      "message": "Bump org.apache.commons:commons-parent from 106 to 107"
    },
    {
      "commit": "2bc5e70c44c3e3ba66bf13f85e67a09a07a73032",
      "tree": "c2e9e105a3ab450841bd4466bcfc9badcf8be854",
      "parents": [
        "f9000fad3be00e38c7357d4cbd3c58a86a717076"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Oct 31 08:56:22 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Oct 31 08:56:22 2026 -0400"
      },
      "message": "Add AGENTS.md\n"
    },
    {
      "commit": "f9000fad3be00e38c7357d4cbd3c58a86a717076",
      "tree": "ff8d986037bb0367bd7be55b3169424a17048eca",
      "parents": [
        "4f4b355293464f572df1be72326d090ca92c771e"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Oct 30 08:39:17 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Oct 30 08:39:17 2026 -0400"
      },
      "message": "Make WrapDynaClass cache identity tests independent of GC\n\nUse a temporary ConcurrentReferenceHashMap with strong keys so garbage\ncollection cannot evict temporary cache keys during identity assertions.\nVerify the production cache type before replacing it, isolate the test\nclass, and restore the original cache after each test.\n\nPreserve the 200-round concurrent initialization check.\n"
    },
    {
      "commit": "4f4b355293464f572df1be72326d090ca92c771e",
      "tree": "1ffcdd7b1df94867fa9928553d0d127eb489d64d",
      "parents": [
        "d8dfae3589cd335378f30a997a63d13a708efd4f"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Oct 30 08:07:26 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Oct 30 08:07:26 2026 -0400"
      },
      "message": "Add missing @Test annotations\n"
    },
    {
      "commit": "d8dfae3589cd335378f30a997a63d13a708efd4f",
      "tree": "c4806167ec60324435f279241f86b2d3f637acbb",
      "parents": [
        "3cfe34606e0457b7181b7625deed9a49a7f8068d"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Oct 26 11:02:04 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Oct 26 11:02:04 2026 -0400"
      },
      "message": "Bump github/codeql-action from 4.39.0 to 4.39.1\n"
    },
    {
      "commit": "3cfe34606e0457b7181b7625deed9a49a7f8068d",
      "tree": "fd1c6f1d81e0500a06de2f60c8471b597b48992b",
      "parents": [
        "a2405077ab292d38ac61c5f34cfb95cd376b4c41"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Oct 21 15:22:57 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Oct 21 15:22:57 2026 -0400"
      },
      "message": "Bump ossf/scorecard-action from 2.4.4 to 2.5.0\n"
    },
    {
      "commit": "a2405077ab292d38ac61c5f34cfb95cd376b4c41",
      "tree": "ba74e5e2965cc14bcf4c6e65c0b607d1d1ad8486",
      "parents": [
        "6fc7e6937463b22ee4a5ff37b5c90f209506e705"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Oct 20 20:11:49 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Oct 20 20:11:49 2026 -0400"
      },
      "message": "Bump github/codeql-action from 4.38.3 to 4.39.0\n"
    },
    {
      "commit": "6fc7e6937463b22ee4a5ff37b5c90f209506e705",
      "tree": "24e300fd7a66365d8fadf8ffd8255ae97429109f",
      "parents": [
        "ad8b8c8bf9b5a3456306e4caba323ea1bf569c6f"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Oct 17 15:53:19 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Oct 17 15:53:19 2026 -0400"
      },
      "message": "Bump actions/setup-java from 6.0.1 to 6.1.0\n"
    },
    {
      "commit": "ad8b8c8bf9b5a3456306e4caba323ea1bf569c6f",
      "tree": "8c6130b5060c272d20ac7f81d621179ad6e62cd2",
      "parents": [
        "bb36f9a4c8c4551594c7c1935c27e61946bbfc6a"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Oct 17 12:35:13 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Oct 17 12:35:13 2026 -0400"
      },
      "message": "Bump org.apache.commons:commons-parent from 105 to 106\n"
    },
    {
      "commit": "bb36f9a4c8c4551594c7c1935c27e61946bbfc6a",
      "tree": "596a31f78d1bad09a8f2031a40c60caab2bb6e78",
      "parents": [
        "32227bc4a0436b35c3c0e72a5eb71ea7afd76b13"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Sat Oct 17 12:34:45 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 17 12:34:45 2026 -0400"
      },
      "message": "Bump Apache Commons Parent from 105 to 106 (#443)"
    },
    {
      "commit": "32227bc4a0436b35c3c0e72a5eb71ea7afd76b13",
      "tree": "45f3c63874bc9fec723be8bd0f2224bc41273a9c",
      "parents": [
        "3d9bd1c292003791ae6623d98a201097c9f4508f"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Oct 15 09:19:35 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Oct 15 09:19:35 2026 -0400"
      },
      "message": "Bump github/codeql-action/analyze from 4.37.5 to 4.38.3\n"
    },
    {
      "commit": "3d9bd1c292003791ae6623d98a201097c9f4508f",
      "tree": "edf624a353c02ae943c7368daffccfffc9fcd9f4",
      "parents": [
        "f0a51c011c5cf7e2e3027a1df76648209b62b9e0"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Oct 15 08:29:03 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Oct 15 08:29:03 2026 -0400"
      },
      "message": "Revert \"Bump github/codeql-action/analyze from 4.37.5 to 4.38.3\"\n\nThis reverts commit f0a51c011c5cf7e2e3027a1df76648209b62b9e0.\n"
    },
    {
      "commit": "f0a51c011c5cf7e2e3027a1df76648209b62b9e0",
      "tree": "7acff2e5f1c19fa9c5a7fb2ef0c97cc1463e75ba",
      "parents": [
        "c99b09f1589ec74a40f3b26ae3a2c54d6eb6b38e"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Oct 15 06:32:38 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Oct 15 06:32:38 2026 -0400"
      },
      "message": "Bump github/codeql-action/analyze from 4.37.5 to 4.38.3\n"
    },
    {
      "commit": "c99b09f1589ec74a40f3b26ae3a2c54d6eb6b38e",
      "tree": "edf624a353c02ae943c7368daffccfffc9fcd9f4",
      "parents": [
        "8139f1a9905d37656aa8baad6a05235c0cf111e3"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Oct 15 06:24:14 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Oct 15 06:24:14 2026 -0400"
      },
      "message": "Bump actions/upload-artifact from 7.0.1 to 7.0.2\n"
    },
    {
      "commit": "8139f1a9905d37656aa8baad6a05235c0cf111e3",
      "tree": "e9f1bf2ebd68fe393c16f922828951902474a0ae",
      "parents": [
        "3de707379cda093c9f8f1b73cce82e6291653d5f"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Oct 10 08:00:46 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Oct 10 08:00:46 2026 -0400"
      },
      "message": "Add github.autolink_jira\n"
    },
    {
      "commit": "3de707379cda093c9f8f1b73cce82e6291653d5f",
      "tree": "2fe9905c10c8a58d014b364b5a18b1651e3853a8",
      "parents": [
        "d34bbc59b8fb9dd76a04e072592e747195a1538b"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Oct 03 09:19:18 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Oct 03 09:19:18 2026 -0400"
      },
      "message": "Update GH CI from Java 26 to 27\n"
    },
    {
      "commit": "d34bbc59b8fb9dd76a04e072592e747195a1538b",
      "tree": "efab973f25df6c2d9b699480a89e7830af031607",
      "parents": [
        "5dc228566038283964a4f665c147282d462babdd"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Oct 03 09:18:18 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Oct 03 09:18:18 2026 -0400"
      },
      "message": "Bump org.apache.commons:commons-lang3 from 3.20.0 to 3.21.0 (#440)\n"
    },
    {
      "commit": "5dc228566038283964a4f665c147282d462babdd",
      "tree": "db4d8afc6208308037d0f9edb2b8b3cc14bb2ba3",
      "parents": [
        "389264ff96c9e361ecb830a9813eae3f86f38d3a"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Sat Oct 03 09:16:50 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 03 09:16:50 2026 -0400"
      },
      "message": "Bump org.apache.commons:commons-lang3 from 3.20.0 to 3.21.0 (#440)"
    },
    {
      "commit": "389264ff96c9e361ecb830a9813eae3f86f38d3a",
      "tree": "7307aa1610f112a9634aaf3e5282d5b5855156bd",
      "parents": [
        "45493a8d5a080daeb4155f518ee5355b8e86d9e6"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Sep 24 12:56:48 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Sep 24 12:56:48 2026 -0400"
      },
      "message": "Bump github/codeql-action from 4.38.1 to 4.38.2\n"
    },
    {
      "commit": "45493a8d5a080daeb4155f518ee5355b8e86d9e6",
      "tree": "2f163f7f12f68de0c81c9428afc18f7ac0844d2f",
      "parents": [
        "b9c9a519643cc549255539360020747562d94dd5"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Sep 22 07:26:07 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Sep 22 07:26:07 2026 -0400"
      },
      "message": "Protect main branches\n"
    },
    {
      "commit": "b9c9a519643cc549255539360020747562d94dd5",
      "tree": "1661513f8aa099bf19ef07f7d6f71518eac01e69",
      "parents": [
        "b5a891f40cf596b37b636de671c3beb80b5b2bc8"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Sep 19 11:15:26 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Sep 19 11:15:26 2026 -0400"
      },
      "message": "Bump github/codeql-action/* from 4.37.9 to 4.38.1\n"
    },
    {
      "commit": "b5a891f40cf596b37b636de671c3beb80b5b2bc8",
      "tree": "9d853112f206c60c83e2863a1d10acb9e415d640",
      "parents": [
        "36160a62dfde8bbb2b368d79591fb9e3d85b7200"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Sep 19 11:06:52 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Sep 19 11:06:52 2026 -0400"
      },
      "message": "Bump actions/setup-java from 6.0.0 to 6.0.1\n"
    },
    {
      "commit": "36160a62dfde8bbb2b368d79591fb9e3d85b7200",
      "tree": "432fef551c99a296c4fe336bb76fdb15a3522a1b",
      "parents": [
        "f8ca8ee0f366fb7e1f5a518c28cac62c23e6e1a7"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Sep 07 09:10:09 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Sep 07 09:10:09 2026 -0400"
      },
      "message": "Bump org.apache.commons:commons-parent from 104 to 105.\n"
    },
    {
      "commit": "f8ca8ee0f366fb7e1f5a518c28cac62c23e6e1a7",
      "tree": "8a5df1d28dca776412b3cee8d1e036cda59de528",
      "parents": [
        "c5797089debef3ffbcc51d1400d503a1fe1085cc"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Sep 07 09:05:52 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Sep 07 09:05:52 2026 -0400"
      },
      "message": "Bump org.apache.commons:commons-parent from 104 to 105.\n"
    },
    {
      "commit": "c5797089debef3ffbcc51d1400d503a1fe1085cc",
      "tree": "2d0a3299fb79ec1ffc1b102415b99e8bfe6ccb56",
      "parents": [
        "cab94f1d221324de0698dfb990f087e1b852cb7c"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Sep 01 17:54:11 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Sep 01 17:54:11 2026 -0400"
      },
      "message": "NumberConverter.toNumber(Class, Number): Preserve float and double\nmagnitude when converting to BigInteger (#438)."
    },
    {
      "commit": "cab94f1d221324de0698dfb990f087e1b852cb7c",
      "tree": "f9c695e8b7f761983d0648ae06b4a403d1c91409",
      "parents": [
        "c64f7310727675ff3e22d394d26b0d2950b6843c"
      ],
      "author": {
        "name": "Naveed Khan",
        "email": "164054284+rootvector2@users.noreply.github.com",
        "time": "Tue Sep 01 21:53:12 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 17:53:12 2026 -0400"
      },
      "message": "Preserve float and double magnitude when converting to BigInteger (#438)"
    },
    {
      "commit": "c64f7310727675ff3e22d394d26b0d2950b6843c",
      "tree": "b28a44125f11d26a6fa6d5fead30714237f2994d",
      "parents": [
        "1ab79977df0bc4a0db5c7587658bad7fdf221d54"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 31 11:18:04 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 31 11:18:04 2026 +0000"
      },
      "message": "Bump github/codeql-action/analyze from 4.37.8 to 4.37.9.\n"
    },
    {
      "commit": "1ab79977df0bc4a0db5c7587658bad7fdf221d54",
      "tree": "a297832ffa154a612554453e7dfd4cf2c35a7afc",
      "parents": [
        "4ddf829365b6313d6c1dca8329746e21ab47f326"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Aug 27 13:40:50 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Aug 27 13:40:50 2026 -0400"
      },
      "message": "Bump actions/setup-java from 5.7.0 to 6.0.0.\n"
    },
    {
      "commit": "4ddf829365b6313d6c1dca8329746e21ab47f326",
      "tree": "4d341de4d00fc2a6d05391a632e1a32153803988",
      "parents": [
        "1d8d04e26fe11567eb99dd465329f3f8704d59fe"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 25 14:13:16 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 25 14:13:16 2026 -0400"
      },
      "message": "Bump github/codeql-action/init from 4.37.7 to 4.37.8\n"
    },
    {
      "commit": "1d8d04e26fe11567eb99dd465329f3f8704d59fe",
      "tree": "e6f56a0412d800a9a0a786e6d253eb00b659a88b",
      "parents": [
        "3e1923bad3c249569817634d261b22d37451f45f"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 23 09:47:17 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 23 09:47:17 2026 -0400"
      },
      "message": "Sort members.\n"
    },
    {
      "commit": "3e1923bad3c249569817634d261b22d37451f45f",
      "tree": "653befff30ec098aa674d64016cd348a2de5d3c7",
      "parents": [
        "5c9c77b83d65068ceed6865b8f6e910af41abf38"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 23 09:46:58 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 23 09:46:58 2026 -0400"
      },
      "message": "Skip static methods in FluentPropertyBeanIntrospector and mapped lookup\n\nAdd missing unit tests that could have been in PR #437.\n\nThe tests explicitly cover the mixed static/instance accessor cases that\nwere missing:\n\nMapped property with a static getter but instance setter: read method is\nignored, write method is used.\n\nMapped property with an instance getter but static setter: read method\nis used, write method is ignored.\n\nFluent introspector with a static and an instance setter for the same\nproperty name: the instance setter is chosen and the property remains\nwritable.\n"
    },
    {
      "commit": "5c9c77b83d65068ceed6865b8f6e910af41abf38",
      "tree": "a9957e6031fe84e4c1b458cc2f977ee043f46a3d",
      "parents": [
        "684d5057f01aad3ececdb7638cf8b2e6dc72e13e"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 23 09:37:13 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 23 09:37:13 2026 -0400"
      },
      "message": "Skip static methods in FluentPropertyBeanIntrospector and mapped lookup\n(#437).\n"
    },
    {
      "commit": "684d5057f01aad3ececdb7638cf8b2e6dc72e13e",
      "tree": "1c950fdbff0142f0e56ad93024400965f1557f5d",
      "parents": [
        "7ce85b3152f795e58efe56d67e05045103e08365"
      ],
      "author": {
        "name": "Naveed Khan",
        "email": "164054284+rootvector2@users.noreply.github.com",
        "time": "Sun Aug 23 13:35:41 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 23 09:35:41 2026 -0400"
      },
      "message": "Skip static methods in FluentPropertyBeanIntrospector and mapped lookup (#437)\n\n* skip static methods in FluentPropertyBeanIntrospector and mapped lookup\n\n* Fix comment on static method introspection\n\n---------\n\nCo-authored-by: Gary Gregory \u003cgarydgregory@users.noreply.github.com\u003e"
    },
    {
      "commit": "7ce85b3152f795e58efe56d67e05045103e08365",
      "tree": "f3935e293e9fc7e65a06f32e40b87e95cd42274c",
      "parents": [
        "148cad5d3105ccad82830edad3454a17148e0e59"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 23 09:15:04 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 23 09:15:04 2026 -0400"
      },
      "message": "Reject out-of-range sql date/time fields in DateTimeConverter.toDate\n(#436)."
    },
    {
      "commit": "148cad5d3105ccad82830edad3454a17148e0e59",
      "tree": "360e7a5a345905cfed2c174ee6dd73f02788121b",
      "parents": [
        "5d7557c4502d6298772a72f204a601c7a851c5c3"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 23 08:03:08 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 23 09:11:38 2026 -0400"
      },
      "message": "Patched up version of PR #436: Reject out-of-range sql date/time fields\nin DateTimeConverter.toDate\n\nThe problematic bug I fixed is three instances of double parsing.\n\nInstead of going round and round, I applied the diff locally, made the\nfollowing changes, and pushed to master.\n\nDouble parsing for the `java.sql.Date` case.\nValidation parses with the strict formatter and valueOf parses again.\nFunctionally correct, but wasteful. For example:\nLocalDate.parse(value, SQL_DATE_FORMAT);\nreturn type.cast(java.sql.Date.valueOf(value));\nThe parsed LocalDate is discarded. A more efficient form would be\nDate.valueOf(LocalDate.parse(...)). Same for Time / Timestamp.\n\nDouble parsing of for the `java.sql.Time` case. Same as above.\n\nDouble parsing of for the `java.sql.Timestamp` case. Same as above.\n\nI added details to Javadocs to clarify intent.\n\nI added the follow unit tests:\n\nIn SqlDateConverterTest\n\ntestDefaultStringToTypeConvertValidLeapYear\ntestDefaultStringToTypeConvertInvalidNonLeapYearFeb29\ntestDefaultStringToTypeConvertValidBoundaryDates\ntestDefaultStringToTypeConvertStrictValidationMessage\n\nIn SqlTimeConverterTest\n\ntestDefaultStringToTypeConvertValidBoundaryTimes\ntestDefaultStringToTypeConvertInvalidTimeHourMinuteSecond\ntestDefaultStringToTypeConvertStrictValidationMessage\n\nIn SqlTimestampConverterTest\n\ntestDefaultStringToTypeConvertValidTimestampWithFraction\ntestDefaultStringToTypeConvertInvalidTimestampOutOfRangeDate\ntestDefaultStringToTypeConvertInvalidTimestampOutOfRangeTime\ntestDefaultStringToTypeConvertStrictValidationMessage\n\nThese tests cover valid leap-year and boundary values, invalid\nout-of-range values for all three SQL types, timestamp fraction handling\nand verification that the new ConversionException messages mention\nstrict validation.\n"
    },
    {
      "commit": "5d7557c4502d6298772a72f204a601c7a851c5c3",
      "tree": "1f1779095235a017f5246b51b5c5b5333631e1df",
      "parents": [
        "3a37692bd1bb2a265668a021d3cea17d5d547542"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Aug 22 16:42:19 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Aug 22 16:42:19 2026 -0400"
      },
      "message": "Clear descriptor caches when bean introspectors change (#435)."
    },
    {
      "commit": "3a37692bd1bb2a265668a021d3cea17d5d547542",
      "tree": "67e43fc762ef5e9f2fbde6c7883a3e071ad9b65e",
      "parents": [
        "fdbf737d513f640f19666ce22048ce0cca72203f",
        "80070f6794923c96e46d274442aaa6d27233c213"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Aug 22 16:40:25 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Aug 22 16:40:25 2026 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of https://github.com/apache/commons-beanutils.git"
    },
    {
      "commit": "80070f6794923c96e46d274442aaa6d27233c213",
      "tree": "36df7c6adfd1b5563c3fb371532c9b1859fd08d2",
      "parents": [
        "0a253c99aed69835032c2d36172a27e3aea13ef3"
      ],
      "author": {
        "name": "Naveed Khan",
        "email": "164054284+rootvector2@users.noreply.github.com",
        "time": "Sat Aug 22 20:39:51 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 22 16:39:51 2026 -0400"
      },
      "message": "Clear descriptor caches when bean introspectors change (#435)\n\n* clear descriptor caches when bean introspectors change\n\nthe per-class descriptorsCache is populated once and was never invalidated when addBeanIntrospector, removeBeanIntrospector or resetBeanIntrospectors changed the introspector set, so a SuppressPropertiesBeanIntrospector registered after a class was introspected had no effect.\n\n* add tests for reset, mapped cache and sequential introspector changes\n\ncover resetBeanIntrospectors() re-evaluating a warmed cache, the mappedDescriptorsCache entry being re-created rather than served stale, and multiple sequential adds/removes each taking effect. all three fail without the cache invalidation in PropertyUtilsBean."
    },
    {
      "commit": "fdbf737d513f640f19666ce22048ce0cca72203f",
      "tree": "b64f923e598e09b5931260753f8a5f2a1f8175f0",
      "parents": [
        "0a253c99aed69835032c2d36172a27e3aea13ef3"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Aug 22 16:16:38 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Aug 22 16:16:38 2026 -0400"
      },
      "message": "Record element type of first element in LazyDynaList.transform (#434)."
    },
    {
      "commit": "0a253c99aed69835032c2d36172a27e3aea13ef3",
      "tree": "859724cd1d4aca142f7ee7b7f8bf07810d8a02ed",
      "parents": [
        "c420da5c2abcf0663ce22b1e3d9ff309a138e588"
      ],
      "author": {
        "name": "Naveed Khan",
        "email": "164054284+rootvector2@users.noreply.github.com",
        "time": "Sat Aug 22 20:15:23 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 22 16:15:23 2026 -0400"
      },
      "message": "Record element type of first element in LazyDynaList.transform (#434)\n\n* record element type of first element in LazyDynaList.transform\n\n* add tests for untyped list first-element paths"
    },
    {
      "commit": "c420da5c2abcf0663ce22b1e3d9ff309a138e588",
      "tree": "da10d2024a67a600d576e6e94361b50d361b7f28",
      "parents": [
        "e5c0ae358229589804bc11602521294df0059368"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Aug 22 08:26:04 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Aug 22 08:26:04 2026 -0400"
      },
      "message": "Bump org.apache.commons:commons-parent from 103 to 104.\n"
    },
    {
      "commit": "e5c0ae358229589804bc11602521294df0059368",
      "tree": "aef4ab0e068a93670ce65bc960ab356a700669d9",
      "parents": [
        "167e3038d0d10757c929ac079e766149b076af86"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 18 16:00:33 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 18 16:00:33 2026 -0400"
      },
      "message": "Bump codeql-action from 4.37.6 to 4.37.7\n"
    },
    {
      "commit": "167e3038d0d10757c929ac079e766149b076af86",
      "tree": "0dc928ec8a383c01d8e95a7c9ca6d0ef84ac9758",
      "parents": [
        "8cc4713956a2c798b24537b69397c7efbd5e83a4"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 16 18:14:23 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 16 18:14:23 2026 -0400"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "8cc4713956a2c798b24537b69397c7efbd5e83a4",
      "tree": "26ad42b4173167a6019c4323e5ab2c76f36d5e67",
      "parents": [
        "59becdbc6c0ddfd713abdbf53840a31933f2f1ce"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 16 18:13:40 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 16 18:13:40 2026 -0400"
      },
      "message": "Revert \"Javadoc\"\n\nThis reverts commit 59becdbc6c0ddfd713abdbf53840a31933f2f1ce.\n"
    },
    {
      "commit": "59becdbc6c0ddfd713abdbf53840a31933f2f1ce",
      "tree": "bbe0ecccf1bc0a15db198c76ad044162232c2b67",
      "parents": [
        "83fe9f2d7e01372722e40fa4c3f55f0066cd96fa"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 16 15:56:17 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 16 15:56:17 2026 -0400"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "83fe9f2d7e01372722e40fa4c3f55f0066cd96fa",
      "tree": "26ad42b4173167a6019c4323e5ab2c76f36d5e67",
      "parents": [
        "67fe51ea2bdedc91c15d950ce041eb55ad949ffe"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 07:26:49 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 07:26:49 2026 -0400"
      },
      "message": "Floor pre-epoch Timestamp seconds in DateTimeConverter.convertToType\n(#433)."
    },
    {
      "commit": "67fe51ea2bdedc91c15d950ce041eb55ad949ffe",
      "tree": "4cfc9f14d6e47ed9b6d1f06e78531b3d0293bd07",
      "parents": [
        "d8c622f37a311a368be58d1efeef19a208acfcc8"
      ],
      "author": {
        "name": "Naveed Khan",
        "email": "164054284+rootvector2@users.noreply.github.com",
        "time": "Mon Aug 10 11:24:55 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 10 07:24:55 2026 -0400"
      },
      "message": "Floor pre-epoch Timestamp seconds in DateTimeConverter.convertToType (#433)\n\n* floor pre-epoch Timestamp seconds in DateTimeConverter\n\ngetTime() / 1000 truncates toward zero, so a pre-epoch java.sql.Timestamp with a sub-second part gained a whole second; use Math.floorDiv so the whole-second term agrees with the non-negative getNanos() term.\n\n* test the wrapping whole-second term near Long.MIN_VALUE\n\nFor getTime() in [Long.MIN_VALUE, Long.MIN_VALUE + 807] the floorDiv\nterm wraps, but adding the non-negative getNanos() / 1000000 wraps it\nback; the two terms reconstruct getTime() exactly, so the conversion\nstays correct without an overflow guard."
    },
    {
      "commit": "d8c622f37a311a368be58d1efeef19a208acfcc8",
      "tree": "6009f5d58b6d31b50a250022792fdc993bbe7a0a",
      "parents": [
        "8116d1d5692a07e6ae3fcb2aae456871c63f56e1"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Aug 05 14:13:28 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Aug 05 14:13:28 2026 -0400"
      },
      "message": "Bump actions/setup-java from 5.6.0 to 5.7.0\n"
    },
    {
      "commit": "8116d1d5692a07e6ae3fcb2aae456871c63f56e1",
      "tree": "92b6042f2a12e685f6d0689b66509d2f8ca088a2",
      "parents": [
        "7e6d0412657670eadfc535d24ea3f877f8739561"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 04 15:58:01 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 04 15:58:01 2026 -0400"
      },
      "message": "Bump github/codeql-action from 4.37.3 to 4.37.6.\n"
    },
    {
      "commit": "7e6d0412657670eadfc535d24ea3f877f8739561",
      "tree": "33267d042c9efa155501d80101078021d8af7625",
      "parents": [
        "ddc86aa141e7a2d86cd4469ce0b1e05450b60742"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 04 07:29:33 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 04 07:29:33 2026 -0400"
      },
      "message": "Reject negative index values in DefaultResolver.getIndex (#432)."
    },
    {
      "commit": "ddc86aa141e7a2d86cd4469ce0b1e05450b60742",
      "tree": "062653c9c71882f04eabbafcaaed9d853ddbe271",
      "parents": [
        "d2741a8d732acb26da984c13f1fe86cebf89ac70"
      ],
      "author": {
        "name": "Naveed Khan",
        "email": "164054284+rootvector2@users.noreply.github.com",
        "time": "Tue Aug 04 11:28:22 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 04 07:28:22 2026 -0400"
      },
      "message": "Reject negative index values in DefaultResolver.getIndex (#432)\n\n* reject negative index values in DefaultResolver.getIndex\n\ngetIndex returned a parsed negative subscript unvalidated, colliding with the -1 sentinel that means the property is not indexed, so callers branching on index \u003e\u003d 0 wrote the whole property instead of one element.\n\n* Potential fix for pull request finding\n\nCo-authored-by: Copilot Autofix powered by AI \u003c175728472+Copilot@users.noreply.github.com\u003e\n\n---------\n\nCo-authored-by: Gary Gregory \u003cgarydgregory@users.noreply.github.com\u003e\nCo-authored-by: Copilot Autofix powered by AI \u003c175728472+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "d2741a8d732acb26da984c13f1fe86cebf89ac70",
      "tree": "a0a16de0f07983b1a88a3e7d7798dea392fccba0",
      "parents": [
        "76ea5c705c7ce910f9833aabb05da26a8c180c76"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 02 15:29:00 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 02 15:29:00 2026 -0400"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "76ea5c705c7ce910f9833aabb05da26a8c180c76",
      "tree": "338d603c2c233e62bcbbfbdcae3df87fd9ac65d7",
      "parents": [
        "ad69d00cec1637729c9d03950af25a27d9747565"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jul 30 07:06:08 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jul 30 07:06:08 2026 -0400"
      },
      "message": "Suppress case variants of mapped names in isPropertySuppressed (#431).\n"
    },
    {
      "commit": "ad69d00cec1637729c9d03950af25a27d9747565",
      "tree": "27b21db104a7392b7608a0d5f9d59669e3bf75e5",
      "parents": [
        "659239fdd29c7dbffc4f1ce936e16781c6fd216c"
      ],
      "author": {
        "name": "Naveed Khan",
        "email": "164054284+rootvector2@users.noreply.github.com",
        "time": "Thu Jul 30 11:03:47 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 30 07:03:47 2026 -0400"
      },
      "message": "Suppress case variants of mapped names in isPropertySuppressed (#431)\n\n* suppress case variants of mapped names in isPropertySuppressed\n\nThe check compared the raw expression token, while the mapped-descriptor fallback it guards derives its accessor names from the capitalized property name, so a name differing only in the case of its first character resolved the same accessors and was still readable and writable.\n\n* skip null suppressed names in isPropertySuppressed\n\nSuppressPropertiesBeanIntrospector only rejects a null collection, so the\nsuppressed set can hold null entries. Capitalizing them threw a\nNullPointerException where the previous Set.contains just never matched."
    },
    {
      "commit": "659239fdd29c7dbffc4f1ce936e16781c6fd216c",
      "tree": "e3ab842dbbd0474bdfcf9b9ec6ff6d0d09a48d1f",
      "parents": [
        "0f7293ec17844523616a62d2c56bc0919679f30a"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jul 29 11:24:45 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jul 29 11:24:45 2026 -0400"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "0f7293ec17844523616a62d2c56bc0919679f30a",
      "tree": "33b5e5629a6cceef73e38c85958ed7af7d24a334",
      "parents": [
        "eb266bcf5cf5c92164447d549dc6297c94ebf7ec"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jul 29 11:23:30 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jul 29 11:23:30 2026 -0400"
      },
      "message": "Remove bad comment."
    },
    {
      "commit": "eb266bcf5cf5c92164447d549dc6297c94ebf7ec",
      "tree": "89b71e8e291f50288b30c2da1a63f52982eec34d",
      "parents": [
        "a0cbc85af9ed7a7dbb01e92f471c7144bab6933b"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jul 29 11:01:42 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jul 29 11:01:42 2026 -0400"
      },
      "message": "Split ArrayConverter list elements on whitespace, quotes and the\ndelimiter only (#427).\n"
    },
    {
      "commit": "a0cbc85af9ed7a7dbb01e92f471c7144bab6933b",
      "tree": "63e26ac778bc87a31e90deeafabf30b736a8a465",
      "parents": [
        "7165d696be8dcdb4f4bac39c2f9501f96a3018c4"
      ],
      "author": {
        "name": "Naveed Khan",
        "email": "164054284+rootvector2@users.noreply.github.com",
        "time": "Wed Jul 29 15:00:23 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 11:00:23 2026 -0400"
      },
      "message": "Split ArrayConverter list elements on whitespace, quotes and the delimiter only (#427)\n\n* disable comment char in ArrayConverter list parsing\n\nparseElements left StreamTokenizer\u0027s default comment character \u0027/\u0027 active, so a list element containing a slash commented out the rest of the input and dropped the following elements. Treat \u0027/\u0027 as an ordinary separator instead.\n\n* Potential fix for pull request finding\n\nCo-authored-by: Copilot Autofix powered by AI \u003c175728472+Copilot@users.noreply.github.com\u003e\n\n* cover allowed-chars behavior for forward slash in test\n\n* add missing @Test annotation to testForwardSlashSeparator\n\n* split list elements on whitespace, quotes and the delimiter only\n\nReset the StreamTokenizer syntax table in ArrayConverter.parseElements so\nevery character is part of an element except whitespace, the delimiter and\nthe quote characters. first_value,second_value and first/value,second/value\nnow both parse to two elements instead of four, and the default comment\nchar is gone as part of the reset. setAllowedChars no longer has any\neffect and is deprecated. A plain split on the delimiter was ruled out\nbecause ConvertUtilsTest pins whitespace separation and quote handling.\n\n* Revise deprecation message in ArrayConverter\n\nUpdated deprecation notice for setAllowedChars method.\n\n---------\n\nCo-authored-by: Gary Gregory \u003cgarydgregory@users.noreply.github.com\u003e\nCo-authored-by: Copilot Autofix powered by AI \u003c175728472+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "7165d696be8dcdb4f4bac39c2f9501f96a3018c4",
      "tree": "46f568cdabae5113c8cc3ade5263e37775c0fd94",
      "parents": [
        "379d32c24f350fac305079edf62571a13b70cd08"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jul 29 08:13:41 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jul 29 08:13:41 2026 -0400"
      },
      "message": "Bump ossf/scorecard-action from 2.4.3 to 2.4.4.\n"
    },
    {
      "commit": "379d32c24f350fac305079edf62571a13b70cd08",
      "tree": "0367597adb598311baf865970e63e276668a1933",
      "parents": [
        "56c54de933313ead8db2a31d4c2075457a900475"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Jul 28 14:53:25 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Jul 28 14:53:25 2026 -0400"
      },
      "message": "Bump github/codeql-action from 4.37.1 to 4.37.3\n"
    },
    {
      "commit": "56c54de933313ead8db2a31d4c2075457a900475",
      "tree": "54e396c6c4ae4d9c827589fef7028a80c34f7649",
      "parents": [
        "5888dbe550471632bb0970c9d7c6d25f4f01a149"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jul 27 14:51:14 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jul 27 14:51:14 2026 +0000"
      },
      "message": "Better JUnit API usage\n"
    },
    {
      "commit": "5888dbe550471632bb0970c9d7c6d25f4f01a149",
      "tree": "40da1991c4a8bb2c3d57afff0a7171835c8c1151",
      "parents": [
        "8d9a52a73a4cdba81797a4052ac2fc58a8034b73"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jul 27 14:48:39 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jul 27 14:48:39 2026 +0000"
      },
      "message": "Add back old assertion\n"
    },
    {
      "commit": "8d9a52a73a4cdba81797a4052ac2fc58a8034b73",
      "tree": "ef46a80bf6eb94f60d91184357111de9e49ee0d2",
      "parents": [
        "d592edf617d7f1226d2c42d199defc58bc98ade5"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jul 27 14:40:44 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jul 27 14:40:44 2026 +0000"
      },
      "message": "Reduce vertical whitespace.\n"
    },
    {
      "commit": "d592edf617d7f1226d2c42d199defc58bc98ade5",
      "tree": "45d00673d418ad9935b2b62552823c7c92d56c75",
      "parents": [
        "a56f1c59f548866fbcc7d1987fe085d734992373"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 25 09:48:59 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 25 09:48:59 2026 -0400"
      },
      "message": "Bump actions/checkout from 7.0.0 to 7.0.1\n"
    },
    {
      "commit": "a56f1c59f548866fbcc7d1987fe085d734992373",
      "tree": "99c04505f47ee130b2c13e255461c23564a620de",
      "parents": [
        "3d7c33094c096f876f71796f509507676c39b9f6"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jul 23 14:47:36 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jul 23 14:47:36 2026 -0400"
      },
      "message": "Update GH CI Java versions\n"
    },
    {
      "commit": "3d7c33094c096f876f71796f509507676c39b9f6",
      "tree": "adfdba08c321fa40860db2588935c7395236c259",
      "parents": [
        "9b18a1784c82e2cf3166411e118f1e23a3cc55b1"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jul 23 14:41:56 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jul 23 14:41:56 2026 -0400"
      },
      "message": "Add ArrayConverterTest.testForwardSlashSeparator() from PR #427\n"
    },
    {
      "commit": "9b18a1784c82e2cf3166411e118f1e23a3cc55b1",
      "tree": "30a1f2fa924514c8ecee65e77d15d56696651dba",
      "parents": [
        "b6f70e994b21a8633038272f7d56852ecb83240d"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jul 23 14:33:45 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jul 23 14:33:45 2026 -0400"
      },
      "message": "Use final.\n"
    },
    {
      "commit": "b6f70e994b21a8633038272f7d56852ecb83240d",
      "tree": "318ab99dba0245cbcd955e1e92b64406149864cf",
      "parents": [
        "afb65e415ad8fdca5ee16b16c42cbee9ad0a767d"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jul 23 14:32:21 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jul 23 14:32:21 2026 -0400"
      },
      "message": "Remove redundant call to super()\n"
    },
    {
      "commit": "afb65e415ad8fdca5ee16b16c42cbee9ad0a767d",
      "tree": "ffc28338eb674ced5a8bbc317277699495fb6de1",
      "parents": [
        "72b2dcacd601854342f0414c226948e2a24a939d"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jul 23 14:31:29 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jul 23 14:31:29 2026 -0400"
      },
      "message": "Sort members\n"
    },
    {
      "commit": "72b2dcacd601854342f0414c226948e2a24a939d",
      "tree": "e3389bbfaa30a23a6490f14440f5b7adc9a09860",
      "parents": [
        "e72057cd1dcc48d0e0e714446bdd8c4fa380e9cd"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jul 23 14:30:14 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jul 23 14:30:14 2026 -0400"
      },
      "message": "Resolve column name in ResultSetIterator.set (#426)."
    },
    {
      "commit": "e72057cd1dcc48d0e0e714446bdd8c4fa380e9cd",
      "tree": "135e7fd453d0cf7c3a0b025f25df8eb54e70b573",
      "parents": [
        "6a1b16cfe419db55cb1c9ba414a90eec0b2fa170"
      ],
      "author": {
        "name": "Naveed Khan",
        "email": "164054284+rootvector2@users.noreply.github.com",
        "time": "Thu Jul 23 18:29:22 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 14:29:22 2026 -0400"
      },
      "message": "Resolve column name in ResultSetIterator.set (#426)\n\n* resolve column name in ResultSetIterator.set\n\nthe read path resolves the dyna-property name to the real column name via getColumnName, but set passed the raw name to updateObject, so with the default lowerCase a mixed-case column update targeted the wrong column.\n\n* use AtomicReference to capture the updated column name in test"
    },
    {
      "commit": "6a1b16cfe419db55cb1c9ba414a90eec0b2fa170",
      "tree": "c4bd7476de0e393c47ed9a944ed05deed0595ecd",
      "parents": [
        "92107c29303897871545d4e138b8804591854782"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jul 23 07:59:41 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jul 23 07:59:41 2026 -0400"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "92107c29303897871545d4e138b8804591854782",
      "tree": "5912a823fbf328f5bcfe866dfd33f94f5226a04d",
      "parents": [
        "cb0cfe2e635fb420a36fae9a2aa51a359aa7308f"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jul 22 10:53:34 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jul 22 10:53:34 2026 -0400"
      },
      "message": "Add messages when throwing NullPointerException.\n"
    },
    {
      "commit": "cb0cfe2e635fb420a36fae9a2aa51a359aa7308f",
      "tree": "10f8ef968406535ba642a84f1a3ed91f84674cfe",
      "parents": [
        "da3acbf7410ba907b9fea2efd793aa1d9bf9dbb9"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Jul 21 15:40:28 2026 -0700"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Jul 21 15:40:28 2026 -0700"
      },
      "message": "Bump org.apache.commons:commons-parent from 102 to 103.\n"
    },
    {
      "commit": "da3acbf7410ba907b9fea2efd793aa1d9bf9dbb9",
      "tree": "d22907ce5ff0089ae01396ef61962a62e50e18ce",
      "parents": [
        "8b5cff40aaccfab9eb621918837b505dd73f439d"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Jul 21 13:45:00 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Jul 21 13:45:00 2026 -0400"
      },
      "message": "Bump github/codeql-action from 4.37.0 to 4.37.1\n"
    },
    {
      "commit": "8b5cff40aaccfab9eb621918837b505dd73f439d",
      "tree": "801c52850fa6a6612f6786e6ae4f07ca57302893",
      "parents": [
        "48915c003c55da642016d09f2f8c31acf3c273ba",
        "d1d6214b395f23f6d9f4c78871c79413e60d2a8b"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Jul 21 10:37:47 2026 -0700"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Jul 21 10:37:47 2026 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of https://github.com/apache/commons-beanutils.git"
    },
    {
      "commit": "48915c003c55da642016d09f2f8c31acf3c273ba",
      "tree": "ccb1c5939e17712446847bd94058b74745aedf56",
      "parents": [
        "0156315111708fe2c6d83e567944e130e8b8241f"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Jul 21 10:37:41 2026 -0700"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Jul 21 10:37:41 2026 -0700"
      },
      "message": "Reject trailing separators in PointConverter (#423)."
    },
    {
      "commit": "d1d6214b395f23f6d9f4c78871c79413e60d2a8b",
      "tree": "3bfb5d225842133f138fb707deaec6077ed65f76",
      "parents": [
        "0156315111708fe2c6d83e567944e130e8b8241f"
      ],
      "author": {
        "name": "Naveed Khan",
        "email": "164054284+rootvector2@users.noreply.github.com",
        "time": "Tue Jul 21 17:37:00 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 21 13:37:00 2026 -0400"
      },
      "message": "reject trailing separators in PointConverter (#423)"
    },
    {
      "commit": "0156315111708fe2c6d83e567944e130e8b8241f",
      "tree": "1f2271fb393dbf969aaee45fa89b06b2f3d6dbfa",
      "parents": [
        "ca0994b5d8e4472124c554110c58d9b2790f27b3"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Jul 21 11:45:07 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Jul 21 11:45:07 2026 -0400"
      },
      "message": "Bump actions/setup-java from 5.5.0 to 5.6.0\n"
    },
    {
      "commit": "ca0994b5d8e4472124c554110c58d9b2790f27b3",
      "tree": "861b433c92385c5767ddee751fb77e73a6864148",
      "parents": [
        "068d12326d95d153b42b0f60d6dfb41a033fc27a"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jul 20 06:43:28 2026 -0700"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jul 20 06:43:28 2026 -0700"
      },
      "message": "Fix ClassCastException in DoubleLocaleConverter when input is non-Double\nNumber (#422)."
    },
    {
      "commit": "068d12326d95d153b42b0f60d6dfb41a033fc27a",
      "tree": "9037473f803a419e1b0dc2a9fbef928199a45955",
      "parents": [
        "a62b1d1cc1d67e8caf38133c7f81c91d08e5f476"
      ],
      "author": {
        "name": "Naveed Khan",
        "email": "164054284+rootvector2@users.noreply.github.com",
        "time": "Mon Jul 20 13:41:48 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 20 09:41:48 2026 -0400"
      },
      "message": "Fix ClassCastException in DoubleLocaleConverter when input is non-Double Number (#422)"
    },
    {
      "commit": "a62b1d1cc1d67e8caf38133c7f81c91d08e5f476",
      "tree": "a7d3e89d3f8a242bdb3a34756c1e563096cf3b91",
      "parents": [
        "59a8dd174f148e5d7533846d5e787262c586b766"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 18 14:17:32 2026 -0700"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 18 14:17:32 2026 -0700"
      },
      "message": "Sort members.\n"
    },
    {
      "commit": "59a8dd174f148e5d7533846d5e787262c586b766",
      "tree": "cae5f541823ece548325c5d3763e3d18ec8f7381",
      "parents": [
        "cdfcb331607086943bb88be659f1f31a7a5f42ba"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 18 13:55:52 2026 -0700"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 18 13:55:52 2026 -0700"
      },
      "message": "Pass configured locale to SimpleDateFormat in DateTimeConverter (#421)."
    },
    {
      "commit": "cdfcb331607086943bb88be659f1f31a7a5f42ba",
      "tree": "906777d5f2e3438d3e6a92b9dabf7ae709dfccbf",
      "parents": [
        "c1a2b1910c762acc3fe138294ba02a9ce79452f8"
      ],
      "author": {
        "name": "Naveed Khan",
        "email": "164054284+rootvector2@users.noreply.github.com",
        "time": "Sat Jul 18 20:54:38 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 18 16:54:38 2026 -0400"
      },
      "message": "Pass configured locale to SimpleDateFormat in DateTimeConverter (#421)\n\n* pass configured locale to date pattern in DateTimeConverter\n\n* use junit pioneer to set the default locale in testLocaleWithPattern"
    },
    {
      "commit": "c1a2b1910c762acc3fe138294ba02a9ce79452f8",
      "tree": "7db526e5c04398b13039bfa436cbcef3d56ebed6",
      "parents": [
        "2a696ccfc6f6d9dd9acf206eb2268a67924e5a91"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 17 07:22:33 2026 -0700"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 17 07:22:33 2026 -0700"
      },
      "message": "Reject out-of-range color components in ColorConverter (#420).\n\nAdd assertions.\n"
    },
    {
      "commit": "2a696ccfc6f6d9dd9acf206eb2268a67924e5a91",
      "tree": "cc4aebd1da90498a61677bc5d59ec4f90620bca0",
      "parents": [
        "c47130457e8e4ebbce38c1fec5fc8807383709ec"
      ],
      "author": {
        "name": "Naveed Khan",
        "email": "164054284+rootvector2@users.noreply.github.com",
        "time": "Fri Jul 17 14:20:46 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 17 10:20:46 2026 -0400"
      },
      "message": "Reject out-of-range color components in ColorConverter (#420)\n\nthe `JAVA_COLOR_PATTERN` label prefix included `\\d`, so a bare triple like `1234,5,6` had its leading digit absorbed by the label and parsed as `4,5,6`, silently bypassing the `\u003e 255` range check. bind the optional class-name label to its `[` so it can no longer eat digits from the numeric groups."
    },
    {
      "commit": "c47130457e8e4ebbce38c1fec5fc8807383709ec",
      "tree": "2ee960f0124156b6aa4d42dc188a67aa8d8fd307",
      "parents": [
        "1784728b54b5f152d703e7c5bd618ceaed193584"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jul 15 10:21:13 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jul 15 10:21:13 2026 -0400"
      },
      "message": "Make WrapDynaClass instance cache thread-safe (#418)."
    },
    {
      "commit": "1784728b54b5f152d703e7c5bd618ceaed193584",
      "tree": "adc0393a12a2c3d3bd0efc7315137b83e3d78557",
      "parents": [
        "d7b4cf11fdefc3a5e11b542bb712e2d0eb45fbb7"
      ],
      "author": {
        "name": "Naveed Khan",
        "email": "164054284+rootvector2@users.noreply.github.com",
        "time": "Wed Jul 15 14:19:22 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 15 10:19:22 2026 -0400"
      },
      "message": "Make WrapDynaClass instance cache thread-safe (#418)\n\n* make WrapDynaClass instance cache thread-safe\n\n* add concurrency regression test for WrapDynaClass cache\n\nSigned-off-by: Naveed Khan \u003cdxbnaveed.k@gmail.com\u003e\n\n---------\n\nSigned-off-by: Naveed Khan \u003cdxbnaveed.k@gmail.com\u003e"
    },
    {
      "commit": "d7b4cf11fdefc3a5e11b542bb712e2d0eb45fbb7",
      "tree": "21c67c71b8b3937adef8f986242f92b5a0a11025",
      "parents": [
        "235096e4bb200c350049605fe5fa560a6949928c"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jul 13 13:49:09 2026 -0700"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jul 13 13:49:09 2026 -0700"
      },
      "message": "Bump actions/setup-java from 5.4.0 to 5.5.0\n"
    },
    {
      "commit": "235096e4bb200c350049605fe5fa560a6949928c",
      "tree": "e4ac3ff5740c69d0d9758b24d583698f46b7d0bf",
      "parents": [
        "cb86e7325910c1c875dc939ea0fd85a55f385bb7"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jul 13 10:38:09 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jul 13 10:38:09 2026 -0400"
      },
      "message": "Case-fold column and bean property names with Locale.ROOT (#415).\n"
    },
    {
      "commit": "cb86e7325910c1c875dc939ea0fd85a55f385bb7",
      "tree": "132d64f623c131bbbe04081abaa83410656a266f",
      "parents": [
        "163ff0eb813feac2efb9260d27fb09fb83e73781"
      ],
      "author": {
        "name": "Naveed Khan",
        "email": "164054284+rootvector2@users.noreply.github.com",
        "time": "Mon Jul 13 14:34:52 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 10:34:52 2026 -0400"
      },
      "message": "Case-fold column and bean property names with Locale.ROOT (#415)\n\ndefault-locale toLowerCase/toUpperCase mangle identifiers under a Turkish locale (column ID becomes property with a dotless i, and getImages is rebuilt with a dotted I); fold with Locale.ROOT, matching MappedPropertyDescriptor and the converters."
    },
    {
      "commit": "163ff0eb813feac2efb9260d27fb09fb83e73781",
      "tree": "5f65ebf24bafe56ee21e140dc298075a5084e8ad",
      "parents": [
        "328622688c12dccc9ff75bb32693a553f51262c2"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jul 13 10:21:26 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jul 13 10:21:26 2026 -0400"
      },
      "message": "Make MethodUtils CACHE_ENABLED volatile (#414).\n"
    },
    {
      "commit": "328622688c12dccc9ff75bb32693a553f51262c2",
      "tree": "b0db85381a9627d3f0a1c5bf69aafe51d1b53434",
      "parents": [
        "cfeb5332992a8311fa270212c6b81dab9f3c833c"
      ],
      "author": {
        "name": "Naveed Khan",
        "email": "164054284+rootvector2@users.noreply.github.com",
        "time": "Mon Jul 13 14:19:03 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 10:19:03 2026 -0400"
      },
      "message": "Make MethodUtils CACHE_ENABLED volatile (#414)\n\nwritten under the class monitor but read lock-free in computeIfAbsent, so setCacheMethods(false) may not be visible to other threads"
    },
    {
      "commit": "cfeb5332992a8311fa270212c6b81dab9f3c833c",
      "tree": "ad2168937d8004bb5a1b3965ffa712d59f41f652",
      "parents": [
        "54a3d04a16508ecab241ad65243805982a4aec02"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 14:56:46 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 14:56:46 2026 -0400"
      },
      "message": "Do not resolve suppressed mapped properties in getPropertyDescriptor\n(#413).\n"
    },
    {
      "commit": "54a3d04a16508ecab241ad65243805982a4aec02",
      "tree": "ca57057a7d5c130a23f8e130895d6a87a2c99384",
      "parents": [
        "088e3cda1aa112f1957bf0f205e1f1b7adfa60c3"
      ],
      "author": {
        "name": "Naveed Khan",
        "email": "164054284+rootvector2@users.noreply.github.com",
        "time": "Sat Jul 11 18:55:48 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 11 14:55:48 2026 -0400"
      },
      "message": "Do not resolve suppressed mapped properties in getPropertyDescriptor (#413)"
    },
    {
      "commit": "088e3cda1aa112f1957bf0f205e1f1b7adfa60c3",
      "tree": "a7bed76e4c8fad164e7cf353974a17e06f187d19",
      "parents": [
        "7a09d5dc0126865eace8946a9cdf27492c390179"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 11:21:39 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 11:21:39 2026 -0400"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "7a09d5dc0126865eace8946a9cdf27492c390179",
      "tree": "1c151c7b70497554b0c819214b358a2e0447998b",
      "parents": [
        "02650415e87a403837bf8d93f77126d980aaf421"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 09:08:09 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 09:08:09 2026 -0400"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "02650415e87a403837bf8d93f77126d980aaf421",
      "tree": "4d9c974ea19d9679a1413375d38b7ebf592fd056",
      "parents": [
        "c913223dd359a95ebeccd848c74a0fdcbe919d8b"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 08:40:37 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 08:40:37 2026 -0400"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "c913223dd359a95ebeccd848c74a0fdcbe919d8b",
      "tree": "1755b799dd101f7670fe8a6d8236ca4d8e9eaf8d",
      "parents": [
        "dab61232c2e39f0c6f9afa90e3148802e3f24ed0"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 08:35:52 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 08:35:52 2026 -0400"
      },
      "message": "Suppress class and declaringClass pseudo-properties in BeanMap (#412)."
    },
    {
      "commit": "dab61232c2e39f0c6f9afa90e3148802e3f24ed0",
      "tree": "382c70b4fa77d661ece892e554bb50c3b70555fb",
      "parents": [
        "5fd3fce4e14e5492045463023b78998bf46ef172"
      ],
      "author": {
        "name": "Naveed Khan",
        "email": "164054284+rootvector2@users.noreply.github.com",
        "time": "Sat Jul 11 12:35:04 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 11 08:35:04 2026 -0400"
      },
      "message": "Suppress class and declaringClass pseudo-properties in BeanMap (#412)\n\n* suppress class and declaringClass properties in BeanMap\n\nBeanMap.initialize introspected the bean directly and registered the\nclass/declaringClass pseudo-properties, so BeanMap.get(\"class\") returned\nthe bean\u0027s class loader that PropertyUtilsBean suppresses by default. Skip\nboth names during initialization.\n\n* use imported DayOfWeek instead of fully-qualified name in test"
    }
  ],
  "next": "5fd3fce4e14e5492045463023b78998bf46ef172"
}
