)]}'
{
  "log": [
    {
      "commit": "05862dd50eb51a6a1246cab50dc2a8619b301695",
      "tree": "b9bd47929aea52e2b366986c5f9ba408091102a1",
      "parents": [
        "1ecd39bc5bda8b3b529aabd0a80384bed41a4984"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 16 16:02:43 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 16 16:02:43 2026 -0400"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "1ecd39bc5bda8b3b529aabd0a80384bed41a4984",
      "tree": "f75db97764800136df9fd06c59ed4302c7e93354",
      "parents": [
        "9b613b8b13ff850ec10b2cd12daa4f643951e5da"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 16 10:46:52 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 16 10:46:52 2026 -0400"
      },
      "message": "[GZip] GzipCompressorInputStream now throws CompressorException instead\nof IllegalArgumetException/IllegalStateException.\n"
    },
    {
      "commit": "9b613b8b13ff850ec10b2cd12daa4f643951e5da",
      "tree": "8a5e5854bce94defe341a58f3af82d529a906e1e",
      "parents": [
        "2586fab413df6a6008b253922d8ef3a01ecfce11"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 16 10:35:14 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 16 10:35:14 2026 -0400"
      },
      "message": "Move action to its proper section.\n"
    },
    {
      "commit": "2586fab413df6a6008b253922d8ef3a01ecfce11",
      "tree": "cd539919e421c1fcd1e6a60a6aea04d7a9846233",
      "parents": [
        "bf49bcfb809baedcf23b7eeff59256f4d93830d3"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Aug 12 08:23:04 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Aug 12 08:23:04 2026 -0400"
      },
      "message": "[Unpack200] Reject out-of-range cpUTF8Prefix in CpBands.parseCpUtf8\n(#800).\n"
    },
    {
      "commit": "bf49bcfb809baedcf23b7eeff59256f4d93830d3",
      "tree": "e5f180ca09edb032acccd4fde525723f06963bae",
      "parents": [
        "52c57ecd3f9c9693bc5538cd1657ba3f1bee4dc9"
      ],
      "author": {
        "name": "KALI 834X",
        "email": "kali834x@gmail.com",
        "time": "Wed Aug 12 17:51:40 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 12 08:21:40 2026 -0400"
      },
      "message": "Reject out-of-range cpUTF8Prefix in CpBands.parseCpUtf8 (#800)"
    },
    {
      "commit": "52c57ecd3f9c9693bc5538cd1657ba3f1bee4dc9",
      "tree": "d114f7e6ae21e9ad3debe6f4aa26066a993185de",
      "parents": [
        "1c522228a7b7edd6824ec441a5e58bad9fcf52cc"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 15:30:20 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 15:30:20 2026 -0400"
      },
      "message": "Migrate from deprecated API\n"
    },
    {
      "commit": "1c522228a7b7edd6824ec441a5e58bad9fcf52cc",
      "tree": "67c3630c22d2a3c20934ef51a8519395f086810f",
      "parents": [
        "3ad542716ce32906571a19acb106be21b9178dd2"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 14:22:06 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 14:22:06 2026 -0400"
      },
      "message": "ExactMath now throws ArchiveException instead of\nIllegalArgumetException/IllegalStateException."
    },
    {
      "commit": "3ad542716ce32906571a19acb106be21b9178dd2",
      "tree": "5c41c8d74fb78ebe1a1430e21e8b40c135ff953d",
      "parents": [
        "23a7fdc4562970146fb7defd43a0847872c233a0"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 14:19:28 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 14:19:28 2026 -0400"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "23a7fdc4562970146fb7defd43a0847872c233a0",
      "tree": "279179089a4354087cd62db0919bc214ca4b1705",
      "parents": [
        "f1c32021f392b3b53c30918e2f83c41ce2fe303b"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 14:19:15 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 14:19:15 2026 -0400"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "f1c32021f392b3b53c30918e2f83c41ce2fe303b",
      "tree": "fc172904fab63d59f193c8d2f72d73231f1eb94d",
      "parents": [
        "7512499f9346c9928754dec36e62d30f5a8f4b71"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 14:19:05 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 14:19:05 2026 -0400"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "7512499f9346c9928754dec36e62d30f5a8f4b71",
      "tree": "decea64f880225076cf5fb9dbad8825ab5c6c351",
      "parents": [
        "27412912ef0d76c3541a1b0813b20f69876d58d0"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 14:18:45 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 14:18:45 2026 -0400"
      },
      "message": "[Cpio] CpioArchiveOutputStream now throws ArchiveException instead of\nIllegalArgumetException/IllegalStateException.\n"
    },
    {
      "commit": "27412912ef0d76c3541a1b0813b20f69876d58d0",
      "tree": "c8b08e204bb193f989f4e733932ed59c309349dd",
      "parents": [
        "bf5ad3fe054f4e975e52aedcdee0ae4abc9176e1"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 14:18:05 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 14:18:05 2026 -0400"
      },
      "message": "[BZip2] BZip2CompressorOutputStream now throws CompressorException\ninstead of IllegalArgumetException/IllegalStateException."
    },
    {
      "commit": "bf5ad3fe054f4e975e52aedcdee0ae4abc9176e1",
      "tree": "39ab695b9afa09e4ee1854d3f0d0c8d645a0850a",
      "parents": [
        "3598ef85247ea9382bd82100ac062d10955cbbd8"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 14:16:58 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 14:16:58 2026 -0400"
      },
      "message": "[LZ4] BlockLZ4CompressorOutputStream now throws CompressorException\ninstead of IllegalArgumetException/IllegalStateException.\n"
    },
    {
      "commit": "3598ef85247ea9382bd82100ac062d10955cbbd8",
      "tree": "c76884f570926f44ae8831a1a65d97b72d99c65e",
      "parents": [
        "07e5d650c13396582bfa6a7eeb913887126b486d"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 09:52:58 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 09:52:58 2026 -0400"
      },
      "message": "[LZ4] BlockLZ4CompressorOutputStream now throws ArchiveException instead\nof IllegalArgumetException/IllegalStateException.\n\n- [GZip] GzipCompressorInputStream now throws ArchiveException instead\nof IllegalArgumetException/IllegalStateException.\n- [Zip] UnshrinkingInputStreamnow now throws ArchiveException instead of\nIllegalArgumetException/IllegalStateException.\n- [Zip] UnshrinkingInputStreamnow now throws CompressorException instead\nof IllegalArgumetException/IllegalStateException.\n"
    },
    {
      "commit": "07e5d650c13396582bfa6a7eeb913887126b486d",
      "tree": "c01bb21e8cdbb931cdaf9759c0ccd73f79abbcbd",
      "parents": [
        "4ff4c97f8d8681115413e29de1706ceb39643ff7"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 09:34:19 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 09:34:19 2026 -0400"
      },
      "message": "[Deflate64] Deflate64Decoder now throws ArchiveException instead of\nIllegalArgumetException/IllegalStateException.\n"
    },
    {
      "commit": "4ff4c97f8d8681115413e29de1706ceb39643ff7",
      "tree": "276358e540281bf3997c827a9f614964bc6fc087",
      "parents": [
        "00986acf0911800f85afed1e0f66089df373716b"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 09:28:52 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 09:28:52 2026 -0400"
      },
      "message": "[Deflate64] Deflate64CompressorInputStream now throws ArchiveException\ninstead of IllegalArgumetException/IllegalStateException.\n"
    },
    {
      "commit": "00986acf0911800f85afed1e0f66089df373716b",
      "tree": "c98dfa0e141c823ce64fb480ddd3559c319b8056",
      "parents": [
        "43f6f27a74eae6459e105546fd60293571438062"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 09:27:35 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 09:27:35 2026 -0400"
      },
      "message": "[BZip2] BZip2CompressorInputStream now throw CompressorException (a\nsubclass of IOException) instead of\nIllegalArgumetException/IllegalStateException.\n"
    },
    {
      "commit": "43f6f27a74eae6459e105546fd60293571438062",
      "tree": "0c95870c0d417d1c709ed2b2ffbc978a42ca2019",
      "parents": [
        "378eb82181c26f1550f1f7c42c981dd355209a94"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 09:26:38 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 09:26:38 2026 -0400"
      },
      "message": "Fix descriptions\n"
    },
    {
      "commit": "378eb82181c26f1550f1f7c42c981dd355209a94",
      "tree": "aecf4b263ee0bcc4b18396e5f074f4ddc451df18",
      "parents": [
        "1425a03e756fe8a303596d5527a030b668497bcb"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 07:55:56 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 07:55:56 2026 -0400"
      },
      "message": "[7-Zip] AES256Options now throws ArchiveException instead of instead of\nIllegalArgumetException/IllegalStateException.\n\n- AES256SHA256Decoder now throws ArchiveException instead of instead of\nIllegalArgumetException/IllegalStateException.\n- SevenZMethodConfiguration now throws ArchiveException instead of\ninstead of IllegalArgumetException/IllegalStateException.\n- SevenZOutputFile now throws ArchiveException instead of instead of\nIllegalArgumetException/IllegalStateException.\n"
    },
    {
      "commit": "1425a03e756fe8a303596d5527a030b668497bcb",
      "tree": "c7db11ebbb9ff0d2bcfd3e43f0b0c557e95957fc",
      "parents": [
        "ead9331f682324d9c5ce111d3b4ad28f28e6aa71"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 07:37:15 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 07:37:15 2026 -0400"
      },
      "message": "[TAR] TarArchiveOutputStream now throws ArchiveException instead of\nIllegalArgumentException.\n"
    },
    {
      "commit": "ead9331f682324d9c5ce111d3b4ad28f28e6aa71",
      "tree": "261ae18eddbe93d0dd955acda15277a201cb0965",
      "parents": [
        "6214d160c7e0ace642484a0c8eaabc042dba3883"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 07:36:48 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 07:36:48 2026 -0400"
      },
      "message": "Prefix action description with a category.\n"
    },
    {
      "commit": "6214d160c7e0ace642484a0c8eaabc042dba3883",
      "tree": "8d582a70701258fcbf70927d949898a107470d79",
      "parents": [
        "8d6b112baff3f65261f0a491c1422fc104c204d2"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 07:23:56 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 07:23:56 2026 -0400"
      },
      "message": "[LZ77] LZ77Compressor.prefill(byte[]) now throws ArchiveException\ninstead of IllegalArgumentException.\n\n[LZ4] BlockLZ4CompressorOutputStream.prefill(byte[], int, int) now\nthrows ArchiveException instead of IllegalArgumentException.\n"
    },
    {
      "commit": "8d6b112baff3f65261f0a491c1422fc104c204d2",
      "tree": "1fc7046321ede54b50b5bf6e380f12f6bf5f1b9e",
      "parents": [
        "e27bfa395799c655fb73f1cac6df466dba02a015"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 07:17:05 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 07:17:05 2026 -0400"
      },
      "message": "AbstractLZ77CompressorInputStream now throws ArchiveException instead of\nIllegalArgumentException."
    },
    {
      "commit": "e27bfa395799c655fb73f1cac6df466dba02a015",
      "tree": "ff58f2f195606d3ba153e927d8a9c9a750fef4fb",
      "parents": [
        "cebee156fe66578b5142b4176e6c408a76d65c0c"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 07:08:38 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 11 07:08:38 2026 -0400"
      },
      "message": "Reject back-reference offset larger than the window in lz77 decoder\n(#797).\n\nSort members\n"
    },
    {
      "commit": "cebee156fe66578b5142b4176e6c408a76d65c0c",
      "tree": "df92cc3509226d02b79dbeb7703f4c2a458f679d",
      "parents": [
        "4a17b64939b782a5e95c5aecfd583b631cb58522"
      ],
      "author": {
        "name": "KALI 834X",
        "email": "kali834x@gmail.com",
        "time": "Tue Aug 11 16:36:16 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 11 07:06:16 2026 -0400"
      },
      "message": "Reject back-reference offset larger than the window in lz77 decoder (#797)"
    },
    {
      "commit": "4a17b64939b782a5e95c5aecfd583b631cb58522",
      "tree": "6c7132e5a1ba5fd93c1f34df25ab1c8415684cb7",
      "parents": [
        "8b342ca410a049e0835760c3edd3cae138b9be30"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 18:45:22 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 18:45:22 2026 -0400"
      },
      "message": "Add reusable Huffman decoder #799.\n"
    },
    {
      "commit": "8b342ca410a049e0835760c3edd3cae138b9be30",
      "tree": "5e7f2b739e3896c454f9d78b3af7402c0b451eb3",
      "parents": [
        "a9597c0b8eb56dc384a508c71297824be06f464b"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 18:44:51 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 18:44:51 2026 -0400"
      },
      "message": "Fix commented out action.\n"
    },
    {
      "commit": "a9597c0b8eb56dc384a508c71297824be06f464b",
      "tree": "60b0cbe65c090b2e43e112ed9289ac6432afd1e9",
      "parents": [
        "6b0768a445aafbd27c89aacf0c913362c2e11750"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 18:40:15 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 18:40:15 2026 -0400"
      },
      "message": "Sort members\n"
    },
    {
      "commit": "6b0768a445aafbd27c89aacf0c913362c2e11750",
      "tree": "06ab26ee09c464e07a6f6c38f8c32c1770f3fbcb",
      "parents": [
        "571208f7b594b95c9c7680ac6dfc5799b5232084"
      ],
      "author": {
        "name": "Fredrik Kjellberg",
        "email": "fredrik.kjellberg@gmail.com",
        "time": "Tue Aug 11 00:39:54 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 10 18:39:54 2026 -0400"
      },
      "message": "Add AbstractTest.toByteArray (#799)"
    },
    {
      "commit": "571208f7b594b95c9c7680ac6dfc5799b5232084",
      "tree": "57c656d94e33d468d8a3230a157825658f0946e9",
      "parents": [
        "ed7b72a5ad6ac280f72f5c538397cc5580c1f225"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 18:39:44 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 18:39:44 2026 -0400"
      },
      "message": "TarUtils now throws ArchiveException instead of\nIllegalArgumentException.\n"
    },
    {
      "commit": "ed7b72a5ad6ac280f72f5c538397cc5580c1f225",
      "tree": "1ad0bfd610eb5ec65a8bc8b3f6d0d89428384b23",
      "parents": [
        "ba58ca98b62be6e20e0de7bae4d4e98c08aea999"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 18:27:42 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 18:27:42 2026 -0400"
      },
      "message": "Internal TAR methods now throws ArchiveException instead of\nIllegalArgumentException.\n"
    },
    {
      "commit": "ba58ca98b62be6e20e0de7bae4d4e98c08aea999",
      "tree": "4acb41d37e70e7f4f4f39ddbde54be6358cab0b8",
      "parents": [
        "daf142e96f8ef9e39e725d164c5a0ad2de2bf14e"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 18:17:24 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 18:17:24 2026 -0400"
      },
      "message": "TarArchiveInputStream now throws ArchiveException instead of\nIllegalArgumentException.\n"
    },
    {
      "commit": "daf142e96f8ef9e39e725d164c5a0ad2de2bf14e",
      "tree": "6bacca0d577fdf73c80a5a9a3ddfedfd756190b5",
      "parents": [
        "c8ac75d120e43eea669fbf90f2bd963773f55e96"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 18:10:59 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 18:10:59 2026 -0400"
      },
      "message": "TapeInputStream now throws ArchiveException instead of\nIllegalArgumentException.\n"
    },
    {
      "commit": "c8ac75d120e43eea669fbf90f2bd963773f55e96",
      "tree": "ae5c8e0a17a206c4d3b6c6e938174456bf5b7f79",
      "parents": [
        "cd38553df01324a73097ce9d09e71a0415ad2c7d"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 18:10:31 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 18:10:31 2026 -0400"
      },
      "message": "DumpArchiveInputStream now throws ArchiveException instead of\nIllegalArgumentException.\n"
    },
    {
      "commit": "cd38553df01324a73097ce9d09e71a0415ad2c7d",
      "tree": "34d9f519402ab5fd3d22a5d3cfae2c3a4d4bc10c",
      "parents": [
        "9038888a2d2d29e476ad52b8138bb9e36ea08522"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 18:05:49 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 18:08:12 2026 -0400"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "9038888a2d2d29e476ad52b8138bb9e36ea08522",
      "tree": "34d9f519402ab5fd3d22a5d3cfae2c3a4d4bc10c",
      "parents": [
        "6b1b2e7a9704aa878ae466715ec881c8bc45d9fd"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 18:03:47 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 18:03:47 2026 -0400"
      },
      "message": "CpioArchiveInputStream now throws ArchiveException instead of\nIllegalArgumentException.\n"
    },
    {
      "commit": "6b1b2e7a9704aa878ae466715ec881c8bc45d9fd",
      "tree": "98135d2b641e7e6434d578d0e7f7daafbed22a4f",
      "parents": [
        "fdc2aba7869091cd0ee03af173311c6604cbbd07"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 17:58:12 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 17:58:12 2026 -0400"
      },
      "message": "CpioArchiveEntry now throws ArchiveException instead of\nIllegalArgumentException.\n"
    },
    {
      "commit": "fdc2aba7869091cd0ee03af173311c6604cbbd07",
      "tree": "98135d2b641e7e6434d578d0e7f7daafbed22a4f",
      "parents": [
        "308c1bf01af1ff4744682fbf6d7b73f4ab90f870"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 17:58:11 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 17:58:11 2026 -0400"
      },
      "message": "CpioArchiveEntry now throws ArchiveException instead of\nIllegalArgumentException.\n"
    },
    {
      "commit": "308c1bf01af1ff4744682fbf6d7b73f4ab90f870",
      "tree": "e55ccc0b8388c9d39c1a2417fef72df87c96be78",
      "parents": [
        "533a95d02dc4fa3a06c49f522536c828285dd2ff"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 17:42:33 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 17:42:33 2026 -0400"
      },
      "message": "ArjArchiveInputStream now throws ArchiveException instead of\nIllegalArgumentException.\n"
    },
    {
      "commit": "533a95d02dc4fa3a06c49f522536c828285dd2ff",
      "tree": "dd9214bda10366668481a4a6c4fbfe036088d9f6",
      "parents": [
        "4b95cbb4fc58f7c280ef4e43ad3af4674cddc881"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 17:41:29 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 17:41:29 2026 -0400"
      },
      "message": "ArArchiveInputStream now throws ArchiveException instead of\nIllegalArgumentException.\n"
    },
    {
      "commit": "4b95cbb4fc58f7c280ef4e43ad3af4674cddc881",
      "tree": "a79b9dd46b585704de0605f0bd97bfe652afdef1",
      "parents": [
        "0d72c52e1893b835f067aea4ae891daf56d046c5"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 17:35:30 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 17:35:30 2026 -0400"
      },
      "message": "ArchiveStreamFactory now throws ArchiveException instead of\nIllegalArgumentException.\n\nTarArchiveOutputStream now throws ArchiveException instead of\nIllegalArgumentException."
    },
    {
      "commit": "0d72c52e1893b835f067aea4ae891daf56d046c5",
      "tree": "325aeaa4bf85d7792cdaaa708b3d09503f0eb48e",
      "parents": [
        "bd1331f364c58e96311102b7d6e400944f0d4680"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 17:31:41 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 17:31:41 2026 -0400"
      },
      "message": "Move actions to their proper sections\n"
    },
    {
      "commit": "bd1331f364c58e96311102b7d6e400944f0d4680",
      "tree": "96561d62508b153277a0be9400e8eb950ef07ee0",
      "parents": [
        "78f8a60d36aadf9489f0f714b90b4682002db5bf"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 16:41:48 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 16:41:48 2026 -0400"
      },
      "message": "SevenZFile.getInputStream(SevenZArchiveEntry) now throws\nArchiveException instead of IllehalArgumentException.\n\nMore internal exception clean ups.\n"
    },
    {
      "commit": "78f8a60d36aadf9489f0f714b90b4682002db5bf",
      "tree": "e03b0c17b676bc393672b1715a4c805af5e1fe4d",
      "parents": [
        "d91c1eefc06fa64513bceb0126e8f4173407cba2"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 16:12:51 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 16:12:51 2026 -0400"
      },
      "message": "TarArchiveEntry.addPaxHeader(String, String) now throws ArchiveException\ninstead of IllegalArgumentException.\n"
    },
    {
      "commit": "d91c1eefc06fa64513bceb0126e8f4173407cba2",
      "tree": "48498aff35403670f7a1c4a9c2970ab4ba79e31d",
      "parents": [
        "5d10198abebba7f91fc4885d5f2b80467753efa6"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 15:39:19 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 15:39:19 2026 -0400"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "5d10198abebba7f91fc4885d5f2b80467753efa6",
      "tree": "af774482b2482bad85aa9c40c6137efddc64481c",
      "parents": [
        "1e9612ea4774e567c3e2d73048646bf0e59fa840"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 15:39:01 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Aug 10 15:39:01 2026 -0400"
      },
      "message": "Throw CompressorException for invalid huffman data (#798).\n"
    },
    {
      "commit": "1e9612ea4774e567c3e2d73048646bf0e59fa840",
      "tree": "0bc88ea0e3e8117c68d1c440d85260361dd15180",
      "parents": [
        "a0df6b63a36d1c0ea2550c85a34634a9d8715913"
      ],
      "author": {
        "name": "Fredrik Kjellberg",
        "email": "fredrik.kjellberg@gmail.com",
        "time": "Mon Aug 10 21:36:51 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 10 15:36:51 2026 -0400"
      },
      "message": "Throw CompressorException for invalid huffman data (#798)"
    },
    {
      "commit": "a0df6b63a36d1c0ea2550c85a34634a9d8715913",
      "tree": "c162d0329ad50d78529069cd72be083583e8e67b",
      "parents": [
        "315513c9cce130e38809fc40054fd7ed85d3e981"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 19:12:49 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 19:12:49 2026 -0400"
      },
      "message": "Most ArArchiveEntry constructors now throws the IOException subclass\nArchiveException.\n"
    },
    {
      "commit": "315513c9cce130e38809fc40054fd7ed85d3e981",
      "tree": "31b0637dc2f0abd0f883524f34544b00a8a618e8",
      "parents": [
        "599d2ab6905d0708862df6328983dbad33c00f6e"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 19:03:15 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 19:03:15 2026 -0400"
      },
      "message": "TAR private methods now throws the IOException subclass\nArchiveException.\n"
    },
    {
      "commit": "599d2ab6905d0708862df6328983dbad33c00f6e",
      "tree": "b5dee89796b7a2c8b474dfa9e909eb6eec1a6658",
      "parents": [
        "2280d66e238d2b9138bb31de707cfb8347ef0267"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 19:00:02 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 19:00:02 2026 -0400"
      },
      "message": "TAR private methods now throws the IOException subclass\nCompressException.\n"
    },
    {
      "commit": "2280d66e238d2b9138bb31de707cfb8347ef0267",
      "tree": "9ee1eaa7de6a2872b04cb518ae6d1806a7b4355c",
      "parents": [
        "09adf7138eaaca6a29c279843b850bcbc187300b"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 18:51:31 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 18:51:31 2026 -0400"
      },
      "message": "ParsingUtils now throws the IOException subclass CompressException.\n"
    },
    {
      "commit": "09adf7138eaaca6a29c279843b850bcbc187300b",
      "tree": "daebdc1f20cb31aa9d41d820ff75f7e4c6f545bb",
      "parents": [
        "f11a3cb1d8795606513981967975f22d7b14ac4a"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 18:47:36 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 18:47:36 2026 -0400"
      },
      "message": "Add and use CpioArchiveEntry.setTimeMillis(long)\n\nUse TimeUnit.MILLISECONDS.toSeconds(long).\n"
    },
    {
      "commit": "f11a3cb1d8795606513981967975f22d7b14ac4a",
      "tree": "e702d6691c7570fde9345e978e74cf67dee1cf95",
      "parents": [
        "6146a93548bcbd79ddeea11cff696ce21199ece5"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 18:37:23 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 18:37:23 2026 -0400"
      },
      "message": "Some TarArchiveEntry code now throw ArchiveException instead of\nIllegalArgumentException.\n\n- Add and use ArchiveException.requireNonNegative(int, String)\n- Add and use ArchiveException.requireNonNegative(int, Supplier\u003cString\u003e)\n- Add and use ArchiveException.requireNonNegative(long, String)\n- Add and use ArchiveException.requireNonNegative(long,\nSupplier\u003cString\u003e)\n- The following TarArchiveEntry methods now throw ArchiveException\ninstead of IllegalArgumentException\n  - setDataOffset(long)\n  - setDevMajor(int)\n  - setDevMinor(int)\n  - setSize(long)\n"
    },
    {
      "commit": "6146a93548bcbd79ddeea11cff696ce21199ece5",
      "tree": "546dcfef341da3bda3a4647625ba95e9eca0a42e",
      "parents": [
        "7e3e12ff9fee295eff7c31ab28ac4ddf0529b8ab"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 18:26:54 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 18:26:54 2026 -0400"
      },
      "message": "Some TarArchiveEntry code now throw ArchiveException instead of\nIllegalArgumentException.\n\n- Add and use ArchiveException.requireNonNegative(int, String)\n- Add and use ArchiveException.requireNonNegative(int, Supplier\u003cString\u003e)\n- Add and use ArchiveException.requireNonNegative(long, String)\n- Add and use ArchiveException.requireNonNegative(long,\nSupplier\u003cString\u003e)\n- The following TarArchiveEntry methods now throw ArchiveException\ninstead of IllegalArgumentException\n  - setDataOffset(long)\n  - setDevMajor(int)\n  - setDevMinor(int)\n  - setSize(long)\n"
    },
    {
      "commit": "7e3e12ff9fee295eff7c31ab28ac4ddf0529b8ab",
      "tree": "e018aeb950d8e71868fbc2600d2e8417f52d319d",
      "parents": [
        "76b39537c9fbab1ef3cfb4bf07866d18af4a875c"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 17:19:38 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 17:19:38 2026 -0400"
      },
      "message": "Format and comment\n"
    },
    {
      "commit": "76b39537c9fbab1ef3cfb4bf07866d18af4a875c",
      "tree": "dfba23d33236e8e64d277c9008a70044540591c8",
      "parents": [
        "3bf8acf7ab387a6f2d856779dcd8eccd6aee4197"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 10:39:34 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 10:39:34 2026 -0400"
      },
      "message": "Javadoc and internal refactoring\n"
    },
    {
      "commit": "3bf8acf7ab387a6f2d856779dcd8eccd6aee4197",
      "tree": "99ee5680192b8d2152aa785c59dc8c537bdbeb1e",
      "parents": [
        "9634e5600c3ffc546ddbe74522930a526e88b373"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 10:15:57 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 10:15:57 2026 -0400"
      },
      "message": "TarArchiveStructSparse.TarArchiveStructSparse(long, long) now throws\nArchiveException instead of IllegalArgumentException.\n\nSimplify input validation.\n"
    },
    {
      "commit": "9634e5600c3ffc546ddbe74522930a526e88b373",
      "tree": "3c544035c86e0c06e5bc15503298d393865cb4b0",
      "parents": [
        "25fbda20869d2405d1adbe201bcd8a50ca43b497"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 09:42:48 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 09:42:48 2026 -0400"
      },
      "message": "Deprecate FlushShieldFilterOutputStream\n"
    },
    {
      "commit": "25fbda20869d2405d1adbe201bcd8a50ca43b497",
      "tree": "d4cbeab60c629ea84e1df8f9e972d261e72c33a6",
      "parents": [
        "62ec81b21edebbb9e7606cd6fecdf9e59e5420bf"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 09:29:09 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 09:29:09 2026 -0400"
      },
      "message": "CompressException.requireNonNull(Class\u003c? super E\u003e, T, Supplier\u003cString\u003e)\ndidn\u0027t throw on null.\n\n- Add and use ArchiveException.requireNonNegative(int, String)\n- Add and use ArchiveException.requireNonNegative(long, String)\n- Add and use ArchiveException.requireNonNull(T, String)\n- Add and use CompressException.requireNonNull(Class, T, String)\n"
    },
    {
      "commit": "62ec81b21edebbb9e7606cd6fecdf9e59e5420bf",
      "tree": "6e6a0caee45026b3963c1ba1d56703598c717352",
      "parents": [
        "07cedf012d6a43f07b34cf79f7b1a2511444c8b1"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 08:12:45 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 08:12:45 2026 -0400"
      },
      "message": "Call Suppliers.get(Supplier\u003cString\u003e) once.\n"
    },
    {
      "commit": "07cedf012d6a43f07b34cf79f7b1a2511444c8b1",
      "tree": "9368719e61136860bc5c8ca7c64e08960dc21735",
      "parents": [
        "11966f2bea2fbcfe6fc5deede5398f5b821b3e0e"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 08:07:52 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 08:07:52 2026 -0400"
      },
      "message": "Reject negative ZIP64 offsets in positionAtCentralDirectory64 (#794).\n"
    },
    {
      "commit": "11966f2bea2fbcfe6fc5deede5398f5b821b3e0e",
      "tree": "55fd2de7c98332cf58b58c0d4f857b2481e31b32",
      "parents": [
        "48bb67e0c2c4823d21840923e768ef8baadc87aa"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 08:07:43 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 08:07:43 2026 -0400"
      },
      "message": "Reject negative ZIP64 offsets in positionAtCentralDirectory64 (#794).\n\nReduce copy-pasta.\n"
    },
    {
      "commit": "48bb67e0c2c4823d21840923e768ef8baadc87aa",
      "tree": "90f08f1c222a1d78baaa6801cb43f33543dd825d",
      "parents": [
        "7bda793125c7bbd1f8b0b5a0ab8ef51e403708d7"
      ],
      "author": {
        "name": "KALI 834X",
        "email": "kali834x@gmail.com",
        "time": "Sun Aug 09 17:24:21 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 09 07:54:21 2026 -0400"
      },
      "message": "Reject negative ZIP64 offsets in positionAtCentralDirectory64 (#794)"
    },
    {
      "commit": "7bda793125c7bbd1f8b0b5a0ab8ef51e403708d7",
      "tree": "971619335ecee4324e06c54aa9719a64892f922a",
      "parents": [
        "ca82c770684929ea720f599c974e45e6ad337f31"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 07:50:25 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 07:50:25 2026 -0400"
      },
      "message": "Add more tests for HuffmanDecoder and performance benchmark tests\n(#795).\n"
    },
    {
      "commit": "ca82c770684929ea720f599c974e45e6ad337f31",
      "tree": "671118d45c5474b833b74111070c7d4614e9b2e1",
      "parents": [
        "44ae1f7ee4ea295abf692b6984513fda36dcc7a6"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 07:48:36 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 07:48:36 2026 -0400"
      },
      "message": "Use final\n"
    },
    {
      "commit": "44ae1f7ee4ea295abf692b6984513fda36dcc7a6",
      "tree": "7a56d7dc0254ac90d7bbedcd6e0767bb5ce3bbee",
      "parents": [
        "1ef1b867290e25617bf0bf75e3afca7785f4adf6"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 07:48:17 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Aug 09 07:48:17 2026 -0400"
      },
      "message": "Sort members\n"
    },
    {
      "commit": "1ef1b867290e25617bf0bf75e3afca7785f4adf6",
      "tree": "44b1a82d9a45452dfb170e39b1e3651ae6751785",
      "parents": [
        "c3fef93f30f225936f75ffc0758f776c37037bbc"
      ],
      "author": {
        "name": "Fredrik Kjellberg",
        "email": "fredrik.kjellberg@gmail.com",
        "time": "Sun Aug 09 13:47:37 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 09 07:47:37 2026 -0400"
      },
      "message": "Add more tests for HuffmanDecoder and performance benchmark tests (#795)\n\n* Add more tests for HuffmanDecoder and performance benchmark tests\n\n* Use assertThrows"
    },
    {
      "commit": "c3fef93f30f225936f75ffc0758f776c37037bbc",
      "tree": "7ee7af273d5931bad554c2fa0c5e7dbf6ef5a7c6",
      "parents": [
        "66b6e41d96960b0c18ce1469da9ad909d68a3286"
      ],
      "author": {
        "name": "Fredrik Kjellberg",
        "email": "fredrik.kjellberg@gmail.com",
        "time": "Sat Aug 08 23:15:06 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 08 17:15:06 2026 -0400"
      },
      "message": "Remove unnecessary parameter from HuffmanDecoder public constructor (#796)"
    },
    {
      "commit": "66b6e41d96960b0c18ce1469da9ad909d68a3286",
      "tree": "077990601b03ad4bfbb76909df5d5e8980af111a",
      "parents": [
        "c61463811b07b98f556c00f7193e13dee9cd5516"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Aug 08 09:36:51 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Aug 08 09:36:51 2026 -0400"
      },
      "message": "Fix typo in POM."
    },
    {
      "commit": "c61463811b07b98f556c00f7193e13dee9cd5516",
      "tree": "1e2c9297859e42c449b195f1f8c2ebbe80eeed57",
      "parents": [
        "b02a913522d1e0c369a790499c567915b8d99c67"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Aug 08 09:35:44 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Aug 08 09:35:44 2026 -0400"
      },
      "message": "Add comment about pax test 4.14.0.\n"
    },
    {
      "commit": "b02a913522d1e0c369a790499c567915b8d99c67",
      "tree": "6b32591bc4037c61d8a7db4737735937d5f3531c",
      "parents": [
        "ec6383a9e07e8ad0bcb302c7f834131c89c73094"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Aug 08 09:33:42 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Aug 08 09:33:42 2026 -0400"
      },
      "message": "Bump com.github.luben:zstd-jni from 1.5.7-11 to 1.5.7-13.\n"
    },
    {
      "commit": "ec6383a9e07e8ad0bcb302c7f834131c89c73094",
      "tree": "9ed86ce10285b1643d6152d2848354ac55aad575",
      "parents": [
        "4c09ee69f4104027f0c2a97078ab27816b0a27c1"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Aug 05 14:13:38 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Aug 05 14:13:38 2026 -0400"
      },
      "message": "Bump actions/setup-java from 5.6.0 to 5.7.0\n"
    },
    {
      "commit": "4c09ee69f4104027f0c2a97078ab27816b0a27c1",
      "tree": "dc689c405859afd9d8daa9129571e64cbae53ba4",
      "parents": [
        "8be20e5a511090d49209e792dc7805cee4230174"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 04 15:58:14 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 04 15:58:14 2026 -0400"
      },
      "message": "Bump github/codeql-action from 4.37.3 to 4.37.6.\n"
    },
    {
      "commit": "8be20e5a511090d49209e792dc7805cee4230174",
      "tree": "5676ef6672679b189724c5ca97b6d7d20a781924",
      "parents": [
        "778fc583a2bd14d82be1bd619c9319070e4bd997"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 04 08:24:48 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 04 08:24:48 2026 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of https://github.com/apache/commons-compress.git"
    },
    {
      "commit": "778fc583a2bd14d82be1bd619c9319070e4bd997",
      "tree": "8d77419a46cd063cb71f7ada6226070c4618a4e3",
      "parents": [
        "facce1f78dc5eed0f5c69fc1c6d9dbc2b4506c1b"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Tue Aug 04 08:21:13 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 04 08:21:13 2026 -0400"
      },
      "message": "Add reusable Huffman decoder. (#792)\n\nRework of stale PR #720."
    },
    {
      "commit": "facce1f78dc5eed0f5c69fc1c6d9dbc2b4506c1b",
      "tree": "2f8c6dc62e53a1e9854f2ae84c523d0954638422",
      "parents": [
        "c9f8c422142a5f26a49c52ba90ac1d4a518b3609"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 04 08:20:51 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Aug 04 08:20:51 2026 -0400"
      },
      "message": "Reject missing main header in ArjArchiveInputStream.readMainHeader\n(#793)."
    },
    {
      "commit": "c9f8c422142a5f26a49c52ba90ac1d4a518b3609",
      "tree": "6a8ca4339dcab2672789c77374299acd5dd78844",
      "parents": [
        "9481ee23f47fad694f42d272c0d2a030c09ec85c"
      ],
      "author": {
        "name": "KALI 834X",
        "email": "kali834x@gmail.com",
        "time": "Tue Aug 04 17:49:06 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 04 08:19:06 2026 -0400"
      },
      "message": "Reject missing main header in ArjArchiveInputStream.readMainHeader (#793)\n\nreadHeader returns null for the zero-length basic header that marks the end of an arj archive. readLocalFileHeader already tests for it, but readMainHeader passed it straight to ByteArrayInputStream, so an archive starting with the terminator threw NullPointerException instead of ArchiveException."
    },
    {
      "commit": "9481ee23f47fad694f42d272c0d2a030c09ec85c",
      "tree": "cf19c3ebda5f1ae5926f0ffcc03b85d0588640da",
      "parents": [
        "7bb0298ce47b421d41be5a67ea10beef03793cae"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 18:38:00 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 18:38:00 2026 -0400"
      },
      "message": "Add BitInputStream.getByteOrder() (#720).\n"
    },
    {
      "commit": "7bb0298ce47b421d41be5a67ea10beef03793cae",
      "tree": "a749944281a3ffd13e9d7c27f9db0b83ac993d23",
      "parents": [
        "c1f46fb82a4a0ff7b311ad2c145393a638eced2d"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 18:22:25 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 18:22:25 2026 -0400"
      },
      "message": "Package-private class renames from PR #701 (conflicts).\n"
    },
    {
      "commit": "c1f46fb82a4a0ff7b311ad2c145393a638eced2d",
      "tree": "22fcfeaefcedac2469ff94d3593d62c317946a9e",
      "parents": [
        "a1b7b8c1253d5e82856a7c24fb5f93932d866f8c"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 12:18:20 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 12:18:20 2026 -0400"
      },
      "message": "Reduce public API footprint for new LHA code.\n\nReduce vertical whitespace.\n"
    },
    {
      "commit": "a1b7b8c1253d5e82856a7c24fb5f93932d866f8c",
      "tree": "7d503d74c269c50fae76caeb07022ba68358c9c0",
      "parents": [
        "04c283ce9ded4fc0fc090ce94d1054e9bc574097"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 12:10:53 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 12:10:53 2026 -0400"
      },
      "message": "Fold LH subclasses into super class.\n\nReduce public API footprint.\n"
    },
    {
      "commit": "04c283ce9ded4fc0fc090ce94d1054e9bc574097",
      "tree": "b314a5a3b79f8c533a678e3da921422822c2415e",
      "parents": [
        "7895659d4f3e309580f0a2c06b89bc72a3506b7d"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 11:56:22 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 11:56:22 2026 -0400"
      },
      "message": "Internal refactoring reduces overriding\n"
    },
    {
      "commit": "7895659d4f3e309580f0a2c06b89bc72a3506b7d",
      "tree": "37f6daa0e28145503da239a387b0b57269a426fc",
      "parents": [
        "227bc78fae854a7161fc262c6a7fda9268469247"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 11:29:14 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 11:29:14 2026 -0400"
      },
      "message": "Javadoc\n\nReduce vertical whitespace.\n"
    },
    {
      "commit": "227bc78fae854a7161fc262c6a7fda9268469247",
      "tree": "ec558861026aab408922994ad1bdc0b47a2703eb",
      "parents": [
        "1ceae322b2b3d753ffa7aa177235b536cc0a0e8e"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 11:20:37 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 11:20:37 2026 -0400"
      },
      "message": "Throw ArchiveException instead of IOException.\n\n- Add missing Javadoc.\n- Reduce vertical space.\n- Make some methods private.\n"
    },
    {
      "commit": "1ceae322b2b3d753ffa7aa177235b536cc0a0e8e",
      "tree": "7070e356259817dcea1de7ececa5509aae3bbeb2",
      "parents": [
        "d95b970ef73f24a1449b34be780412ee8ad31237"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 11:04:26 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 11:04:26 2026 -0400"
      },
      "message": "LhaArchiveEntry.toString() is now simpler to generate and adds missing\nfields.\n\n- Fix typo in instance variable name and method name.\n- Better internal method name.\n- Javadoc.\n"
    },
    {
      "commit": "d95b970ef73f24a1449b34be780412ee8ad31237",
      "tree": "0d51634fac7ad960bbc46f50462bcd796acce2bd",
      "parents": [
        "1946f59f21cb61bc658d0f82996cb10b883a61e8"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:40:33 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:40:33 2026 -0400"
      },
      "message": "Simplify LhaArchiveEntry construction\n"
    },
    {
      "commit": "1946f59f21cb61bc658d0f82996cb10b883a61e8",
      "tree": "27532a9d929aee06e364cbd4675e8b9d4e34d3ed",
      "parents": [
        "6bea3b61f93f2e8ebb406bf67a0e3b6186a1265b"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:36:13 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:36:13 2026 -0400"
      },
      "message": "Use compact array notation\n\nUse final\n"
    },
    {
      "commit": "6bea3b61f93f2e8ebb406bf67a0e3b6186a1265b",
      "tree": "dae8794d3e2c96c6538a53b5b6a10b5d2e8f07b6",
      "parents": [
        "5940bb0f237d82271f0604da7ce214f566cfbac4"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:34:59 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:34:59 2026 -0400"
      },
      "message": "Use compact array notation\n\nUse final\n"
    },
    {
      "commit": "5940bb0f237d82271f0604da7ce214f566cfbac4",
      "tree": "f44f08c54513a2c25db694a4eb5b5f39330d86ff",
      "parents": [
        "1146b3e54b2bb3d3923eeb6e700a4ecd90bf1e11"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:32:21 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:32:21 2026 -0400"
      },
      "message": "No need to nest else.\n"
    },
    {
      "commit": "1146b3e54b2bb3d3923eeb6e700a4ecd90bf1e11",
      "tree": "04e787f9b31a604e59ca536cef38ecd7b309f123",
      "parents": [
        "f3f563da1eda1c769bd32837a3d1e97c8a85456f"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:32:11 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:32:11 2026 -0400"
      },
      "message": "Use final\n"
    },
    {
      "commit": "f3f563da1eda1c769bd32837a3d1e97c8a85456f",
      "tree": "264b1bc44571063eff62a24182a5e555145795b5",
      "parents": [
        "7d9ab8e2a7601b79a846e792b49b347f9f4fed9a"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:32:01 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:32:01 2026 -0400"
      },
      "message": "Use final\n"
    },
    {
      "commit": "7d9ab8e2a7601b79a846e792b49b347f9f4fed9a",
      "tree": "6dec061f17fe66fb3815d608ecfb8a6b478bac2a",
      "parents": [
        "373030d8b69ce1d3303520d9dde3e3e1c6f5ba07"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:30:57 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:30:57 2026 -0400"
      },
      "message": "Sort members\n"
    },
    {
      "commit": "373030d8b69ce1d3303520d9dde3e3e1c6f5ba07",
      "tree": "756fb3a7d6b161628a5d620ed5af6b7ec6c0aa2a",
      "parents": [
        "1503aca212a6fff9d3d178f0796529773f910d0c"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:30:49 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:30:49 2026 -0400"
      },
      "message": "Sort members\n"
    },
    {
      "commit": "1503aca212a6fff9d3d178f0796529773f910d0c",
      "tree": "b9bbad6e1fb3c92027f56a487dd624da55f7fe28",
      "parents": [
        "c733d36e97ccf8914a89ad1127e3d25e6352fff4"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:30:46 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:30:46 2026 -0400"
      },
      "message": "Sort members\n"
    },
    {
      "commit": "c733d36e97ccf8914a89ad1127e3d25e6352fff4",
      "tree": "b29ec4d88fef6aedc6bdf7ff03065fd7e79165a6",
      "parents": [
        "7b053583e06343afbf130f14215e06f1c6de1ef5"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:30:42 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:30:42 2026 -0400"
      },
      "message": "Sort members\n"
    },
    {
      "commit": "7b053583e06343afbf130f14215e06f1c6de1ef5",
      "tree": "bdd994915134c3c0ad0aca6b5c867bbe28caa7c9",
      "parents": [
        "9bcdc37f4c4b2a216782a0ce9ae3d048fce94214"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:30:39 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:30:39 2026 -0400"
      },
      "message": "Sort members\n"
    },
    {
      "commit": "9bcdc37f4c4b2a216782a0ce9ae3d048fce94214",
      "tree": "694ebb20274d71909567703f400706cedb0192f6",
      "parents": [
        "774c85b72025c77618d8f4fb01af17f473d82d78"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:30:35 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:30:35 2026 -0400"
      },
      "message": "Sort members\n"
    },
    {
      "commit": "774c85b72025c77618d8f4fb01af17f473d82d78",
      "tree": "5cd83ffba750d08f98103972838541e93b0e421a",
      "parents": [
        "db0000fe2d991f7d040649b5c67983711e0549d8"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:30:31 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:30:31 2026 -0400"
      },
      "message": "Sort members\n"
    },
    {
      "commit": "db0000fe2d991f7d040649b5c67983711e0549d8",
      "tree": "8c5837c4395bdd947624bc0d5800a9679df4d062",
      "parents": [
        "5fd647066654057b59d067e741efff2de4cfb05a"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:30:11 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:30:11 2026 -0400"
      },
      "message": "[COMPRESS-706] Add support for reading LHA archive format (#690).\n"
    },
    {
      "commit": "5fd647066654057b59d067e741efff2de4cfb05a",
      "tree": "4f4bf8346d6eea1b17afcce3e993d3139ce4aa7a",
      "parents": [
        "fe2463bbeec7bb80fd112d5756114f767119cc82"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:28:38 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jul 31 10:28:38 2026 -0400"
      },
      "message": "@ParameterizedTest in SevenZPackedStreamCountTest\n"
    }
  ],
  "next": "fe2463bbeec7bb80fd112d5756114f767119cc82"
}
