)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "39e57f65030ca1bbf580cddcd66a0ffb76bd1650",
      "tree": "87d0d39a4c37569f60e998ba95aaa293d37f86ed",
      "parents": [
        "774b017f35dc88baa510002bac3023c4c5c66fdc"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 07:41:58 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 07:41:58 2026 -0400"
      },
      "message": "Import once instead of using FQCN over and over.\n"
    },
    {
      "commit": "774b017f35dc88baa510002bac3023c4c5c66fdc",
      "tree": "d8531e0d0d11d677c3e82cc75f9cfcd8c1e603d9",
      "parents": [
        "01ee820099354096dac528fb88276fa621a2ac1d"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 07:39:37 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 07:39:37 2026 -0400"
      },
      "message": "Sort members\n"
    },
    {
      "commit": "01ee820099354096dac528fb88276fa621a2ac1d",
      "tree": "5b2df194e754c0564dd8e59cd634f45e757085f0",
      "parents": [
        "33a415e3293febb8fb8a6476a1fdd74b1e7f3e13"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 07:32:06 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 07:32:06 2026 -0400"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "33a415e3293febb8fb8a6476a1fdd74b1e7f3e13",
      "tree": "dc645a1dc8362c62d33b1557f44197c92c465a26",
      "parents": [
        "dad61af56e8bc2ecd43fd845b50556e72fc832c8"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 07:30:41 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 07:30:41 2026 -0400"
      },
      "message": "Avoid BigDecimal roundtrips when you can in\nAbstractNumberValidator.toBigInteger(Object)\n"
    },
    {
      "commit": "dad61af56e8bc2ecd43fd845b50556e72fc832c8",
      "tree": "9f18068c2382445140c4ab01ec26e8c8e14f8ec9",
      "parents": [
        "ee11326c8c74049d87a27f3ccc75a0167934478c"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 07:29:13 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 07:29:13 2026 -0400"
      },
      "message": "Avoid String roundtrips when you can in\nAbstractNumberValidator.toBigDecimal(Object)\n"
    },
    {
      "commit": "ee11326c8c74049d87a27f3ccc75a0167934478c",
      "tree": "59bfa1ad70e32446f456f6b5ca93a716f8b5143e",
      "parents": [
        "65a8fd4a569858989d475892daec0c65af163608"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 07:25:38 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 07:25:38 2026 -0400"
      },
      "message": "Handle Float operand in AbstractNumberValidator.toBigDecimal (#419)."
    },
    {
      "commit": "65a8fd4a569858989d475892daec0c65af163608",
      "tree": "fb011f9a8f6bad1d62250a5444986611107fea5e",
      "parents": [
        "7fe8b61be1df7ce141f8c63d9c78338bfa57788b",
        "61b5f35e278d79861f15eb75f33dd8518184495b"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Sat Jul 11 07:24:53 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 11 07:24:53 2026 -0400"
      },
      "message": "Merge pull request #419 from sahvx655-wq/tobigdecimal-float-operand\n\nHandle Float operand in AbstractNumberValidator.toBigDecimal"
    },
    {
      "commit": "7fe8b61be1df7ce141f8c63d9c78338bfa57788b",
      "tree": "e11ee9bf2dc328969d4fb6a1ecc8a8e75399443b",
      "parents": [
        "5c228cc5b518b223caf792900df664b14c03da30"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 07:21:17 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 07:21:17 2026 -0400"
      },
      "message": "Merge if statements\n"
    },
    {
      "commit": "5c228cc5b518b223caf792900df664b14c03da30",
      "tree": "27e5640793de410471e2ae8c1617b6cf80fc1f23",
      "parents": [
        "bc2f6a44faa4cb8dd7d865c6085cf17303b24190"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 07:21:07 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 07:21:07 2026 -0400"
      },
      "message": "Merge if statements\n"
    },
    {
      "commit": "bc2f6a44faa4cb8dd7d865c6085cf17303b24190",
      "tree": "4443abaa8fe6494aca57a18472b7a28b94fd3b1b",
      "parents": [
        "f9ea534349262fee7557fb91941c8a4f94ba0b9a"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 07:19:07 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 07:19:07 2026 -0400"
      },
      "message": "Use vararg\n"
    },
    {
      "commit": "f9ea534349262fee7557fb91941c8a4f94ba0b9a",
      "tree": "9d4cc210fc1ecb0cd68f9d46a36ea89c5cc8ab2a",
      "parents": [
        "e600cdd87009354ee32f589cf070007cc58af0e5"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 07:17:35 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 07:17:35 2026 -0400"
      },
      "message": "Fix typo in changes.xml.\n"
    },
    {
      "commit": "e600cdd87009354ee32f589cf070007cc58af0e5",
      "tree": "a9e068c3dcefb0c5a1db4b200adeea82fc5f810d",
      "parents": [
        "942c7145ae8502eadc5f51af495a60f00e13eac4"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 07:17:12 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 07:17:12 2026 -0400"
      },
      "message": "Sort members\n"
    },
    {
      "commit": "942c7145ae8502eadc5f51af495a60f00e13eac4",
      "tree": "5d6518f12e057642325f0ad4b32a67622241ac12",
      "parents": [
        "0432152244a05c4b6447262aa70e75ef1df299d1"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 07:16:53 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 11 07:16:53 2026 -0400"
      },
      "message": "Reject fractional exponent input in BigIntegerValidator (#418)."
    },
    {
      "commit": "0432152244a05c4b6447262aa70e75ef1df299d1",
      "tree": "d5bf71644a0b617e6252dd58116f29223263300e",
      "parents": [
        "d01e174d908ad640b4176a28f39e40fd08043386",
        "da392889f5e530a84470dfa618693bcea4afd2c3"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Sat Jul 11 07:15:35 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 11 07:15:35 2026 -0400"
      },
      "message": "Merge pull request #418 from sahvx655-wq/bigint-reject-fractional-exponent\n\nReject fractional exponent input in BigIntegerValidator"
    },
    {
      "commit": "61b5f35e278d79861f15eb75f33dd8518184495b",
      "tree": "f50b24b4b29fcb62b1ae3b80d230847d031335c7",
      "parents": [
        "6001d18d428878fcfefa835dcc77a36107a9dcac"
      ],
      "author": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Sat Jul 11 10:44:36 2026 +0530"
      },
      "committer": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Sat Jul 11 10:44:36 2026 +0530"
      },
      "message": "add negative-bound and non-finite Float cases to the range tests\n"
    },
    {
      "commit": "d01e174d908ad640b4176a28f39e40fd08043386",
      "tree": "11f7de649b90ec5c0243371dc3cda0cbc894bdd8",
      "parents": [
        "4f0ad7ec3e0824ea32b9c25cc8acc552142ff467"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 10 21:52:50 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 10 21:52:50 2026 -0400"
      },
      "message": "Reject fractional scientific notation in ShortValidator (#417)."
    },
    {
      "commit": "4f0ad7ec3e0824ea32b9c25cc8acc552142ff467",
      "tree": "046dd4a0cfa0a11c4207f11f24e89abd160c19db",
      "parents": [
        "8a273a80d11f6deba80a3905ac36b64e4a0b906c",
        "4ceb3abb79a493cdb90d18e47d582e4c63d4e1bd"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Fri Jul 10 21:51:30 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 10 21:51:30 2026 -0400"
      },
      "message": "Merge pull request #417 from sahvx655-wq/short-reject-fractional\n\nReject fractional scientific notation in ShortValidator"
    },
    {
      "commit": "8a273a80d11f6deba80a3905ac36b64e4a0b906c",
      "tree": "35c39ffa02045e64bd729a9d27d0a3e6d3d563aa",
      "parents": [
        "55dad58f10416c6fac5150830b7a91e7ce82232d"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 10 09:09:20 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 10 09:09:20 2026 -0400"
      },
      "message": "Bump github/codeql-action from 4.36.3 to 4.37.0\n"
    },
    {
      "commit": "55dad58f10416c6fac5150830b7a91e7ce82232d",
      "tree": "7b3a123ef860be00bf1c5c8d9c9fecbd1f25d23b",
      "parents": [
        "1705c4e60110f54b27100bd07f19c7f6b3f7689e"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jul 08 16:15:31 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jul 08 16:15:31 2026 -0400"
      },
      "message": "Bump github/codeql-action from 4.36.2 to 4.36.3\n"
    },
    {
      "commit": "6001d18d428878fcfefa835dcc77a36107a9dcac",
      "tree": "4a0e51586f9bf5b8726dc54361235e0369ff3131",
      "parents": [
        "1705c4e60110f54b27100bd07f19c7f6b3f7689e"
      ],
      "author": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Wed Jul 08 18:55:36 2026 +0530"
      },
      "committer": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Wed Jul 08 18:55:36 2026 +0530"
      },
      "message": "handle Float operand in AbstractNumberValidator.toBigDecimal\n"
    },
    {
      "commit": "da392889f5e530a84470dfa618693bcea4afd2c3",
      "tree": "d8685360916b7062427ca38606728666b363cf01",
      "parents": [
        "1705c4e60110f54b27100bd07f19c7f6b3f7689e"
      ],
      "author": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Tue Jul 07 16:00:55 2026 +0530"
      },
      "committer": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Tue Jul 07 16:00:55 2026 +0530"
      },
      "message": "reject fractional exponent input in BigIntegerValidator\n"
    },
    {
      "commit": "4ceb3abb79a493cdb90d18e47d582e4c63d4e1bd",
      "tree": "501693f2c8d442e71fc9d4e3c60551e059dead8f",
      "parents": [
        "1705c4e60110f54b27100bd07f19c7f6b3f7689e"
      ],
      "author": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Mon Jul 06 18:41:44 2026 +0530"
      },
      "committer": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Mon Jul 06 18:41:44 2026 +0530"
      },
      "message": "reject fractional scientific notation in ShortValidator\n\nSigned-off-by: Sahana Bogar \u003csahvx655@gmail.com\u003e\n"
    },
    {
      "commit": "1705c4e60110f54b27100bd07f19c7f6b3f7689e",
      "tree": "c05feda217709ba65cbf8eb6f2ff804d679b5a6b",
      "parents": [
        "bb75ad54fbace0cc07fbe1f8a7f41864309432fd"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 04 19:24:38 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 04 19:24:38 2026 -0400"
      },
      "message": "Normalize spelling\n"
    },
    {
      "commit": "bb75ad54fbace0cc07fbe1f8a7f41864309432fd",
      "tree": "b309a6ee14f8c411b336641d50f787b08f6b8974",
      "parents": [
        "e095d69655073309b33fabc382f8cbd1bef2fb83"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 04 19:24:21 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 04 19:24:21 2026 -0400"
      },
      "message": "Normalize spelling\n"
    },
    {
      "commit": "e095d69655073309b33fabc382f8cbd1bef2fb83",
      "tree": "740813fb7e0cffee814edf30a9ca4df9787bafa8",
      "parents": [
        "1d544ac65a1c617e9fc8382f0958b04d68ed48e7"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 04 14:53:40 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 04 14:53:40 2026 -0400"
      },
      "message": "Compare exact bound in AbstractNumberValidator range checks (#416).\n"
    },
    {
      "commit": "1d544ac65a1c617e9fc8382f0958b04d68ed48e7",
      "tree": "184eca9c2ed669a2ea2e5d48aab0b412808f36c1",
      "parents": [
        "339b52501983569196a185f25ad327f36031cd99"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 04 14:52:48 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 04 14:52:48 2026 -0400"
      },
      "message": "Sort members\n"
    },
    {
      "commit": "339b52501983569196a185f25ad327f36031cd99",
      "tree": "46c8cd8d0dee42224a46d579baec3a6a4088919f",
      "parents": [
        "dff72662052af44d536bdba5c2eae064273e16a1",
        "007766c3041e762375d23669f0c1ea50a76bf7ef"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Sat Jul 04 14:49:07 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 04 14:49:07 2026 -0400"
      },
      "message": "Merge pull request #416 from sahvx655-wq/integer-range-exact-bound\n\nCompare exact bound in AbstractNumberValidator range checks"
    },
    {
      "commit": "007766c3041e762375d23669f0c1ea50a76bf7ef",
      "tree": "413170f77e721a4e943bac4ec3c0966c06be45eb",
      "parents": [
        "46149f592f559fbc9e5d162550761162aeb18cf0"
      ],
      "author": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Sat Jul 04 18:08:20 2026 +0530"
      },
      "committer": {
        "name": "Sahana Bogar",
        "email": "sahvx655@gmail.com",
        "time": "Sat Jul 04 18:08:20 2026 +0530"
      },
      "message": "Cover remaining AbstractNumberValidator subclasses with exact-bound tests\n"
    },
    {
      "commit": "dff72662052af44d536bdba5c2eae064273e16a1",
      "tree": "79ac98eb67852543f34c988feae8090eca81db25",
      "parents": [
        "823fae32ad89f25c7bc8f79ea7735da0ea013979"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 04 07:55:48 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jul 04 07:55:48 2026 -0400"
      },
      "message": "Reject vowels in SedolCheckDigit (#415).\n\n- Merge range check\n- Sort members\n"
    }
  ],
  "next": "823fae32ad89f25c7bc8f79ea7735da0ea013979"
}
