)]}'
{
  "log": [
    {
      "commit": "c6206b8912894942b77db61d42fb53c63252cb46",
      "tree": "843a1a16fef910ca7756092f351156303c581145",
      "parents": [
        "11795636d6a5f69258ff51c1dde7e774008d702b"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Jun 21 15:24:06 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Jun 21 15:24:06 2026 +0000"
      },
      "message": "DeferredFileOutputStream better NPE message and new file permission\ntests (#862)."
    },
    {
      "commit": "11795636d6a5f69258ff51c1dde7e774008d702b",
      "tree": "9512b5569417824f1eba2f4e34ff5b14ccb2cf0e",
      "parents": [
        "b0cb5edb828f437a6db06c2422972f28dee66571"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Sun Jun 21 11:23:16 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 21 11:23:16 2026 -0400"
      },
      "message": "DeferredFileOutputStream NPE clean up and new file permission tests (#862)\n\n- Add tests to validate owner permission on POSIX.\n- Refactor test to check a specific folder for POSIX instead of the\ndefault FS.\n- DeferredFileOutputStream.thresholdReached(): Throws an NPE with a\nuseful message.\n- DeferredFileOutputStream.thresholdReached(): Better local variable\nname."
    },
    {
      "commit": "b0cb5edb828f437a6db06c2422972f28dee66571",
      "tree": "702d8035f07cffbf6470c47333c13c34caf28fbb",
      "parents": [
        "6c9f737d9834148da8ccf77c7708ccbe6671a531"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Jun 21 12:11:06 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Jun 21 12:11:06 2026 +0000"
      },
      "message": "Javadoc\n\n- Use Math.max().\n"
    },
    {
      "commit": "6c9f737d9834148da8ccf77c7708ccbe6671a531",
      "tree": "3ce7738969818bcdc3d954a1a0e464f42e24eae9",
      "parents": [
        "913cb004427aa072022750376c3fde227b886a20"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Jun 21 12:08:47 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Jun 21 12:08:47 2026 +0000"
      },
      "message": "Javadoc\n\n- Use Math.min().\n"
    },
    {
      "commit": "913cb004427aa072022750376c3fde227b886a20",
      "tree": "33c00a70b0e2d52ad50716ad2b009c8709434727",
      "parents": [
        "f207d5d7cf10a0cab331fb48a4b20d791dce8991"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jun 20 14:00:46 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jun 20 14:00:46 2026 +0000"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "f207d5d7cf10a0cab331fb48a4b20d791dce8991",
      "tree": "d08c3722ed6e75085a551b3f0c30d9202d97fffd",
      "parents": [
        "0daf9ec7552e43f7d8588e8b7a1906785b60794c"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jun 20 14:00:08 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jun 20 14:00:08 2026 +0000"
      },
      "message": "Javadoc\n\n- FilenameUtils.requireNonNullChars():\nReduce wordiness in exception message\n- Use longer lines\n- Less whitepsace in expressions\n"
    },
    {
      "commit": "0daf9ec7552e43f7d8588e8b7a1906785b60794c",
      "tree": "fb7d81d725f5abd0427ec42bff3d6200187909c9",
      "parents": [
        "bd21a5c1a727512119e94c8f084585a023c1aade"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jun 20 13:50:01 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jun 20 13:50:01 2026 +0000"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "bd21a5c1a727512119e94c8f084585a023c1aade",
      "tree": "3cda451b19da560af00bfc0b6a0400034f5d181c",
      "parents": [
        "82513480531ccd1b4cd9d4be9c76aedef8f76ef3"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 19 14:08:23 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 19 14:08:23 2026 +0000"
      },
      "message": "Refactpr boolean statements into an expression.\n\nJavadoc\n"
    },
    {
      "commit": "82513480531ccd1b4cd9d4be9c76aedef8f76ef3",
      "tree": "9e0b88f82f75ddd90cb4be4320f1eac6c9afd2af",
      "parents": [
        "c1e41dd586efe9a180c3df475e43c22e6d1fc2e1"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 19 07:28:38 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 19 07:28:38 2026 -0400"
      },
      "message": "Bump actions/checkout from 6.0.3 to 7.0.0.\n"
    },
    {
      "commit": "c1e41dd586efe9a180c3df475e43c22e6d1fc2e1",
      "tree": "d09d0063ecbc23dc5924f42fde8647f09fc851af",
      "parents": [
        "25143b7b5a25799514fa5416a5028449bde83eb6"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 19 01:32:44 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 19 01:32:44 2026 +0000"
      },
      "message": "Sort members.\n"
    },
    {
      "commit": "25143b7b5a25799514fa5416a5028449bde83eb6",
      "tree": "cc1a4f38cf6bb4fe0cedc258380af8844d9529ca",
      "parents": [
        "e806e6b5926993ec6348a78542b1e1377a765e88"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 19 01:31:38 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 19 01:31:38 2026 +0000"
      },
      "message": "[IO-891] Fix BoundedReader.skip(long) accounting and bounds handling\n(#860).\n"
    },
    {
      "commit": "e806e6b5926993ec6348a78542b1e1377a765e88",
      "tree": "3f58de04fe7c9d668c2fee17423be8bc6ca6bbec",
      "parents": [
        "cfe19ad9dcc9d0c7308e2dc187b2f8b57de21af0"
      ],
      "author": {
        "name": "Sarankumar Baskar",
        "email": "saranbaskar121@gmail.com",
        "time": "Fri Jun 19 06:59:42 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 18 21:29:42 2026 -0400"
      },
      "message": "[IO-891] Fix BoundedReader.skip(long) accounting and bounds handling (#860)\n\n* [IO-891] Fix BoundedReader skip accounting\nLimit skip requests to the remaining bound and update charsRead with the actual skipped count.\n\n* [IO-891] Refine BoundedReader skip bounds fix\n         Keep skip(long) focused on maxCharsFromTargetReader and actual skipped count, without treating mark read-ahead as a hard limit.\n\n* Fix Checkstyle build failure\n\n---------\n\nCo-authored-by: Sarankumar Baskar \u003csbaskar@redhat.com\u003e\nCo-authored-by: Gary Gregory \u003cgarydgregory@users.noreply.github.com\u003e"
    },
    {
      "commit": "cfe19ad9dcc9d0c7308e2dc187b2f8b57de21af0",
      "tree": "dd4163f3db54436f24c53412ab559a268ca054c7",
      "parents": [
        "e100c754d9922e9787fed65331536ce8acd947f4"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 19 00:59:58 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 19 00:59:58 2026 +0000"
      },
      "message": "Add serialVersionUID to test fixture\n"
    },
    {
      "commit": "e100c754d9922e9787fed65331536ce8acd947f4",
      "tree": "a93c04c6498d336585fb9493e24e47d03fa8eec0",
      "parents": [
        "1298619ae11b0a2016f0d6d6c601a3dc54eb321f"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 19 00:52:55 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 19 00:52:55 2026 +0000"
      },
      "message": "Remove @SuppressWarnings(\"ResultOfMethodCallIgnored\")\n"
    },
    {
      "commit": "1298619ae11b0a2016f0d6d6c601a3dc54eb321f",
      "tree": "34f6e134bb8da2800629889f8800a50713251da5",
      "parents": [
        "9bc45cff767cc1cf6d729175f3aacb3e21bee180"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 19 00:51:36 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 19 00:51:36 2026 +0000"
      },
      "message": "Fix compiler warning.\n"
    },
    {
      "commit": "9bc45cff767cc1cf6d729175f3aacb3e21bee180",
      "tree": "cdd0e87f32bbbc4595359ec7e62107f528bcb6fa",
      "parents": [
        "dfcf093d75184c128ec426e3b2e03ad6d252e9e6"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 19 00:51:33 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 19 00:51:33 2026 +0000"
      },
      "message": "Fix compiler warning.\n"
    },
    {
      "commit": "dfcf093d75184c128ec426e3b2e03ad6d252e9e6",
      "tree": "a1c25fc158b33b302735fbb48ed160ec9e4e396f",
      "parents": [
        "fe2f64c66c578f1e0b203f8946070019b0abb7c7"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 19 00:51:04 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 19 00:51:04 2026 +0000"
      },
      "message": "Fix compiler warning.\n"
    },
    {
      "commit": "fe2f64c66c578f1e0b203f8946070019b0abb7c7",
      "tree": "f3374c0d86e66c25167e96c4fd1d5db05e1c9441",
      "parents": [
        "28c9b28aec973f1ed512f5a4d8def7c3bbb2eeff"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jun 17 18:38:18 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jun 17 18:38:18 2026 +0000"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "28c9b28aec973f1ed512f5a4d8def7c3bbb2eeff",
      "tree": "bd467281164e779de686588e00cbb2a11209c728",
      "parents": [
        "0c547ad99c6d7ab84a72d60462867cc4edafd13d"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jun 17 18:21:50 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jun 17 18:21:50 2026 +0000"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "0c547ad99c6d7ab84a72d60462867cc4edafd13d",
      "tree": "7f1ff02df34b6649af54fbe2e971e0cfee17cca2",
      "parents": [
        "f729612edfcaf17dd8b81e2735fc9a76e09791ef"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jun 13 13:10:14 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jun 13 13:10:14 2026 +0000"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "f729612edfcaf17dd8b81e2735fc9a76e09791ef",
      "tree": "89e0b19dc9e9710ffdc42ed35dbf4c703516f2e8",
      "parents": [
        "057d3b27cc464a760988fed104cc2f265908a0a7"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 12 14:48:11 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 12 14:48:11 2026 +0000"
      },
      "message": "Use final.\n"
    },
    {
      "commit": "057d3b27cc464a760988fed104cc2f265908a0a7",
      "tree": "3afc29de1bd07d43160f028cde3fdea2216fcd36",
      "parents": [
        "581b44fd648cdd696717465a5d22d403133ccfb9"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 12 14:47:02 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 12 14:47:02 2026 +0000"
      },
      "message": "Sort members\n"
    },
    {
      "commit": "581b44fd648cdd696717465a5d22d403133ccfb9",
      "tree": "6e81452aa80ea3cb374579cfa265ba5ade099538",
      "parents": [
        "25114c8c5b658fad570ac728765f410f0afd21ae"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 12 14:46:55 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 12 14:46:55 2026 +0000"
      },
      "message": "DeferredFileOutputStream now clears and deletes its temporary storage by\ndefault (#858)\n\nTo get the old behavior back, call\norg.apache.commons.io.output.DeferredFileOutputStream.Builder.setDeleteTempFileOnClose(false)\n\n- Add DeferredFileOutputStream.Builder.setDeleteTempFileOnClose(boolean)\n- Add PathUtils.clear[IfExists](Path)\n- Add PathUtils.deleteIfExists(Path)\n- Update generic type of RandomAccessFileMode.accept(Path, IOConsumer)\nfrom IOConsumer\u003cRandomAccessFile\u003e to IOConsumer\u003cIORandomAccessFile\u003e\n- Harden tests for NPEs on failures, happy path unchanged.\n"
    },
    {
      "commit": "25114c8c5b658fad570ac728765f410f0afd21ae",
      "tree": "c92b3768aeae7488da7bd844e46d8214f01bd0e9",
      "parents": [
        "eb7e99c4f24c62357839c4abd12a232b679b4746"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Fri Jun 12 10:43:27 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 10:43:27 2026 -0400"
      },
      "message": "DeferredFileOutputStream now clears and deletes its temporary storage by (#858)\n\ndefault.\n\nTo get the old behavior back, call\norg.apache.commons.io.output.DeferredFileOutputStream.Builder.setDeleteTempFileOnClose(false)\n\n- Add DeferredFileOutputStream.Builder.setDeleteTempFileOnClose(boolean)\n- Add PathUtils.clear[IfExists](Path)\n- Add PathUtils.deleteIfExists(Path)\n- Update generic type of RandomAccessFileMode.accept(Path, IOConsumer)\nfrom IOConsumer\u003cRandomAccessFile\u003e to IOConsumer\u003cIORandomAccessFile\u003e\n- Harden tests for NPEs on failures, happy path unchanged."
    },
    {
      "commit": "eb7e99c4f24c62357839c4abd12a232b679b4746",
      "tree": "b5f9f4a3a5cddac281b764c6c5a21f9cc5471984",
      "parents": [
        "e62d949d5aa540e48620a1800226d498ff82c20c"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 12 14:33:02 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 12 14:33:02 2026 +0000"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "e62d949d5aa540e48620a1800226d498ff82c20c",
      "tree": "4e5afa942a5faf4263098def86cf745073287c80",
      "parents": [
        "f651fd2979badfd93875af503949a5033c0bd5b6"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 12 13:54:29 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 12 13:54:29 2026 +0000"
      },
      "message": "Add current Java version 26 GH CI.\n\nReplace Java 26-ea with 27-ea for experimental builds\n"
    },
    {
      "commit": "f651fd2979badfd93875af503949a5033c0bd5b6",
      "tree": "3982b2941a98803fcd3617b42edaebe2e95c900c",
      "parents": [
        "3b5c5e825a0f02d24ee1f9e19ab037f3f7f82803"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jun 11 14:24:01 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jun 11 14:24:01 2026 -0400"
      },
      "message": "Update legacy GitHub links in CONTRIBUTING.md\n"
    },
    {
      "commit": "3b5c5e825a0f02d24ee1f9e19ab037f3f7f82803",
      "tree": "a4eeed1290d7c93cbbb3b44574854bf3f272363b",
      "parents": [
        "a27e4e3a6f7683535fe85943a5312c713d6a0978"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jun 11 14:08:30 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jun 11 14:08:30 2026 -0400"
      },
      "message": "Clarify PeekableInputStream.peek() behavior in Javadoc (#856).\n"
    },
    {
      "commit": "a27e4e3a6f7683535fe85943a5312c713d6a0978",
      "tree": "717b6050c99e2dac0b709579637417dfa7d9599a",
      "parents": [
        "77c4e1f19a047cb455d070f145dccaa6888d303f"
      ],
      "author": {
        "name": "Sarankumar Baskar",
        "email": "saranbaskar121@gmail.com",
        "time": "Thu Jun 11 23:37:07 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 14:07:07 2026 -0400"
      },
      "message": "[IO-855] Clarify PeekableInputStream.peek() behavior (#856)\n\nAdd tests for exact-match and non-consuming behavior.\n\nCo-authored-by: Sarankumar Baskar \u003csbaskar@redhat.com\u003e"
    },
    {
      "commit": "77c4e1f19a047cb455d070f145dccaa6888d303f",
      "tree": "8b5fa6bc8aad621163a30cdaade2c79774aecd5e",
      "parents": [
        "cf5f9a20c3dd83251d930386fed226368e61c0e7"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jun 11 10:07:23 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jun 11 10:07:23 2026 -0400"
      },
      "message": "Bump org.apache.commons:commons-parent from 101 to 102.\n"
    },
    {
      "commit": "cf5f9a20c3dd83251d930386fed226368e61c0e7",
      "tree": "f58b33d0ecb701a6d39351891bb827f52f5667c3",
      "parents": [
        "85044ccaf6b0fb247058ccc9c9920db2507fbc9b"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Jun 07 10:13:08 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Jun 07 10:13:08 2026 -0400"
      },
      "message": "Bump GH CI actions/dependency-review-action from 4.9.0 to 5.0.0\n"
    },
    {
      "commit": "85044ccaf6b0fb247058ccc9c9920db2507fbc9b",
      "tree": "6ff6670a513d6d4f120c165210b6283bebe8dac2",
      "parents": [
        "08d40c39a9612aaf6fca698d79af9d4620bf905a"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Jun 07 10:09:20 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Jun 07 10:09:20 2026 -0400"
      },
      "message": "Bump GH CI actions/checkout from 6.0.2 to 6.0.3\n"
    },
    {
      "commit": "08d40c39a9612aaf6fca698d79af9d4620bf905a",
      "tree": "4133760cc193bd9e3caba274a602455f8f64261c",
      "parents": [
        "2f03cf41a93501f738a8add7e6635776ced26a77"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 05 14:30:24 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 05 14:30:24 2026 -0400"
      },
      "message": "Bump org.apache.commons:commons-parent from 100 to 101\n"
    },
    {
      "commit": "2f03cf41a93501f738a8add7e6635776ced26a77",
      "tree": "f0d3dbe211c9e9d8cfc938093b3ee4767b4aee42",
      "parents": [
        "c1184e0ca789df4398dafc1d1a4ea94e398775f3"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 05 07:28:23 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 05 07:28:23 2026 -0400"
      },
      "message": "Bump github/codeql-action from 4.36.0 to 4.36.2\n"
    },
    {
      "commit": "c1184e0ca789df4398dafc1d1a4ea94e398775f3",
      "tree": "8c27e96e35f1a8952f4b6d0cc76bf8f2b7799ce9",
      "parents": [
        "d5ecccec67c96453994ca5fe393c7bf11f08d21f"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun May 31 14:09:15 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun May 31 14:09:15 2026 -0400"
      },
      "message": "BufferedFileChannelInputStream now clears its direct memory byte buffer\non close.\n\nMemoryMappedFileInputStream now clears its direct memory byte buffer on\nclose.\n\nFileChannels.contentEquals(ReadableByteChannel, ReadableByteChannel,\nint) now clears its direct memory byte buffer on close.\n\nBufferedFileChannelInputStream now clears its direct memory byte buffer\non close.\n\nMemoryMappedFileInputStream now clears its direct memory byte buffer on\nclose.\n"
    },
    {
      "commit": "d5ecccec67c96453994ca5fe393c7bf11f08d21f",
      "tree": "395f6517e8748a36079792b5f96e52d4efc3aebb",
      "parents": [
        "fecdad4bd6a8b6c62568ba70ff237211a82aef70"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Sun May 31 14:08:56 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 31 14:08:56 2026 -0400"
      },
      "message": "Clear direct byte buffers (#855)\n\n* Add Buffers clear() methods\n\n* BufferedFileChannelInputStream now clears its direct memory byte buffer\non close.\n\nMemoryMappedFileInputStream now clears its direct memory byte buffer on\nclose.\n\nFileChannels.contentEquals(ReadableByteChannel, ReadableByteChannel,\nint) now clears its direct memory byte buffer on close.\n\nBufferedFileChannelInputStream now clears its direct memory byte buffer\non close.\n\nMemoryMappedFileInputStream now clears its direct memory byte buffer on\nclose."
    },
    {
      "commit": "fecdad4bd6a8b6c62568ba70ff237211a82aef70",
      "tree": "e8abe2d503cf27e74619c5df53fc92de92e770c4",
      "parents": [
        "60602c2cee872a07d2f40cd241ed878c21902547"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun May 31 10:56:13 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun May 31 10:56:13 2026 -0400"
      },
      "message": "Add Buffers clear() methods (#853)\n"
    },
    {
      "commit": "60602c2cee872a07d2f40cd241ed878c21902547",
      "tree": "03fd562fb5355fb459e796c3ab34a222edf41b50",
      "parents": [
        "2746c147b40b237e4ac1185c10c14f58b470b852"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Sun May 31 10:53:23 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 31 10:53:23 2026 -0400"
      },
      "message": "Add Buffers clear() methods (#853)"
    },
    {
      "commit": "2746c147b40b237e4ac1185c10c14f58b470b852",
      "tree": "8c937e680b989b7e1f5d8b932d8760a13726531b",
      "parents": [
        "2e2dac7300a507adca8354c434cb1aa05965ee93"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun May 31 09:15:38 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun May 31 09:15:38 2026 -0400"
      },
      "message": "Update description\n"
    },
    {
      "commit": "2e2dac7300a507adca8354c434cb1aa05965ee93",
      "tree": "6b716ed52a7b785a2910c782c4f36368feb64e2e",
      "parents": [
        "99ee9f2933f8e94960078efdd9893a218fc2262c"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun May 31 09:14:11 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun May 31 09:14:11 2026 -0400"
      },
      "message": "Sort action attribute\n"
    },
    {
      "commit": "99ee9f2933f8e94960078efdd9893a218fc2262c",
      "tree": "1e37c52ee6f73a3be2b7ec4de226de26b30b6b69",
      "parents": [
        "4570048b8a64c139f286e5678cc819a7bca4d385"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun May 31 09:13:47 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun May 31 09:13:47 2026 -0400"
      },
      "message": "Clean BufferedFileChannelInputStream\u0027s direct ByteBuffer once #854.\n"
    },
    {
      "commit": "4570048b8a64c139f286e5678cc819a7bca4d385",
      "tree": "691129f8b6b1ce861d0faed8efab747a6118362e",
      "parents": [
        "7a7e8a5f42686947f57f252577699c430970194b"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Sun May 31 09:12:20 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 31 09:12:20 2026 -0400"
      },
      "message": "Clean BufferedFileChannelInputStream\u0027s direct ByteBuffer once(#854)\n\nThe buffer is now cleaned only on the first close() call."
    },
    {
      "commit": "7a7e8a5f42686947f57f252577699c430970194b",
      "tree": "ea684fa3983225051191eff729c48d88d10d8f1f",
      "parents": [
        "bcda39d722f4f274733d171c59f2c80f7a255a50",
        "4829bf9d2c28064495fc640067d914f4ee22395f"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat May 30 06:42:49 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat May 30 06:42:49 2026 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of https://github.com/apache/commons-io.git"
    },
    {
      "commit": "bcda39d722f4f274733d171c59f2c80f7a255a50",
      "tree": "d73e48870b4af40b96403b822282f44bdc4a0a94",
      "parents": [
        "662ec3967a48c901427ac3d3c9216da91d53b17f"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat May 30 06:42:41 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat May 30 06:42:41 2026 -0400"
      },
      "message": "Add ByteBuffersTest\n\nJavadoc\n"
    },
    {
      "commit": "4829bf9d2c28064495fc640067d914f4ee22395f",
      "tree": "4945d5adc2728d36f8876549bec1d4e7095b6d86",
      "parents": [
        "662ec3967a48c901427ac3d3c9216da91d53b17f"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Thu May 28 18:03:03 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 28 18:03:03 2026 -0400"
      },
      "message": "Fix UnsynchronizedBufferedReader.readLine() tracking char position (#852)"
    },
    {
      "commit": "662ec3967a48c901427ac3d3c9216da91d53b17f",
      "tree": "6b401d8bb59c2108dad65626c99bc409af5276a4",
      "parents": [
        "088779afc8eee78bda8523591d39dd64850eac18"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed May 27 16:52:05 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed May 27 16:52:05 2026 -0400"
      },
      "message": "Bump github/codeql-action from 4.35.5 to 4.36.0\n"
    },
    {
      "commit": "088779afc8eee78bda8523591d39dd64850eac18",
      "tree": "0d9d90fcd4321a330faca8edb170a2b4791b0142",
      "parents": [
        "26a6fbcdb0bea8f3bf80efb686bba52529e0806f"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu May 21 18:00:35 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu May 21 18:00:35 2026 -0400"
      },
      "message": "Add UnsynchronizedBufferedReader.getPosition() (#851).\n"
    },
    {
      "commit": "26a6fbcdb0bea8f3bf80efb686bba52529e0806f",
      "tree": "9fd54685781f158646a9d87fea6e266ec4017c20",
      "parents": [
        "9c5c0e50776020e05078c8173e00f994d16a52c6"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Thu May 21 17:59:37 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 21 17:59:37 2026 -0400"
      },
      "message": "Add UnsynchronizedBufferedReader.getPosition() (#851)"
    },
    {
      "commit": "9c5c0e50776020e05078c8173e00f994d16a52c6",
      "tree": "396beea1778c106720f56941f5d872047db0924f",
      "parents": [
        "0e4e8e1c87eaaf1fba8a6302b63373703c51897f"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu May 21 08:05:22 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu May 21 08:05:22 2026 -0400"
      },
      "message": "Add UnsynchronizedBufferedReader.unwrap() (#850).\n"
    },
    {
      "commit": "0e4e8e1c87eaaf1fba8a6302b63373703c51897f",
      "tree": "00c90553f9497cae4cb0dd95605ae178beb9d8f6",
      "parents": [
        "250ac3893ee8dd7ad0d6c4f9525bfec2d8d77fe8"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Thu May 21 08:04:26 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 21 08:04:26 2026 -0400"
      },
      "message": "Add UnsynchronizedBufferedReader.unwrap() (#850)"
    },
    {
      "commit": "250ac3893ee8dd7ad0d6c4f9525bfec2d8d77fe8",
      "tree": "b95ee94fd68bfcf05e0b0aa7f92e7258d82d5390",
      "parents": [
        "5ea874ee07d081a69e4ff2971d3d8fc8cace9179"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed May 20 06:44:04 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed May 20 06:44:04 2026 -0400"
      },
      "message": "Bump github/codeql-action from 4.35.4 to 4.35.5\n"
    },
    {
      "commit": "5ea874ee07d081a69e4ff2971d3d8fc8cace9179",
      "tree": "3b0451abc047e0cd92454e84e15535289e44902d",
      "parents": [
        "92d64cfde8257212234ea027c1646d79e59a9e1a"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat May 16 12:29:10 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat May 16 12:29:10 2026 +0000"
      },
      "message": "Bump org.apache.commons:commons-parent from 99 to 100\n(#849).\n"
    },
    {
      "commit": "92d64cfde8257212234ea027c1646d79e59a9e1a",
      "tree": "42a7b8cb1ae671e97efb5325c548c7a1ca50ac1d",
      "parents": [
        "4c5048b35d092c2a5c9629f6e4ae58a7c2ef435a"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sat May 16 08:28:21 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 16 08:28:21 2026 -0400"
      },
      "message": "Bump org.apache.commons:commons-parent from 99 to 100 (#849)\n\nBumps org.apache.commons:commons-parent from 99 to 100.\n\n---\nupdated-dependencies:\n- dependency-name: org.apache.commons:commons-parent\n  dependency-version: \u0027100\u0027\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "4c5048b35d092c2a5c9629f6e4ae58a7c2ef435a",
      "tree": "39c74bbf93763ac01ec04b8992fa9d24f78585fd",
      "parents": [
        "a68a9f1dfa696b78536de85a42a32fa5c1d0d782"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed May 13 19:07:22 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed May 13 19:07:22 2026 +0000"
      },
      "message": "Sort members\n"
    },
    {
      "commit": "a68a9f1dfa696b78536de85a42a32fa5c1d0d782",
      "tree": "daf7a4955cace80f813b3cfd0f33dfa5881737a8",
      "parents": [
        "c9f54fc130b761c0f21f60cd575fcfafd939b7fe"
      ],
      "author": {
        "name": "Sai Asish Y",
        "email": "say.apm35@gmail.com",
        "time": "Wed May 13 12:05:59 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 13 15:05:59 2026 -0400"
      },
      "message": "[IO-867] Fix ThresholdingOutputStream.isThresholdExceeded and event retry (#847)"
    },
    {
      "commit": "c9f54fc130b761c0f21f60cd575fcfafd939b7fe",
      "tree": "e63d50655ddabb909791b73799c9daec911b8bb0",
      "parents": [
        "45249446623a6b7544b9dafa21788ecb0cb9110e"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue May 12 18:49:35 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue May 12 18:49:35 2026 +0000"
      },
      "message": "Bump github/codeql-action from 4.35.3 to 4.35.4\n"
    },
    {
      "commit": "45249446623a6b7544b9dafa21788ecb0cb9110e",
      "tree": "b975460c48fcfaf4114b2cf791f1d7d2213a17cd",
      "parents": [
        "7c3eabb081ae69f1ac47d3c57b947ae54bbff40b"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun May 10 07:56:08 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun May 10 07:56:08 2026 -0400"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "7c3eabb081ae69f1ac47d3c57b947ae54bbff40b",
      "tree": "1772578dad21bc95fc69ad4b11f89385b98f6573",
      "parents": [
        "7c1671ca942db3076cdc6a6fd168890f370f3b28"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat May 09 09:47:01 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat May 09 09:47:01 2026 -0400"
      },
      "message": "Add IOConsumer.accept(IOConsumer, T) (#846)\n"
    },
    {
      "commit": "7c1671ca942db3076cdc6a6fd168890f370f3b28",
      "tree": "edb09501129b93fed038950645730804d6407f8e",
      "parents": [
        "2c143a25128b38ad6db190fcbe2347d39791bca1"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat May 09 09:45:17 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat May 09 09:45:17 2026 -0400"
      },
      "message": "Bump version for the next release to the feature level\n"
    },
    {
      "commit": "2c143a25128b38ad6db190fcbe2347d39791bca1",
      "tree": "53050cd24fabd5f8bb72cdaaf34e684ffa16e53b",
      "parents": [
        "83fdee10f09dcf064d80e8683db06a75e13990ec"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Sat May 09 09:44:44 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 09 09:44:44 2026 -0400"
      },
      "message": "Add IOConsumer.accept(IOConsumer, T) (#846)"
    },
    {
      "commit": "83fdee10f09dcf064d80e8683db06a75e13990ec",
      "tree": "b0ab62961c7dae38f4df1e3cd41d1988cf716c0b",
      "parents": [
        "2ccf3b6bee9e04a7a06d7c217b11329fbd1603e0"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue May 05 11:23:38 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue May 05 11:23:38 2026 -0400"
      },
      "message": "Bump github/codeql-action from 4.35.2 to 4.35.3\n"
    },
    {
      "commit": "2ccf3b6bee9e04a7a06d7c217b11329fbd1603e0",
      "tree": "1eef25ec492a3a3c49d769c2975a5005beae0a7b",
      "parents": [
        "5b80f8b20c08fe26d74b07115bc9bd66996584b9"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 26 07:48:14 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 26 07:48:14 2026 -0400"
      },
      "message": "Bump org.apache.commons:commons-parent from 98 to 99\n"
    },
    {
      "commit": "5b80f8b20c08fe26d74b07115bc9bd66996584b9",
      "tree": "ba3debb5f3295bd807e62e9d93faa6da33595b1b",
      "parents": [
        "1dd706c09eb5236888718d0e2cd86d8a42539d1c"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Apr 24 20:44:55 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Apr 24 20:44:55 2026 -0400"
      },
      "message": "Bump commons-codec:commons-codec from 1.21.0 to 1.22.0.\n"
    },
    {
      "commit": "1dd706c09eb5236888718d0e2cd86d8a42539d1c",
      "tree": "af6e10356ecc15dd009ab38d1b79043fdcaa937c",
      "parents": [
        "da2cb0165768047854953ac3fc8251c107f8587c"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Apr 23 11:13:39 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Apr 23 11:13:39 2026 +0000"
      },
      "message": "Updates for the next release\n"
    },
    {
      "commit": "da2cb0165768047854953ac3fc8251c107f8587c",
      "tree": "80de51eacccf9195be2f0515840f3676b9bbc0cb",
      "parents": [
        "cfc7a99f43d3fee6c347b534b66c3f4178181cc5"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Apr 23 10:26:47 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Apr 23 10:26:47 2026 +0000"
      },
      "message": "Updates for the next release\n"
    },
    {
      "commit": "cfc7a99f43d3fee6c347b534b66c3f4178181cc5",
      "tree": "ed07d2c71922c0eb0ca77778d37ee37839c35622",
      "parents": [
        "9f42a554a26d58a7400a25a490ecaa75a9192255",
        "d01032f1abea37934687f5a81d19e8cef3744b13"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Apr 23 10:25:38 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Apr 23 10:25:38 2026 +0000"
      },
      "message": "Merge branch \u0027release\u0027\n"
    },
    {
      "commit": "d01032f1abea37934687f5a81d19e8cef3744b13",
      "tree": "ad67afc14428aa30501276abba58eb252967dbe7",
      "parents": [
        "c14acc16f73e44a75b2062b17aacb26c4feda746"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Apr 23 10:25:38 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Apr 23 10:25:38 2026 +0000"
      },
      "message": "Bump to next development version\n"
    },
    {
      "commit": "9f42a554a26d58a7400a25a490ecaa75a9192255",
      "tree": "24c958a56a77328e5bd4ca65ecfdf3808faee677",
      "parents": [
        "8b7c018ab76e517606b98bbf239a7e5a78e4f577"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 19 09:26:24 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 19 09:26:24 2026 -0400"
      },
      "message": "Remove incorrect Javadoc tag\n"
    },
    {
      "commit": "c14acc16f73e44a75b2062b17aacb26c4feda746",
      "tree": "c90037500c54b88717d0905142b2e62941e6b3b5",
      "parents": [
        "8b7c018ab76e517606b98bbf239a7e5a78e4f577"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 19 11:39:35 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 19 11:39:35 2026 +0000"
      },
      "message": "Prepare for the release candidate 2.22.0 RC2\n"
    },
    {
      "commit": "8b7c018ab76e517606b98bbf239a7e5a78e4f577",
      "tree": "c29bb25142b794c833eae4ba9c88da9f4de966b9",
      "parents": [
        "43b99945ef3ddc50171e1b8fb9bffcb62ad5aab8"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 19 11:39:08 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 19 11:39:08 2026 +0000"
      },
      "message": "Prepare for the next release candidate\n"
    },
    {
      "commit": "43b99945ef3ddc50171e1b8fb9bffcb62ad5aab8",
      "tree": "552ab7bffb20c8d98b8183922dc7d02eccbbabe5",
      "parents": [
        "d9184ed63b7264a606b9d32a0222380f565d0790"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 19 11:22:56 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 19 11:22:56 2026 +0000"
      },
      "message": "Prepare for the next release candidate\n"
    },
    {
      "commit": "d9184ed63b7264a606b9d32a0222380f565d0790",
      "tree": "dad8f14857b397fdf11384f0d3f2d1f3fb552ae4",
      "parents": [
        "7cc1ede58f4f9dedf4763c38c47a3ee3e19f7889"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 19 06:40:29 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 19 06:40:29 2026 -0400"
      },
      "message": "Use final\n"
    },
    {
      "commit": "7cc1ede58f4f9dedf4763c38c47a3ee3e19f7889",
      "tree": "4088d0c08df3aad24663e40c8692b8621226ccf9",
      "parents": [
        "d4d257328c225b1576cc111bae863975d28e9e79"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 19 06:35:15 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 19 06:35:15 2026 -0400"
      },
      "message": "Sort members\n"
    },
    {
      "commit": "d4d257328c225b1576cc111bae863975d28e9e79",
      "tree": "309247616af65a8d2f3b5c29e09b2eb3402ac413",
      "parents": [
        "5ee4bc4617c71f375b3c7cc12e4b904fa3af4777"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Apr 16 07:10:34 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Apr 16 07:10:34 2026 -0400"
      },
      "message": "Bump github/codeql-action from 4.35.1 to 4.35.2\n"
    },
    {
      "commit": "5ee4bc4617c71f375b3c7cc12e4b904fa3af4777",
      "tree": "5360109bb4b205344c7bfb235883fa15da8c18be",
      "parents": [
        "a7cc1bab758df5cca95b412df91640b45bd18651"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Apr 15 08:41:21 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Apr 15 08:41:21 2026 -0400"
      },
      "message": "Better action description.\n"
    },
    {
      "commit": "a7cc1bab758df5cca95b412df91640b45bd18651",
      "tree": "2f9b6cb3eaeff865a8d200bd9ced7f484ecee9f8",
      "parents": [
        "354e37c791943a147183009f189bfdc44a07f572"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Apr 15 08:40:52 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Apr 15 08:40:52 2026 -0400"
      },
      "message": "AbstractStreamBuilder.setBufferSizeDefault(int) now resets to default\nfor input less than or equal to zero.\n\nJavadoc\n"
    },
    {
      "commit": "354e37c791943a147183009f189bfdc44a07f572",
      "tree": "1b0ac42252e2427a7bbe6e349f8b954dc6cc6e7b",
      "parents": [
        "443f21dafc3b6321444ff54e2394e1cfa6ae494f"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Apr 14 08:39:00 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Apr 14 08:39:00 2026 -0400"
      },
      "message": "Add missing test for UnsynchronizedBufferedReader.skip(int)\n"
    },
    {
      "commit": "443f21dafc3b6321444ff54e2394e1cfa6ae494f",
      "tree": "79d5d14bbd989f7472a144a318694b2929f4c26b",
      "parents": [
        "6857f385822d65862f2b3fd06e661c6435588d3c"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Apr 14 08:37:37 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Apr 14 08:37:37 2026 -0400"
      },
      "message": "Add missing test for UnsynchronizedBufferedReader.mark(int)\n"
    },
    {
      "commit": "6857f385822d65862f2b3fd06e661c6435588d3c",
      "tree": "389afdaf04af6146947286ed6f4dfb47ade408b2",
      "parents": [
        "61e347b6f63eec1e4fbcdd513d10c2a671db6141"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Apr 14 08:35:27 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Apr 14 08:35:27 2026 -0400"
      },
      "message": "Add missing test for\nUnsynchronizedBufferedReader.UnsynchronizedBufferedReader(Reader, int)\n"
    },
    {
      "commit": "61e347b6f63eec1e4fbcdd513d10c2a671db6141",
      "tree": "9c51f2ecf9ed5106122dedcbb66f61f45d909389",
      "parents": [
        "738d8eddaee64f23c9437beaa52a3f85baa9c082"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Apr 14 08:31:21 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Apr 14 08:31:21 2026 -0400"
      },
      "message": "Fix JaCoCo report generation\n"
    },
    {
      "commit": "738d8eddaee64f23c9437beaa52a3f85baa9c082",
      "tree": "44362f0e433d620f76b57ee8ecc1c147ff917416",
      "parents": [
        "db99d023875451addffe1dfafbe1646f9e49575e"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Apr 14 07:55:04 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Apr 14 07:55:04 2026 -0400"
      },
      "message": "Bump actions/upload-artifact from 7.0.0 to 7.0.1\n"
    },
    {
      "commit": "db99d023875451addffe1dfafbe1646f9e49575e",
      "tree": "dfbe2d5778892bdef8298954e9334ecbd63789fc",
      "parents": [
        "01de46e5b7792be6b7e7a6f11f9d034248a6b9f4"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Apr 14 07:49:02 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Apr 14 07:49:02 2026 -0400"
      },
      "message": "Bump actions/cache from 5.0.4 to 5.0.5\n"
    },
    {
      "commit": "01de46e5b7792be6b7e7a6f11f9d034248a6b9f4",
      "tree": "e9b3e5a74c7f86d8426e376ba28d9f2cc4d3edd9",
      "parents": [
        "f96d650e966be02af79dfce0f5a728e58b0d9951"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Sat Apr 11 08:57:38 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 11 08:57:38 2026 -0400"
      },
      "message": "Update Javadoc and constructors in the channels package (#843)\n\n* [IO-856] Try test on all OSs for GitHub CI\n\n* Javadoc\n\n- Make some package-private constructors private\n- Provide \"default\" constructors for simple use cases"
    },
    {
      "commit": "f96d650e966be02af79dfce0f5a728e58b0d9951",
      "tree": "5dc0f24d60bbbe1f4b6bb8684eb57583ee20c07f",
      "parents": [
        "ec308acc23279f52e53c6989fb3e499165528eb3"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Apr 10 08:17:58 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Apr 10 08:17:58 2026 -0400"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "ec308acc23279f52e53c6989fb3e499165528eb3",
      "tree": "79f622d5da93c17531a34b3df29059dd002c0149",
      "parents": [
        "93de0e4eb84c1f14ada1cd168d6edee61aa99ade"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Apr 10 08:13:59 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Apr 10 08:13:59 2026 -0400"
      },
      "message": "Fix Javadoc typo\n"
    },
    {
      "commit": "93de0e4eb84c1f14ada1cd168d6edee61aa99ade",
      "tree": "b7308b553a5a6935e22424af01297a1bc2e387e5",
      "parents": [
        "2ab33b4c1e00bec1b6b5403ac8d806917e276eac"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Apr 08 08:16:50 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Apr 08 08:16:50 2026 -0400"
      },
      "message": "Add CloseShieldChannelFilterByteChannelTest\n"
    },
    {
      "commit": "2ab33b4c1e00bec1b6b5403ac8d806917e276eac",
      "tree": "aefe14d4ef2aca6f767ca74d2fc0f280190268f2",
      "parents": [
        "530e346bf63455d0f5ccdf1cbc2daad8aeaf7b2a"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Wed Apr 08 08:13:37 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 08 08:13:37 2026 -0400"
      },
      "message": "[IO- 889] Add test for Tailer close() (#842)\n\n* [IO-856] Try test on all OSs for GitHub CI\n\n* [IO-889] Tailer.close() does not guarantee file close\n\n- Add test class\n- Green on macOS locally\n\n* [IO-889] Tailer.close() does not guarantee file close\n\n- Add test class\n- Green on macOS locally\n- Fails on Windows on GH CI"
    },
    {
      "commit": "530e346bf63455d0f5ccdf1cbc2daad8aeaf7b2a",
      "tree": "abe31b9d7ba19d4453eda1039a5188038161bc87",
      "parents": [
        "853b91cf6be036c237e7ee9b37454a1c1798c41b"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Apr 07 12:29:12 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Apr 07 12:29:12 2026 -0400"
      },
      "message": "Bump org.apache.commons:commons-parent from 97 to 98\n"
    },
    {
      "commit": "853b91cf6be036c237e7ee9b37454a1c1798c41b",
      "tree": "6f3ee0c5078d62f6f194d46bb2c342559c1dcca5",
      "parents": [
        "3d1b9dc1c93ca1792dcd4e68dd1a9638cbcb37bd"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Apr 07 08:26:00 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Apr 07 08:26:00 2026 -0400"
      },
      "message": "Add filter channels.\n"
    },
    {
      "commit": "3d1b9dc1c93ca1792dcd4e68dd1a9638cbcb37bd",
      "tree": "9b2091c6a5469f8260914b7a51a62f34524f5429",
      "parents": [
        "8b947091ba79a9cbb8a7905a9dbfedb8a57d7c0d"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Tue Apr 07 08:24:04 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 07 08:24:04 2026 -0400"
      },
      "message": "Feature/channel filters (#837)\n\n* [IO-856] Try test on all OSs for GitHub CI\n\n* Add channel filters\n\n* Rename test class\n\n* Javadoc\n\n* Add FilterFileChannel"
    },
    {
      "commit": "8b947091ba79a9cbb8a7905a9dbfedb8a57d7c0d",
      "tree": "647519f2f3e0e22eed42553daf60a6055cf5f815",
      "parents": [
        "25f00210e408c6d0a6a8376abdc9bc2c1642fead"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Apr 07 07:49:29 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Apr 07 07:49:29 2026 -0400"
      },
      "message": "Add FlushShieldOutputStream to workaround issues in generic code that\nends up calling third parties like like\norg.tukaani.xz.LZMAOutputStream.flush()\n"
    },
    {
      "commit": "25f00210e408c6d0a6a8376abdc9bc2c1642fead",
      "tree": "e62c7a69f6c157433dad451348fd8119cad62726",
      "parents": [
        "0d8768b6e21bc29153947c5e1d312b311f2b7017"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Apr 07 07:48:52 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Apr 07 07:48:52 2026 -0400"
      },
      "message": "Add FlushShieldOutputStrea to workaround issues in generic code that\nends up calling third parties like like\norg.tukaani.xz.LZMAOutputStream.flush()\n"
    },
    {
      "commit": "0d8768b6e21bc29153947c5e1d312b311f2b7017",
      "tree": "a56447480a6c88ded53778d41b080c8763a7dbc3",
      "parents": [
        "76feb708d7c9596c44bb2bc94c4a0ad506883d86"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Tue Apr 07 07:47:46 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 07 07:47:46 2026 -0400"
      },
      "message": "Add FlushShieldOutputStream (#841)\n\n* [IO-856] Try test on all OSs for GitHub CI\n\n* Add FlushShieldOutputStream"
    },
    {
      "commit": "76feb708d7c9596c44bb2bc94c4a0ad506883d86",
      "tree": "5f7ca4cc7b5c9dca77aaef89fbf797a9d959f7ae",
      "parents": [
        "38150616a9093e5a69a4454ad026bf36e68f288f"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Apr 06 08:30:28 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Apr 06 08:30:28 2026 -0400"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "38150616a9093e5a69a4454ad026bf36e68f288f",
      "tree": "12251bc433572b5def54bfe1af967fc332a1bfb5",
      "parents": [
        "d4c40de7ea8904752b7789cd4273a715b39d58c8"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Apr 06 08:27:46 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Apr 06 08:27:46 2026 -0400"
      },
      "message": "Javadoc\n\nShow how to limit the amount of data read into a\nValidatingObjectInputStream by using a BoundedInputStream.\n"
    },
    {
      "commit": "d4c40de7ea8904752b7789cd4273a715b39d58c8",
      "tree": "528ab60dbfdd90c3e7698216cf3891cef6c256da",
      "parents": [
        "8259e6ff9f2262b30635d762491c1a8aafa514a9"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Apr 06 08:26:02 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Apr 06 08:26:02 2026 -0400"
      },
      "message": "Javadoc\n\nShow how to limit the amount of data read into a\nValidatingObjectInputStream by using a BoundedInputStream.\n"
    },
    {
      "commit": "8259e6ff9f2262b30635d762491c1a8aafa514a9",
      "tree": "19709a71f30bbe32e904a9a88b2d12cfa508c6d5",
      "parents": [
        "144edb722535d54a4af64e57749b82fa9d9148b2"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Apr 06 08:25:02 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Apr 06 08:25:02 2026 -0400"
      },
      "message": "Javadoc\n\nShow how to limit the amount of data read into a\nValidatingObjectInputStream by using a BoundedInputStream.\n"
    },
    {
      "commit": "144edb722535d54a4af64e57749b82fa9d9148b2",
      "tree": "9ed31374ee249124032387779911f0028ef7c286",
      "parents": [
        "6a4d8677e76b472c072e52be6b347feee9f3fde5"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 18:25:05 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 18:25:05 2026 -0400"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "6a4d8677e76b472c072e52be6b347feee9f3fde5",
      "tree": "7eb146dc3de989fb3a9e45ecf25105c43950aae6",
      "parents": [
        "c9fd28986c4bc5bd2a29d154e08f0cb1e2d7268d"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 11:01:03 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 11:01:03 2026 -0400"
      },
      "message": "Reset release date for the next release\n"
    },
    {
      "commit": "c9fd28986c4bc5bd2a29d154e08f0cb1e2d7268d",
      "tree": "b72c09968e45867983a30ed43f60eb438841e81c",
      "parents": [
        "cb7951167b9712a816c3225c1002f4106c31f4d8"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 10:59:45 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 10:59:45 2026 -0400"
      },
      "message": "Reset commons.rc.version\n"
    }
  ],
  "next": "cb7951167b9712a816c3225c1002f4106c31f4d8"
}
