)]}'
{
  "log": [
    {
      "commit": "a1d0332553c6326a62a72ca4bcb51d85e299e43e",
      "tree": "9e3585b0e434c4c55eb5bc66b1b20e56febd2b2d",
      "parents": [
        "b1e4d339c1ff5b547664c85f1713279f4997d694"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Oct 22 11:17:25 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 22 11:17:25 2026 -0700"
      },
      "message": "Update to libaom v3.15.3 release candidate 1\n\nFixes https://issues.oss-fuzz.com/issues/572842743."
    },
    {
      "commit": "b1e4d339c1ff5b547664c85f1713279f4997d694",
      "tree": "260d80292b7d4f761132a2a37848f271e581c206",
      "parents": [
        "ab37e2946dfb6d2cc52886f39cb0fbf701db98e1"
      ],
      "author": {
        "name": "Yannis Guyon",
        "email": "yguyon@google.com",
        "time": "Fri Oct 16 15:40:10 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 16 15:40:10 2026 +0200"
      },
      "message": "Speed workflows up (#3418)\n\nSplit Linux and macOS workflows into separate files.\nRun macOS workflows only on main branch.\nRename workflows and jobs consistently.\nRemove single-value matrix dimensions.\nRemove ci-macos-static-sanitized."
    },
    {
      "commit": "ab37e2946dfb6d2cc52886f39cb0fbf701db98e1",
      "tree": "152cf0a653f4d832636667bd204f05c42094ec12",
      "parents": [
        "c9cb32dbbaa3394d9f57afd2b4965ab0e56aaa62"
      ],
      "author": {
        "name": "Vincent Rabaud",
        "email": "vrabaud@google.com",
        "time": "Tue Oct 13 22:14:39 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 13 22:14:39 2026 +0200"
      },
      "message": "Disable dll copies by vcpkg to avoid race condition (#3412)\n\nThis variable is explained at:\n https://learn.microsoft.com/en-us/vcpkg/users/buildsystems/cmake-integration#vcpkg_applocal_deps\n\nParallel ninja builds call \"vcpkg z-applocal\" in parallel which\ncan creaate collisions.\n\nX_VCPKG_APPLOCAL_DEPS_SERIALIZED (from #3408) did not resolve this\nbecause CMake\u0027s Ninja generator inlines target post-build commands\ndirectly into the linker rule and does not place them in the\nterminal/console pool.\n\nVCPKG_APPLOCAL_DEPS\u003dOFF disables the post build copies. We still\nneed to find the dlls so the the build folder is added to the\npath.\n\nIt should fix the issues we\u0027ve been seeing on the Windows CI\nwith vcpkg."
    },
    {
      "commit": "c9cb32dbbaa3394d9f57afd2b4965ab0e56aaa62",
      "tree": "d7928cbc658b61c48021ca93f574942fe42c9f94",
      "parents": [
        "b70519419573c958adc1bf94176ca0bf496e88e2"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Oct 12 09:29:33 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 12 09:29:33 2026 -0700"
      },
      "message": "Bump the github-actions group across 1 directory with 3 updates\n\nBumps the github-actions group with 3 updates in the /.github/workflows directory: [actions/setup-java](https://github.com/actions/setup-java), [android-actions/setup-android](https://github.com/android-actions/setup-android) and [github/codeql-action/upload-sarif](https://github.com/github/codeql-action).\n\n\nUpdates `actions/setup-java` from 6.0.0 to 6.0.1\n- [Release notes](https://github.com/actions/setup-java/releases)\n- [Commits](https://github.com/actions/setup-java/compare/dd06d9cba3e5552c54d9f8ea23572deb30010f7c...de7274f081f381c8f8158605e0321c36c376e2e6)\n\nUpdates `android-actions/setup-android` from 4.0.2 to 4.0.4\n- [Release notes](https://github.com/android-actions/setup-android/releases)\n- [Commits](https://github.com/android-actions/setup-android/compare/7731365548f3f81c15d4c49c8f1d29101e02cdcf...be39fa834029ff78f1a44aa3bb0819b8fc2bd8fd)\n\nUpdates `github/codeql-action/upload-sarif` from 4.37.8 to 4.38.2\n- [Release notes](https://github.com/github/codeql-action/releases)\n- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/github/codeql-action/compare/db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28...2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2)\n\n---\nupdated-dependencies:\n- dependency-name: actions/setup-java\n  dependency-version: 6.0.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: github-actions\n- dependency-name: android-actions/setup-android\n  dependency-version: 4.0.4\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: github-actions\n- dependency-name: github/codeql-action/upload-sarif\n  dependency-version: 4.38.2\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: github-actions\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "b70519419573c958adc1bf94176ca0bf496e88e2",
      "tree": "ccbbe0044ff640fa808c5168d99540f124c3b21f",
      "parents": [
        "fa78ed71de0bcd35cc314393ea491e57c0eba66f"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Sat Oct 10 18:07:39 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 10 18:07:39 2026 -0700"
      },
      "message": "Update to libaom v3.15.2\n\nFixes https://issues.oss-fuzz.com/issues/566951534."
    },
    {
      "commit": "fa78ed71de0bcd35cc314393ea491e57c0eba66f",
      "tree": "0bd73e6c080d3af346fafe7219740fda4d3d5bb3",
      "parents": [
        "f27f9ab063e94228ff748db25501f3fcadddaa87"
      ],
      "author": {
        "name": "krishna28238-arch",
        "email": "krishna28238@gmail.com",
        "time": "Thu Oct 08 18:01:19 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 08 14:31:19 2026 +0200"
      },
      "message": "Reject avifRGBImage dimensions mismatch (#3394)\n\nMake the implementation match the documentation.\n\nAdd tests.\n\n---------\n\nCo-authored-by: krishna28238-arch \u003ckrishna28238-arch@users.noreply.github.com\u003e\nCo-authored-by: Yannis Guyon \u003cyguyon@google.com\u003e"
    },
    {
      "commit": "f27f9ab063e94228ff748db25501f3fcadddaa87",
      "tree": "c81ad50e7082b74f53ca4043c1d598e2cfaa4e24",
      "parents": [
        "fd5d05129dac8732e379dd353de606c18e83af1d"
      ],
      "author": {
        "name": "Vincent Rabaud",
        "email": "vrabaud@google.com",
        "time": "Thu Oct 08 13:51:46 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 08 13:51:46 2026 +0200"
      },
      "message": "ci: Serialize vcpkg applocal deployment on Windows (#3408)\n\nIn parallel Ninja builds on Windows with vcpkg, concurrent invocations\nof `vcpkg z-applocal` post-build commands collide when copying shared\nruntime DLLs (such as libpng16.dll or z.dll) into the same output\ndirectory (tests/). This triggers transient Windows file-sharing\nviolations (\"The process cannot access the file because it is being used\nby another process\").\n\nEnable `X_VCPKG_APPLOCAL_DEPS_SERIALIZED\u003dON` to add USES_TERMINAL to\nthe post-build step, forcing Ninja to serialize the dependency-copying\noperations while keeping compilation and linking fully parallel."
    },
    {
      "commit": "fd5d05129dac8732e379dd353de606c18e83af1d",
      "tree": "b5d9588f0b63acd720aa4397e73b6f982b894aa4",
      "parents": [
        "0061e03104b959e3aaad73f7d48e968469fff16b"
      ],
      "author": {
        "name": "Vincent Rabaud",
        "email": "vrabaud@google.com",
        "time": "Thu Oct 08 13:04:04 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 08 13:04:04 2026 +0200"
      },
      "message": "Bump fuzztest to the latest tag (#3407)"
    },
    {
      "commit": "0061e03104b959e3aaad73f7d48e968469fff16b",
      "tree": "917073f54bc006bbb79243761a787d4ad9dbc00e",
      "parents": [
        "e4db889c6b574bf221a380e9bddde0273c942023"
      ],
      "author": {
        "name": "Abdul Rawoof Khan",
        "email": "abdulr@bugqore.com",
        "time": "Tue Oct 06 15:43:49 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 06 12:13:49 2026 +0200"
      },
      "message": "associate tmap ICC with tmap item in avifParseMinimizedImageBox (#3401)"
    },
    {
      "commit": "e4db889c6b574bf221a380e9bddde0273c942023",
      "tree": "c1376d28a41c7f7d7130edddeebb8dbb73fd7ad2",
      "parents": [
        "fa659d21ec29a0e6508f779d8e871fcd0b1ba34f"
      ],
      "author": {
        "name": "Robert McConnell",
        "email": "robert@mcc0nnell.org",
        "time": "Fri Oct 02 06:53:40 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 02 15:53:40 2026 +0200"
      },
      "message": "ci: attest release artifacts (#3371)"
    },
    {
      "commit": "fa659d21ec29a0e6508f779d8e871fcd0b1ba34f",
      "tree": "d9a61beef410a8fd03b439fff0d5889b670aa607",
      "parents": [
        "873c1685af948efb5a65bccedd96b1910b496661"
      ],
      "author": {
        "name": "Abdul Rawoof Khan",
        "email": "abdulr@bugqore.com",
        "time": "Fri Oct 02 18:24:40 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 02 14:54:40 2026 +0200"
      },
      "message": "fix off-by-one in avifGetExifTiffHeaderOffset scan bound (#3400)"
    },
    {
      "commit": "873c1685af948efb5a65bccedd96b1910b496661",
      "tree": "45c8b423a65cc66babc94b75ed1c6144827b8bf3",
      "parents": [
        "0b7ccac055d46d4499d713aca91196b125a3bca5"
      ],
      "author": {
        "name": "Yuan Tong",
        "email": "13075180+tongyuantongyu@users.noreply.github.com",
        "time": "Wed Sep 30 02:28:23 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 29 11:28:23 2026 -0700"
      },
      "message": "Cleanup for #1069\n\nClean up and add comments for functions added in PR #1069 for\ntests/gtest/avif_fuzztest_enc_dec_layered.cc.\n\nIn GetAvifLayeredRandDims(), change the `seeds` parameter to a\nstd::vector so that vector bounds checks can be performed. Change the\nfor loop\u0027s condition to be i \u003c kMaxNumLayers - 1 because the\nsubexpression kMaxNumLayers - 1 is also used elsewhere. Change\nsizes.back() to sizes[kMaxNumLayers - 1], which uses an explicit array\nindex equal to the upper bound of the preceding for loop.\n\nIn CreateAvifLayered8b() and CreateAvifLayered16b(), skip the local\nvariable `layers`.\n\nAdd comments for constants and functions.\n\nChange `display_width/height` to `last_layer_width/height`.\n\nDocument the newly added test image kodim03_yuv420_8bpc_384x256.y4m.\n\nFixes https://github.com/AOMediaCodec/libavif/issues/3386.\nFixes https://github.com/AOMediaCodec/libavif/issues/3392.\n\nCo-authored-by: Wan-Teh Chang \u003cwtc@google.com\u003e"
    },
    {
      "commit": "0b7ccac055d46d4499d713aca91196b125a3bca5",
      "tree": "9b1052ce77b142f60a109109ec05a59b94aa83a3",
      "parents": [
        "ef43c7be4167464eab9947267fb6e9a88584910f"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Mon Sep 28 15:31:45 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 28 15:31:45 2026 -0700"
      },
      "message": "Include \u003cutility\u003e for std::move"
    },
    {
      "commit": "ef43c7be4167464eab9947267fb6e9a88584910f",
      "tree": "1fc99323a1be6d36373edc3301cfb7044e6d377a",
      "parents": [
        "4a67074b231bd4bda418e35a070fe27da424a7c6"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Mon Sep 28 08:33:03 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 28 08:33:03 2026 -0700"
      },
      "message": "gainmap.c: Omit unneeded avifImageAllocatePlanes\n\nOmit the unneeded avifImageAllocatePlanes() call in\navifRGBImageComputeGainMap(). The avifImage is passed to\navifImageRGBToYUV(), which will call avifImageAllocatePlanes()."
    },
    {
      "commit": "4a67074b231bd4bda418e35a070fe27da424a7c6",
      "tree": "dbc761b84b8f41fee71ff2997f36f1cd11b81311",
      "parents": [
        "8da5b8e5ad873f73b02875057015c27d7c327cbe"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Mon Sep 28 08:14:00 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 28 08:14:00 2026 -0700"
      },
      "message": "Use ImagePtr for ret val of testutil::CreateImage\n\nUse the ImagePtr type explcitly instead of auto for the variables\nstoring the return value of testutil::CreateImage().\n\nA follow-up to https://github.com/AOMediaCodec/libavif/pull/1069."
    },
    {
      "commit": "8da5b8e5ad873f73b02875057015c27d7c327cbe",
      "tree": "74f3dab9c1840094ca66981de2c10f6aab26408e",
      "parents": [
        "768b3dfe30da63265eb31dad6f79fc7662f65b42"
      ],
      "author": {
        "name": "Nexory",
        "email": "St4yl3r30@hotmail.de",
        "time": "Mon Sep 28 12:58:17 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 28 12:58:17 2026 +0200"
      },
      "message": "Return avifResult from avifTrackReferenceBox() (#3381)\n\navifTrackReferenceBox() returned avifBool, and avifParseTrackBox() turned\nevery failure into AVIF_RESULT_BMFF_PARSE_FAILED. That included a failed\nallocation in avifAddReference(), so running out of memory while reading\nthe references of a track looked like a malformed file.\n\nReturn avifResult instead, as avifParseItemReferenceBox() does, and pass\nthe result of avifAddReference() through."
    },
    {
      "commit": "768b3dfe30da63265eb31dad6f79fc7662f65b42",
      "tree": "83c3a29fa8046a36676a665277e6a836e0e7ea8e",
      "parents": [
        "ffef33501bab42a931e210eb9ce3431246bc167a"
      ],
      "author": {
        "name": "Yuan Tong",
        "email": "13075180+tongyuantongyu@users.noreply.github.com",
        "time": "Sun Sep 27 00:56:00 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 26 09:56:00 2026 -0700"
      },
      "message": "Support encoding layered image with pre-scaled inputs\n\nAdd the width and height encoding options to avifEncoder."
    },
    {
      "commit": "ffef33501bab42a931e210eb9ce3431246bc167a",
      "tree": "ff26f550f031df7ca40d063b95e12579690fa9be",
      "parents": [
        "d9959715554d7e3dfd9d2402964a582039499f22"
      ],
      "author": {
        "name": "krishna28238-arch",
        "email": "krishna28238@gmail.com",
        "time": "Fri Sep 25 21:46:09 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 25 18:16:09 2026 +0200"
      },
      "message": "Return an error when tone mapping a gain map that was not decoded (#3377)\n\navifRGBImageApplyGainMap() dereferences gainMap-\u003eimage without checking\nit for null. With the default avifDecoder::imageContentToDecode, the\ngain map metadata is read but gainMap-\u003eimage is left null, so tone\nmapping a normally decoded image through avifImageApplyGainMap() crashes\n(null pointer dereference, CWE-476).\n\nReject a missing gain map image upfront, next to the other input\nvalidation, and return AVIF_RESULT_INVALID_ARGUMENT, as\navifRGBImageComputeGainMap() already does for the same situation. The\ngain map is then consistently rejected, including calls that would not\nneed its pixels (e.g. a target headroom equal to the base headroom).\n\n---------\n\nCo-authored-by: krishna28238-arch \u003ckrishna28238-arch@users.noreply.github.com\u003e"
    },
    {
      "commit": "d9959715554d7e3dfd9d2402964a582039499f22",
      "tree": "918419a927f9d35e22498872fbf891abfd85f614",
      "parents": [
        "f8416857241d53db716143a30eb6e19c6f2d703c"
      ],
      "author": {
        "name": "krishna28238-arch",
        "email": "krishna28238@gmail.com",
        "time": "Fri Sep 25 19:25:39 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 25 15:55:39 2026 +0200"
      },
      "message": "Avoid passing null altICC pointers to memcmp() (#3379)\n\navifSameGainMapAltMetadata() calls memcmp() on the two altICC payloads\neven when they are empty, which is the default for gain maps created\nwith avifGainMapCreate(). memcmp(nullptr, nullptr, 0) is undefined\nbehavior (C99 7.1.4: pointer arguments shall have valid values even for\na zero length) and is flagged by UBSan\u0027s nonnull-attribute check when\nencoding any grid whose cells carry default gain maps.\n\nSkip the comparison when the size is zero.\n\nCo-authored-by: krishna28238-arch \u003ckrishna28238-arch@users.noreply.github.com\u003e"
    },
    {
      "commit": "f8416857241d53db716143a30eb6e19c6f2d703c",
      "tree": "78631fa114c9caf80260b5416b289097daa917c4",
      "parents": [
        "58020e054c0ff9985e6be32d2f4c98143527552c"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Sep 24 14:51:23 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 24 14:51:23 2026 -0700"
      },
      "message": "Increase max_average_abs_diff for SharpYuv16Bit\n\nIncrease max_average_abs_diff for SharpYuv16Bit from 111.7 to 111.8 for\nan upcoming change to libsharpyuv, which trades off conversion quality\nfor conversion speed."
    },
    {
      "commit": "58020e054c0ff9985e6be32d2f4c98143527552c",
      "tree": "0ccafad3716b3a47fc23bc92536b45654ccbe312",
      "parents": [
        "1f6ccf55d20008c3790b73373f6f310e4f736e26"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Tue Sep 22 18:28:14 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 22 18:28:14 2026 -0700"
      },
      "message": "Update to libaom v3.15.1"
    },
    {
      "commit": "1f6ccf55d20008c3790b73373f6f310e4f736e26",
      "tree": "d18e8bbc10bcfdf00c34f85f3f54ec03443d3169",
      "parents": [
        "8e6c75711a9592626d72085fe54852538111772d"
      ],
      "author": {
        "name": "Yuan Tong",
        "email": "13075180+tongyuantongyu@users.noreply.github.com",
        "time": "Sat Sep 19 22:45:39 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 19 07:45:39 2026 -0700"
      },
      "message": "Set quality instead of quantizer in fuzz test"
    },
    {
      "commit": "8e6c75711a9592626d72085fe54852538111772d",
      "tree": "d2478b2b58b752ffa21e4ef1384b5f6a9f96a7a2",
      "parents": [
        "476601d2d03d37dc1e67169f03f964a2b499bfc9"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Sep 17 13:57:24 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 17 13:57:24 2026 -0700"
      },
      "message": "Upgrade to android-actions/setup-android@v4.0.2\n\nThe v4.0.2 release fixed\nhttps://github.com/android-actions/setup-android/issues/537, so remove\nour workaround."
    },
    {
      "commit": "476601d2d03d37dc1e67169f03f964a2b499bfc9",
      "tree": "13ec84405f07a1cf094246a657f88b0ea1c901cd",
      "parents": [
        "d98b4bcb67e9b2e5056d1f9ae18a088779d7945f"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Sep 17 09:49:31 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 17 09:49:31 2026 -0700"
      },
      "message": "Use output_width/height in avifJPEGCopyPixels()\n\nUse cinfo-\u003eoutput_width/height instead of cinfo-\u003eimage_width/height in\navifJPEGCopyPixels() because cinfo-\u003eoutput_width/height is the\nresolution of the pixels jpeg_read_raw_data() produces.\n\nSuggested by Yuan Tong in\nhttps://github.com/AOMediaCodec/libavif/pull/1069#discussion_r4034202339."
    },
    {
      "commit": "d98b4bcb67e9b2e5056d1f9ae18a088779d7945f",
      "tree": "0bd457c7de8dfd2dec56ca37db4167d026c199ff",
      "parents": [
        "a64a96c6116f2a6498af775cc9609c5b875f6dda"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Wed Sep 16 11:23:52 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 16 11:23:52 2026 -0700"
      },
      "message": "Remove tests/avifoptionstest.c\n\ntests/avifoptionstest.c was added in\nhttps://github.com/AOMediaCodec/libavif/pull/3350, but I don\u0027t have time\nto make it conform to the style of the tests we wrote ourselves. The\ntest also verifies properties of the current implementation, such as the\ninitial capacity of 4 and the fact that we grow an avif array by\ndoubling. Some of that may be necessary so that we can count the number\nof codec-specific options we need to add before the avif array is\nreallocated, but it could make the test a maintenance burden."
    },
    {
      "commit": "a64a96c6116f2a6498af775cc9609c5b875f6dda",
      "tree": "7107ed7f0078d6904829cc2788ab9e401143fbc9",
      "parents": [
        "b994fe4601c62d6f98dbff295bd5c251940789b0"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Wed Sep 16 10:26:11 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 16 10:26:11 2026 -0700"
      },
      "message": "Fix build-android-jni CI workflow failure\n\nUse the workaround mentioned in\nhttps://github.com/android-actions/setup-android/issues/537.\n\nFixes https://github.com/AOMediaCodec/libavif/issues/3365."
    },
    {
      "commit": "b994fe4601c62d6f98dbff295bd5c251940789b0",
      "tree": "40e86d67115ea4327f29337c39d3d4a117db7d90",
      "parents": [
        "de87135613171d96b17107de370e9e1c8b337774"
      ],
      "author": {
        "name": "krishna28238-arch",
        "email": "krishna28238@gmail.com",
        "time": "Mon Sep 14 19:48:48 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 14 16:18:48 2026 +0200"
      },
      "message": "Support the 32-bit item ID box variants for files with more than 6553… (#3357)\n\nThe encoder previously used 16-bit item IDs, so encoding a file containing\nmore than 65535 items (e.g. a grid image with an alpha channel) silently\nwrapped the item IDs around and generated an invalid file.\n\nItem IDs are now uint32_t internally. When any item ID exceeds UINT16_MAX,\navifEncoderFinish() and avifEncoderWriteTrackMetaBox() write the 32-bit item\nID variants of the boxes with item ID fields: \u0027pitm\u0027 version 1, \u0027iloc\u0027\nversion 2, \u0027iinf\u0027 version 1, \u0027infe\u0027 version 3, \u0027iref\u0027 version 1 and \u0027ipma\u0027\nversion 1. All these variants were already supported when reading.\n\nFiles with 65535 items or fewer are unchanged (byte-identical output).\navifEncoderDataCreateItem() returns NULL instead of wrapping around if the\n32-bit item ID space is exhausted.\n\n---------\n\nCo-authored-by: krishna28238-arch \u003c319297638+krishna28238-arch@users.noreply.github.com\u003e"
    },
    {
      "commit": "de87135613171d96b17107de370e9e1c8b337774",
      "tree": "839954938ad75723139f6cff26ede59265a8e046",
      "parents": [
        "b27c2afb4969b992c9e59e72bbbf6b6d0e79a3f5"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Fri Sep 11 05:42:48 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 11 05:42:48 2026 -0700"
      },
      "message": "Remove uint64_t cast for gridCols * gridRows\n\nSince gridCols \u003c\u003d 256 and gridRows \u003c\u003d 256, the gridCols * gridRows\nproduct can be represented in uint32_t, so the uint64_t cast is not\nnecessary.\n\nNote: We can alternatively test (gridCols \u003d\u003d 256) \u0026\u0026 (gridRows \u003d\u003d 256)."
    },
    {
      "commit": "b27c2afb4969b992c9e59e72bbbf6b6d0e79a3f5",
      "tree": "7967396727a5808dd66853a31edf58c1cfbe4d4c",
      "parents": [
        "d6c20b9c8310979dec078bbd7b74a4ed67a6a636"
      ],
      "author": {
        "name": "krishna28238-arch",
        "email": "krishna28238@gmail.com",
        "time": "Thu Sep 10 15:05:58 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 10 11:35:58 2026 +0200"
      },
      "message": "Reject grids exceeding the \u0027dimg\u0027 reference count limit (#3354)\n\navifEncoderAddImageGrid() now refuses grids with more than 65535 cells\n(e.g. 256x256 cells) upfront with AVIF_RESULT_INVALID_IMAGE_GRID and a\ndiagnostic: Section 8.11.12.1 of ISO/IEC 14496-12 requires all the\nreferences from one item to be collected into a single item type\nreference box whose reference_count field is unsigned int(16) whatever\nthe \u0027iref\u0027 version, and ISO/IEC 23008-12 (HEIF) Section 6.6.1 forbids\nmore than one \u0027dimg\u0027 box with the same from_item_ID. Such grids\ntherefore cannot be encoded in a conformant way, whatever the item ID\nwidth, and used to silently generate a broken file instead.\n\nCo-authored-by: krishna28238-arch \u003c319297638+krishna28238-arch@users.noreply.github.com\u003e"
    },
    {
      "commit": "d6c20b9c8310979dec078bbd7b74a4ed67a6a636",
      "tree": "7b65d8fe4ff92f48eeb4e8ac30cfd5cfa88aba2c",
      "parents": [
        "66663952a677bb8a13ea1530d5694775d7d143d4"
      ],
      "author": {
        "name": "agamal026",
        "email": "agamal026@gmail.com",
        "time": "Thu Sep 10 01:21:10 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 09 16:21:10 2026 -0700"
      },
      "message": "Keep codec option updates atomic on alloc failure\n\nKeep codec-specific option updates atomic on allocation failure."
    },
    {
      "commit": "66663952a677bb8a13ea1530d5694775d7d143d4",
      "tree": "753ebe2bd490caf5033cb88b3229e5846191142b",
      "parents": [
        "265f1524ef5fa9a736005a73a75430a1ac35cfe5"
      ],
      "author": {
        "name": "Maryla Ustarroz-Calonge",
        "email": "maryla@google.com",
        "time": "Thu Sep 03 15:46:40 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 15:46:40 2026 +0200"
      },
      "message": "avifgainmaputil: Implement YUV 444/420 conversion for AVIF base images. (#3346)\n\nThis allows avifgainmaputil to honor the --yuv 420 and --yuv 444 flags even when\nthe input is an AVIF image, so already YUV.\nNot all conversions are supported, e.g. to/from 422 or  400. If not supported,\na warning is printed so at least it\u0027s no longer silent.\n\nIt includes both a libyuv integration and a C fallback path for when\nlibavif is compiled without libyuv.\n\nFixes #3338"
    },
    {
      "commit": "265f1524ef5fa9a736005a73a75430a1ac35cfe5",
      "tree": "56a6ba4a9841a106a37969d4f707392d4f9fcdf8",
      "parents": [
        "8a48b025eaa519a20e09d6bfd8ab946541c9f86d"
      ],
      "author": {
        "name": "Nexory",
        "email": "St4yl3r30@hotmail.de",
        "time": "Tue Sep 01 17:47:38 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 17:47:38 2026 +0200"
      },
      "message": "read: keep \u0027dimg\u0027 inputs as an ordered array on the derived item (#3342)\n\nThe \u0027dimg\u0027 box of a derived image item is an ordered array of input item IDs.\nlibavif stored the reverse: each input item carried the ID of its derived item\nand its position in that list, one value each. That inversion cannot express a\nlist twice, and it has to be reconstructed by scanning every item whenever the\nlist is needed.\n\nStore the list where the file puts it, on the derived item, and turn the read\nsites into membership or position lookups. avifFillDimgIdxToItemIdxArray() then\nreads the list directly instead of rebuilding it, and its assertion on the tile\ncount becomes an ordinary check.\n\nSection 8.11.12.1 of ISO/IEC 14496-12 says a given value shall occur at most\nonce within a given array, which is checked against the list, and that a value\nmay occur in several arrays, which the single valued field could not represent.\n\nAlso drops avifReferencesOld() and avifDecoderItemIsAlphaAuxOld() from eb67309:\nwith the list, the synthetic alpha grid can hold one auxiliary item in several\ncells, which is what that workaround was avoiding."
    },
    {
      "commit": "8a48b025eaa519a20e09d6bfd8ab946541c9f86d",
      "tree": "094d6ff21c1c6b648ec8b63864d8c4c5177a5440",
      "parents": [
        "42bdd1439a4ebda6a57d33598c15bf104c7352ac"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Sep 01 09:57:49 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 09:57:49 2026 +0200"
      },
      "message": "Bump the github-actions group across 1 directory with 2 updates (#3347)\n\nBumps the github-actions group with 2 updates in the /.github/workflows directory: [actions/setup-java](https://github.com/actions/setup-java) and [github/codeql-action/upload-sarif](https://github.com/github/codeql-action).\n\n\nUpdates `actions/setup-java` from 5.7.0 to 6.0.0\n- [Release notes](https://github.com/actions/setup-java/releases)\n- [Commits](https://github.com/actions/setup-java/compare/b6effb05e454b25005698d916606bdc6ffcbf961...dd06d9cba3e5552c54d9f8ea23572deb30010f7c)\n\nUpdates `github/codeql-action/upload-sarif` from 4.37.7 to 4.37.8\n- [Release notes](https://github.com/github/codeql-action/releases)\n- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/github/codeql-action/compare/ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd...db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28)\n\n---\nupdated-dependencies:\n- dependency-name: actions/setup-java\n  dependency-version: 6.0.0\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n  dependency-group: github-actions\n- dependency-name: github/codeql-action/upload-sarif\n  dependency-version: 4.37.8\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: github-actions\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "42bdd1439a4ebda6a57d33598c15bf104c7352ac",
      "tree": "c960d176aca15eaab4cff9775f803e9073977ff1",
      "parents": [
        "eb673097950e0b0ec77f696958091ef0244a45a9"
      ],
      "author": {
        "name": "Samuel Girma Metaferia",
        "email": "158817404+samuelgirmametaferia@users.noreply.github.com",
        "time": "Mon Aug 31 04:24:27 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 10:24:27 2026 +0200"
      },
      "message": "Free tone mapped pixels on error (#3345)"
    },
    {
      "commit": "eb673097950e0b0ec77f696958091ef0244a45a9",
      "tree": "7d402b63fa7e29ebcd13248ddb314915d8421471",
      "parents": [
        "b6fb1860837541d6e0c94386f2d09ba7c2341770"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Aug 27 14:24:37 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 27 14:24:37 2026 -0700"
      },
      "message": "Add avifDecoderItemIsAlphaAuxOld as temporary fix\n\nAvoid the failure of the assertion numTiles \u003d\u003d numExpectedTiles in\navifFillDimgIdxToItemIdxArray() and allow us to investigate the bug.\n\nAdd avifDecoderItemIsAlphaAuxOld() to emulate the old behavior of\navifDecoderItemIsAlphaAux() before commit 2f8eb91 and call\navifDecoderItemIsAlphaAuxOld() in the loop that builds the\ndimgIdxToAlphaItemIdx array in avifMetaFindAlphaItem().\n\nBug: https://g-issues.oss-fuzz.com/issues/553221196"
    },
    {
      "commit": "b6fb1860837541d6e0c94386f2d09ba7c2341770",
      "tree": "815059919e7f528231e3eb262cbb26ce8f8e7751",
      "parents": [
        "115bc526534325e6fb59b016e814814f35676b8e"
      ],
      "author": {
        "name": "krishna28238-arch",
        "email": "krishna28238@gmail.com",
        "time": "Thu Aug 27 14:34:33 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 27 11:04:33 2026 +0200"
      },
      "message": "Fix memory leaks on error in ComputeGainMap() (#3336)\n\nThe \"Unsupported RGB color space\" path and the avifImageScale() failure\npath returned directly instead of going through the cleanup label,\nleaking the gainMapF[] channel buffers and the gainMapRGB pixels. Both\nnow set res and jump to cleanup, as documented by the comment above the\nallocations.\n\nThe regression test computes a gain map with an unsupported depth (only\nrejected after the allocations) and checks that the gain map image\nplanes are freed on error. Verified with ASan/LSan.\n\nCo-authored-by: krishna28238-arch \u003c319297638+krishna28238-arch@users.noreply.github.com\u003e"
    },
    {
      "commit": "115bc526534325e6fb59b016e814814f35676b8e",
      "tree": "c12c5aa78e3f061c05a559aac211240f55198585",
      "parents": [
        "cbb391c194ee15cf9607e517c269ed99e6bf0197"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Wed Aug 26 23:57:38 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 26 23:57:38 2026 -0700"
      },
      "message": "Update to libaom v3.15.0\n\nSet the new cmake option ENABLE_APPS to 0."
    },
    {
      "commit": "cbb391c194ee15cf9607e517c269ed99e6bf0197",
      "tree": "261aaefef45a6a2513b38cfa2b90df42a9091987",
      "parents": [
        "062e582e8afda88e6baf988fdcf046a801efa0f5"
      ],
      "author": {
        "name": "Nexory",
        "email": "St4yl3r30@hotmail.de",
        "time": "Wed Aug 26 14:47:18 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 26 14:47:18 2026 +0200"
      },
      "message": "Keep every target of a track \u0027auxl\u0027 or \u0027prem\u0027 reference (#3335)\n\navifTrackReferenceBox() lost track references in two ways. It read one\ntrack_ID and skipped the rest of the box, and it assigned the result\nunconditionally, so a second \u0027auxl\u0027 box overwrote what the first one had\nrecorded. avifParseTrackBox() keeps a seen flag for \u0027tkhd\u0027 and \u0027edts\u0027 but\nnot for \u0027tref\u0027, so several \u0027tref\u0027 boxes in one \u0027trak\u0027 did the same.\n\nSection 8.3.3.2 of ISO/IEC 14496-12 gives TrackReferenceTypeBox an array\nof track_IDs with no count field, so the number of entries follows from\nthe box size.\n\nauxForID is compared against colorTrack-\u003eid when the alpha track is looked\nup. If the color track was not the target that survived, the lookup found\nnothing, alphaTrack stayed null and alphaPresent was false, with no\ndiagnostic and no error code. premByID has the same shape, with\nalphaPremultiplied as its consumer.\n\nGive avifTrack the reference array that avifDecoderItem already has, read\ntrack_IDs until the box runs out, and ask the same helpers. Those helpers\nare renamed and now take the array instead of the item so tracks can use\nthem unchanged, which is why the item call sites move.\n\nA track_ID of 0 is skipped rather than recorded: auxForID was an in-band\nsentinel where 0 meant \"no reference\", and ISO/IEC 14496-12 does not allow\na track_ID of 0."
    },
    {
      "commit": "062e582e8afda88e6baf988fdcf046a801efa0f5",
      "tree": "880429cd82751aa4df8875bab5e01c00bf778fe0",
      "parents": [
        "2f8eb917768c722b09fdcfacdee839dad3f7068a"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Tue Aug 25 09:02:30 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 09:02:30 2026 -0700"
      },
      "message": "Bump libyuv to 26e56be0f (1960)\n\nUsed on the Chrome M150 - M153 branches."
    },
    {
      "commit": "2f8eb917768c722b09fdcfacdee839dad3f7068a",
      "tree": "b4bc35c26c0601ee5fdab51c44a938f2d6d580b8",
      "parents": [
        "092276ce89098ead06db80975173191e5fee1826"
      ],
      "author": {
        "name": "Nexory",
        "email": "St4yl3r30@hotmail.de",
        "time": "Tue Aug 25 13:38:26 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 13:38:26 2026 +0200"
      },
      "message": "Keep every target of a \u0027thmb\u0027, \u0027auxl\u0027, \u0027cdsc\u0027 or \u0027prem\u0027 reference (#3331)\n\nA SingleItemTypeReferenceBox links to an array of to_item_IDs, and several\nboxes of one type may share a from_item_ID. libavif stored these four relations\nin a single valued field per item, and the parsing loop overwrote it per entry,\nso the target parsed last silently won and the others were dropped, with no\nerror and an exit code of zero.\n\nStore the references in a per item array instead, and turn the read sites into\nmembership checks. \u0027dimg\u0027 is unchanged: it refers in the opposite direction and\nalready refuses what it cannot represent.\n\nThe MinimizedImageBox path stored the one bit alpha_is_premultiplied value in\npremByID, which the decoder compares against the alpha item ID. That ID is 2 in\nthis path, so the comparison never matched and a premultiplied image decoded as\nstraight alpha, with no error and an exit code of zero.\n\nThe parameterized test in avifminitest.cc already compares a MinimizedImageBox\nagainst a regular MetaBox for the same image, and AreImagesEqual() compares\nalphaPremultiplied. No parameter set marks the alpha as premultiplied though, so\nthe flag was never exercised. Add a test that does."
    },
    {
      "commit": "092276ce89098ead06db80975173191e5fee1826",
      "tree": "18901c1b528cc5cf06d97d1ac12b3bce5ec6056d",
      "parents": [
        "f95907aa19d135bcc5d9a8621cdee149d2876260"
      ],
      "author": {
        "name": "David Sarkisyan",
        "email": "david@srkyn.com",
        "time": "Fri Aug 21 17:30:05 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 21 14:30:05 2026 -0700"
      },
      "message": "Reset Sample Transform depth in avifDecoderReset()\n\nSigned-off-by: David Sarkisyan \u003cdavid@srkyn.com\u003e"
    },
    {
      "commit": "f95907aa19d135bcc5d9a8621cdee149d2876260",
      "tree": "f59831ae84452c31b5f322b1f13fe2ed05e0dfbc",
      "parents": [
        "14738382d58148b674ebb359417849558be12de0"
      ],
      "author": {
        "name": "David Sarkisyan",
        "email": "davidwsarkisyan@gmail.com",
        "time": "Fri Aug 21 08:43:33 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 21 14:43:33 2026 +0200"
      },
      "message": "Reset Sample Transform state in avifDecoderReset() (#3327)\n\nClear the parsed Sample Transform expression and input count before the decode input is rebuilt. Otherwise a second reset, including one performed by avifDecoderSetSource(), encounters stale state and returns AVIF_RESULT_INTERNAL_ERROR, or asserts in debug builds.\n\nAdd coverage for direct reset and avifDecoderSetSource().\n\nSigned-off-by: David Sarkisyan \u003cdavid@srkyn.com\u003e"
    },
    {
      "commit": "14738382d58148b674ebb359417849558be12de0",
      "tree": "3e118800f7daa5c861a297dbe870d1c8774e988a",
      "parents": [
        "80aff1a1cd2c81ca0fdcf0906e4737e6a010a45e"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Aug 20 21:10:37 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 20 21:10:37 2026 -0700"
      },
      "message": "Bump the github-actions group across 1 directory with 3 updates\n\nBumps the github-actions group with 3 updates in the /.github/workflows directory: [actions/setup-java](https://github.com/actions/setup-java), [RafikFarhad/clang-format-github-action](https://github.com/rafikfarhad/clang-format-github-action) and [github/codeql-action/upload-sarif](https://github.com/github/codeql-action).\n\n\nUpdates `actions/setup-java` from 5.6.0 to 5.7.0\n- [Release notes](https://github.com/actions/setup-java/releases)\n- [Commits](https://github.com/actions/setup-java/compare/03ad4de0992f5dab5e18fcb136590ce7c4a0ac95...b6effb05e454b25005698d916606bdc6ffcbf961)\n\nUpdates `RafikFarhad/clang-format-github-action` from 6.0.1 to 7\n- [Release notes](https://github.com/rafikfarhad/clang-format-github-action/releases)\n- [Commits](https://github.com/rafikfarhad/clang-format-github-action/compare/27cc2adf6e733d30c8ce3ca3944f3b2c7b13e1f5...601dce42932921470d1acf9295faa87752162048)\n\nUpdates `github/codeql-action/upload-sarif` from 4.37.3 to 4.37.7\n- [Release notes](https://github.com/github/codeql-action/releases)\n- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/github/codeql-action/compare/e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81...ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd)\n\n---\nupdated-dependencies:\n- dependency-name: actions/setup-java\n  dependency-version: 5.7.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: github-actions\n- dependency-name: RafikFarhad/clang-format-github-action\n  dependency-version: \u00277\u0027\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n  dependency-group: github-actions\n- dependency-name: github/codeql-action/upload-sarif\n  dependency-version: 4.37.7\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: github-actions\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "80aff1a1cd2c81ca0fdcf0906e4737e6a010a45e",
      "tree": "7597f5d19203b20bb47c16048bd0cec0892e6bf8",
      "parents": [
        "109a0f3abe545f9158e9d9eecbbf035d37cc6d1b"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Aug 20 18:18:20 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 20 18:18:20 2026 -0700"
      },
      "message": "Don\u0027t set aom_image fields iibaom encoder ignores\n\nDo not set the fields of the aom_image_t struct that are ignored by the libaom\nencoder: cp, tc, mc, csp, range, and monochrome. See\nhttps://aomedia-review.googlesource.com/c/aom/+/212221\n\nUpdate the latest libaom version number in comments.\n\nDelete redundant or obsolete comments."
    },
    {
      "commit": "109a0f3abe545f9158e9d9eecbbf035d37cc6d1b",
      "tree": "2397df0101ad796a67a29b1a83d196c520e22db1",
      "parents": [
        "93717e957e75ace6d5db3c61c52c4c1d7e151e09"
      ],
      "author": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Thu Aug 20 13:18:45 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 20 13:18:45 2026 -0700"
      },
      "message": ".github/: run zizmor --fix\u003dall (#3326)\n\nThis change skips ci-windows-installed.yml as more investigation\nis needed into environment related failures after the update."
    },
    {
      "commit": "93717e957e75ace6d5db3c61c52c4c1d7e151e09",
      "tree": "35c4f6529bb8b4ebdc2aba244e2d5c0da5e6a311",
      "parents": [
        "bc15ac558b580b42bd1ebd8b422e02b2a5dcb24e"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Aug 13 05:36:23 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 13 05:36:23 2026 -0700"
      },
      "message": "Simplify avifROStreamReadBoxHeader() slightly\n\nUse an equivalent function call that\u0027s slightly shorter."
    },
    {
      "commit": "bc15ac558b580b42bd1ebd8b422e02b2a5dcb24e",
      "tree": "8c758939402592c1ca82653cdfd2dc1df1603ad8",
      "parents": [
        "6868dd1a51f5a66c96fb9a0deb32087aab7515a8"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Aug 13 05:21:51 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 13 05:21:51 2026 -0700"
      },
      "message": "Parse \u0027auxl\u0027 and \u0027prem\u0027 within their own box size\n\nA follow-up to PR https://github.com/AOMediaCodec/libavif/pull/3321.\n\nDelete the comments that describe the bugs that were fixed.\n\nAlso move avifROStreamSkip(\u0026s, irefHeader.size) and avifROStreamSkip(\u0026s,\ngroupHeader.size) calls to the end of the loops, which is the common\nconvention in this file."
    },
    {
      "commit": "6868dd1a51f5a66c96fb9a0deb32087aab7515a8",
      "tree": "d1106c1285c8600ccbf6092a5be3ce40ec712db9",
      "parents": [
        "d1db0c1d1b9c7bb3568ab0fd334291d188f089c1"
      ],
      "author": {
        "name": "Nexory",
        "email": "St4yl3r30@hotmail.de",
        "time": "Wed Aug 12 11:29:16 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 12 11:29:16 2026 +0200"
      },
      "message": "Parse \u0027iref\u0027 and \u0027grpl\u0027 children within their own box size (#3321)\n\navifParseItemReferenceBox() and avifParseGroupsListBox() read the child\nbox header, then read the child\u0027s fields straight from the parent stream\nand never use the size they just read. Every other child box loop in\nread.c parses the child inside a stream bounded by the child\u0027s size and\nthen skips the parent stream by that size.\n\nOn \u0027grpl\u0027 this is visible with a real file. An EntityToGroupBox may\ncarry grouping-type-specific data after the entity_id array; the MPEG\nreference software has a field for exactly that, and the \u0027prsl\u0027 group\nof ISO/IEC 14496-12 uses it. libavif consumes only the generic fields,\nthen reads the first bytes of that data as the size of the next\nEntityToGroupBox and rejects the whole file.\n\nOn \u0027iref\u0027 it is the mirror case: a reference_count that reaches past\nthe child box end is satisfied from the bytes after the box. ffmpeg and\nGPAC both reject that input.\n\nBound both loops to the child box size and skip the parent stream by it."
    },
    {
      "commit": "d1db0c1d1b9c7bb3568ab0fd334291d188f089c1",
      "tree": "bb905d5d91adb9d70c28c1c4f521dbb745f3536e",
      "parents": [
        "25a6d23f872f37c91a3df15b75e1a97f590d7c46"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Fri Aug 07 08:32:57 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 07 08:32:57 2026 -0700"
      },
      "message": "Improve ToneMapTest.ToneMapRGBPaddedBaseStride\n\nThis is a follow-up to PR #3316.\n\nIn the ToneMapTest.ToneMapRGBPaddedBaseStride test, set the `base` image\nto different sample values to enable the memcmp() check at the end of\nthe test to detect the bug.\n\nAdd a comment to describe how avifImageApplyGainMap() sets the fields of\nthe \u0027toneMappedImage\u0027 in/out parameter."
    },
    {
      "commit": "25a6d23f872f37c91a3df15b75e1a97f590d7c46",
      "tree": "b5290a54a1466dfecd4a733615bcebef808681f0",
      "parents": [
        "714beb91144ac58f3e055dce77f77daf822f4e8a"
      ],
      "author": {
        "name": "evilgensec",
        "email": "evil.gen.sec@gmail.com",
        "time": "Thu Aug 06 21:46:46 2026 +0545"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 06 18:01:46 2026 +0200"
      },
      "message": "Honour the base image stride in the tone map early exit (#3316)\n\navifRGBImageApplyGainMap() has a fast path for the case where the gain map\ndoes not need to be applied and the pixel format matches. It copies the base\nimage in one memcpy sized from baseImage-\u003erowBytes, which assumes the source\nand destination strides are equal. That assumption was only checked by an\nassert(), so it disappears under NDEBUG.\n\nThe destination is normally allocated by avifRGBImageAllocatePixels(), which\nsets rowBytes to width * avifRGBImagePixelSize() with no padding, while\navif.h documents that an avifRGBImage rowBytes only has to be \"at least\n(-\u003ewidth * avifRGBImagePixelSize())\". A caller supplying a padded base image,\nwhich is what an Android Bitmap or a cropped GPU readback produces, therefore\nmakes the memcpy read and write rowBytes * height bytes into a buffer holding\nonly width * pixelSize * height.\n\nPromote the assert into the branch condition. When the strides differ the\nearly exit is skipped and control falls through to the existing per pixel\nloop, which already goes through avifGetRGBAPixel and avifSetRGBAPixel and so\nhonours both strides. There is no behaviour change when the strides are\nequal.\n\nAdd ToneMapTest.ToneMapRGBPaddedBaseStride covering a padded base stride. It\nbuilds its images in memory and needs no test data."
    },
    {
      "commit": "714beb91144ac58f3e055dce77f77daf822f4e8a",
      "tree": "66add2fbb3f4945376592d7fb1fca5ac99c521e9",
      "parents": [
        "b71e67f953b2cc905c14869296c72f266cd31683"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Aug 03 09:53:47 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 03 09:53:47 2026 +0200"
      },
      "message": "Bump the github-actions group across 2 directories with 7 updates (#3314)\n\nBumps the github-actions group with 1 update in the /.github/actions/setup-common directory: [actions/setup-python](https://github.com/actions/setup-python).\nBumps the github-actions group with 6 updates in the /.github/workflows directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [actions/checkout](https://github.com/actions/checkout) | `7.0.0` | `7.0.1` |\n| [actions/setup-java](https://github.com/actions/setup-java) | `5.4.0` | `5.6.0` |\n| [reactivecircus/android-emulator-runner](https://github.com/reactivecircus/android-emulator-runner) | `2.37.0` | `2.38.0` |\n| [RafikFarhad/clang-format-github-action](https://github.com/rafikfarhad/clang-format-github-action) | `6` | `6.0.1` |\n| [ossf/scorecard-action](https://github.com/ossf/scorecard-action) | `2.4.3` | `2.4.4` |\n| [github/codeql-action/upload-sarif](https://github.com/github/codeql-action) | `4.36.2` | `4.37.3` |\n\n\n\nUpdates `actions/setup-python` from 6.3.0 to 7.0.0\n- [Release notes](https://github.com/actions/setup-python/releases)\n- [Commits](https://github.com/actions/setup-python/compare/ece7cb06caefa5fff74198d8649806c4678c61a1...5fda3b95a4ea91299a34e894583c3862153e4b97)\n\nUpdates `actions/checkout` from 7.0.0 to 7.0.1\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0...3d3c42e5aac5ba805825da76410c181273ba90b1)\n\nUpdates `actions/setup-java` from 5.4.0 to 5.6.0\n- [Release notes](https://github.com/actions/setup-java/releases)\n- [Commits](https://github.com/actions/setup-java/compare/1bcf9fb12cf4aa7d266a90ae39939e61372fe520...03ad4de0992f5dab5e18fcb136590ce7c4a0ac95)\n\nUpdates `reactivecircus/android-emulator-runner` from 2.37.0 to 2.38.0\n- [Release notes](https://github.com/reactivecircus/android-emulator-runner/releases)\n- [Changelog](https://github.com/ReactiveCircus/android-emulator-runner/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/reactivecircus/android-emulator-runner/compare/e89f39f1abbbd05b1113a29cf4db69e7540cae5a...a421e43855164a8197daf9d8d40fe71c6996bb0d)\n\nUpdates `RafikFarhad/clang-format-github-action` from 6 to 6.0.1\n- [Release notes](https://github.com/rafikfarhad/clang-format-github-action/releases)\n- [Commits](https://github.com/rafikfarhad/clang-format-github-action/compare/40f11200e893c5e48dee28fbfe3da60d6862418d...27cc2adf6e733d30c8ce3ca3944f3b2c7b13e1f5)\n\nUpdates `ossf/scorecard-action` from 2.4.3 to 2.4.4\n- [Release notes](https://github.com/ossf/scorecard-action/releases)\n- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)\n- [Commits](https://github.com/ossf/scorecard-action/compare/4eaacf0543bb3f2c246792bd56e8cdeffafb205a...2d1146689b8cda280b9bc96326124645441f03bc)\n\nUpdates `github/codeql-action/upload-sarif` from 4.36.2 to 4.37.3\n- [Release notes](https://github.com/github/codeql-action/releases)\n- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/github/codeql-action/compare/8aad20d150bbac5944a9f9d289da16a4b0d87c1e...e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81)\n\n---\nupdated-dependencies:\n- dependency-name: actions/setup-python\n  dependency-version: 7.0.0\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n  dependency-group: github-actions\n- dependency-name: actions/checkout\n  dependency-version: 7.0.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: github-actions\n- dependency-name: actions/setup-java\n  dependency-version: 5.6.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: github-actions\n- dependency-name: reactivecircus/android-emulator-runner\n  dependency-version: 2.38.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: github-actions\n- dependency-name: RafikFarhad/clang-format-github-action\n  dependency-version: 6.0.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: github-actions\n- dependency-name: ossf/scorecard-action\n  dependency-version: 2.4.4\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: github-actions\n- dependency-name: github/codeql-action/upload-sarif\n  dependency-version: 4.37.3\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: github-actions\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "b71e67f953b2cc905c14869296c72f266cd31683",
      "tree": "bb6396b0c8948482b90f408aeee1c2f3700aba9c",
      "parents": [
        "a50205d2c2b819a60e62e05d67d528966cad5e15"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Tue Jul 28 15:28:57 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 28 15:28:57 2026 -0700"
      },
      "message": "Document Firefox versions that support lsel 0xFFFF\n\nFirefox 155 or later will support an \u0027lsel\u0027 property whose layer_id is\n0xFFFF, see https://bugzilla.mozilla.org/show_bug.cgi?id\u003d2055813."
    },
    {
      "commit": "a50205d2c2b819a60e62e05d67d528966cad5e15",
      "tree": "9a1e5d46f40b95d14f8a2c2dddb7cacdd519bd79",
      "parents": [
        "57953b32c1d5ae09761ce8ef66141cfa78c6196f"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Tue Jul 28 15:23:30 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 28 15:23:30 2026 -0700"
      },
      "message": "Fix AvifDecodeTest.NonPersistentIOBug506387278\n\nAvifDecodeTest.NonPersistentIOBug506387278 fails when libaom or libgav1\nis used as the AV1 decoder, because the test input file\npoc_b_506387278.avif contains errors.\n\nThe first error is easier to fix. The two padding OBUs do not contain\ntrailing bits. This is fixed with the following Python script:\n\n```\nwith open(\"tests/data/poc_b_506387278.avif\", \"r+b\") as f:\n  f.seek(0x1702)\n  f.write(b\u0027\\x80\u0027)\n  f.seek(0x559a)\n  f.write(b\u0027\\x80\u0027)\n```\n\nNote: The two padding OBUs can be identified by searching for the byte\n0x7a, which is the OBU header for a padding OBU. The OBU sizes for the\ntwo padding OBUs are 0xbc 0x26 and 0xf0 0x7c, respectively, when encoded\nin leb128().\n\nThe second error is harder to fix. The data for the first image contains\npartial frame data for the second frame. The extra incomplete frame data\nmakes avifDecoderNextImage() fail when libaom or libgav1 is used as the\nAV1 decoder. Since this test is originally intended for CrabbyAvif and\ndav1d, in libavif it is used as a fuzz test, so we can relax the\nexpected results of the avifDecoderNextImage() calls in the test."
    },
    {
      "commit": "57953b32c1d5ae09761ce8ef66141cfa78c6196f",
      "tree": "3b4a58befe9c320bbd358c767d531ce83b54bf14",
      "parents": [
        "ddf4840b8f520a6c75cd58b679aaf23c96bb056a"
      ],
      "author": {
        "name": "Yannis Guyon",
        "email": "yguyon@google.com",
        "time": "Wed Jul 22 11:45:19 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 11:45:19 2026 +0200"
      },
      "message": "Add --ignore-exif and --ignore-xmp to avifdec (#3307)"
    },
    {
      "commit": "ddf4840b8f520a6c75cd58b679aaf23c96bb056a",
      "tree": "fb375e6c7e7290bcb97e26577725b00f57639969",
      "parents": [
        "3e6bfe809ef0c44ae5d9337d29547183c9c5a716"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Tue Jul 21 08:05:09 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 21 08:05:09 2026 -0700"
      },
      "message": "Use AVIF_IMAGE_CONTENT_NONE instead of 0\n\nThe symbolic constant AVIF_IMAGE_CONTENT_NONE is more readable."
    },
    {
      "commit": "3e6bfe809ef0c44ae5d9337d29547183c9c5a716",
      "tree": "f934cede018490f51eec508f319fd65c7dc80a3d",
      "parents": [
        "0525f64e8a9da7ed81a615a979485decc007ab44"
      ],
      "author": {
        "name": "Maryla Ustarroz-Calonge",
        "email": "maryla@google.com",
        "time": "Fri Jul 17 15:42:47 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 17 15:42:47 2026 +0200"
      },
      "message": "Add ignore exif/xmp to avifginmaputil (#3300)\n\nFixes #3297"
    },
    {
      "commit": "0525f64e8a9da7ed81a615a979485decc007ab44",
      "tree": "f5877ed331a91cef17d4e65862d71867b2a374a7",
      "parents": [
        "0f01bcb7e3296e222e991805a7cc51807bdaccba"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Fri Jul 17 06:41:56 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 17 06:41:56 2026 -0700"
      },
      "message": "Delete two unneeded avifImageCreateView() calls\n\nIf we don\u0027t modify the image view, we can omit the avifImageCreateView()\ncall."
    },
    {
      "commit": "0f01bcb7e3296e222e991805a7cc51807bdaccba",
      "tree": "69d565611313b87a4098ada26e364c75b7962a6d",
      "parents": [
        "3e70f31a5ad6fb0b545a121f958a6c10fb2359c1"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Jul 16 13:28:36 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 16 13:28:36 2026 -0700"
      },
      "message": "Don\u0027t decode AV1 images if AV1 decoder unavailable\n\nA follow-up to PR https://github.com/AOMediaCodec/libavif/pull/3288. Fix\navifanimationtest test failures (avifDecoderNextImage() failed with\nAVIF_RESULT_NO_CODEC_AVAILABLE) in the \"build-static-av2 (OFF)\" CI\nworkflow."
    },
    {
      "commit": "3e70f31a5ad6fb0b545a121f958a6c10fb2359c1",
      "tree": "51722e77b9afc68b3f813bac2e58f32c066e4a22",
      "parents": [
        "478364441a6c2cef4b88c5373f428fcae203e751"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Jul 16 11:30:22 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 16 11:30:22 2026 -0700"
      },
      "message": "Support ignoring alpha in imageContentToDecode\n\nAdd AVIF_IMAGE_CONTENT_COLOR and AVIF_IMAGE_CONTENT_ALPHA and allow\ndecoding color only. Decoding alpha only is still not supported.\n\nRemove the ignoreAlpha parameter from the avifImageCreateView()\nfunction. If alpha should be ignored, the caller of\navifImageCreateView() is responsible for clearing the\nAVIF_IMAGE_CONTENT_ALPHA bit in decoder-\u003eimageContentToDecode before\ndecoding (assuming srcImage is decoder-\u003eimage)."
    },
    {
      "commit": "478364441a6c2cef4b88c5373f428fcae203e751",
      "tree": "7424434504da26ed317b247f35bf1e11deecaef4",
      "parents": [
        "970e58afc8630e110f23919e6f32ff216b675eb6"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Jul 16 09:37:32 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 16 09:37:32 2026 -0700"
      },
      "message": "Test alphaPresent when decoder ignores alpha\n\nModify GainMapTest.IgnoreColorAndAlpha and GainMapTest.IgnoreAll to\ncheck whether alphaPresent and other main image metadata are set when\nthe decoder ignores color and alpha.\n\nSince this requires examining the decoder\u0027s fields after\navifDecoderParse() is called, the avifDecoderReadMemory() call in\nGainMapTest.IgnoreColorAndAlpha is replaced with calls to the\nequivalent avifDecoder functions (except avifImageCopy())."
    },
    {
      "commit": "970e58afc8630e110f23919e6f32ff216b675eb6",
      "tree": "990038403b0c5e8c795c543dd4d345046560a932",
      "parents": [
        "ab00cb7424399669c190faf732fdbe02710be5ca"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Wed Jul 15 07:57:25 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 15 07:57:25 2026 -0700"
      },
      "message": "Bump SVT-AV1 dependency to v4.2.0"
    },
    {
      "commit": "ab00cb7424399669c190faf732fdbe02710be5ca",
      "tree": "fec926bd93a65e06437def71f8a17175a4579609",
      "parents": [
        "a9ba1effae86f6937480f091db895185682b9588"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Wed Jul 15 07:48:59 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 15 07:48:59 2026 -0700"
      },
      "message": "LocalLibXml2.cmake: Avoid duplicates in PREFIXES\n\nIf ${AVIF_LIBRARY_PREFIX} is equal to lib, PREFIXES will check for the\nprefix \"lib\" twice. If a compiled libxml2 library exists, we will call\nadd_library() twice. The second add_library() call will fail.\n\nAs a second fix, add an early return after finding a compiled libxml2\nlibrary."
    },
    {
      "commit": "a9ba1effae86f6937480f091db895185682b9588",
      "tree": "6d1b1e20ec197b2626506134e4d296ea084dac40",
      "parents": [
        "d0605c98085e2fe4830ed248c8b00df7e6f80643"
      ],
      "author": {
        "name": "Yoshiharu ITO",
        "email": "yochy4671@gmail.com",
        "time": "Wed Jul 15 01:47:55 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 14 09:47:55 2026 -0700"
      },
      "message": "Bump dav1d to 1.5.4 (#3298)"
    },
    {
      "commit": "d0605c98085e2fe4830ed248c8b00df7e6f80643",
      "tree": "9a16ef35d88dbfbafd283345cc4cccffb0581bb7",
      "parents": [
        "5d9407c5f65507a7eb6ffbecfecf53c55de1e95e"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Tue Jul 07 09:09:36 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 07 09:09:36 2026 -0700"
      },
      "message": "Bump libyuv to 5d03bf9ba (1949)\n\nUsed on the Chrome M151 branch, plus two more commits."
    },
    {
      "commit": "5d9407c5f65507a7eb6ffbecfecf53c55de1e95e",
      "tree": "3f5d3e3339c5e85c57ce99ae13845faf935312e7",
      "parents": [
        "5a7fef632e8db2ad98a45cb4457f0ed87967fc17"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Mon Jul 06 10:01:24 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 06 10:01:24 2026 -0700"
      },
      "message": "Add the ignoreICC option to avifDecoder\n\nThis allows us to remove the ignoreColorProfile parameter from the\navifImageCreateView() function.\n\nThere is a change of behavior to avifdec:\nThe message \"[--ignore-icc] Discarding ICC profile.\\n\" won\u0027t be printed\nif the --ignore-icc or --icc option is specified and the image has an\nICC profile.\n\nBug: https://github.com/AOMediaCodec/libavif/issues/3277"
    },
    {
      "commit": "5a7fef632e8db2ad98a45cb4457f0ed87967fc17",
      "tree": "18bc2d099c1c52ab35d88f9a7bc133f73b7839dc",
      "parents": [
        "0c8ee66c7fa84156b3357ff7d33cf15e00e9b84f"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Jul 02 08:13:36 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 02 08:13:36 2026 -0700"
      },
      "message": "Remove ignoreGainMap param of avifImageCreateView\n\nRemove the ignoreGainMap parameter of the avifImageCreateView()\nfunction.\n\nAll the callers of avifImageCreateView() pass ignoreGainMap\u003dfalse to the\nfunction. (The only exception is the recursive call on the gain map\nimage, but the gain map image cannot have its own gain map image, so it\ndoesn\u0027t really matter.)"
    },
    {
      "commit": "0c8ee66c7fa84156b3357ff7d33cf15e00e9b84f",
      "tree": "87ba6603d8f4a02c38b383884881c89723d079c2",
      "parents": [
        "0ae2354ab7be59575831845f2b176c97d08e1367"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Jul 02 07:10:41 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 02 07:10:41 2026 -0700"
      },
      "message": "Don\u0027t delete gain map metadata if ignore_gain_map\n\nIn avif::ReadImage(), if ignore_gain_map is true, don\u0027t delete gain map\nmetadata. Let the caller do that."
    },
    {
      "commit": "0ae2354ab7be59575831845f2b176c97d08e1367",
      "tree": "8d990bc50f832356093bbbbe030cc02d8cde8e9a",
      "parents": [
        "607673d8f0d619919f5a741b96e89b3458ba467b"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Jul 02 06:00:38 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 02 06:00:38 2026 -0700"
      },
      "message": "In avifDecoderReset(), continue if foundItem\n\nThis avoids indenting the body of the original if (!foundItem)\nstatement."
    },
    {
      "commit": "607673d8f0d619919f5a741b96e89b3458ba467b",
      "tree": "d7c1abcb761bacb54836ee7c7ba209a60eb92175",
      "parents": [
        "287bdddb4c4f640d7bea689a07a0315afcdc0b9d"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jul 01 09:55:43 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 01 09:55:43 2026 +0200"
      },
      "message": "Bump the github-actions group across 3 directories with 5 updates (#3287)\n\nBumps the github-actions group with 1 update in the /.github/actions/cache directory: [actions/cache](https://github.com/actions/cache).\nBumps the github-actions group with 1 update in the /.github/actions/setup-common directory: [actions/setup-python](https://github.com/actions/setup-python).\nBumps the github-actions group with 3 updates in the /.github/workflows directory: [actions/checkout](https://github.com/actions/checkout), [actions/setup-java](https://github.com/actions/setup-java) and [github/codeql-action/upload-sarif](https://github.com/github/codeql-action).\n\n\nUpdates `actions/cache` from 5.0.5 to 6.1.0\n- [Release notes](https://github.com/actions/cache/releases)\n- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)\n- [Commits](https://github.com/actions/cache/compare/27d5ce7f107fe9357f9df03efb73ab90386fccae...55cc8345863c7cc4c66a329aec7e433d2d1c52a9)\n\nUpdates `actions/setup-python` from 6.2.0 to 6.3.0\n- [Release notes](https://github.com/actions/setup-python/releases)\n- [Commits](https://github.com/actions/setup-python/compare/a309ff8b426b58ec0e2a45f0f869d46889d02405...ece7cb06caefa5fff74198d8649806c4678c61a1)\n\nUpdates `actions/checkout` from 6.0.2 to 7.0.0\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/de0fac2e4500dabe0009e67214ff5f5447ce83dd...9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0)\n\nUpdates `actions/setup-java` from 5.2.0 to 5.4.0\n- [Release notes](https://github.com/actions/setup-java/releases)\n- [Commits](https://github.com/actions/setup-java/compare/be666c2fcd27ec809703dec50e508c2fdc7f6654...1bcf9fb12cf4aa7d266a90ae39939e61372fe520)\n\nUpdates `github/codeql-action/upload-sarif` from 4.36.0 to 4.36.2\n- [Release notes](https://github.com/github/codeql-action/releases)\n- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/github/codeql-action/compare/7211b7c8077ea37d8641b6271f6a365a22a5fbfa...8aad20d150bbac5944a9f9d289da16a4b0d87c1e)\n\n---\nupdated-dependencies:\n- dependency-name: actions/cache\n  dependency-version: 6.1.0\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n  dependency-group: github-actions\n- dependency-name: actions/setup-python\n  dependency-version: 6.3.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: github-actions\n- dependency-name: actions/checkout\n  dependency-version: 7.0.0\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n  dependency-group: github-actions\n- dependency-name: actions/setup-java\n  dependency-version: 5.4.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: github-actions\n- dependency-name: github/codeql-action/upload-sarif\n  dependency-version: 4.36.2\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: github-actions\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "287bdddb4c4f640d7bea689a07a0315afcdc0b9d",
      "tree": "728d33699bb28c9fbef567f1c56b8e0cc202af43",
      "parents": [
        "bd2703d3c8d51b53d18105c128dc533c4cf0967d"
      ],
      "author": {
        "name": "Maryla Ustarroz-Calonge",
        "email": "maryla@google.com",
        "time": "Wed Jul 01 09:47:09 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 01 09:47:09 2026 +0200"
      },
      "message": "Fix direct modifications of decoder-\u003eimage. (#3281)\n\nDirectly modifying it goes against the API contract.\nCreate views instead."
    },
    {
      "commit": "bd2703d3c8d51b53d18105c128dc533c4cf0967d",
      "tree": "43d395515bdd18642165ca8ab8e77465d7ba5312",
      "parents": [
        "4f3a99351e3294942911d6550d0d0dd75e52ea90"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Tue Jun 30 09:10:51 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 30 09:10:51 2026 -0700"
      },
      "message": "Allow any value for avifDecoder::imageSizeLimit\n\nAll known integer overflows in libavif\u0027s decoder code, excluding\nexternal dependencies, have been fixed."
    },
    {
      "commit": "4f3a99351e3294942911d6550d0d0dd75e52ea90",
      "tree": "3673895f6568717cd632593c79ff678c3e6d6711",
      "parents": [
        "89e519864258d68c1e2175cf8e7d0eb3556d4ba8"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Mon Jun 29 08:25:49 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 29 08:25:49 2026 -0700"
      },
      "message": "Fix comment typos"
    },
    {
      "commit": "89e519864258d68c1e2175cf8e7d0eb3556d4ba8",
      "tree": "85262f5b07f0b5483628966067177b34c3dd6b16",
      "parents": [
        "a29cfb5c59ac1ff7bee9f0af4f4df1f004102e1d"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Mon Jun 29 01:35:10 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 29 10:35:10 2026 +0200"
      },
      "message": "TonemapCommand::Run: Use `image` consistently (#3283)\n\nOnce the local variable `image` is declared and initialized to\ndecoder-\u003eimage, use `image` intead of `decoder-\u003eimage` consistently."
    },
    {
      "commit": "a29cfb5c59ac1ff7bee9f0af4f4df1f004102e1d",
      "tree": "380f79f6d6fb41cd60f4f127f4de63057fbe0a9f",
      "parents": [
        "ea160ac56df44c571cd5781cbc24b2aeb1419b46"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Sun Jun 28 08:37:37 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 28 08:37:37 2026 -0700"
      },
      "message": "Remove revision param of johnwason/vcpkg-action\n\nA new stable release of vcpkg\n(https://github.com/microsoft/vcpkg/releases/tag/2026.06.24) is\navailable that includes svt-av1 version 3.1.2#1."
    },
    {
      "commit": "ea160ac56df44c571cd5781cbc24b2aeb1419b46",
      "tree": "bc6eb859022af7115198e13ef6ec74926d11f062",
      "parents": [
        "f349be9bce0bc5e18be0a30cc0f5cde304d5d29d"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Fri Jun 26 11:40:09 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 26 11:40:09 2026 -0700"
      },
      "message": "ci-windows-installed.yml: Revert to windows-latest\n\nhttps://github.com/microsoft/vcpkg/issues/52468 is fixed.\n\nSet the revision parameter of johnwason/vcpkg-action to commit\na900048467b8199f82c31411e0f1597c267fdada, which is our workaround for\nthe Visual Studio 2026 MSVC bug."
    },
    {
      "commit": "f349be9bce0bc5e18be0a30cc0f5cde304d5d29d",
      "tree": "5d89bdbbca0f8b2f9a06415e424b317329a39fdf",
      "parents": [
        "32393ae1eefc568feed206d126434cd0c28893fd"
      ],
      "author": {
        "name": "Yannis Guyon",
        "email": "yguyon@google.com",
        "time": "Fri Jun 26 13:38:46 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 26 13:38:46 2026 +0200"
      },
      "message": "Secure GitHub actions (#3279)\n\nAdd persist-credentials: false to every workflow file.\nSee https://docs.zizmor.sh/audits/#template-injection\n\nAvoid potential sources of code injection via template expansion in\nci-unix-static-av2.yml.\nSee https://docs.zizmor.sh/audits/#template-injection\n\nSimplify disabling mechanism in ci-unix-static-av2.yml.\nSee https://docs.zizmor.sh/audits/#obfuscation"
    },
    {
      "commit": "32393ae1eefc568feed206d126434cd0c28893fd",
      "tree": "f496c6ab81c8ef99d06c694b3348d67c686f9b9a",
      "parents": [
        "3f4212ffcfaf0eba9897781672d8e65bbb98cec3"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Mon Jun 22 11:29:29 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 22 11:29:29 2026 -0700"
      },
      "message": "Use valid xmp_data buffer in JpegTest.TooLargeXMP\n\nActually allocate a too large xmp_data buffer. Make sure the\navifJPEGParseGainMapXMP() call would succeed if the size \u003e INT_MAX check\nwere removed.\n\nThe original JpegTest.TooLargeXMP test is renamed\nJpegTest.TooLargeXMPFake.\n\nA follow-up to PR https://github.com/AOMediaCodec/libavif/pull/3249."
    },
    {
      "commit": "3f4212ffcfaf0eba9897781672d8e65bbb98cec3",
      "tree": "c0a369897f9ca1b2b032d85861178245958821b2",
      "parents": [
        "eb565694d376eabcf5bf452bc786e9839b25ed98"
      ],
      "author": {
        "name": "Maryla Ustarroz-Calonge",
        "email": "maryla@google.com",
        "time": "Fri Jun 19 10:51:35 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 19 10:51:35 2026 +0200"
      },
      "message": "avifgainmaputil: add --ignore-alpha flag to discard alpha channel (#3273)"
    },
    {
      "commit": "eb565694d376eabcf5bf452bc786e9839b25ed98",
      "tree": "78b3492c92e28d005988cba023e643d9274782a2",
      "parents": [
        "9d654e391a75268869e488831099a5f86cfb2fb9"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Jun 18 08:32:09 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 18 08:32:09 2026 -0700"
      },
      "message": "avifImageYUVAnyToRGBAnySlow: Fix integer overflows\n\nFix the integer overflows in avifImageYUVAnyToRGBAnySlow() by declaring\na few local variables as size_t or ptrdiff_t.\n\nDeclare yuvChannelBytes, yRowBytes, uRowBytes, vRowBytes, aRowBytes as\nsize_t. These variables are multiplied by index variables of the\nuint32_t type. In addition, yuvChannelBytes, uRowBytes, and vRowBytes\nare cast to ptrdiff_t or multiplied by -1.\n\nDeclare uAdjCol, vAdjCol, uAdjRow, vAdjRow as ptrdiff_t. These variables\nmay store positive or negative values, and are added to a pointer.\n\nAlso remove two pairs of unnecessary parentheses.\n\nAcknowledgments: This pull request replaces the following pull requests\nthat attempt to fix this issue:\n  - https://github.com/AOMediaCodec/libavif/pull/3063 by rootvector2\n  - https://github.com/AOMediaCodec/libavif/pull/3202 by rootvector2\n  - https://github.com/AOMediaCodec/libavif/pull/3213 by metsw24-max\n  - https://github.com/AOMediaCodec/libavif/pull/3260 by MXguru1"
    },
    {
      "commit": "9d654e391a75268869e488831099a5f86cfb2fb9",
      "tree": "f21e49ef573630ffd214791f622e1be0809ad9c8",
      "parents": [
        "94fcbb3fbc186cab1d7419c6a8559a0d7e1dc90d"
      ],
      "author": {
        "name": "Maryla Ustarroz-Calonge",
        "email": "maryla@google.com",
        "time": "Thu Jun 18 13:07:42 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 18 13:07:42 2026 +0200"
      },
      "message": "Fix printed gain map size in avifenc/avifgainmaputil when using a grid. (#3270)\n\nFollow up of #3264\nFixes #3261"
    },
    {
      "commit": "94fcbb3fbc186cab1d7419c6a8559a0d7e1dc90d",
      "tree": "84038e634d8529eada8f1fc50263561f6f69d6df",
      "parents": [
        "27a60c729c061c93015f5a27efc2619a0693bc36"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Wed Jun 17 12:46:28 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 17 12:46:28 2026 -0700"
      },
      "message": "Add a changelog entry for PR #3266"
    },
    {
      "commit": "27a60c729c061c93015f5a27efc2619a0693bc36",
      "tree": "90685515a45ce988e15088e38858aaee4f2a1e4b",
      "parents": [
        "56bb94e9ed63f2358a43dc66ef1b49db539b86a1"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Wed Jun 17 12:45:09 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 17 12:45:09 2026 -0700"
      },
      "message": "Cite the svt-av1 vcpkg bug report instead"
    },
    {
      "commit": "56bb94e9ed63f2358a43dc66ef1b49db539b86a1",
      "tree": "ccc82e568376a9baa9ba0a3b3982d5c13ecff240",
      "parents": [
        "cbeb4d85764a4fda29ab8eebcb455ee31390aa98"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Wed Jun 17 11:20:30 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 17 11:20:30 2026 -0700"
      },
      "message": "Link with -lm when NOT WIN32 AND NOT APPLE\n\nChange the condition to link with the math library (-lm) to\nif(NOT WIN32 AND NOT APPLE). This condition has worked well in libaom.\n\nAddress the -l_aom_dep_lib_m-NOTFOUND part of\nissue https://github.com/AOMediaCodec/libavif/issues/3263."
    },
    {
      "commit": "cbeb4d85764a4fda29ab8eebcb455ee31390aa98",
      "tree": "4e8c3af4efa90ac6f6315260427a667df07df9fc",
      "parents": [
        "fc87af9dca6923d1b73167604047a1014fc2df6b"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Wed Jun 17 09:11:02 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 17 09:11:02 2026 -0700"
      },
      "message": "Use windows-2022 until issue #3255 is fixed\n\nUse windows-2022 instead of windows-latest until\nhttps://github.com/AOMediaCodec/libavif/issues/3255 is fixed.\n\nwindows-latest points to windows-2025 right now, which is being updated\nto Visual Studio 2026. Visual Studio 2026 version \u003e\u003d 19.50 has an AVX2\nintrinsics inlining bug, described at\nhttps://gitlab.com/AOMediaCodec/SVT-AV1/-/work_items/2322#note_3455144085."
    },
    {
      "commit": "fc87af9dca6923d1b73167604047a1014fc2df6b",
      "tree": "4050b355ef447324547b9c879a4e7dad8ec6ce27",
      "parents": [
        "64751ae750824470f61a2b2a3ab73600b00e3db7"
      ],
      "author": {
        "name": "Yannis Guyon",
        "email": "yguyon@google.com",
        "time": "Wed Jun 17 16:39:43 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 17 16:39:43 2026 +0200"
      },
      "message": "Patch SVT-AV1 to avoid corrupted files with MSVC (#3257)"
    },
    {
      "commit": "64751ae750824470f61a2b2a3ab73600b00e3db7",
      "tree": "c83f3cad3d418ef6edccd38313bc0fa38297d414",
      "parents": [
        "6048f5c9e0ff74124c219d032997e34e92c7d343"
      ],
      "author": {
        "name": "Maryla Ustarroz-Calonge",
        "email": "maryla@google.com",
        "time": "Wed Jun 17 16:06:22 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 17 16:06:22 2026 +0200"
      },
      "message": "avifgainmaputil: fix incorrectly printed resolution (#3264)"
    },
    {
      "commit": "6048f5c9e0ff74124c219d032997e34e92c7d343",
      "tree": "39c71a18f53f86ba3f6187903ae522b8a21d2c59",
      "parents": [
        "0e73429877ced7d2b1cd943c8398fa82b9311ddf"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Tue Jun 16 14:56:25 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 16 14:56:25 2026 -0700"
      },
      "message": "Compare matrix.generator with \u0027-G Ninja\u0027\n\nThe new matrix.generator value is \"-G Ninja\", so matrix.generator should\nbe compared with \u0027-G Ninja\u0027 instead of \u0027Ninja\u0027."
    },
    {
      "commit": "0e73429877ced7d2b1cd943c8398fa82b9311ddf",
      "tree": "4a97d1b569d0ae44acd9871c1de19ec2dd50dd6d",
      "parents": [
        "da84da9070d1f8b1ee3c0e14eb846ca8e8681eb9"
      ],
      "author": {
        "name": "Yannis Guyon",
        "email": "yguyon@google.com",
        "time": "Mon Jun 15 14:30:44 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 15 14:30:44 2026 +0200"
      },
      "message": "Remove explicit VS version in Windows CI (#3254)\n\nRely on CMake\u0027s default generator."
    },
    {
      "commit": "da84da9070d1f8b1ee3c0e14eb846ca8e8681eb9",
      "tree": "a87154c7e4ca5aca6baf9fff076f9a79cc884fd3",
      "parents": [
        "e14848ef32b064b980eac1a6d540effec2839ba7"
      ],
      "author": {
        "name": "XananasX",
        "email": "cihbank069@gmail.com",
        "time": "Mon Jun 15 08:51:05 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 15 09:51:05 2026 +0200"
      },
      "message": "ci: pin actions to full commit SHAs in ci-format-check and ci-mingw (#3253)\n\nMutable tag references can be silently re-pointed to different commits.\nPin to full SHA (tag kept as comment):\n\n  neg-c/cmake-format-action:\n    @v0.1.3 -\u003e @ba83660ac46d64c12ca96f39478dcde7680a52bf\n  msys2/setup-msys2:\n    @v2 -\u003e @66cd2cce69caa17b53920067426061ca1de3a884"
    },
    {
      "commit": "e14848ef32b064b980eac1a6d540effec2839ba7",
      "tree": "3f31e0abd6dacf1c24656d45c537ea276e69526b",
      "parents": [
        "0b47c4002a41eda3dbe3a05187449363b56eae4d"
      ],
      "author": {
        "name": "alb3e3",
        "email": "74142887+Alb3e3@users.noreply.github.com",
        "time": "Mon Jun 15 08:25:07 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 15 08:25:07 2026 +0200"
      },
      "message": "Replace archived release asset upload action (#3248)"
    },
    {
      "commit": "0b47c4002a41eda3dbe3a05187449363b56eae4d",
      "tree": "555050d1ce052f555f244eac85e85a06ef6f2873",
      "parents": [
        "7f7fa383834f8d8a56ca130f3218ca7735f3ea1f"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Fri Jun 12 07:07:29 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 07:07:29 2026 -0700"
      },
      "message": "Avoid const cast of avifJPEGFindXMLNodeByName rv\n\nChange avifJPEGFindXMLNodeByName() to return a non-const xmlNode * so\nthat we don\u0027t need apply a const cast to its return value.\n\nAlso fix an incorrect error message (we are parsing an extended XMP\nsegment, not a standard XMP segment)."
    },
    {
      "commit": "7f7fa383834f8d8a56ca130f3218ca7735f3ea1f",
      "tree": "b4cd54d8840b225d0853169aa76100c34b4d50a1",
      "parents": [
        "36ccfc14cb5329ff1fae082a77a729ed34028dc0"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Fri Jun 12 06:42:27 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 06:42:27 2026 -0700"
      },
      "message": "Add changelog entry for #3247 (Copy XMP/Exif ...)"
    },
    {
      "commit": "36ccfc14cb5329ff1fae082a77a729ed34028dc0",
      "tree": "be59f05e72f5d3d334801f47fca0824006202d8b",
      "parents": [
        "121d6d13cdc2552a414b570830090fdc7138880d"
      ],
      "author": {
        "name": "alb3e3",
        "email": "74142887+Alb3e3@users.noreply.github.com",
        "time": "Thu Jun 11 14:28:03 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 14:28:03 2026 +0200"
      },
      "message": "Guard JPEG XMP parsing sizes (#3249)"
    },
    {
      "commit": "121d6d13cdc2552a414b570830090fdc7138880d",
      "tree": "030a1ab0ad38b918ae6c9ab239931db67b4737d3",
      "parents": [
        "253f0d0f04e771dd94b37682a211b10a9cfe702e"
      ],
      "author": {
        "name": "Maryla Ustarroz-Calonge",
        "email": "maryla@google.com",
        "time": "Thu Jun 11 11:44:17 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 11:44:17 2026 +0200"
      },
      "message": "Copy XMP/Exif in `avifgainmaputil tonemap` (#3247)\n\nFixes #3232"
    },
    {
      "commit": "253f0d0f04e771dd94b37682a211b10a9cfe702e",
      "tree": "dcc7296297e5d489587e4dfb3f099f1d6502f550",
      "parents": [
        "96ec013de9c565d0fa474139ca25fec001145392"
      ],
      "author": {
        "name": "Javid Khan",
        "email": "dxbjavid@gmail.com",
        "time": "Mon Jun 08 15:05:38 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 11:35:38 2026 +0200"
      },
      "message": "cast to unsigned char before ctype calls in image readers (#3245)"
    },
    {
      "commit": "96ec013de9c565d0fa474139ca25fec001145392",
      "tree": "ff636bec0cc47f756a62f29eee31620dd76b20d4",
      "parents": [
        "76fb86e4d569863da8df63e7327168cc23f35709"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Fri Jun 05 07:15:10 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 05 07:15:10 2026 -0700"
      },
      "message": "Explain why avifImageCopy() disallows self copy"
    },
    {
      "commit": "76fb86e4d569863da8df63e7327168cc23f35709",
      "tree": "e4a9fca2c4415e722ea0d0909780198f7f71cafa",
      "parents": [
        "ed2839513419ead71dfdfe44faaf129d8a705fd3"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Jun 04 11:43:12 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 04 11:43:12 2026 -0700"
      },
      "message": "Relax SampleTransformZeroInputItemsRejected error\n\nIn the SampleTransformZeroInputItemsRejected test, do not require the\nerror code of avifDecoderReadMemory() be AVIF_RESULT_BMFF_PARSE_FAILED.\nThis allows the implementation to return a different error code such as\nAVIF_RESULT_DECODE_SAMPLE_TRANSFORM_FAILED.\n\nNote: Without this change, the next statement,\n  EXPECT_NE(result, AVIF_RESULT_INTERNAL_ERROR);\nis redundant."
    },
    {
      "commit": "ed2839513419ead71dfdfe44faaf129d8a705fd3",
      "tree": "cd56384a679b4999ee8ca441214fc14268402884",
      "parents": [
        "383d8c8087c50be7b5a6ad5152e3bbc09bf1e9e0"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Wed Jun 03 21:21:00 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 03 21:21:00 2026 -0700"
      },
      "message": "codec_libgav1.c: Remove #include \u003cstring.h\u003e\n\nAfter commit c64ea94, codec_libgav1.c no longer calls any function\ndeclared in \u003cstring.h\u003e. This can be verified by searching for \"str\" and\n\"mem\" in this file. Include \u003cstddef.h\u003e instead (for NULL)."
    },
    {
      "commit": "383d8c8087c50be7b5a6ad5152e3bbc09bf1e9e0",
      "tree": "22244b20386014e870619018b39fd2175fafda7a",
      "parents": [
        "a660226935e62194c4129d57fd352d611969806b"
      ],
      "author": {
        "name": "jmestwa-coder",
        "email": "jmestwa@gmail.com",
        "time": "Wed Jun 03 14:06:31 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 03 10:36:31 2026 +0200"
      },
      "message": "Reject \u0027sato\u0027 items with no input image items (#3237)"
    },
    {
      "commit": "a660226935e62194c4129d57fd352d611969806b",
      "tree": "8354be0b086e74dc5648c44e46fa30b4d7bf6446",
      "parents": [
        "67f7589ee7a72e8ceca420607566d3c1727b81ed"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Tue Jun 02 19:16:14 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 19:16:14 2026 -0700"
      },
      "message": "Disallow dstImage \u003d\u003d srcImage\n\nDisallow dstImage \u003d\u003d srcImage in avifImageCopy() and\navifImageSetViewRect()."
    }
  ],
  "next": "67f7589ee7a72e8ceca420607566d3c1727b81ed"
}
