)]}'
{
  "log": [
    {
      "commit": "99f52d63aa6799cbdaecfe977111dc5ec3b31d47",
      "tree": "74c071040a7131fdf9d95bcc95f40226274af91d",
      "parents": [
        "c9d3f9a6431b5cd1bcb7b024823d329241723d8a"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Tue Sep 01 00:08:12 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 00:08:12 2026 -0400"
      },
      "message": "Update README.md"
    },
    {
      "commit": "c9d3f9a6431b5cd1bcb7b024823d329241723d8a",
      "tree": "ef740e1a73566e06924273a36a1b6ca25705c149",
      "parents": [
        "a9acd0036347c4b8b9509e17fc73be72ddb40db3"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Tue Sep 01 00:05:16 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 00:05:16 2026 -0400"
      },
      "message": "Update README.md"
    },
    {
      "commit": "a9acd0036347c4b8b9509e17fc73be72ddb40db3",
      "tree": "f21190b96cd8e949372734725301b760b2c751c3",
      "parents": [
        "31fddf4894202d1a66255c466389e643c6295eae"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Tue Sep 01 00:04:06 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 00:04:06 2026 -0400"
      },
      "message": "Remove outdated codec specification links from README\n\nRemoved links to XUASTC and XUBC7 LDR specifications."
    },
    {
      "commit": "31fddf4894202d1a66255c466389e643c6295eae",
      "tree": "43c14077795b2b00443b906bdab125caa750ec8c",
      "parents": [
        "480511eb98f7b692e74ddd3c8b2b8b35f103a21e"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Tue Sep 01 00:03:41 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 00:03:41 2026 -0400"
      },
      "message": "Update README.md"
    },
    {
      "commit": "480511eb98f7b692e74ddd3c8b2b8b35f103a21e",
      "tree": "ac814d21cd2307530a58f94a8eaf911b18395822",
      "parents": [
        "41a69c394c544174926511213a2b4c9ce8e4ab23"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Tue Sep 01 00:02:05 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 00:02:05 2026 -0400"
      },
      "message": "Update README with HDR formats transcoding details\n\nAdded information about HDR formats transcoding to BC6H."
    },
    {
      "commit": "41a69c394c544174926511213a2b4c9ce8e4ab23",
      "tree": "dd947cda379a0505f534241753c67d4f371ef766",
      "parents": [
        "6f5256c287a87b165244b77b746e5da5c6a2a951"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Tue Sep 01 00:01:10 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 00:01:10 2026 -0400"
      },
      "message": "Update README.md"
    },
    {
      "commit": "6f5256c287a87b165244b77b746e5da5c6a2a951",
      "tree": "d4934ce42abc9da70ee53ea584d480d33e7697d4",
      "parents": [
        "8c93c71860d38bd3d46bff26b18be258c93052e6"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Mon Aug 31 23:58:54 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 23:58:54 2026 -0400"
      },
      "message": "Fix formatting issues in README.md"
    },
    {
      "commit": "8c93c71860d38bd3d46bff26b18be258c93052e6",
      "tree": "48e3c4d79e5f8b8b5fb2b4a2fb0cfe184fb40567",
      "parents": [
        "64f686dd376ab414e53772b936861cca17a7dc84"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Mon Aug 31 23:58:40 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 23:58:40 2026 -0400"
      },
      "message": "Update README.md"
    },
    {
      "commit": "64f686dd376ab414e53772b936861cca17a7dc84",
      "tree": "199aa4e101b2949d1c0346c8c4799396585203b2",
      "parents": [
        "3fe4dfa3bcf9d58165ad4299b0c71ceed2735116"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Mon Aug 31 23:56:17 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 23:56:17 2026 -0400"
      },
      "message": "Update README.md"
    },
    {
      "commit": "3fe4dfa3bcf9d58165ad4299b0c71ceed2735116",
      "tree": "6ee72e1c5dd144aceea2ee817d2cf0e1508aba31",
      "parents": [
        "10814a0efa5fad33590c0783fa298c98425cabab"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Mon Aug 31 23:55:47 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 23:55:47 2026 -0400"
      },
      "message": "Clarify animated texture reference in README\n\nUpdated text for clarity and consistency in the README."
    },
    {
      "commit": "10814a0efa5fad33590c0783fa298c98425cabab",
      "tree": "9ceca98fd8bb6c640ffa4c6c6502fa068e8e9a3d",
      "parents": [
        "75c4d13abe19114f626dd25433d5b0dddbf6f057"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Mon Aug 31 23:55:11 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 23:55:11 2026 -0400"
      },
      "message": "Update README.md"
    },
    {
      "commit": "75c4d13abe19114f626dd25433d5b0dddbf6f057",
      "tree": "896bf352401e0aca92c090a7307d141d73cb5e91",
      "parents": [
        "c7f90c991f2d35f359baad9a865e83e61e367e8b"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Mon Aug 31 23:51:09 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 23:51:09 2026 -0400"
      },
      "message": "Update README.md"
    },
    {
      "commit": "c7f90c991f2d35f359baad9a865e83e61e367e8b",
      "tree": "6ec16e3ba060ce5584f58b178696a4c4f92cd7e0",
      "parents": [
        "1e9b43689d80177d0f7445efa4b4577724fbf6e2"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Mon Aug 31 23:50:51 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 23:50:51 2026 -0400"
      },
      "message": "Update UASTC HDR 6x6 Intermediate link in README"
    },
    {
      "commit": "1e9b43689d80177d0f7445efa4b4577724fbf6e2",
      "tree": "2042d7d12a0e2b5fffd17fa9a006fec495a4e7e8",
      "parents": [
        "f227f5f7e97826de3ad5283f9f3edf2b4fe213b0"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Mon Aug 31 23:50:17 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 23:50:17 2026 -0400"
      },
      "message": "Update README.md"
    },
    {
      "commit": "f227f5f7e97826de3ad5283f9f3edf2b4fe213b0",
      "tree": "d8f8749f9ecaafa48816849b5e02176c0e0623c7",
      "parents": [
        "54034c2e6442f5981e1d3225cbf6e3f4c41a8353"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Mon Aug 31 23:49:58 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 23:49:58 2026 -0400"
      },
      "message": "Update UASTC LDR 4x4 description with link"
    },
    {
      "commit": "54034c2e6442f5981e1d3225cbf6e3f4c41a8353",
      "tree": "5019cea458acf21906f8e50c07d5573b51b847f2",
      "parents": [
        "6136d38196802f54861b57dd0a9fd0bc6eeef1bc"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Mon Aug 31 23:49:25 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 23:49:25 2026 -0400"
      },
      "message": "Update ETC1S description with hyperlink"
    },
    {
      "commit": "6136d38196802f54861b57dd0a9fd0bc6eeef1bc",
      "tree": "0119f71fb488e0658bef8380492690d5e4bbdfba",
      "parents": [
        "930325fca3f28be13b73ffa78f1b6d0c2d7bd754"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Mon Aug 31 23:48:59 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 23:48:59 2026 -0400"
      },
      "message": "Update README.md"
    },
    {
      "commit": "930325fca3f28be13b73ffa78f1b6d0c2d7bd754",
      "tree": "63852eaea1a4272fc88334f14ff0c02c219b9911",
      "parents": [
        "ef799ff1ca4f05d5c66a6eed26fc42e98ee7570c"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Mon Aug 31 23:48:42 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 23:48:42 2026 -0400"
      },
      "message": "Revise XUASTC LDR 4x4-12x12 description in README\n\nUpdated the description of the XUASTC LDR 4x4-12x12 codec for clarity and conciseness."
    },
    {
      "commit": "ef799ff1ca4f05d5c66a6eed26fc42e98ee7570c",
      "tree": "0b9552cc75267b254ccff1efce0139bb62b8d948",
      "parents": [
        "69441680efd35e6e84942608e3b1040a1f0c4979"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Mon Aug 31 23:47:57 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 23:47:57 2026 -0400"
      },
      "message": "Update README.md"
    },
    {
      "commit": "69441680efd35e6e84942608e3b1040a1f0c4979",
      "tree": "34406dcd2c9063b2fb076b7c3fa2de5928008dae",
      "parents": [
        "4ac36eab9be607f7da459c1c574cc82c5b9cb852"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Mon Aug 31 23:47:17 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 23:47:17 2026 -0400"
      },
      "message": "Update README.md"
    },
    {
      "commit": "4ac36eab9be607f7da459c1c574cc82c5b9cb852",
      "tree": "fa38957dde4d6bb7aa1290278c78c72a5f7c2e24",
      "parents": [
        "f9ebbd80ae6ec82d3a4ec5543d03e356720c1f83"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Mon Aug 31 03:48:15 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Mon Aug 31 03:48:15 2026 -0400"
      },
      "message": "setting g_xbc7_dc_quant_per_weight_bits to const (very minor fix)\n"
    },
    {
      "commit": "f9ebbd80ae6ec82d3a4ec5543d03e356720c1f83",
      "tree": "dc0a6d3febfba884a0c2cf0963ddc7bff08e97fa",
      "parents": [
        "9bebe16726b3a61c8c213eeee3b7cffb462ef34e"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Thu Aug 27 23:58:13 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 27 23:58:13 2026 -0400"
      },
      "message": "Update README to remove v2.50 documentation note\n\nRemoved note about ongoing documentation for v2.50."
    },
    {
      "commit": "9bebe16726b3a61c8c213eeee3b7cffb462ef34e",
      "tree": "4e61fcf333d21dd37e603ba93fbe450785b32a00",
      "parents": [
        "5f6a0a0ca66c34e1dad6da7ce43d1d34ca8fef4d",
        "6546e407eb1a04241a94edd5ff8aab2b1ca880dd"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 22 14:36:49 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 14:36:49 2026 -0400"
      },
      "message": "Merge pull request #458 from vkedwardli/fix/netbsd\n\nFix float overload deduction on NetBSD"
    },
    {
      "commit": "5f6a0a0ca66c34e1dad6da7ce43d1d34ca8fef4d",
      "tree": "eebf67541a3a767edb80a52c6f35edb81f064835",
      "parents": [
        "d77f9308e2d363c4a8b60d11be33e09a16290fe3",
        "28ab277db8c7ef7d900c5bdf46bd31fd1d16e1e4"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Sat Jul 18 22:28:39 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 18 22:28:39 2026 -0400"
      },
      "message": "Merge pull request #463 from BinomialLLC/fix-ktx2-level-uncomp-msg\n\nKTX2: fix wrong error message for oversized level uncompressed length"
    },
    {
      "commit": "28ab277db8c7ef7d900c5bdf46bd31fd1d16e1e4",
      "tree": "eebf67541a3a767edb80a52c6f35edb81f064835",
      "parents": [
        "d77f9308e2d363c4a8b60d11be33e09a16290fe3"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Sat Jul 18 22:24:57 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Sat Jul 18 22:24:57 2026 -0400"
      },
      "message": "KTX2: fix wrong error message for oversized level uncompressed length\n\nThe sanity check on a level\u0027s m_uncompressed_byte_length (\u003e\u003d 2 GiB)\nlogged \"Invalid level offset (too large)\", which names the wrong field.\nCorrect it to \"Invalid level uncompressed byte length (too large)\".\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n"
    },
    {
      "commit": "d77f9308e2d363c4a8b60d11be33e09a16290fe3",
      "tree": "87f267bd5be133275b863bc1c25baae9c21fd388",
      "parents": [
        "edfa1fc3a45319b41d3f225563b9cf2ac43c1a47",
        "018cc67cd06da18587b7a0b8114b3039978bdf71"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Sat Jul 18 19:45:32 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 18 19:45:32 2026 -0400"
      },
      "message": "Merge pull request #462 from BinomialLLC/webgl-build-clean-slow\n\nwebgl/build.sh: run make clean on --clean, add --slow serial option"
    },
    {
      "commit": "018cc67cd06da18587b7a0b8114b3039978bdf71",
      "tree": "87f267bd5be133275b863bc1c25baae9c21fd388",
      "parents": [
        "b512234dff2aadb840391b48ad817ada66a4c3bf"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Sat Jul 18 19:37:52 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Sat Jul 18 19:37:52 2026 -0400"
      },
      "message": "webgl: add --slow option to build.sh for a serial build\n\n--slow uses `make -j1` (one file at a time, the classic manual `make`)\ninstead of the default `make -j$(nproc)`. Useful for readable output or\nconstrained machines; parallel remains the default.\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n"
    },
    {
      "commit": "b512234dff2aadb840391b48ad817ada66a4c3bf",
      "tree": "b303e74fe8ebc68a4ad34e1cdc9a454d7bc0bb01",
      "parents": [
        "fcab97d37136d1455c0f64928017e0e9a1d33d30"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Sat Jul 18 19:33:48 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Sat Jul 18 19:33:48 2026 -0400"
      },
      "message": "webgl: build.sh --clean runs \u0027make clean\u0027 before wiping the CMake cache\n\nFor a more thorough clean, --clean now runs `make clean` (removing the\nbuild outputs and object files via the existing build system) before\ndeleting CMakeCache.txt/CMakeFiles and reconfiguring.\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n"
    },
    {
      "commit": "edfa1fc3a45319b41d3f225563b9cf2ac43c1a47",
      "tree": "0e8a01e08713c24b7963c1609398a4ef1776fa2a",
      "parents": [
        "368e2a51222b7df5bdac2763dd22b06116f64847",
        "fcab97d37136d1455c0f64928017e0e9a1d33d30"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Sat Jul 18 19:15:31 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 18 19:15:31 2026 -0400"
      },
      "message": "Merge pull request #461 from BinomialLLC/ktx2-init-range-checks\n\nwebgl: add build.sh to build the transcoder/encoder"
    },
    {
      "commit": "fcab97d37136d1455c0f64928017e0e9a1d33d30",
      "tree": "0e8a01e08713c24b7963c1609398a4ef1776fa2a",
      "parents": [
        "3b0017e6779e0db1a9f8fe8289a961d74c5fd561"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Sat Jul 18 19:05:54 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Sat Jul 18 19:05:54 2026 -0400"
      },
      "message": "webgl: add build.sh to build the transcoder/encoder with Emscripten\n\nConvenience script (place: webgl/build.sh) that runs emcmake/cmake/make\nin webgl/transcoder/build and webgl/encoder/build. Stops on the first\nerror (set -euo pipefail), builds both by default or a named target\n(transcoder/encoder), supports --clean and -D... cmake pass-through, is\nrunnable from any directory, and auto-sources emsdk if emcmake is not on\nPATH.\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n"
    },
    {
      "commit": "368e2a51222b7df5bdac2763dd22b06116f64847",
      "tree": "ea1896c9721316b55044c704ee859f7f38bdcf5f",
      "parents": [
        "399927dc36c7fd52866d0a75bde0b587494876cf",
        "3b0017e6779e0db1a9f8fe8289a961d74c5fd561"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Sat Jul 18 18:55:48 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 18 18:55:48 2026 -0400"
      },
      "message": "Merge pull request #460 from BinomialLLC/ktx2-init-range-checks\n\npreviewers: free rgbBuf with free() instead of delete"
    },
    {
      "commit": "3b0017e6779e0db1a9f8fe8289a961d74c5fd561",
      "tree": "ea1896c9721316b55044c704ee859f7f38bdcf5f",
      "parents": [
        "38168767f42d5a77fb777594630825e0547b4489"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Sat Jul 18 18:38:36 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Sat Jul 18 18:38:36 2026 -0400"
      },
      "message": "previewers: free rgbBuf with free() instead of delete\n\nBasisThumbProvider::GetThumbnail() allocates rgbBuf with malloc() but\nfreed it with delete, which is a mismatched-allocator (and delete on a\nvoid*) undefined behavior. Use free() to match the allocation, as is\nalready done for the sibling \u0027data\u0027 buffer.\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n"
    },
    {
      "commit": "399927dc36c7fd52866d0a75bde0b587494876cf",
      "tree": "563a82b62d9ae8b026160de105e479d3b53bd982",
      "parents": [
        "1b33fd5098c6e7b58324146b8f5518cbb4cdfb72",
        "38168767f42d5a77fb777594630825e0547b4489"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Sat Jul 18 18:18:14 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 18 18:18:14 2026 -0400"
      },
      "message": "Merge pull request #459 from BinomialLLC/ktx2-init-range-checks\n\nKtx2 init range checks"
    },
    {
      "commit": "38168767f42d5a77fb777594630825e0547b4489",
      "tree": "563a82b62d9ae8b026160de105e479d3b53bd982",
      "parents": [
        "57a0a0b4c6e787acfde9c66a2245442dcc4ae10c"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Sat Jul 18 18:11:39 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Sat Jul 18 18:11:39 2026 -0400"
      },
      "message": "rebuilt artifacts\n"
    },
    {
      "commit": "57a0a0b4c6e787acfde9c66a2245442dcc4ae10c",
      "tree": "dac4f4eb75c8780c30adb2eb3cd313c6e8c83343",
      "parents": [
        "f2497f14d6c43c0b1c75e58e161c455d0cd058d7"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Sat Jul 18 17:59:57 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Sat Jul 18 17:59:57 2026 -0400"
      },
      "message": "previewers: regenerate single-file transcoder with KTX2/Zstd enabled\n\nRegenerate contrib/previewers/lib/basisu_transcoder.cpp from the current\ntranscoder sources with the single_file_transcoder combine.py script,\nreplacing a long-stale copy. KTX2 and Zstd are enabled.\n\nOnly the Basis Universal sources are amalgamated; Zstd is kept as an\nordinary #include \"../zstd/zstd.h\" (via combine.py\u0027s -k option) rather\nthan being inlined, and zstd/zstd.c is compiled and linked separately,\nso Zstd is neither touched nor duplicated.\n\nUpdate the previewers project to build the current (C++17) transcoder:\n- set LanguageStandard to stdcpp17 (the transcoder uses inline variables\n  and other C++17 features);\n- define NOMINMAX (the Windows shell headers, included before the\n  transcoder, otherwise define min/max macros that break the\n  std::numeric_limits\u003c\u003e::max() calls);\n- add the zstd directory to the include paths and compile\n  ..\\..\\..\\zstd\\zstd.c as a separate compilation unit.\n\nThe DLL builds for Debug/Release, x64 and Win32. The previewer still\nonly registers .basis files; enabling KTX2/Zstd just makes the\ntranscoder compile cleanly out of the box.\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n"
    },
    {
      "commit": "f2497f14d6c43c0b1c75e58e161c455d0cd058d7",
      "tree": "e98c4dbde55fd82a545159e5de9c0e24ae06e230",
      "parents": [
        "3454230543d5d50ef95a5a89c15b2206c70a4dca"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Sat Jul 18 17:12:51 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Sat Jul 18 17:20:38 2026 -0400"
      },
      "message": "KTX2 transcoder: build with BASISD_SUPPORT_KTX2 disabled\n\nTwo things prevented the transcoder from compiling with\nBASISD_SUPPORT_KTX2 set to 0:\n\n- ktx2_image_level_info was defined inside the #if BASISD_SUPPORT_KTX2\n  block, but dds_transcoder::get_image_level_info() takes it by\n  reference and is compiled unconditionally. Move the struct ahead of\n  that block so it is always defined; it has no KTX2-specific members.\n\n- The \"#include ../zstd/zstd.h\" was nested inside #if BASISD_SUPPORT_KTX2,\n  but the Zstd decompressor (zstd_decompress()) is compiled whenever\n  BASISD_SUPPORT_KTX2_ZSTD is set, independent of KTX2 (Zstd is also used\n  by other codecs). With KTX2 off but Zstd on, the ZSTD_* symbols were\n  referenced without the header being included. Gate the include on\n  BASISD_SUPPORT_KTX2_ZSTD alone, matching where the symbols are used.\n\nBASISD_SUPPORT_KTX2_ZSTD still defaults to 1 (unchanged). The default\nbuild (KTX2 and Zstd both enabled) is unaffected.\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n"
    },
    {
      "commit": "3454230543d5d50ef95a5a89c15b2206c70a4dca",
      "tree": "e9a4c9fead75c550a13407880032976a1fc5f7c5",
      "parents": [
        "1b33fd5098c6e7b58324146b8f5518cbb4cdfb72"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Sat Jul 18 16:47:58 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Sat Jul 18 16:47:58 2026 -0400"
      },
      "message": "KTX2: overflow-safe range checks and input bounds in ktx2_transcoder::init\n\nThe KTX2 level and supercompression-global-data (SGD) offset/length\nfields are full 64-bit values read from the file. init() validated them\nwith \"offset + length \u003e m_data_size\", where the addition can wrap around\nand incorrectly pass for out-of-range values. Rewrite both checks as\n\"offset \u003e m_data_size || length \u003e (uint64_t)m_data_size - offset\", which\ncannot overflow (offset is confirmed \u003c\u003d m_data_size before the\nsubtraction, so it can\u0027t underflow either). The result is identical to\nthe original for every in-range input.\n\nAlso in init():\n- Reject a level whose byte_length is 0. This case already logged an\n  error but fell through without returning false.\n- Add KTX2_MAX_SUPPORTED_LAYER_COUNT (65535) and reject files whose\n  layer_count exceeds it, mirroring KTX2_MAX_SUPPORTED_LEVEL_COUNT, so\n  layer_count * face_count * level_count stays bounded.\n\nread_slice_offset_len_global_data(): compute image_count in 64-bit,\nverify m_sgd_byte_length \u003d\u003d image_count * descriptor_size before sizing\nthe descriptor array, and use try_resize() (returns false on failure)\ninstead of resize() (which aborts the process) so an out-of-range count\nfails cleanly instead of attempting an oversized allocation. Also\ncompute image_count in 64-bit in decompress_etc1s_global_data().\n\nValid files are handled exactly as before.\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n"
    },
    {
      "commit": "6546e407eb1a04241a94edd5ff8aab2b1ca880dd",
      "tree": "f718de5fbf02c6257f21e716ad89f1a20ca549cc",
      "parents": [
        "1b33fd5098c6e7b58324146b8f5518cbb4cdfb72"
      ],
      "author": {
        "name": "Edward Li",
        "email": "vk.edward.li@gmail.com",
        "time": "Tue Jul 14 22:01:58 2026 +0800"
      },
      "committer": {
        "name": "Edward Li",
        "email": "vk.edward.li@gmail.com",
        "time": "Tue Jul 14 22:01:58 2026 +0800"
      },
      "message": "Fix float overload deduction on NetBSD\n"
    },
    {
      "commit": "1b33fd5098c6e7b58324146b8f5518cbb4cdfb72",
      "tree": "5ea127b834ea40551f658c008a252095754d0c75",
      "parents": [
        "0f540010c5f28d66de3481d53dd2ab6e6ced3191"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Sun Jul 05 21:38:40 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Sun Jul 05 21:38:40 2026 -0400"
      },
      "message": "Adding Cache-Control to dev web server to disable browser caching\n"
    },
    {
      "commit": "0f540010c5f28d66de3481d53dd2ab6e6ced3191",
      "tree": "fde09d5057d5f4ac0d62789672a13f835100c2de",
      "parents": [
        "20ed781c4b8d98b36074019a3389d4f71527a4d9"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Sun Jul 05 21:37:48 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Sun Jul 05 21:37:48 2026 -0400"
      },
      "message": "adding channel weights comment\n"
    },
    {
      "commit": "20ed781c4b8d98b36074019a3389d4f71527a4d9",
      "tree": "129deff8a983af270c69ab16addc6d06c83c377f",
      "parents": [
        "dc86b2cdbfe888847b185d7287a7abedf2c052c2"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Fri Jul 03 23:01:13 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Fri Jul 03 23:01:13 2026 -0400"
      },
      "message": "updating comment\n"
    },
    {
      "commit": "dc86b2cdbfe888847b185d7287a7abedf2c052c2",
      "tree": "ec75b5aca7696ccebb2d29a580c9177ed8542e54",
      "parents": [
        "fc3a67a5c028c19f24099dac77f4f78290f2bd0f"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Fri Jul 03 22:51:04 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Fri Jul 03 22:51:04 2026 -0400"
      },
      "message": "comment fix\n"
    },
    {
      "commit": "fc3a67a5c028c19f24099dac77f4f78290f2bd0f",
      "tree": "c35e307ef2b5e6838eb98f2fed07719c04c33f79",
      "parents": [
        "a73f8b80ed6f3be93f4582cc840a02a50bc2a87a"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Fri Jul 03 22:45:41 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Fri Jul 03 22:45:41 2026 -0400"
      },
      "message": "comment fix\n"
    },
    {
      "commit": "a73f8b80ed6f3be93f4582cc840a02a50bc2a87a",
      "tree": "d4b21177a18ad27a8c4cefcb73a025163fbc9fb5",
      "parents": [
        "b0c0216d7ecc2533a159c6de7922ebf75eb1645b"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Fri Jul 03 22:18:21 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Fri Jul 03 22:18:21 2026 -0400"
      },
      "message": "rebuilt\n"
    },
    {
      "commit": "b0c0216d7ecc2533a159c6de7922ebf75eb1645b",
      "tree": "3e4b66878975e74d59aaa997f6931e24aabab0c1",
      "parents": [
        "984978bb2c208384eb2f309dea028cbe187f636b"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Fri Jul 03 22:13:18 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Fri Jul 03 22:13:18 2026 -0400"
      },
      "message": "per-channel weight parameter rename (discovered during documentation pass)\n"
    },
    {
      "commit": "984978bb2c208384eb2f309dea028cbe187f636b",
      "tree": "559a1b6a05e0948e7b7327afe6206f4d8318f9f2",
      "parents": [
        "bbc49c63a802071ea427e72e4ae5d0efb8621823"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Fri Jul 03 22:12:26 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Fri Jul 03 22:12:26 2026 -0400"
      },
      "message": "updating per-channel weight comment\n"
    },
    {
      "commit": "bbc49c63a802071ea427e72e4ae5d0efb8621823",
      "tree": "359fc9a11b6fe83e665c36509b4f6124e089b910",
      "parents": [
        "079b0129ee1e836e661261d9691b0d60d54e7055"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Fri Jul 03 22:09:46 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Fri Jul 03 22:09:46 2026 -0400"
      },
      "message": "rebuild artifact\n"
    },
    {
      "commit": "079b0129ee1e836e661261d9691b0d60d54e7055",
      "tree": "14ddfaa2dc750af07754693b79a39f6b1683c4c0",
      "parents": [
        "fecef375e7c5023b170177cff815dec7a1fc6382"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Fri Jul 03 22:05:48 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Fri Jul 03 22:05:48 2026 -0400"
      },
      "message": "updating comment for set_srgb_options()\n"
    },
    {
      "commit": "fecef375e7c5023b170177cff815dec7a1fc6382",
      "tree": "76c021289c2c00afe501690565c4fb0ff439f35b",
      "parents": [
        "b50b394845bfecb5ed72f005d3eedcd7fefe1341"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Fri Jul 03 22:03:05 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Fri Jul 03 22:03:05 2026 -0400"
      },
      "message": "Compression parameter rename: renaming m_xuastc_ldr_channel_weights[] to m_ldr_channel_weights[] (it\u0027s no longer XUASTC/ASTC specific, it\u0027s also used for XUBC7 and DDS creation)\n"
    },
    {
      "commit": "b50b394845bfecb5ed72f005d3eedcd7fefe1341",
      "tree": "fed55d2f33ebe5dc49428be0f00a99ff326c5b2e",
      "parents": [
        "e79d46aadd8ec8a2963c0a4c0ef1a2ee0f85a11c"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Fri Jul 03 21:40:00 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Fri Jul 03 21:40:00 2026 -0400"
      },
      "message": "adding set_ldr_srgb_channel_weights() compression parameter API (it\u0027s no longer XUASTC/ASTC specific)\n"
    },
    {
      "commit": "e79d46aadd8ec8a2963c0a4c0ef1a2ee0f85a11c",
      "tree": "074ea952d67e51b6a5fcc19baebe1b0b9e1b78a3",
      "parents": [
        "0857faf8d7e7e856c28e2adf3c9aaf6e8d09ba4c"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Fri Jul 03 02:17:29 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Fri Jul 03 02:17:29 2026 -0400"
      },
      "message": "rebuilt artifacts\n"
    },
    {
      "commit": "0857faf8d7e7e856c28e2adf3c9aaf6e8d09ba4c",
      "tree": "91d66f33f3278aa16c2c3e3be946cc1c2d3f7bdc",
      "parents": [
        "0442737aa7d9d01861cdaf1b827590943a9e6ac3"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Fri Jul 03 02:06:10 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Fri Jul 03 02:06:10 2026 -0400"
      },
      "message": "changing the GL base internal format for BC6H to be RGB not RGBA\n"
    },
    {
      "commit": "0442737aa7d9d01861cdaf1b827590943a9e6ac3",
      "tree": "f8774eacc02f2b98b72aee5c0efa79320064903b",
      "parents": [
        "306ff5f9511d8760b670d2b0831ccc9009675d47"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Thu Jul 02 23:14:30 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Thu Jul 02 23:14:30 2026 -0400"
      },
      "message": "deblocking comment update\n"
    },
    {
      "commit": "306ff5f9511d8760b670d2b0831ccc9009675d47",
      "tree": "5cc10450a9054a5d58ea51d633fc73301e3f9a98",
      "parents": [
        "174366837383bac3dce8c5eec3c862592a4f64ee"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Thu Jul 02 22:55:40 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Thu Jul 02 22:55:40 2026 -0400"
      },
      "message": "minor change\n"
    },
    {
      "commit": "174366837383bac3dce8c5eec3c862592a4f64ee",
      "tree": "0ded96b5a1067827bdbfe05acddd2e9682cf3723",
      "parents": [
        "2ac31268415119961c06d68f47c1a7abf5c2bba0"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Thu Jul 02 22:52:05 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Thu Jul 02 22:52:05 2026 -0400"
      },
      "message": "adding D3D 11 shader deblocking sample (a port of the native OpenGL version)\n"
    },
    {
      "commit": "2ac31268415119961c06d68f47c1a7abf5c2bba0",
      "tree": "5539951fced6469cd9357ae72a9a0c44817ac2be",
      "parents": [
        "f99e343c0047a65a7f9d0f497bf20d00d68bc280"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Thu Jul 02 04:20:51 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Thu Jul 02 04:20:51 2026 -0400"
      },
      "message": "rebuilt artifacts\n"
    },
    {
      "commit": "f99e343c0047a65a7f9d0f497bf20d00d68bc280",
      "tree": "d4f9171909d290bd88124ebfe563ae4e8bf3540b",
      "parents": [
        "929f80198df13a031d4254ac924a0e635d4f7a33"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Thu Jul 02 04:11:58 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Thu Jul 02 04:11:58 2026 -0400"
      },
      "message": "code fix found via AI audit\n"
    },
    {
      "commit": "929f80198df13a031d4254ac924a0e635d4f7a33",
      "tree": "6c87c76dfdd26eca0d59fa12507cca08f6963f9c",
      "parents": [
        "2de810cd711ce72e1169581f6107a0208ca556df"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Thu Jul 02 01:32:34 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Thu Jul 02 01:32:34 2026 -0400"
      },
      "message": "fixing comments\n"
    },
    {
      "commit": "2de810cd711ce72e1169581f6107a0208ca556df",
      "tree": "562f9619ab28ea7477fb0896c2fece4fafd73625",
      "parents": [
        "069e065454bb4fd476c0e3b2f30413d12dcf828a",
        "1105886f569e810789131c86c5b52e2017e7efd4"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 23:43:02 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 23:43:02 2026 -0400"
      },
      "message": "Merge remote-tracking branch \u0027origin/master\u0027\n"
    },
    {
      "commit": "069e065454bb4fd476c0e3b2f30413d12dcf828a",
      "tree": "7e059ebde2bb16a064c4bb09e1a30d0c3179abfc",
      "parents": [
        "37b08e0a5beae2edc81333373760af0893626665"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 23:43:00 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 23:43:00 2026 -0400"
      },
      "message": "formatting fix\n"
    },
    {
      "commit": "1105886f569e810789131c86c5b52e2017e7efd4",
      "tree": "d46c139a249c3be3d6f8ec8dac531414de0fa018",
      "parents": [
        "7dbf3308ebf2c2d2c05bf09f487e79c8ad04c469"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 15:52:22 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 01 15:52:22 2026 -0400"
      },
      "message": "Update README.md"
    },
    {
      "commit": "7dbf3308ebf2c2d2c05bf09f487e79c8ad04c469",
      "tree": "e880d49ed8b9e23c718b7a4ba00bb67d6377799d",
      "parents": [
        "11f4bf8a141a9db3585394d44a63fcc76a71a7f8"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 15:50:42 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 01 15:50:42 2026 -0400"
      },
      "message": "Update README.md"
    },
    {
      "commit": "11f4bf8a141a9db3585394d44a63fcc76a71a7f8",
      "tree": "55c7b31ef2df2cadcc80268087fb6a6938c4e173",
      "parents": [
        "a27c30c9647e43fda246a7f97eb67d50d5474d69"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 15:49:17 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 01 15:49:17 2026 -0400"
      },
      "message": "Update README.md"
    },
    {
      "commit": "a27c30c9647e43fda246a7f97eb67d50d5474d69",
      "tree": "5e885df11b5a1fbf068c318d9f3281845d2fcd4b",
      "parents": [
        "0e4cd3e4e520a786f8b08dad8dc5339983c88288"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 15:46:43 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 01 15:46:43 2026 -0400"
      },
      "message": "Update README.md"
    },
    {
      "commit": "0e4cd3e4e520a786f8b08dad8dc5339983c88288",
      "tree": "0118e501716f7bb4ecf064b1d3d2c1f68f3cdcd0",
      "parents": [
        "37b08e0a5beae2edc81333373760af0893626665"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 15:45:14 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 01 15:45:14 2026 -0400"
      },
      "message": "Update NOTICE"
    },
    {
      "commit": "37b08e0a5beae2edc81333373760af0893626665",
      "tree": "a4d632922c41ddefa43a5fb9283201b881088776",
      "parents": [
        "bfa665aa267615d18f078fc4f43b11f074c9e446",
        "f6a7da553217b0f2f38972e96b0f3136341e0314"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 15:10:13 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 15:10:13 2026 -0400"
      },
      "message": "Merge remote-tracking branch \u0027origin/master\u0027\n"
    },
    {
      "commit": "bfa665aa267615d18f078fc4f43b11f074c9e446",
      "tree": "03aca6111194ba190317a3a0291b6dda96fb520b",
      "parents": [
        "7ba9f36875dd1164b7393855003ac01ef2759128"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 15:10:10 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 15:10:10 2026 -0400"
      },
      "message": "rebuilt artifacts\n"
    },
    {
      "commit": "f6a7da553217b0f2f38972e96b0f3136341e0314",
      "tree": "ca9fe73e00b10b80bf52504716c956396faf7749",
      "parents": [
        "4de7c436346b80ceb919d5b637794a112b2dec93"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 15:04:15 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 01 15:04:15 2026 -0400"
      },
      "message": "Update README.md"
    },
    {
      "commit": "4de7c436346b80ceb919d5b637794a112b2dec93",
      "tree": "3135c6361383ddf9ccf2c03548a84fc3ddc26cc6",
      "parents": [
        "7ba9f36875dd1164b7393855003ac01ef2759128"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 15:03:38 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 01 15:03:38 2026 -0400"
      },
      "message": "Update README.md"
    },
    {
      "commit": "7ba9f36875dd1164b7393855003ac01ef2759128",
      "tree": "7cd0f23ed4816d206cbbfb74f1aaaa85331e7c6d",
      "parents": [
        "c5e05d088eb3dd737c104903abdbedd5c7e1db6d"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 14:52:07 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 01 14:52:07 2026 -0400"
      },
      "message": "Update README.md"
    },
    {
      "commit": "c5e05d088eb3dd737c104903abdbedd5c7e1db6d",
      "tree": "a30f35925874c3ca82931173b1c2d870687ccb7b",
      "parents": [
        "02b43c874fa2e059286be6cb85d089a097e18818"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 14:51:05 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 01 14:51:05 2026 -0400"
      },
      "message": "Update README to include DDS transcoding support\n\nAdded a new section on DDS transcoding support, detailing the capabilities of the transcoder module in version 2.5."
    },
    {
      "commit": "02b43c874fa2e059286be6cb85d089a097e18818",
      "tree": "d615e2c4f690f479a157d23ba1d2a88a68eaa619",
      "parents": [
        "1159d2567f122b9966432561cfac723b6cefb059"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 14:49:52 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 01 14:49:52 2026 -0400"
      },
      "message": "Update README.md"
    },
    {
      "commit": "1159d2567f122b9966432561cfac723b6cefb059",
      "tree": "faae2a6f27b07835932f8545a8bef6accccb381d",
      "parents": [
        "58e0fe2164f76602c737041a858e5805472a9aea"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 14:45:51 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 01 14:45:51 2026 -0400"
      },
      "message": "Update README.md"
    },
    {
      "commit": "58e0fe2164f76602c737041a858e5805472a9aea",
      "tree": "92189c361145cb6e6ba2c4602001ddcce54a2242",
      "parents": [
        "b2f76edb93fcdcc75aae496f3b64da791d97574d"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 14:44:48 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 01 14:44:48 2026 -0400"
      },
      "message": "Update README.md"
    },
    {
      "commit": "b2f76edb93fcdcc75aae496f3b64da791d97574d",
      "tree": "60beb1c7ca797f64a22ed190669a1d29b11d4869",
      "parents": [
        "c8e1ddf4ecda44995019feaebf7b83d61487b48e"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 14:43:30 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 01 14:43:30 2026 -0400"
      },
      "message": "Update README.md"
    },
    {
      "commit": "c8e1ddf4ecda44995019feaebf7b83d61487b48e",
      "tree": "7080131de729194214dcda4567d2c21532f0226a",
      "parents": [
        "796b716cb23b804b921a67faf2361ec60bf56d7e"
      ],
      "author": {
        "name": "Rich Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 14:43:08 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 01 14:43:08 2026 -0400"
      },
      "message": "Update README.md"
    },
    {
      "commit": "796b716cb23b804b921a67faf2361ec60bf56d7e",
      "tree": "f973eb56402026c7543db84bdfd64759adb6706f",
      "parents": [
        "77677a5fd9636e11d9666d70054751ef93cd5f44"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 14:26:16 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 14:26:16 2026 -0400"
      },
      "message": "fixing -test_codecs so it\u0027s multithreaded in WASM WASI MT builds\n"
    },
    {
      "commit": "77677a5fd9636e11d9666d70054751ef93cd5f44",
      "tree": "c5cd9f7543eee6b0e0bb0572086d19d832a91368",
      "parents": [
        "3bfdc566d1945a6de368841371a012b31da37cda"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:52:13 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:52:13 2026 -0400"
      },
      "message": "rebuilt artifacts\n"
    },
    {
      "commit": "3bfdc566d1945a6de368841371a012b31da37cda",
      "tree": "a5ebd568594faf0312deb465d7090d5ca7d76d6a",
      "parents": [
        "1152785ab69346e69eb2748f8e658bd1dfd38b24"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:31:11 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:31:11 2026 -0400"
      },
      "message": "modification for v2.5\n"
    },
    {
      "commit": "1152785ab69346e69eb2748f8e658bd1dfd38b24",
      "tree": "acbb3cba626d941918b437b74aace4457223d93e",
      "parents": [
        "e4a81a0066b2ad7adf4f0cd873aba6cff21c364e"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:30:21 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:30:21 2026 -0400"
      },
      "message": "modifications for v2.5\n"
    },
    {
      "commit": "e4a81a0066b2ad7adf4f0cd873aba6cff21c364e",
      "tree": "6a0dd05a87602666c7fa4770fe34625311b93281",
      "parents": [
        "1093ca17ef1a39d3741969677ff80ee5ba695a14"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:30:03 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:30:03 2026 -0400"
      },
      "message": "new files\n"
    },
    {
      "commit": "1093ca17ef1a39d3741969677ff80ee5ba695a14",
      "tree": "39e6720f790669c503669a768ad9f7545ece600f",
      "parents": [
        "3cfdd2240bb08e36e4881a8c4d0f0c7d7bd99e6d"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:20:19 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:20:19 2026 -0400"
      },
      "message": "modifications for v2.5\n"
    },
    {
      "commit": "3cfdd2240bb08e36e4881a8c4d0f0c7d7bd99e6d",
      "tree": "d4aeb2d17b0f2f024d9f74511ccb7e1b57362ac0",
      "parents": [
        "56ba46d4859f48d98886ea903267cc825c5dd83c"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:20:12 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:20:12 2026 -0400"
      },
      "message": "new files for v2.5\n"
    },
    {
      "commit": "56ba46d4859f48d98886ea903267cc825c5dd83c",
      "tree": "85c1a758d176a16866ba545b41ff606f877f69e7",
      "parents": [
        "8291f1b23855acd6dceb634b5507187a3c2231c9"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:19:14 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:19:14 2026 -0400"
      },
      "message": "UBSAN bug fixes (shifting)\n"
    },
    {
      "commit": "8291f1b23855acd6dceb634b5507187a3c2231c9",
      "tree": "d57942e4d26e8d16afde610e0dd29a9ef2f878a4",
      "parents": [
        "8805a4fbc68ee0550fe20bece4301b5b1bc26aac"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:18:24 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:18:24 2026 -0400"
      },
      "message": "modifications for v2.5\n"
    },
    {
      "commit": "8805a4fbc68ee0550fe20bece4301b5b1bc26aac",
      "tree": "c60c0e418f1eff5e21e98405282f094adbfbeea5",
      "parents": [
        "afb3d4aef228b3bf15b433a0d1710c0303b14f9b"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:16:44 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:16:44 2026 -0400"
      },
      "message": "removing file\n"
    },
    {
      "commit": "afb3d4aef228b3bf15b433a0d1710c0303b14f9b",
      "tree": "4e6b9d8df6ea32bc88ef0cb3133ecebe29ca8beb",
      "parents": [
        "e5aa8306f31faef483fde72bd4bd1166335c621d"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:16:04 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:16:04 2026 -0400"
      },
      "message": "modifications for v2.5\n"
    },
    {
      "commit": "e5aa8306f31faef483fde72bd4bd1166335c621d",
      "tree": "e5aa630f3dd61c628adb0e2d72b41a90136ef8a1",
      "parents": [
        "a452ae7f31b1ba88880aef90e38b1973bc0e3b19"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:15:57 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:15:57 2026 -0400"
      },
      "message": "adding new sample\n"
    },
    {
      "commit": "a452ae7f31b1ba88880aef90e38b1973bc0e3b19",
      "tree": "5b1118b0e6f8e0101470b5a3a7604e37e5edd5ae",
      "parents": [
        "d2c91746facabffcffe6c4f516128bea799b4fb9"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:14:04 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:14:04 2026 -0400"
      },
      "message": "adding new sample\n"
    },
    {
      "commit": "d2c91746facabffcffe6c4f516128bea799b4fb9",
      "tree": "d57cdb1e2d4eef5bca4756030a026dcdfa867179",
      "parents": [
        "1f728895a8bc1dec8af4c101e15dec76cbab97cc"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:13:54 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:13:54 2026 -0400"
      },
      "message": "removing old sample, replaced with python/shader_deblocking\n"
    },
    {
      "commit": "1f728895a8bc1dec8af4c101e15dec76cbab97cc",
      "tree": "04aa28b7024ee47ae5d7a27260b0408b44cd56a7",
      "parents": [
        "6172955c43e656efe0665cd15b33a568e515d286"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:11:58 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:11:58 2026 -0400"
      },
      "message": "new shader deblocking sample for v2.5\n"
    },
    {
      "commit": "6172955c43e656efe0665cd15b33a568e515d286",
      "tree": "78e3f648d4810bc4b3f7e3db5b03b5697e3c2305",
      "parents": [
        "43abe94b4d333c0a93a0f79f3b853c839c20152f"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:11:07 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:11:07 2026 -0400"
      },
      "message": "new test files for v2.5\n"
    },
    {
      "commit": "43abe94b4d333c0a93a0f79f3b853c839c20152f",
      "tree": "023a7b4da05cb57faeb38916632cb822f1e96226",
      "parents": [
        "5d424ba999ff26ee958658607d09969d9ff8ec51"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:10:42 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:10:42 2026 -0400"
      },
      "message": "changes for v2.5\n"
    },
    {
      "commit": "5d424ba999ff26ee958658607d09969d9ff8ec51",
      "tree": "3aee8560d9ae179e0c409387c2936316136db2ed",
      "parents": [
        "cee913ad4e440b5da86443d615e764cbb22388ed"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:01:00 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:01:00 2026 -0400"
      },
      "message": "new file\n"
    },
    {
      "commit": "cee913ad4e440b5da86443d615e764cbb22388ed",
      "tree": "f0fc23161aa56c72fbd6946848610eb6165a0bf4",
      "parents": [
        "8693d6e42350aa37382f87ba8b4e6754579b49fa"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:00:49 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:00:49 2026 -0400"
      },
      "message": "modified for v2.5\n"
    },
    {
      "commit": "8693d6e42350aa37382f87ba8b4e6754579b49fa",
      "tree": "d72c9d06e9de67aa6ab6248355927bb053f671ca",
      "parents": [
        "6bec299da1f70cf22f7d916ab12c90c10aeaea0b"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:00:43 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 13:00:43 2026 -0400"
      },
      "message": "new files\n"
    },
    {
      "commit": "6bec299da1f70cf22f7d916ab12c90c10aeaea0b",
      "tree": "64c59b1e05091629323d34c6181998720795bfd3",
      "parents": [
        "ad5cf81f477457a9b82c6df033931b9cf9fd7df7"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 12:59:35 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 12:59:35 2026 -0400"
      },
      "message": "modified for v2.5\n"
    },
    {
      "commit": "ad5cf81f477457a9b82c6df033931b9cf9fd7df7",
      "tree": "8a07df5348408681e484ea5681beebb435b479e3",
      "parents": [
        "60c9e474ad2007b4aff85cf141f23c73c2cdace5"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 12:59:29 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 12:59:29 2026 -0400"
      },
      "message": "adding new sample\n"
    },
    {
      "commit": "60c9e474ad2007b4aff85cf141f23c73c2cdace5",
      "tree": "26e1859b35045ca69762aeead24fea69751424bc",
      "parents": [
        "4e32794532627bc3c56d823c5957209f8aa9a7d7"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 12:59:16 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 12:59:16 2026 -0400"
      },
      "message": "adding new files\n"
    },
    {
      "commit": "4e32794532627bc3c56d823c5957209f8aa9a7d7",
      "tree": "79a9f28b998240ab136b579227be81fd85cdfb17",
      "parents": [
        "1aab02ba2df16ad873229030ea191ea8c10e3fc9"
      ],
      "author": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 12:59:08 2026 -0400"
      },
      "committer": {
        "name": "Richard Geldreich",
        "email": "richgel99@protonmail.com",
        "time": "Wed Jul 01 12:59:08 2026 -0400"
      },
      "message": "moving ktx2_encode_test to ktx2_studio, adding new files\n"
    }
  ],
  "next": "1aab02ba2df16ad873229030ea191ea8c10e3fc9"
}
