)]}'
{
  "log": [
    {
      "commit": "b9eff75d99507e85207e2b3f59af2def11eaf12d",
      "tree": "709c8fbe9d80cf89f5388de134f1473eca19845f",
      "parents": [
        "f1ef2b569155e746c663c6f662f10554b22bc5d4"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Oct 10 08:02:07 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Oct 10 08:02:07 2026 -0400"
      },
      "message": "Add github.autolink_jira\n"
    },
    {
      "commit": "f1ef2b569155e746c663c6f662f10554b22bc5d4",
      "tree": "3f4b7aaa7f582ca30c6292aeae45a9d8bcc1b6fc",
      "parents": [
        "dfd343681ef89350a34596f94964f6291bc50bfa"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Oct 03 15:21:27 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Oct 03 15:21:27 2026 -0400"
      },
      "message": "Update GH CI from Java 26 to 27\n\nBump early access Java from 27-ea to 28-ea.\n"
    },
    {
      "commit": "dfd343681ef89350a34596f94964f6291bc50bfa",
      "tree": "0f7e5148b05c2915408bb3933361fddf02cf3113",
      "parents": [
        "e788a2f37ddcce137df49aa1503bdb40785a381b"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Sep 29 19:48:45 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Sep 29 19:48:45 2026 +0000"
      },
      "message": "[test] Bump org.apache.commons:commons-lang3 from 3.20.0 to 3.21.0\n"
    },
    {
      "commit": "e788a2f37ddcce137df49aa1503bdb40785a381b",
      "tree": "7cf6d882cd66d5cc8b11b40d1eba29dc3c360a92",
      "parents": [
        "01ad5066a7eb535bdac75560be66a703c7cab869",
        "679977effeb38d05c5c97ef57a8b30546cd61506"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Tue Sep 29 15:47:53 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 29 15:47:53 2026 -0400"
      },
      "message": "Merge pull request #440 from garydgregory/fix/commons-lang3-3.21.0\n\nBump org.apache.commons:commons-lang3 from 3.20.0 to 3.21.0"
    },
    {
      "commit": "679977effeb38d05c5c97ef57a8b30546cd61506",
      "tree": "5a260c1c3e06b720565e2a38d3ab8852e86f15a4",
      "parents": [
        "c74db928e176ead38707f47b42fe056c305ac845"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Sep 29 12:10:45 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Sep 29 12:10:45 2026 -0400"
      },
      "message": "Bump org.apache.commons:commons-lang3 from 3.20.0 to 3.21.0\n"
    },
    {
      "commit": "01ad5066a7eb535bdac75560be66a703c7cab869",
      "tree": "6c68dcbc789553bd7074d44e3c65e8284955c01f",
      "parents": [
        "c74db928e176ead38707f47b42fe056c305ac845"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Sep 24 12:58:19 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Sep 24 12:58:19 2026 -0400"
      },
      "message": "Bump github/codeql-action from 4.38.1 to 4.38.2\n"
    },
    {
      "commit": "c74db928e176ead38707f47b42fe056c305ac845",
      "tree": "5dcf3524c3faec7f8caeab39c4fba1fe16b830ad",
      "parents": [
        "c833339a683a400a7d996c3ce22ee5979fa0de10"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Sep 19 11:16:48 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Sep 19 11:16:48 2026 -0400"
      },
      "message": "Bump github/codeql-action/* from 4.37.9 to 4.38.1\n"
    },
    {
      "commit": "c833339a683a400a7d996c3ce22ee5979fa0de10",
      "tree": "89648c65dc6e8bd65df5b19df7906cc6c7de6057",
      "parents": [
        "770f78463d78acc5ec3f2b10e22dc06d0e17ad71"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Sep 19 11:08:27 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Sep 19 11:08:27 2026 -0400"
      },
      "message": "Bump actions/setup-java from 6.0.0 to 6.0.1\n"
    },
    {
      "commit": "770f78463d78acc5ec3f2b10e22dc06d0e17ad71",
      "tree": "c5e05bc5a40e4c610a7dcb4f1a7b86e964ed4393",
      "parents": [
        "ea26afdd8ac3cddb460ef22540a8056775db46fe"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Sep 07 11:08:14 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Sep 07 11:08:14 2026 -0400"
      },
      "message": "Bump org.apache.commons:commons-parent from 104 to 105.\n\nFix entry for same dependency for previous relase.\n"
    },
    {
      "commit": "ea26afdd8ac3cddb460ef22540a8056775db46fe",
      "tree": "6ba8bfd782093819bec6d873d2a06f7f68e5da0f",
      "parents": [
        "5e48178be522a24d36befa6fb89c7abb28c6ea75"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 31 11:19:37 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 31 11:19:37 2026 +0000"
      },
      "message": "Bump github/codeql-action/analyze from 4.37.8 to 4.37.9.\n"
    },
    {
      "commit": "5e48178be522a24d36befa6fb89c7abb28c6ea75",
      "tree": "8ae52642ce444e83d9883a55779db7eec55d01d0",
      "parents": [
        "99ac92604f098d9feaafd8046b3571b95ef9fd31"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Aug 28 15:41:14 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Aug 28 15:41:14 2026 -0400"
      },
      "message": "Reject invalid ISBN-10 in convertToISBN1 (#434)."
    },
    {
      "commit": "99ac92604f098d9feaafd8046b3571b95ef9fd31",
      "tree": "de3d7ce4de9c4302e23ed79e0da5d940f8618c18",
      "parents": [
        "553310802735c86016218827f38012cb7cbaaa7e",
        "8c3a8266e679975aa1a624fa294cc15437a7a588"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Fri Aug 28 15:40:18 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 28 15:40:18 2026 -0400"
      },
      "message": "Merge pull request #434 from sahvx655-wq/isbn-convert-validate\n\nReject invalid ISBN-10 in convertToISBN13"
    },
    {
      "commit": "8c3a8266e679975aa1a624fa294cc15437a7a588",
      "tree": "de3d7ce4de9c4302e23ed79e0da5d940f8618c18",
      "parents": [
        "553310802735c86016218827f38012cb7cbaaa7e"
      ],
      "author": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Tue Aug 18 17:29:14 2026 +0530"
      },
      "committer": {
        "name": "“rootvector2”",
        "email": "“dxbnaveed.k@gmail.com”",
        "time": "Fri Aug 28 19:28:20 2026 +0530"
      },
      "message": "reject invalid ISBN-10 in convertToISBN13\n"
    },
    {
      "commit": "553310802735c86016218827f38012cb7cbaaa7e",
      "tree": "3a38adcd2113ef71953153b7ec6cf8ed38a1080d",
      "parents": [
        "4aea5c6076dd28812e403c4dae2d36b228e5ecf6"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Aug 27 13:42:23 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Aug 27 13:42:23 2026 -0400"
      },
      "message": "Bump actions/setup-java from 5.7.0 to 6.0.0.\n"
    },
    {
      "commit": "4aea5c6076dd28812e403c4dae2d36b228e5ecf6",
      "tree": "5e0e27bc31d972765c7b5268ad35f7bd21737ca8",
      "parents": [
        "989111bb4a9d98b18ce32e0afd8035505df63dc7"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Aug 27 11:32:39 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Aug 27 11:32:39 2026 -0400"
      },
      "message": "Checkstyle\n"
    },
    {
      "commit": "989111bb4a9d98b18ce32e0afd8035505df63dc7",
      "tree": "667be22743d94ea7b024ff81eafbdd9ed81ee6ef",
      "parents": [
        "48498d70c17fd11b0ae6634b5711da1a83100d97"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Aug 27 10:43:18 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Aug 27 10:43:18 2026 -0400"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "48498d70c17fd11b0ae6634b5711da1a83100d97",
      "tree": "1089ab030fa9c2cf6f517b2e43cfb58824882326",
      "parents": [
        "542a82a79c212515c4a8a92418597b428993b5a2"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Aug 27 10:42:31 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Aug 27 10:42:31 2026 -0400"
      },
      "message": "Formatting for test fixture\n"
    },
    {
      "commit": "542a82a79c212515c4a8a92418597b428993b5a2",
      "tree": "935eed8915456cf5a8ef0a2511f9ac97f377d132",
      "parents": [
        "6dcedc1285888a0a8e10297d054432e01f14fca7"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Aug 27 10:42:16 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Aug 27 10:42:16 2026 -0400"
      },
      "message": "Sort members\n"
    },
    {
      "commit": "6dcedc1285888a0a8e10297d054432e01f14fca7",
      "tree": "97d4894fdbfb085b634a7e8467f8e9e58179a9d5",
      "parents": [
        "edf3a78766265cf39537d77ad52ee49e2cfd705c"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Aug 27 10:38:47 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Aug 27 10:38:47 2026 -0400"
      },
      "message": "Add Java 28-ea as an experimental build.\n"
    },
    {
      "commit": "edf3a78766265cf39537d77ad52ee49e2cfd705c",
      "tree": "5bfcb9a68c6a65cf53a5de7c1bdf132d6825f7e9",
      "parents": [
        "e9903ef460d7b67e4f60ff1e886f39ad42fa9f93"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Aug 27 10:22:36 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Aug 27 10:22:36 2026 -0400"
      },
      "message": "UrlValidator compare the file scheme case-insensitively in isValid\n(#433)."
    },
    {
      "commit": "e9903ef460d7b67e4f60ff1e886f39ad42fa9f93",
      "tree": "3349648740cb76ae6e605cc5ac599c2c95b07796",
      "parents": [
        "f417c9f2f1efc85e8a98fb10c4150390941d970c",
        "ee5cf09ae8151fcf021e0e26f37a08d04a4743cc"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Thu Aug 27 10:21:03 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 27 10:21:03 2026 -0400"
      },
      "message": "Merge pull request #433 from sahvx655-wq/url-file-scheme-case\n\nCompare the file scheme case-insensitively in isValid"
    },
    {
      "commit": "f417c9f2f1efc85e8a98fb10c4150390941d970c",
      "tree": "de43a5bfd5818cee14a01f5917a0bda237eaeb32",
      "parents": [
        "1f1b6a24a658b0b70f312bf426cf20d562d99567"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Aug 26 15:39:14 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Aug 26 15:39:14 2026 -0400"
      },
      "message": "Reject under-length codes in SedolCheckDigit (#435)."
    },
    {
      "commit": "1f1b6a24a658b0b70f312bf426cf20d562d99567",
      "tree": "a2a9287b4316741db99118da294475864fdc004f",
      "parents": [
        "5308f2378282b856d535fd050b76649d55e9532f",
        "ee60a091bd64049c55e16303659ef89771c10ac3"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Wed Aug 26 15:37:18 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 26 15:37:18 2026 -0400"
      },
      "message": "Merge pull request #435 from sahvx655-wq/sedol-under-length\n\nReject under-length codes in SedolCheckDigit"
    },
    {
      "commit": "ee60a091bd64049c55e16303659ef89771c10ac3",
      "tree": "a2a9287b4316741db99118da294475864fdc004f",
      "parents": [
        "5308f2378282b856d535fd050b76649d55e9532f"
      ],
      "author": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Wed Aug 26 20:00:41 2026 +0530"
      },
      "committer": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Wed Aug 26 20:00:41 2026 +0530"
      },
      "message": "reject under-length codes in SedolCheckDigit\n\nisValid only rejected over-length codes, so a short string with a chance\nmodulus 10 check digit validated. Require the validated seven-character\nform exactly; the calculate path keeps the base-length handling.\n"
    },
    {
      "commit": "5308f2378282b856d535fd050b76649d55e9532f",
      "tree": "e5e13142aea3f342adb58d8db82593683a48246d",
      "parents": [
        "6d45d58234bfd95b76bbb4995aa1d5908bea977f"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 25 14:15:02 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 25 14:15:02 2026 -0400"
      },
      "message": "Bump github/codeql-action/init from 4.37.7 to 4.37.8\n"
    },
    {
      "commit": "6d45d58234bfd95b76bbb4995aa1d5908bea977f",
      "tree": "64b38ccbdbd1e8b7ff75bd6c8b9d566b018f013b",
      "parents": [
        "7fbb64258b7c47e83955119c6398ad937a48b330"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Aug 22 09:58:19 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Aug 22 09:58:19 2026 -0400"
      },
      "message": "Bump org.apache.commons:commons-parent from 103 to 104.\n\nFix Checkstyle issues.\n"
    },
    {
      "commit": "7fbb64258b7c47e83955119c6398ad937a48b330",
      "tree": "0ea7cdc6c42532addd64013b3de3c3131b8fdecb",
      "parents": [
        "655ba0ca028bc63f0816e72ed06afe863828fc13"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Aug 22 09:58:14 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Aug 22 09:58:14 2026 -0400"
      },
      "message": "Fix SpotBugs USO_UNSAFE_METHOD_SYNCHRONIZATION in DomainValidator.\n"
    },
    {
      "commit": "655ba0ca028bc63f0816e72ed06afe863828fc13",
      "tree": "015ae936ecb823180a9f223eb97d477db70ddc92",
      "parents": [
        "4dc42506f0714ebb74705347eb15c8cc79d26bb1"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 18 16:02:20 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 18 16:02:20 2026 -0400"
      },
      "message": "Bump codeql-action from 4.37.6 to 4.37.7\n"
    },
    {
      "commit": "ee5cf09ae8151fcf021e0e26f37a08d04a4743cc",
      "tree": "0152ceed0396ecf8ae36c270a8741c2c85686fc8",
      "parents": [
        "4dc42506f0714ebb74705347eb15c8cc79d26bb1"
      ],
      "author": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Tue Aug 11 23:35:12 2026 +0530"
      },
      "committer": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Tue Aug 11 23:35:12 2026 +0530"
      },
      "message": "compare the file scheme case-insensitively in isValid\n"
    },
    {
      "commit": "4dc42506f0714ebb74705347eb15c8cc79d26bb1",
      "tree": "4cb52f3a07c0ba7e624c9b8b869e5b2baca56c02",
      "parents": [
        "f3581af64b6ff6579836f647a0d4dc50c61a0c85"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Aug 05 14:15:08 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Aug 05 14:15:08 2026 -0400"
      },
      "message": "Bump actions/setup-java from 5.6.0 to 5.7.0\n"
    },
    {
      "commit": "f3581af64b6ff6579836f647a0d4dc50c61a0c85",
      "tree": "8f6456a98530cb366f147f9ad6e2f8a05946650f",
      "parents": [
        "5de45275dfcf5af434a22ec0db4dbeffa217cccb"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 04 15:59:32 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 04 15:59:32 2026 -0400"
      },
      "message": "Bump github/codeql-action from 4.37.3 to 4.37.6.\n"
    },
    {
      "commit": "5de45275dfcf5af434a22ec0db4dbeffa217cccb",
      "tree": "8d6499470944a542d9e2d75212010bde85268ba3",
      "parents": [
        "133ebc54906c93775fe0428316e30b2aa370495a"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 04 07:27:24 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 04 07:27:24 2026 -0400"
      },
      "message": "Validate path, query and fragment for authority-less file URLs (#432)."
    },
    {
      "commit": "133ebc54906c93775fe0428316e30b2aa370495a",
      "tree": "bfd67b9d9d6a316484eca154f3358b2fe03773a0",
      "parents": [
        "6fd7cd6a8be65267e16b59f50cccf0d6469373f1",
        "cb06005bd3d03426f26dc703c07106645058907c"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Tue Aug 04 07:26:35 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 04 07:26:35 2026 -0400"
      },
      "message": "Merge pull request #432 from sahvx655-wq/file-scheme-path-check\n\nValidate path, query and fragment for authority-less file URLs"
    },
    {
      "commit": "cb06005bd3d03426f26dc703c07106645058907c",
      "tree": "bfd67b9d9d6a316484eca154f3358b2fe03773a0",
      "parents": [
        "6fd7cd6a8be65267e16b59f50cccf0d6469373f1"
      ],
      "author": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Mon Aug 03 19:11:31 2026 +0530"
      },
      "committer": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Mon Aug 03 19:11:31 2026 +0530"
      },
      "message": "validate path, query and fragment for authority-less file URLs\n"
    },
    {
      "commit": "6fd7cd6a8be65267e16b59f50cccf0d6469373f1",
      "tree": "49c82d190ec19300c342b2201ba7aaf32234368e",
      "parents": [
        "404b5256287159bed6c769b96ef7e153d5bf0238"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 02 17:13:19 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 02 17:13:19 2026 -0400"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "404b5256287159bed6c769b96ef7e153d5bf0238",
      "tree": "4858dab2314a956f545d93fac0799cefa28d2a72",
      "parents": [
        "a2ade8a0c934db23d670dc5bb26a1b92e1a52b2f"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 20:29:56 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 20:29:56 2026 -0400"
      },
      "message": "Count unpaired carriage returns in adjustForLineEnding (#431)."
    },
    {
      "commit": "a2ade8a0c934db23d670dc5bb26a1b92e1a52b2f",
      "tree": "49bb3266dbc114c693344b91480fde738dd7b303",
      "parents": [
        "721ae11fc6c52bed2fe315c9c0e32834c2182be8"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 20:29:51 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 20:29:51 2026 -0400"
      },
      "message": "Sort members\n"
    },
    {
      "commit": "721ae11fc6c52bed2fe315c9c0e32834c2182be8",
      "tree": "7dd9323852c1e600c3737a2cda4ec198c3a49d78",
      "parents": [
        "2cbb7f8c1f9ebb080d3b0fd908112b7fff1fcc5c",
        "2f09ba7d371c246d2f45ddbaefaeb58ba467fde5"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Fri Jul 31 20:28:24 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 31 20:28:24 2026 -0400"
      },
      "message": "Merge pull request #431 from sahvx655-wq/line-end-unpaired-cr\n\nCount unpaired carriage returns in adjustForLineEnding"
    },
    {
      "commit": "2f09ba7d371c246d2f45ddbaefaeb58ba467fde5",
      "tree": "f731d3b231b46f373bd7839b3a6c25b5b04471b6",
      "parents": [
        "d7962c808b9ada721faaf1cedf8899e167d446ee"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Fri Jul 31 17:54:10 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 31 17:54:10 2026 -0400"
      },
      "message": "Refactor testLengthUnpairedCarriageReturn method"
    },
    {
      "commit": "2cbb7f8c1f9ebb080d3b0fd908112b7fff1fcc5c",
      "tree": "e7fcf57b001ed2df553616657bf464cd0c82993d",
      "parents": [
        "b4b6d0c8f730b09251c1550d787b2213240ed7f6"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 15:48:30 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 15:48:30 2026 -0400"
      },
      "message": "Drop the symbol separator in the currency and percent re-parse (#430)."
    },
    {
      "commit": "b4b6d0c8f730b09251c1550d787b2213240ed7f6",
      "tree": "9861893080291a8d9563f86ee827c83afd95eb45",
      "parents": [
        "0b9d5dc6f6fff4f0f692c3a1b79a0f27f1ebc943",
        "373d90baf78ef2075f47e109894b6f32ddf8d6b7"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Fri Jul 31 15:46:15 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 31 15:46:15 2026 -0400"
      },
      "message": "Merge pull request #430 from sahvx655-wq/currency-percent-symbol-separator\n\nDrop the symbol separator in the currency and percent re-parse"
    },
    {
      "commit": "373d90baf78ef2075f47e109894b6f32ddf8d6b7",
      "tree": "21ba3fe3eb4a5883599e7e53d29a6d3ab376550d",
      "parents": [
        "9f428113fb59ace65e11c9872d16d9644bcda143"
      ],
      "author": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Fri Jul 31 19:13:22 2026 +0530"
      },
      "committer": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Fri Jul 31 19:13:22 2026 +0530"
      },
      "message": "expect the trimmed plain-space separator in the suffix-symbol locale tests\n\nThe legacy pre-CLDR locale data separates the suffix symbol with a\nplain space rather than a non-breaking one, and AbstractNumberValidator\ntrims the input before parsing, so on Java 8 a bare separator\ndegenerates to the valid no-symbol form instead of being rejected.\nAssert the trimmed result in that case and keep the null expectation\nfor separators that survive the trim.\n"
    },
    {
      "commit": "0b9d5dc6f6fff4f0f692c3a1b79a0f27f1ebc943",
      "tree": "c2a779c133b1d6590f518d34c4e8163e1445c4d0",
      "parents": [
        "3ba800e1d314cd011421872748f02ef8a32cf6e3"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 12:50:26 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 12:50:26 2026 +0000"
      },
      "message": "Updates for the next release\n"
    },
    {
      "commit": "3ba800e1d314cd011421872748f02ef8a32cf6e3",
      "tree": "5b690084ed29eb3e3dd6896245eb0bbd22e10905",
      "parents": [
        "fc11ea9fccc50626c7b4ffe95ef8a8582db60adf"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 12:22:30 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 12:22:30 2026 +0000"
      },
      "message": "Updates for the next release\n"
    },
    {
      "commit": "fc11ea9fccc50626c7b4ffe95ef8a8582db60adf",
      "tree": "7da571aa8b16011d69d555e462873722e32e6a30",
      "parents": [
        "619bfff21e5eaf10f1c613d437d8375fcf22c644",
        "cfcd7fae0637324cc0b7a88b28f0fa5d43cc2914"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 12:18:42 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 12:18:42 2026 +0000"
      },
      "message": "Merge branch \u0027release\u0027\n"
    },
    {
      "commit": "cfcd7fae0637324cc0b7a88b28f0fa5d43cc2914",
      "tree": "60ab9f430e47600e6d1f7721ae2663f2e2948234",
      "parents": [
        "eaee281bc5fafbfed54de52f08d6b2656d9d6b5c"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 12:18:41 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 12:18:41 2026 +0000"
      },
      "message": "Bump to next development version\n"
    },
    {
      "commit": "d7962c808b9ada721faaf1cedf8899e167d446ee",
      "tree": "c65bcbc7224b81c6350f1419eb68e1c229c990bc",
      "parents": [
        "619bfff21e5eaf10f1c613d437d8375fcf22c644"
      ],
      "author": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Thu Jul 30 12:44:39 2026 +0530"
      },
      "committer": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Thu Jul 30 12:44:39 2026 +0530"
      },
      "message": "count unpaired carriage returns in adjustForLineEnding\n"
    },
    {
      "commit": "9f428113fb59ace65e11c9872d16d9644bcda143",
      "tree": "99e7003ed77979bb5ba37d4105230eaf79278183",
      "parents": [
        "161e1885ebb465037cf9cb7e0f492e9e4d972726"
      ],
      "author": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Wed Jul 29 17:47:56 2026 +0530"
      },
      "committer": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Wed Jul 29 17:47:56 2026 +0530"
      },
      "message": "test the suffix-symbol pattern against every available locale\n\nExtend the explicit-pattern suffix-symbol tests to run for every\nlocale the JVM provides, formatting the inputs with each locale\u0027s own\nDecimalFormatSymbols, so every known currency and percent symbol is\nexercised without depending on any particular locale\u0027s data.\n"
    },
    {
      "commit": "619bfff21e5eaf10f1c613d437d8375fcf22c644",
      "tree": "c6096417521d682a78fd180fb5c9157da2b3dc31",
      "parents": [
        "ccbf2c98bbaa9f5823310fef55a6a74c23aaa897"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jul 29 08:14:58 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jul 29 08:14:58 2026 -0400"
      },
      "message": "Bump ossf/scorecard-action from 2.4.3 to 2.4.4.\n"
    },
    {
      "commit": "161e1885ebb465037cf9cb7e0f492e9e4d972726",
      "tree": "cc979157b982bd251cc64035e09182f1ba6096b6",
      "parents": [
        "201973ae7fdf576b767a7fc0bdab6d366b642155"
      ],
      "author": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Wed Jul 29 16:36:48 2026 +0530"
      },
      "committer": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Wed Jul 29 16:36:48 2026 +0530"
      },
      "message": "test suffix-symbol locales against the JVM locale data and share the pattern strip\n\nParameterizes the suffix-symbol tests over de-DE, fr-FR and sv-SE with the\npattern, separator and inputs derived from the locale data at run time, keeping\nthe pinned explicit-pattern test for JVMs with different data. Moves the symbol\nstrip into a single BigDecimalValidator helper so the currency and percent\ncopies cannot drift, with the adjacency checks parenthesized.\n"
    },
    {
      "commit": "ccbf2c98bbaa9f5823310fef55a6a74c23aaa897",
      "tree": "a168a4db94097c02be827ec191d55077762db0c8",
      "parents": [
        "1a0292ad893793ad903d5de9b0eb02cfcd23b93d"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Jul 28 14:54:51 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Jul 28 14:54:51 2026 -0400"
      },
      "message": "Bump github/codeql-action from 4.37.1 to 4.37.3\n"
    },
    {
      "commit": "201973ae7fdf576b767a7fc0bdab6d366b642155",
      "tree": "135ef8f331fe4d5c53d8e2e9011e407b8fe74495",
      "parents": [
        "1a0292ad893793ad903d5de9b0eb02cfcd23b93d"
      ],
      "author": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Tue Jul 28 12:42:41 2026 +0530"
      },
      "committer": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Tue Jul 28 12:42:41 2026 +0530"
      },
      "message": "drop the symbol separator in the currency and percent re-parse\n\nThe lenient fallback rebuilt the pattern without the symbol but kept the space next to it, so the separator stayed mandatory for suffix-symbol locales.\n"
    },
    {
      "commit": "eaee281bc5fafbfed54de52f08d6b2656d9d6b5c",
      "tree": "0667553336342997f6400dde7f3973fd2efb0b8a",
      "parents": [
        "1a0292ad893793ad903d5de9b0eb02cfcd23b93d"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Jul 28 01:26:02 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Jul 28 01:26:02 2026 +0000"
      },
      "message": "Prepare for the release candidate 1.11.0 RC1\n"
    },
    {
      "commit": "1a0292ad893793ad903d5de9b0eb02cfcd23b93d",
      "tree": "d19f8acc48aa86e334c8bcc10b71e390e147d767",
      "parents": [
        "519c3ba4bfd572d84af407ac4674ed1a6686b622"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Jul 28 01:24:51 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Jul 28 01:24:51 2026 +0000"
      },
      "message": "Prepare for the next release candidate\n"
    },
    {
      "commit": "519c3ba4bfd572d84af407ac4674ed1a6686b622",
      "tree": "8bd83c6e9a56987a5884996d720fa88c657b774c",
      "parents": [
        "e07dfa617c74553077e52065901c54a7f0976b36"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Jul 26 18:41:40 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Jul 26 18:41:40 2026 -0400"
      },
      "message": "Precompile Pattern in ISSNValidator.convertToEAN13(String, String).\n"
    },
    {
      "commit": "e07dfa617c74553077e52065901c54a7f0976b36",
      "tree": "1720f75151ff2527191f234306b5ecffd59adf67",
      "parents": [
        "5a28bc4f4ca9157a6e0cbbd647c687af8682d0f9"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 25 09:50:15 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 25 09:50:15 2026 -0400"
      },
      "message": "Bump actions/checkout from 7.0.0 to 7.0.1\n"
    },
    {
      "commit": "5a28bc4f4ca9157a6e0cbbd647c687af8682d0f9",
      "tree": "b66132f49b8b52ac10c622ef4964f35cb006cb75",
      "parents": [
        "b41a4641415b56f9774cfd34bfc23aa17fbd7d39"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jul 23 07:26:10 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jul 23 07:26:10 2026 -0400"
      },
      "message": "Reject nameprep-stripped code points in unicodeToASCII (#429)."
    },
    {
      "commit": "b41a4641415b56f9774cfd34bfc23aa17fbd7d39",
      "tree": "70d9a6568b95a189313c2ef172fac330923269b3",
      "parents": [
        "8cd7a4fcdd82f10cbf12cf21deffe6088a189a9d",
        "b608cb524f29d7f3fc45a7bb13efeb77d72aec24"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Thu Jul 23 07:25:24 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 07:25:24 2026 -0400"
      },
      "message": "Merge pull request #429 from sahvx655-wq/domain-reject-nameprep-stripped\n\nReject nameprep-stripped code points in unicodeToASCII"
    },
    {
      "commit": "b608cb524f29d7f3fc45a7bb13efeb77d72aec24",
      "tree": "70d9a6568b95a189313c2ef172fac330923269b3",
      "parents": [
        "21722b1eb43fb98f466abfb8b1d7e1790763ca8c"
      ],
      "author": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Thu Jul 23 14:47:12 2026 +0530"
      },
      "committer": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Thu Jul 23 14:47:12 2026 +0530"
      },
      "message": "cover zero-width non-joiner in testIDNFormatCodePoints\n"
    },
    {
      "commit": "21722b1eb43fb98f466abfb8b1d7e1790763ca8c",
      "tree": "f31d134aad88ffdc66477b8393a172d5e2a06402",
      "parents": [
        "8cd7a4fcdd82f10cbf12cf21deffe6088a189a9d"
      ],
      "author": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Thu Jul 23 04:29:42 2026 +0530"
      },
      "committer": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Thu Jul 23 04:29:42 2026 +0530"
      },
      "message": "reject nameprep-stripped code points in unicodeToASCII\n"
    },
    {
      "commit": "8cd7a4fcdd82f10cbf12cf21deffe6088a189a9d",
      "tree": "5a39634999efedf9d2730f7eec97f9441440a0af",
      "parents": [
        "aeacecfc58c70237f12502f7cc0cccfa7276e067"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jul 22 09:48:48 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jul 22 09:48:48 2026 -0400"
      },
      "message": "Require the IPv6: tag for bracketed IPv6 email literals (#428).\n\nSort members\n"
    },
    {
      "commit": "aeacecfc58c70237f12502f7cc0cccfa7276e067",
      "tree": "9f79b2ecbf8cfecba3b66b9614c9401f270fa3b4",
      "parents": [
        "01c4d5da88a7ceb07a0fa36f3a580f399fd0e2ca",
        "d0e24e9c71f92476d2a9a592bebae819718471a3"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Wed Jul 22 09:47:40 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 09:47:40 2026 -0400"
      },
      "message": "Merge pull request #428 from sahvx655-wq/email-ipv6-literal-tag\n\nRequire the IPv6: tag for bracketed IPv6 email literals"
    },
    {
      "commit": "01c4d5da88a7ceb07a0fa36f3a580f399fd0e2ca",
      "tree": "e8a4c091257c9764fecbc934644f2a3bddaafcb0",
      "parents": [
        "51fc16d52a661f9f0006fb1429b3243c4f48c08e"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jul 22 09:43:13 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jul 22 09:43:13 2026 -0400"
      },
      "message": "Bump org.apache.commons:commons-parent from 102 to 103.\n"
    },
    {
      "commit": "d0e24e9c71f92476d2a9a592bebae819718471a3",
      "tree": "ff4ff2c46dfee4a2e6c8e662dfaa62d4e547cbee",
      "parents": [
        "29558d4a56e5f34aa23e1a6232c67c0543c2015d"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Wed Jul 22 08:15:01 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 08:15:01 2026 -0400"
      },
      "message": "Convert inline comment to Javadoc\n\nAdded Javadoc comment for IP_DOMAIN_REGEX to clarify its purpose."
    },
    {
      "commit": "29558d4a56e5f34aa23e1a6232c67c0543c2015d",
      "tree": "d75f345f34e0c5286ddd3bb50e2ffaf287202654",
      "parents": [
        "339edc48f3d5060d7481e4fb002124b322ac8444"
      ],
      "author": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Wed Jul 22 15:14:14 2026 +0530"
      },
      "committer": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Wed Jul 22 15:14:14 2026 +0530"
      },
      "message": "match the IPv6: tag in IP_DOMAIN_REGEX instead of string matching\n"
    },
    {
      "commit": "51fc16d52a661f9f0006fb1429b3243c4f48c08e",
      "tree": "e1911203a908184950fcfcd87f4fbd80ae2628e5",
      "parents": [
        "9b34c958120b723e82703c25a8a28ec33c28fa32"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Jul 21 13:46:13 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Jul 21 13:46:13 2026 -0400"
      },
      "message": "Bump github/codeql-action from 4.37.0 to 4.37.1\n"
    },
    {
      "commit": "339edc48f3d5060d7481e4fb002124b322ac8444",
      "tree": "d3e6909fdbe49e1d0b961c4e5857a310f334b2e0",
      "parents": [
        "9b34c958120b723e82703c25a8a28ec33c28fa32"
      ],
      "author": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Tue Jul 21 22:23:32 2026 +0530"
      },
      "committer": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Tue Jul 21 22:23:32 2026 +0530"
      },
      "message": "require the IPv6: tag for bracketed IPv6 email literals\n"
    },
    {
      "commit": "9b34c958120b723e82703c25a8a28ec33c28fa32",
      "tree": "d2bf55cfd4b9c9b68b1674eeaee1fc66add38983",
      "parents": [
        "67b621653b4bd0c717d57a866187fcc7e15a4590"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Jul 21 11:46:30 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Jul 21 11:46:30 2026 -0400"
      },
      "message": "Bump actions/setup-java from 5.5.0 to 5.6.0\n"
    },
    {
      "commit": "67b621653b4bd0c717d57a866187fcc7e15a4590",
      "tree": "2a09125eedef2c1960e1aa6ce4e397218f977678",
      "parents": [
        "961e6b11a546eccd99fe3e7897a6ae7312ee5a1d"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jul 20 13:08:15 2026 -0700"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jul 20 13:08:15 2026 -0700"
      },
      "message": "Internal refactoring"
    },
    {
      "commit": "961e6b11a546eccd99fe3e7897a6ae7312ee5a1d",
      "tree": "71368575f63656f3b269dbffc72e7e8b701e0268",
      "parents": [
        "c07cb7df348dba39ec0e15878c98e31301b408dc"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jul 20 13:03:59 2026 -0700"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jul 20 13:03:59 2026 -0700"
      },
      "message": "Sort members\n"
    },
    {
      "commit": "c07cb7df348dba39ec0e15878c98e31301b408dc",
      "tree": "f38335a232f4f8d5258373f5a3c998ffa8f5cf6f",
      "parents": [
        "0632d5e989a040af8cef7ef42a573b65cb1a51f7"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jul 20 13:02:39 2026 -0700"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jul 20 13:02:39 2026 -0700"
      },
      "message": "Reject over-length codes in ABA, CUSIP, ISBN-10 and EAN-13 check digits\n(#427)."
    },
    {
      "commit": "0632d5e989a040af8cef7ef42a573b65cb1a51f7",
      "tree": "fd9f26b2ef3c7a92b6557c9696b99ebe33438211",
      "parents": [
        "8b42ad531269da38e45c202dde69371802fc48bd",
        "a454ce8df90b4481f2f82b99d8d6534ab2f86747"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Mon Jul 20 16:01:40 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 20 16:01:40 2026 -0400"
      },
      "message": "Merge pull request #427 from sahvx655-wq/checkdigit-reject-over-length\n\nReject over-length codes in ABA, CUSIP, ISBN-10 and EAN-13 check digits"
    },
    {
      "commit": "a454ce8df90b4481f2f82b99d8d6534ab2f86747",
      "tree": "fd9f26b2ef3c7a92b6557c9696b99ebe33438211",
      "parents": [
        "8b42ad531269da38e45c202dde69371802fc48bd"
      ],
      "author": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Mon Jul 20 23:09:45 2026 +0530"
      },
      "committer": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Mon Jul 20 23:09:45 2026 +0530"
      },
      "message": "reject over-length codes in ABA, CUSIP, ISBN-10 and EAN-13 check digits\n"
    },
    {
      "commit": "8b42ad531269da38e45c202dde69371802fc48bd",
      "tree": "c3077aa5df7211dda0bdaa29431ce37234ef1353",
      "parents": [
        "813e1ccf7e1abb07439fa09abcdcedc56170b338"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 18 07:15:35 2026 -0700"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 18 07:15:35 2026 -0700"
      },
      "message": "Reject fractional input in GenericTypeValidator integer helpers (#423)."
    },
    {
      "commit": "813e1ccf7e1abb07439fa09abcdcedc56170b338",
      "tree": "8d1ee77b2ef4fffa8a71563599f3323b9b5ab3e7",
      "parents": [
        "5b727e4e755dc6ba17128493f2669a0b97e9d5b4",
        "d8fe141d63f4d72d77d5e4e46a38eea484504377"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Sat Jul 18 07:14:23 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 18 07:14:23 2026 -0700"
      },
      "message": "Merge pull request #423 from sahvx655-wq/generictype-integer-fractional\n\nReject fractional input in GenericTypeValidator integer helpers"
    },
    {
      "commit": "d8fe141d63f4d72d77d5e4e46a38eea484504377",
      "tree": "a556437f1c60b339e4af227b5a2a5119c6cc540c",
      "parents": [
        "464c6af39e82b2de187ecb1bcddeadb5efd20e24"
      ],
      "author": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Sat Jul 18 14:17:34 2026 +0530"
      },
      "committer": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Sat Jul 18 14:17:34 2026 +0530"
      },
      "message": "Split fractional-input test into one method per API\n"
    },
    {
      "commit": "5b727e4e755dc6ba17128493f2669a0b97e9d5b4",
      "tree": "853a676250a6ac1794d0af1e9e02fb4262676bee",
      "parents": [
        "57fbed02480b76484f49367dccf614192da57c94"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 17 13:32:28 2026 -0700"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 17 13:32:28 2026 -0700"
      },
      "message": "Reject over-length codes in ISSNCheckDigit (#426)."
    },
    {
      "commit": "57fbed02480b76484f49367dccf614192da57c94",
      "tree": "af2b525f2d839066e00302cca25bbbd9f4d41dc2",
      "parents": [
        "8c61255246840779ce621b198b04c15728f2cc12",
        "1cf22d17936637203a4901c40f7716a13513b14f"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Fri Jul 17 13:30:24 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 17 13:30:24 2026 -0700"
      },
      "message": "Merge pull request #426 from sahvx655-wq/issn-reject-over-length\n\nReject over-length codes in ISSNCheckDigit"
    },
    {
      "commit": "1cf22d17936637203a4901c40f7716a13513b14f",
      "tree": "af2b525f2d839066e00302cca25bbbd9f4d41dc2",
      "parents": [
        "8c61255246840779ce621b198b04c15728f2cc12"
      ],
      "author": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Fri Jul 17 23:05:57 2026 +0530"
      },
      "committer": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Fri Jul 17 23:05:57 2026 +0530"
      },
      "message": "reject over-length codes in ISSNCheckDigit\n"
    },
    {
      "commit": "8c61255246840779ce621b198b04c15728f2cc12",
      "tree": "83801fc9f85ca8d7e11dae1dc04d39c93eb3ef1b",
      "parents": [
        "ee9bf324a939c9c775a7b64c023b2f14707b6327"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 17 07:40:18 2026 -0700"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 17 07:40:18 2026 -0700"
      },
      "message": "Reject leading and trailing label hyphens in DomainValidator\nunicodeToASCII (#424)."
    },
    {
      "commit": "ee9bf324a939c9c775a7b64c023b2f14707b6327",
      "tree": "6fe2ba0082976038a1392cbf88a9d80d3065e28c",
      "parents": [
        "f38422b29ec808f5d14cfc818ae568f77bd1eba9",
        "d17f3928f0af51d9b5b0a6018f5aab4bf31ba208"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Fri Jul 17 07:36:53 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 17 07:36:53 2026 -0700"
      },
      "message": "Merge pull request #424 from sahvx655-wq/domain-reject-boundary-hyphen\n\nReject leading and trailing label hyphens in unicodeToASCII"
    },
    {
      "commit": "f38422b29ec808f5d14cfc818ae568f77bd1eba9",
      "tree": "9f56f829b6680e29167075fb1f8e9c5b1392f0cd",
      "parents": [
        "d7c8a77c8313139e6c7c662666009ab486931dfd"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jul 16 20:30:47 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jul 16 20:30:47 2026 -0400"
      },
      "message": "Sort members.\n"
    },
    {
      "commit": "d7c8a77c8313139e6c7c662666009ab486931dfd",
      "tree": "d8a67017492f2365004eb555ab5b2fb4fde72005",
      "parents": [
        "56cb05a7cb12f7bb924bf6a6eac9505c01b01ec9"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jul 16 20:30:29 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jul 16 20:30:29 2026 -0400"
      },
      "message": "Reject trailing characters in strict date validation (#425)."
    },
    {
      "commit": "56cb05a7cb12f7bb924bf6a6eac9505c01b01ec9",
      "tree": "522427357af30d5ac67f6547d4f1375943cf8bee",
      "parents": [
        "3490e392cabdb2936b1b3552e62cd56177762474",
        "e59a82cdc32cb0d277b1b2f7eea137a2f5399f6c"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Thu Jul 16 17:28:24 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 16 17:28:24 2026 -0700"
      },
      "message": "Merge pull request #425 from sahvx655-wq/date-strict-trailing-chars\n\nreject trailing characters in strict date validation"
    },
    {
      "commit": "e59a82cdc32cb0d277b1b2f7eea137a2f5399f6c",
      "tree": "522427357af30d5ac67f6547d4f1375943cf8bee",
      "parents": [
        "3490e392cabdb2936b1b3552e62cd56177762474"
      ],
      "author": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Thu Jul 16 23:26:39 2026 +0530"
      },
      "committer": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Thu Jul 16 23:26:39 2026 +0530"
      },
      "message": "reject trailing characters in strict date validation\n\nParse with a ParsePosition and require the whole value to be consumed when strict, so a value with trailing text such as \"11/11/199f\" no longer validates against \"MM/dd/yyyy\".\n"
    },
    {
      "commit": "d17f3928f0af51d9b5b0a6018f5aab4bf31ba208",
      "tree": "93922a5509463fd95cf6c191136110d802aa0caf",
      "parents": [
        "3490e392cabdb2936b1b3552e62cd56177762474"
      ],
      "author": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Thu Jul 16 18:06:52 2026 +0530"
      },
      "committer": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Thu Jul 16 18:06:52 2026 +0530"
      },
      "message": "reject leading and trailing label hyphens in unicodeToASCII\n"
    },
    {
      "commit": "464c6af39e82b2de187ecb1bcddeadb5efd20e24",
      "tree": "170268ea0dd78d89cd19a3e6591b85e4aef8ee96",
      "parents": [
        "3490e392cabdb2936b1b3552e62cd56177762474"
      ],
      "author": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Wed Jul 15 17:05:21 2026 +0530"
      },
      "committer": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Wed Jul 15 17:05:21 2026 +0530"
      },
      "message": "reject fractional input in integer format helpers\n"
    },
    {
      "commit": "3490e392cabdb2936b1b3552e62cd56177762474",
      "tree": "24e62b5cf5f6bdf490a99aab57e4d1080ecbe0e9",
      "parents": [
        "ef15af25b0a18afedef6a1a4c23c4f65df5c7f57"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jul 13 13:50:28 2026 -0700"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jul 13 13:50:28 2026 -0700"
      },
      "message": "Bump actions/setup-java from 5.4.0 to 5.5.0\n"
    },
    {
      "commit": "ef15af25b0a18afedef6a1a4c23c4f65df5c7f57",
      "tree": "72c0a57327d90faada03a96d5021c430af88dba8",
      "parents": [
        "e0015ac10faa1e968b733024e7147b811c3a712c"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jul 13 12:29:15 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jul 13 12:29:15 2026 -0400"
      },
      "message": "Reject control characters in EmailValidator local part (#422)."
    },
    {
      "commit": "e0015ac10faa1e968b733024e7147b811c3a712c",
      "tree": "ab3ae845eabc5af6c9855a2ca77019dc3686e34e",
      "parents": [
        "d2562c67ca349c2d616fb24c13e95e70eefaa541",
        "7a9f39d229cd4ea5587de8ab3e0fdbdf8d03188f"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Mon Jul 13 12:27:21 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 12:27:21 2026 -0400"
      },
      "message": "Merge pull request #422 from sahvx655-wq/email-reject-control-chars\n\nReject control characters in EmailValidator local part"
    },
    {
      "commit": "7a9f39d229cd4ea5587de8ab3e0fdbdf8d03188f",
      "tree": "ab3ae845eabc5af6c9855a2ca77019dc3686e34e",
      "parents": [
        "d2562c67ca349c2d616fb24c13e95e70eefaa541"
      ],
      "author": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Mon Jul 13 21:10:08 2026 +0530"
      },
      "committer": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Mon Jul 13 21:10:08 2026 +0530"
      },
      "message": "reject control characters in EmailValidator local part\n\nThe quoted-string production accepted any character and the unquoted atom used the ASCII-only \\p{Cntrl}, so a control character passed the local part whether quoted, backslash-escaped, or in the C1 range. Exclude \\p{Cc} across all three local-part productions in both validators.\n"
    },
    {
      "commit": "d2562c67ca349c2d616fb24c13e95e70eefaa541",
      "tree": "b5a9bcb530df2152acf7fd221f0e14cc60c0f692",
      "parents": [
        "b469ff3b8b91b1934b05f14f7f8b12e04ffd3efd"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 18:16:02 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 18:16:02 2026 -0400"
      },
      "message": "Allow userinfo before a bracketed IPv6 host in isValidAuthority (#421)."
    },
    {
      "commit": "b469ff3b8b91b1934b05f14f7f8b12e04ffd3efd",
      "tree": "31c60fdcf388e48ac6fd6d4968ce4409249c3fa3",
      "parents": [
        "111497271c8502324d67fae327e3e797545061b0",
        "20759341c5a338f13533a8071a13f5d6dd7da9b1"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Sat Jul 11 18:15:00 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 11 18:15:00 2026 -0400"
      },
      "message": "Merge pull request #421 from sahvx655-wq/url-ipv6-userinfo\n\nAllow userinfo before a bracketed IPv6 host in isValidAuthority"
    },
    {
      "commit": "111497271c8502324d67fae327e3e797545061b0",
      "tree": "0f5162cf20a098630d03d13180b6d527ab84954f",
      "parents": [
        "b27511baf789e9dedf3d969d006af0e7480e9445"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 18:13:28 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 18:13:28 2026 -0400"
      },
      "message": "Reject format code points in DomainValidator.unicodeToASCII (#420)."
    },
    {
      "commit": "b27511baf789e9dedf3d969d006af0e7480e9445",
      "tree": "19f41de2e70134a0e1fef39f821b7e30cb5e9059",
      "parents": [
        "4098f0c201e161ba3904063e057e6c5810def045",
        "23a29e942f822aaa137097a4f8613f18dad9658d"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Sat Jul 11 18:12:32 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 11 18:12:32 2026 -0400"
      },
      "message": "Merge pull request #420 from sahvx655-wq/domain-reject-format-code-points\n\nreject format code points in DomainValidator.unicodeToASCII"
    },
    {
      "commit": "20759341c5a338f13533a8071a13f5d6dd7da9b1",
      "tree": "bb963f0cd73f035948000577bddbaed0a00fd2f0",
      "parents": [
        "4098f0c201e161ba3904063e057e6c5810def045"
      ],
      "author": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Sun Jul 12 02:55:40 2026 +0530"
      },
      "committer": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Sun Jul 12 02:55:40 2026 +0530"
      },
      "message": "allow userinfo before a bracketed IPv6 host in isValidAuthority\n"
    },
    {
      "commit": "23a29e942f822aaa137097a4f8613f18dad9658d",
      "tree": "19f41de2e70134a0e1fef39f821b7e30cb5e9059",
      "parents": [
        "4098f0c201e161ba3904063e057e6c5810def045"
      ],
      "author": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Sun Jul 12 00:22:23 2026 +0530"
      },
      "committer": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Sun Jul 12 00:22:23 2026 +0530"
      },
      "message": "reject format code points in DomainValidator.unicodeToASCII\n"
    },
    {
      "commit": "4098f0c201e161ba3904063e057e6c5810def045",
      "tree": "4fd1f60dae1806e3457a7ef6bca341fa290c92e9",
      "parents": [
        "c2448fd682324313336a7d4c6adff5fd44e92367"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 11:22:52 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 11:22:52 2026 -0400"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "c2448fd682324313336a7d4c6adff5fd44e92367",
      "tree": "58afb921c9fad5c1690c51f8ac37f22e15fcffbe",
      "parents": [
        "2d8a90bed63139cc9d2b4489f90c62960815eeb0"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 09:09:20 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 09:09:20 2026 -0400"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "2d8a90bed63139cc9d2b4489f90c62960815eeb0",
      "tree": "de462989054880605d34ebd4bf981c77e2769d95",
      "parents": [
        "39e57f65030ca1bbf580cddcd66a0ffb76bd1650"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 08:46:51 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 08:46:51 2026 -0400"
      },
      "message": "Javadoc\n"
    }
  ],
  "next": "39e57f65030ca1bbf580cddcd66a0ffb76bd1650"
}
