)]}'
{
  "log": [
    {
      "commit": "67f7589ee7a72e8ceca420607566d3c1727b81ed",
      "tree": "8a60472ab9c2199e4bc17c305d8cc6b49051556e",
      "parents": [
        "c64ea9468ddf5f0b3cdf14d07da3e200c8c208b5"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Tue Jun 02 20:18:06 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 20:18:06 2026"
      },
      "message": "Max frame dims apply to AV2 in avifValidateGrid()\n\nAV2 has the same maximum frame width and height as AV1."
    },
    {
      "commit": "c64ea9468ddf5f0b3cdf14d07da3e200c8c208b5",
      "tree": "6cb7083ee89d850e58b8bb9616918e8547a676d3",
      "parents": [
        "27ec163acc16da9cb1294161904f85a985dc5ce3"
      ],
      "author": {
        "name": "metsw24-max",
        "email": "metsw24@gmail.com",
        "time": "Mon Jun 01 21:19:12 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 01 21:19:12 2026"
      },
      "message": "Add avifCalloc() and harden allocation call sites\n\nIntroduce avifCalloc() as a centralized overflow-checked,\nzero-initializing allocation helper and convert existing open-coded\nallocation patterns to use it.\n\nThis change replaces repeated patterns of:\n\n    p \u003d avifAlloc(...);\n    memset(p, 0, ...);\n    \nwith a single reusable helper that performs allocation arithmetic\nvalidation and zero-initialization in one place."
    },
    {
      "commit": "27ec163acc16da9cb1294161904f85a985dc5ce3",
      "tree": "e4c32ae8c86f8eab6a8ebf076c7fb9fc30cff4ca",
      "parents": [
        "d8b4e042cde136995909a7c5753d5f2910772248"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jun 01 18:05:15 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 01 18:05:15 2026"
      },
      "message": "Bump the github-actions group across 2 directories with 2 updates\n\nBumps the github-actions group with 1 update in the /.github/actions/setup-windows directory: [johnwason/vcpkg-action](https://github.com/johnwason/vcpkg-action).\nBumps the github-actions group with 1 update in the /.github/workflows directory: [github/codeql-action](https://github.com/github/codeql-action).\n\n\nUpdates `johnwason/vcpkg-action` from 7.0.1 to 8.0.0\n- [Release notes](https://github.com/johnwason/vcpkg-action/releases)\n- [Commits](https://github.com/johnwason/vcpkg-action/compare/caa1c94fbb94d8b023a0cc93edf10cd3791349a7...04c68c847bf5196ecaa72331ecf51208583916ef)\n\nUpdates `github/codeql-action` from 4.35.2 to 4.36.0\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/95e58e9a2cdfd71adc6e0353d5c52f41a045d225...7211b7c8077ea37d8641b6271f6a365a22a5fbfa)\n\n---\nupdated-dependencies:\n- dependency-name: johnwason/vcpkg-action\n  dependency-version: 8.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\n  dependency-version: 4.36.0\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": "d8b4e042cde136995909a7c5753d5f2910772248",
      "tree": "e377626a299f8f5a1ddc267c8425f7d351df3ce5",
      "parents": [
        "693855b664244c0dfd1992ab301fad7b5aa1e085"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Fri May 29 06:44:26 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 29 06:44:26 2026"
      },
      "message": "Update to AVM v1.0.0"
    },
    {
      "commit": "693855b664244c0dfd1992ab301fad7b5aa1e085",
      "tree": "c49b5bdef3c1d2af4a7220560e029b8df93efe41",
      "parents": [
        "50c9345a4c0c1ea6682fd705f8f59bce25301336"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu May 28 20:40:09 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 28 20:40:09 2026"
      },
      "message": "avifenc: add --ignore-alpha flag to discard alpha\n\nAdd --ignore-alpha flag to avifenc to discard alpha channel on encode.\n\nHave avifInputReadImage() propagate the ignoreAlpha parameter further\ndown the call chain all the way to the leaf functions.\n\nCo-authored-by: enyetsuen \u003c175347006+enyetsuen@users.noreply.github.com\u003e"
    },
    {
      "commit": "50c9345a4c0c1ea6682fd705f8f59bce25301336",
      "tree": "61d7dc4e7c2676ba1be71c71ff718e268f7b7976",
      "parents": [
        "c5240fc79fe5c2407e10afd35f5505ef6333ea49"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Tue May 26 23:05:21 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 26 23:05:21 2026"
      },
      "message": "Re-enable AVIF_VERSION_DEVEL"
    },
    {
      "commit": "c5240fc79fe5c2407e10afd35f5505ef6333ea49",
      "tree": "b2663cbc9ed4554942f9c5e54f6ffd4ec6a8d608",
      "parents": [
        "267f924c90938f81b97458754c9c8e36d9c224ee"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Tue May 26 22:29:56 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 26 22:29:56 2026"
      },
      "message": "v1.4.2"
    },
    {
      "commit": "267f924c90938f81b97458754c9c8e36d9c224ee",
      "tree": "64774f132f60961c5ea0197e43edca1e06f64495",
      "parents": [
        "196cf824aa891b83abe7fc8772c0dd6711d9a0c2"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Tue May 26 16:32:34 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 26 16:32:34 2026"
      },
      "message": "Bump libyuv to 644251f25\n\nUsed on the Chrome M149 branch."
    },
    {
      "commit": "196cf824aa891b83abe7fc8772c0dd6711d9a0c2",
      "tree": "4133fd56a24b849f5660617d1dfb5b39119e2044",
      "parents": [
        "7d67150badf57c2389877af71461bf889041090c"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Tue May 26 15:52:58 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 26 15:52:58 2026"
      },
      "message": "Bump libxml2 to v2.15.3"
    },
    {
      "commit": "7d67150badf57c2389877af71461bf889041090c",
      "tree": "990b372d15d867419d4b6faa705c704937fb7325",
      "parents": [
        "6a3615c508fcfd69772c4ce4775d01ddfe9b5e6d"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Fri May 22 21:13:05 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 22 21:13:05 2026"
      },
      "message": "Bump libjpeg-turbo to 3.1.4.1"
    },
    {
      "commit": "6a3615c508fcfd69772c4ce4775d01ddfe9b5e6d",
      "tree": "97206cb5ee8d924b14ba8ebcae2ccab9cd57fe2c",
      "parents": [
        "b28a5b1d871e7dcc75d2f5da9bcc4090bf4c2457"
      ],
      "author": {
        "name": "metsw24-max",
        "email": "metsw24@gmail.com",
        "time": "Fri May 22 20:42:06 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 22 20:42:06 2026"
      },
      "message": "Use std::array for pixel buffers in avifrgbtest\n\nReplaces raw `float[4]` pixel buffers in tests/gtest/avifrgbtest.cc with\n`std::array\u003cfloat, 4\u003e`, passing `.data()` to `avifSetRGBAPixel` and\n`avifGetRGBAPixel`. This is a small code-quality cleanup that stands on\nits own; it was split out of the `-Wunsafe-buffer-usage` opt-in PR at\nthe reviewer\u0027s request."
    },
    {
      "commit": "b28a5b1d871e7dcc75d2f5da9bcc4090bf4c2457",
      "tree": "629fc1de64bfeb8969e33b419825d7fe9e67d514",
      "parents": [
        "9bf3dd48dcd947c9946aa68d30c1c4b9c642f3dc"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Fri May 22 20:27:52 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 22 20:27:52 2026"
      },
      "message": "Bump libpng to 1.6.58"
    },
    {
      "commit": "9bf3dd48dcd947c9946aa68d30c1c4b9c642f3dc",
      "tree": "6cb0e1a3300e1fba68d7aed18d6cffbc763b2405",
      "parents": [
        "eb6e0e6c9017935bd8ac54b01b55a4c330f5e976"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Fri May 22 20:02:21 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 22 20:02:21 2026"
      },
      "message": "Update to libaom v3.14.1"
    },
    {
      "commit": "eb6e0e6c9017935bd8ac54b01b55a4c330f5e976",
      "tree": "7f0d7f43ab99f4d74c15c6278b2c76336a2e968d",
      "parents": [
        "3a63fd99d00109a5e0732b9cdee92277dcf09953"
      ],
      "author": {
        "name": "Maryla Ustarroz-Calonge",
        "email": "maryla@google.com",
        "time": "Fri May 22 14:23:34 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 22 14:23:34 2026"
      },
      "message": "Fix bug in avifToLinearIEC61966 (#3218)"
    },
    {
      "commit": "3a63fd99d00109a5e0732b9cdee92277dcf09953",
      "tree": "2c512ace5472b05c07a30f532c6679fcb1fbfb22",
      "parents": [
        "729927c8d6c27159f5a97c41cf218d8244dc8897"
      ],
      "author": {
        "name": "metsw24-max",
        "email": "metsw24@gmail.com",
        "time": "Thu May 21 17:50:09 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 21 17:50:09 2026"
      },
      "message": "Replace strcpy/strcat with memcpy in aviftest.c"
    },
    {
      "commit": "729927c8d6c27159f5a97c41cf218d8244dc8897",
      "tree": "d4ca8f9e00e4193436355b56251040681cf59511",
      "parents": [
        "1eb52718e253cf542452b47bf3042ab79594736e"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Wed May 20 21:31:24 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 20 21:31:24 2026"
      },
      "message": "Switch to AVM\u0027s new repository on GitHub"
    },
    {
      "commit": "1eb52718e253cf542452b47bf3042ab79594736e",
      "tree": "f44c7d0894d4b5191e7da3645b592e75bb60f383",
      "parents": [
        "b76fe84462a20023c6c9990f592e364bbd37f83a"
      ],
      "author": {
        "name": "kjg0724",
        "email": "63202356+kjg0724@users.noreply.github.com",
        "time": "Wed May 20 20:53:58 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 20 20:53:58 2026"
      },
      "message": "avifenc: refer to standard input in error message\n\nRefer to \"standard input\" in the stdin Y4M error message. The outer\nerror already says \"from standard input\"; make the hint consistent.\n\nRefs #3194"
    },
    {
      "commit": "b76fe84462a20023c6c9990f592e364bbd37f83a",
      "tree": "f3d497032035a20b0e1c2b0f4ee164288ae4fb9d",
      "parents": [
        "80f489a010fe84f6e3f825105e232e07346bb426"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Wed May 20 18:04:48 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 20 18:04:48 2026"
      },
      "message": "Change avifRWStreamFinishBox to return avifResult\n\nFollow up on PR #3207. Allow error handling."
    },
    {
      "commit": "80f489a010fe84f6e3f825105e232e07346bb426",
      "tree": "03101c583b6138aff02ceb19a88cdd020596d3cc",
      "parents": [
        "a854856d05ccd05db91ee49e3c54b4e5a6d70582"
      ],
      "author": {
        "name": "metsw24-max",
        "email": "metsw24@gmail.com",
        "time": "Wed May 20 10:46:30 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 20 10:46:30 2026"
      },
      "message": "Make avifAlloc(0) deterministic and fix RWData shrink-to-zero handling (#3212)"
    },
    {
      "commit": "a854856d05ccd05db91ee49e3c54b4e5a6d70582",
      "tree": "aceddfa9bf07707224ae4b317b10497d8056aa9a",
      "parents": [
        "ed4f11dcf6e684025f0a2225a48099ef213fe7c2"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Tue May 19 15:42:38 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 19 15:42:38 2026"
      },
      "message": "Check null return value from avifImageCreateEmpty\n\nAudit all calls to avifImageCreateEmpty() and avifImageCreate() in the\nlibavif source tree (except the tests) and make sure that the callers\ncheck for a null return value.\n\nFix nits in two error messages."
    },
    {
      "commit": "ed4f11dcf6e684025f0a2225a48099ef213fe7c2",
      "tree": "a694cb338e9c8e25e4eb0bf4875defd4ae243ae4",
      "parents": [
        "4e3fed82b35a4711bedaf8b58485fc07714ee746"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Tue May 19 14:55:21 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 19 14:55:21 2026"
      },
      "message": "Detect invalid box size in avifRWStreamFinishBox()\n\nUnfortunately avifRWStreamFinishBox() returns void and there are a lot\nof avifRWStreamFinishBox() calls, so have avifRWStreamFinishBox() call\nabort() on an invalid box size for now."
    },
    {
      "commit": "4e3fed82b35a4711bedaf8b58485fc07714ee746",
      "tree": "f69fa171609d9b0d54aad0e62b62fae342627532",
      "parents": [
        "786926e4b151886c3a4ef3f897e4d143f1bd7c6f"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Tue May 19 14:49:07 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 19 14:49:07 2026"
      },
      "message": "Document the marker parameter of box writing funcs"
    },
    {
      "commit": "786926e4b151886c3a4ef3f897e4d143f1bd7c6f",
      "tree": "37fa965338e11a2c01e9887657e91fd2f68e1eaa",
      "parents": [
        "15c8b002222ea82466eb42a12b809e930704efa4"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Mon May 18 18:01:39 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 18 18:01:39 2026"
      },
      "message": "avifenc: Follow up on PR #3179\n\nClarify \"bit depth is retained and must match if specified\".\n\nChange a semicolon (;) to a comma (,) to make it clear that\n\"Dextension is unsupported\" is part of the y4m case."
    },
    {
      "commit": "15c8b002222ea82466eb42a12b809e930704efa4",
      "tree": "be445afbd4d7b40da20ff933d425bc83e42a9976",
      "parents": [
        "96e91c48e26b1dc232abb47cc46073cae2606ea1"
      ],
      "author": {
        "name": "Dexter.k",
        "email": "164054284+rootvector2@users.noreply.github.com",
        "time": "Mon May 18 17:37:53 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 18 17:37:53 2026"
      },
      "message": "gainmap: check avifImageCreateEmpty() result\n\navifRGBImageApplyGainMap() calls avifImageCreateEmpty() to back the\nrescaledGainMap when the gain map image\u0027s dimensions differ from the\nbase image\u0027s, but does not check the return value. The next line\ncalls avifImageSetViewRect(rescaledGainMap, ...), which dereferences\nthe destination image via avifImageFreePlanes() before any rect\nvalidation, so a NULL return from avifImageCreateEmpty() crashes the\ncaller under memory pressure.\n\nThis is the same pattern fixed for avifImageCopy() in PR #3201.\n\nBail to the existing cleanup label with AVIF_RESULT_OUT_OF_MEMORY\nwhen the allocation fails."
    },
    {
      "commit": "96e91c48e26b1dc232abb47cc46073cae2606ea1",
      "tree": "16dbc1989751a1716e937573661a8f9cf8d2973e",
      "parents": [
        "4368f146309dd6a5b05657df646a97d2f7032903"
      ],
      "author": {
        "name": "Dexter.k",
        "email": "164054284+rootvector2@users.noreply.github.com",
        "time": "Mon May 18 16:27:08 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 18 16:27:08 2026"
      },
      "message": "avifImageCopy: check avifImageCreateEmpty() result\n\nWhen the destination image has no gain map image yet but the source\ndoes, avifImageCopy() called avifImageCreateEmpty() and passed the\nresult to a recursive avifImageCopy() without checking for allocation\nfailure. Under out-of-memory conditions this dereferenced a NULL pointer\nin avifImageFreePlanes() at the start of the recursive call.\n\nAdd the missing AVIF_CHECKERR, matching the existing pattern used for\nthe avifGainMapCreate() allocation a few lines above."
    },
    {
      "commit": "4368f146309dd6a5b05657df646a97d2f7032903",
      "tree": "cb2d3d4441c4067b449d8c9328daa6c0b1c4a156",
      "parents": [
        "3c66271c78f5bbf8228a62a344a33eace1b9f764"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Mon May 18 13:11:22 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 18 13:11:22 2026"
      },
      "message": "Change \"y4m or stdin\" to \"y4m\" in avifenc help msg (#3197)\n\nA follow-up to PR #2710."
    },
    {
      "commit": "3c66271c78f5bbf8228a62a344a33eace1b9f764",
      "tree": "e1b515ebcb57b47c65352c6f35d1e1d4a80c4950",
      "parents": [
        "74bd32ef873024213b37f19a94f30d7b155f2514"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Fri May 15 20:25:44 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 15 20:25:44 2026"
      },
      "message": "Print diag msg if AOMD_SET_FRAME_SIZE_LIMIT fails"
    },
    {
      "commit": "74bd32ef873024213b37f19a94f30d7b155f2514",
      "tree": "70211f55ae774b2ad45c68e2c8e4e61fa3381a31",
      "parents": [
        "4b817bb98ec9e4be299aa28e0d7c29456a0f6b93"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Fri May 15 18:57:19 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 15 18:57:19 2026"
      },
      "message": "Update to libaom v3.14.0\n\nDelete the AomTuneMetricTest.TuneIqOnlySupportsAllIntra test (added in\nPR #2936) because tune IQ was extended to inter-frame encoding modes\n(good-quality and realtime) in libaom v3.14.0:\nhttps://aomedia-review.googlesource.com/207681"
    },
    {
      "commit": "4b817bb98ec9e4be299aa28e0d7c29456a0f6b93",
      "tree": "8d229fa1f7bc31ce65d76dbeb61a58d22b0ab038",
      "parents": [
        "41ee8abe2613de364559f73011683b4d97227a85"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Wed May 13 22:30:18 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 13 22:30:18 2026"
      },
      "message": "Set aomVersion_3_14_0 to the correct value\n\nThe libaom v3.14.0 release is imminent. It is safe to set\naomVersion_3_14_0 to the correct value now."
    },
    {
      "commit": "41ee8abe2613de364559f73011683b4d97227a85",
      "tree": "fd044f91c233c4a37e29ceabc9f71fc9d5e222a6",
      "parents": [
        "3e9371f563a6bd96440b0e3d425afdc1f91c7f45"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Wed May 13 17:50:39 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 13 17:50:39 2026"
      },
      "message": "Use libaom AOMD_SET_FRAME_SIZE_LIMIT if available\n\nBug: https://aomedia.g-issues.chromium.org/issues/485932002"
    },
    {
      "commit": "3e9371f563a6bd96440b0e3d425afdc1f91c7f45",
      "tree": "8e62ee3cd580bd462b66658915464abb9834f99f",
      "parents": [
        "257b1e45f979491d905786d80691ba33a7597290"
      ],
      "author": {
        "name": "Anthony Hurtado",
        "email": "amhurtado@protonmail.com",
        "time": "Wed May 13 11:07:40 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 13 11:07:40 2026"
      },
      "message": "Fix NaN bypass of AVIF_CLAMP in gain map pixel clamping (#3189)\n\nApply path (the two sites at lines 156 and 277): when `baseLinear + baseOffset` is zero (e.g., a black pixel with `baseOffset \u003d {0, 1}`), and the gain map log2 value is large enough for `exp2f()` to overflow to +Inf, the multiplication `0.0f * +Inf` evaluates to NaN per IEEE 754. The NaN then passes through `linearToGamma()` and `AVIF_CLAMP()` unmodified, since the macro\u0027s ternary comparisons all return false for NaN operands.\n\nA similar NaN path exists in the compute path (line 764): if `base + baseOffset[c]` is near-zero after color space conversion, the ratio at line 695 overflows to +Inf. `AVIF_MAX(ratio, kEpsilon)` only lower-bounds, so +Inf passes through into `gainMapF`. After `avifFindMinMaxWithoutOutliers` picks up +Inf as the channel max, the normalization `(+Inf - min) / +Inf` evaluates to NaN (indeterminate form).\n\nThe `fminf`/`fmaxf` fix is intentionally a safety net at the output boundary — it ensures NaN can\u0027t reach `avifSetRGBAPixel()` regardless of which upstream path produced it. If you\u0027d prefer a root-cause fix as well (e.g., clamping the ratio or guarding `exp2f` overflow), I\u0027m happy to add that.\n\nCo-authored-by: Claude Opus 4.6 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "257b1e45f979491d905786d80691ba33a7597290",
      "tree": "5a7f54bb9496c59f4ac8524d1e227a7f3c6b4856",
      "parents": [
        "ee0ce4ea86b4240c35d96d05a685ed00146dba56"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Wed May 06 21:17:45 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 21:17:45 2026"
      },
      "message": "Update to AVM research-v15.0.0 anchor"
    },
    {
      "commit": "ee0ce4ea86b4240c35d96d05a685ed00146dba56",
      "tree": "86f3f30cf8a4040ccd14988f1019023f176212b6",
      "parents": [
        "9bd9e4dacd933f1e30d4cefe1ff88262338367ea"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Tue May 05 22:15:31 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 05 22:15:31 2026"
      },
      "message": "Add pull request #3179 to CHANGELOG.md"
    },
    {
      "commit": "9bd9e4dacd933f1e30d4cefe1ff88262338367ea",
      "tree": "49e2fba2c338e63dfe00eb633604221d1ebf4cbe",
      "parents": [
        "f17110dac426a7dd046a34b99276e64d9fb73c28"
      ],
      "author": {
        "name": "Jeongkeun Kim",
        "email": "variety0724@gmail.com",
        "time": "Mon Apr 27 08:29:57 2026"
      },
      "committer": {
        "name": "Vignesh Venkatasubramanian",
        "email": "vigneshvg@users.noreply.github.com",
        "time": "Tue May 05 16:46:07 2026"
      },
      "message": "avifenc: reject mismatched --depth for Y4M input\n"
    },
    {
      "commit": "f17110dac426a7dd046a34b99276e64d9fb73c28",
      "tree": "e49b2c32eec9f35b64bd4c1288b1f08bc23dc467",
      "parents": [
        "ee88f984f540e7fb67ae6dc2212565b6a3d82b84"
      ],
      "author": {
        "name": "uwezkhan",
        "email": "114483941+uwezkhan@users.noreply.github.com",
        "time": "Sat May 02 17:18:44 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 02 17:18:44 2026"
      },
      "message": "Use size_t arithmetic in pixel offset calculations\n\nDeclare indexes i, j, uvI, uvJ as size_t so that multiplications with\nthem are performed in size_t."
    },
    {
      "commit": "ee88f984f540e7fb67ae6dc2212565b6a3d82b84",
      "tree": "6aa5c2ff2361dc4447dc765cc1511bec226fd98a",
      "parents": [
        "a1fa5df53a1e9f0a13de04260d3379cb6988e617"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Fri May 01 21:02:17 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 01 21:02:17 2026"
      },
      "message": "Delete the unused variable i_cell\n\nGCC 16.1.0 in MinGW warns that the variable \u0027i_cell\u0027 set but not used."
    },
    {
      "commit": "a1fa5df53a1e9f0a13de04260d3379cb6988e617",
      "tree": "c01f89760dc85249764b8e12113613280cba4721",
      "parents": [
        "9e918bbc82c0d72e1c56296287ac42b0c8f54a70"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri May 01 16:56:22 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 01 16:56:22 2026"
      },
      "message": "Bump the github-actions group across 2 directories with 4 updates\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 3 updates in the /.github/workflows directory: [android-actions/setup-android](https://github.com/android-actions/setup-android), [actions/upload-artifact](https://github.com/actions/upload-artifact) and [github/codeql-action](https://github.com/github/codeql-action).\n\n\nUpdates `actions/cache` from 5.0.4 to 5.0.5\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/668228422ae6a00e4ad889ee87cd7109ec5666a7...27d5ce7f107fe9357f9df03efb73ab90386fccae)\n\nUpdates `android-actions/setup-android` from 4.0.0 to 4.0.1\n- [Release notes](https://github.com/android-actions/setup-android/releases)\n- [Commits](https://github.com/android-actions/setup-android/compare/651bceb6f9ca583f16b8d75b62c36ded2ae6fc9c...40fd30fb8d7440372e1316f5d1809ec01dcd3699)\n\nUpdates `actions/upload-artifact` from 7.0.0 to 7.0.1\n- [Release notes](https://github.com/actions/upload-artifact/releases)\n- [Commits](https://github.com/actions/upload-artifact/compare/bbbca2ddaa5d8feaa63e36b76fdaad77386f024f...043fb46d1a93c77aae656e7c1c64a875d1fc6a0a)\n\nUpdates `github/codeql-action` from 4.35.1 to 4.35.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/c10b8064de6f491fea524254123dbe5e09572f13...95e58e9a2cdfd71adc6e0353d5c52f41a045d225)\n\n---\nupdated-dependencies:\n- dependency-name: actions/cache\n  dependency-version: 5.0.5\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.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: github-actions\n- dependency-name: actions/upload-artifact\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: github/codeql-action\n  dependency-version: 4.35.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": "9e918bbc82c0d72e1c56296287ac42b0c8f54a70",
      "tree": "c1d88bcc4cec2b7bed5e10e325bf5a73348da92f",
      "parents": [
        "b9d9bc17abbaaab89fd91b6912ef01f243ab03fe"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Apr 30 21:12:07 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 30 21:12:07 2026"
      },
      "message": "Replace memcpy call with struct member assignment\n\nThe following memcpy call assigns an avifROData struct to an avifRWData\nstruct:\n\n    memcpy(\u0026item-\u003emergedExtents, \u0026offsetBuffer, sizeof(avifRWData));\n\nReplace it with assignments of the `data` and `size` fields of the\nstructs. Then, omit the assignment of the `size` field because it will\nbe immediately overwritten. Add an assertion to ensure the new value of\nthe `size` field is valid (does not exceed the original value)."
    },
    {
      "commit": "b9d9bc17abbaaab89fd91b6912ef01f243ab03fe",
      "tree": "1e7ce9d59a7e4df853c3d6c18a147da9b8b312e7",
      "parents": [
        "d9fe950c041734e6d8c034f20a7c5ae40ace7637"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Apr 30 19:12:11 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 30 19:12:11 2026"
      },
      "message": "Update comment for avifDecoderItem::mergedExtents\n\nThe mergedExtents field of the avifDecoderItem struct is now always\nused. However, it may or may not own the buffer it points to, depending\non the value of the ownsMergedExtents field."
    },
    {
      "commit": "d9fe950c041734e6d8c034f20a7c5ae40ace7637",
      "tree": "a52bd77c0c74ffc821852e36f7b075175f16a409",
      "parents": [
        "f416fdc0e813d40b7336556847bdd6d3b3b4732d"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Apr 30 19:10:54 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 30 19:10:54 2026"
      },
      "message": "Update to AVM research-v15.0.0 anchor RC1"
    },
    {
      "commit": "f416fdc0e813d40b7336556847bdd6d3b3b4732d",
      "tree": "eccffad61ea51d72966339e2e539e322f981217c",
      "parents": [
        "c56e49ef79021c179be6c15cfc7013f11888d790"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Wed Apr 29 23:11:23 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 29 23:11:23 2026"
      },
      "message": "Port the PoC for b/506387278 to libavif\n\nSee https://github.com/webmproject/CrabbyAvif/pull/812. The bug doesn\u0027t\naffect libavif, but it is good to add the test to libavif\u0027s test suite.\n\nBug: https://b.corp.google.com/issues/506387278"
    },
    {
      "commit": "c56e49ef79021c179be6c15cfc7013f11888d790",
      "tree": "72a9b6195a27d7b1f1e7b25474b3bbf22441b93c",
      "parents": [
        "b54eac58daf563e9150cc6abce7631ac71b999aa"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Wed Apr 29 04:45:20 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 29 04:45:20 2026"
      },
      "message": "setup-macos: Re-enable installation of imagemagick\n\nBug: https://github.com/AOMediaCodec/libavif/issues/3172"
    },
    {
      "commit": "b54eac58daf563e9150cc6abce7631ac71b999aa",
      "tree": "c4720dd60776b99180dba9dc044f8eb35565cab3",
      "parents": [
        "b357f083ea5ae0ee7b09a65a48621f345e710588"
      ],
      "author": {
        "name": "jeffhuang",
        "email": "jeff@docker.xydrsucermoubd24xgo33yhsgd.bx.internal.cloudapp.net",
        "time": "Sun Apr 19 04:24:41 2026"
      },
      "committer": {
        "name": "Vignesh Venkatasubramanian",
        "email": "vigneshvg@users.noreply.github.com",
        "time": "Mon Apr 20 22:33:28 2026"
      },
      "message": "Android JNI: reject invalid length at direct buffer entry points\n\nThe public Android JNI decoder entry points accept a signed int length\nand forward it, unchecked, into size_t boundaries. A negative length\n(e.g. -1) sign-extends to a near-SIZE_MAX value, so the parser trusts\nthe inflated advertised size and reads past the real direct-buffer\nallocation. See issue #3177 for the ASan heap-buffer-overflow\nreproducer.\n\nAdd a ValidateDirectBuffer() helper that rejects negative lengths,\nnon-direct buffers, lengths larger than the direct buffer capacity,\nand null addresses before any cast to size_t. Apply it at every\npublic JNI entry point consuming (ByteBuffer, int) — isAvifImage,\ngetInfo, decode, and createDecoder. Change the internal\nCreateDecoderAndParse() helper to take size_t length so the\nsigned-to-unsigned sign-extension is gone from the internal path too.\n\nAdd an Android instrumentation regression test\n(AvifDecoderLengthValidationTest) that covers length \u003d -1,\nlength \u003d Integer.MIN_VALUE, length \u003d capacity + 1,\nlength \u003d Integer.MAX_VALUE, heap-backed buffers, and the happy path\non a valid image, verifying every case returns the clean-failure\ncontract (false / null) instead of crashing.\n\nLeaves src/read.c, src/stream.c, and the Java public API surface\n(AvifDecoder.java) unchanged: the fix enforces the contract at the\nJNI boundary where the signed length enters.\n\nFixes #3177\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n"
    },
    {
      "commit": "b357f083ea5ae0ee7b09a65a48621f345e710588",
      "tree": "df3bc8b320c554e5c6f9fadd5b6264d8e6fe7888",
      "parents": [
        "d64d496ec22e97b76fee2078bfd857f58e00f012"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Apr 09 13:53:32 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 09 13:53:32 2026"
      },
      "message": "Update to AVM research-v14.1.0 minor release"
    },
    {
      "commit": "d64d496ec22e97b76fee2078bfd857f58e00f012",
      "tree": "b2a17e32ef82bb6ea65c4d4bbccae80c6f803db8",
      "parents": [
        "d87d7a33d9c6d2e5c1ea18dd540a20d32ebfe48a"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Apr 09 13:00:48 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 09 13:00:48 2026"
      },
      "message": "Bump SVT-AV1 dependency to v4.1.0"
    },
    {
      "commit": "d87d7a33d9c6d2e5c1ea18dd540a20d32ebfe48a",
      "tree": "819cf71eb449a12041786b0e25836b82ff09c437",
      "parents": [
        "7ac6d8c645f598eddf5642147631151d9dcfbe75"
      ],
      "author": {
        "name": "Yuan Tong",
        "email": "13075180+tongyuantongyu@users.noreply.github.com",
        "time": "Wed Apr 08 18:17:37 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 08 18:17:37 2026"
      },
      "message": "Fix layered image decoding with alpha"
    },
    {
      "commit": "7ac6d8c645f598eddf5642147631151d9dcfbe75",
      "tree": "1017f5906e799b270708f7f54131aac6e441a4a4",
      "parents": [
        "b8d6c1a8d154ac4d0e5c63354e8aa9f2cafb2995"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Wed Apr 08 18:14:58 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 08 18:14:58 2026"
      },
      "message": "setup-macos: Disable installation of imagemagick\n\nIt is failing with the following error message:\n\n  \u003d\u003d\u003e imagemagick\n  imagemagick-full includes additional tools and libraries that are not\n  included in the regular imagemagick formula.\n\nFixes https://github.com/AOMediaCodec/libavif/issues/3172."
    },
    {
      "commit": "b8d6c1a8d154ac4d0e5c63354e8aa9f2cafb2995",
      "tree": "b23a6a03d3e5618f81f69259a2a4fe76cc43f104",
      "parents": [
        "226e112a833bbb3e98632492e4d766e37d661774"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Tue Apr 07 19:42:28 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 07 19:42:28 2026"
      },
      "message": "Avoid MT loop restoration crash in libaom \u003c 3.13.3\n\nAvoid a multithreading crash in loop restoration code in libaom \u003c 3.13.3\nwhen the first layer of a layered image is scaled."
    },
    {
      "commit": "226e112a833bbb3e98632492e4d766e37d661774",
      "tree": "e857d05413080b4d5b33c054556c533cce3f0323",
      "parents": [
        "5e4c5ae89997b9d7f0efce4f5f821c443a00ec18"
      ],
      "author": {
        "name": "Yannis Guyon",
        "email": "yguyon@google.com",
        "time": "Fri Apr 03 09:15:02 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 03 09:15:02 2026"
      },
      "message": "Explicitly forbid reusing encoder instance (#3163)"
    },
    {
      "commit": "5e4c5ae89997b9d7f0efce4f5f821c443a00ec18",
      "tree": "3724092f790818dff5c1115e4bad2f84cc574d41",
      "parents": [
        "a351a0063f2ff4fc378f026470c94804874f3248"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Apr 02 23:12:36 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 02 23:12:36 2026"
      },
      "message": "Update to libaom v3.13.3"
    },
    {
      "commit": "a351a0063f2ff4fc378f026470c94804874f3248",
      "tree": "df8886673b5163b8e2b497bd814063afc4750e29",
      "parents": [
        "5097f8c543ce6af543c942a6455c1c0592a508e4"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Apr 02 13:10:16 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 02 13:10:16 2026"
      },
      "message": "Update to AVM research-v14.0.0 anchor"
    },
    {
      "commit": "5097f8c543ce6af543c942a6455c1c0592a508e4",
      "tree": "c350d01b4cbf2f49aa67676cec045dd3233b0376",
      "parents": [
        "d7ee2e3e4f71d5191a91dc75aa087f171d46ac09"
      ],
      "author": {
        "name": "Stefan",
        "email": "stefan.haubenthal@gmail.com",
        "time": "Thu Apr 02 12:13:46 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 02 12:13:46 2026"
      },
      "message": "Fixed minor typo (#3166)"
    },
    {
      "commit": "d7ee2e3e4f71d5191a91dc75aa087f171d46ac09",
      "tree": "fe2309231d2c0b399bbeffca422b17f51dd95bbf",
      "parents": [
        "a781d77721253239591f77093929844e2b63b040"
      ],
      "author": {
        "name": "Stefan",
        "email": "stefan.haubenthal@gmail.com",
        "time": "Thu Apr 02 12:12:59 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 02 12:12:59 2026"
      },
      "message": "Fixed minor typo (#3165)"
    },
    {
      "commit": "a781d77721253239591f77093929844e2b63b040",
      "tree": "a99621a1de7268f0cf6730c22e32deabb2768f60",
      "parents": [
        "70eb3fcb49d4e9ee6dde26553cfc3bc673b081e7"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Wed Apr 01 13:09:14 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 01 13:09:14 2026"
      },
      "message": "Access stream-\u003eoffset through avifROStreamOffset()\n\nIn src/read.c, change three direct accesses to stream-\u003eoffset to\navifROStreamOffset() calls. This will make it easier to verify the\ninvariant on avifROStream\u0027s data size and offset is maintained."
    },
    {
      "commit": "70eb3fcb49d4e9ee6dde26553cfc3bc673b081e7",
      "tree": "16adad50c4c4bfe543ed803cc6ae57622a54766c",
      "parents": [
        "bc4259e8fb59ab71795186745dcf41307a11085c"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Apr 01 05:49:31 2026"
      },
      "committer": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Wed Apr 01 06:30:35 2026"
      },
      "message": "Bump the github-actions group across 3 directories with 5 updates\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: [jwlawson/actions-setup-cmake](https://github.com/jwlawson/actions-setup-cmake).\nBumps the github-actions group with 3 updates in the /.github/workflows directory: [reactivecircus/android-emulator-runner](https://github.com/reactivecircus/android-emulator-runner), [android-actions/setup-android](https://github.com/android-actions/setup-android) and [github/codeql-action](https://github.com/github/codeql-action).\n\n\nUpdates `actions/cache` from 5.0.3 to 5.0.4\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/cdf6c1fa76f9f475f3d7449005a359c84ca0f306...668228422ae6a00e4ad889ee87cd7109ec5666a7)\n\nUpdates `jwlawson/actions-setup-cmake` from 2.1.1 to 2.2.0\n- [Release notes](https://github.com/jwlawson/actions-setup-cmake/releases)\n- [Commits](https://github.com/jwlawson/actions-setup-cmake/compare/3a6cbe35ba64df7ca70c51365c4aff65db9a9037...0d6a7d60b009d01c9e7523be22153ff8f19460d3)\n\nUpdates `reactivecircus/android-emulator-runner` from 2.35.0 to 2.37.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/b530d96654c385303d652368551fb075bc2f0b6b...e89f39f1abbbd05b1113a29cf4db69e7540cae5a)\n\nUpdates `android-actions/setup-android` from 3.2.2 to 4.0.0\n- [Release notes](https://github.com/android-actions/setup-android/releases)\n- [Commits](https://github.com/android-actions/setup-android/compare/9fc6c4e9069bf8d3d10b2204b1fb8f6ef7065407...651bceb6f9ca583f16b8d75b62c36ded2ae6fc9c)\n\nUpdates `github/codeql-action` from 4.32.4 to 4.35.1\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/89a39a4e59826350b863aa6b6252a07ad50cf83e...c10b8064de6f491fea524254123dbe5e09572f13)\n\n---\nupdated-dependencies:\n- dependency-name: actions/cache\n  dependency-version: 5.0.4\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: github-actions\n- dependency-name: jwlawson/actions-setup-cmake\n  dependency-version: 2.2.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.37.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: github-actions\n- dependency-name: android-actions/setup-android\n  dependency-version: 4.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\n  dependency-version: 4.35.1\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"
    },
    {
      "commit": "bc4259e8fb59ab71795186745dcf41307a11085c",
      "tree": "290b120ea91e09f91109eb84843afe464a288319",
      "parents": [
        "58b3459130636b0bf282d43ea27ecf6bacc82c0c"
      ],
      "author": {
        "name": "Yoo_LCD",
        "email": "youichi0929@outlook.jp",
        "time": "Wed Apr 01 02:37:46 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 01 02:37:46 2026"
      },
      "message": "Replace strcpy with memcpy for alpha auxiliary URN\n\nReplaces strcpy with memcpy when copying AVIF_URN_ALPHA0 into\nalphaAuxProp-\u003eu.auxC.auxType in avifParseMinimizedImageBox().\n\nAVIF_URN_ALPHA0 is 44 bytes and AUXTYPE_SIZE is 64, so there is no\noverflow risk today. That said, every other string copy in this file\nuses memcpy or avifROStreamReadString rather than strcpy, so this change\nmakes it consistent with the rest of the file."
    },
    {
      "commit": "58b3459130636b0bf282d43ea27ecf6bacc82c0c",
      "tree": "2965a6e8cacb39e61268f88df91abb02572aeaad",
      "parents": [
        "58c93df409d994bd815f6744772cc260c900bcf0"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Tue Mar 31 14:51:30 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 31 14:51:30 2026"
      },
      "message": "Follow up on aomDiagPrintf()\n\nCall aom_codec_error() and aom_codec_error_detail() inside\naomDiagPrintf().\n\nCall aomDiagPrintf() on encoder function failures."
    },
    {
      "commit": "58c93df409d994bd815f6744772cc260c900bcf0",
      "tree": "964c8dcfcd64b76d57f6238d6b198bc6fc5ede03",
      "parents": [
        "78888a44f6b52332e7b509a709b952a60f9e04d4"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Tue Mar 31 14:02:13 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 31 14:02:13 2026"
      },
      "message": "Statically assert a strcpy is safe"
    },
    {
      "commit": "78888a44f6b52332e7b509a709b952a60f9e04d4",
      "tree": "1fcc9187c303e589f7cbd7f86034a0c6716e90d2",
      "parents": [
        "02988cd354c0186050f387bb5a73c1e78b2d5674"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Tue Mar 31 13:28:21 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 31 13:28:21 2026"
      },
      "message": "Check width * 4 in avifReorderARGBThenConvertToYUV\n\nThe issue was reported by uwezkhan06 \u003cuwezkhan055@gmail.com\u003e in\nhttps://github.com/AOMediaCodec/libavif/pull/3147."
    },
    {
      "commit": "02988cd354c0186050f387bb5a73c1e78b2d5674",
      "tree": "462f055453103c5c288df8d1682855bf46604a2e",
      "parents": [
        "ee55a76fce172a0a8e5afe3eab3e74538c45a0d6"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Tue Mar 31 13:25:30 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 31 13:25:30 2026"
      },
      "message": "Document the invariant on avifROStream\n\nThe invariant is stream-\u003eoffset \u003c\u003d stream-\u003eraw-\u003esize."
    },
    {
      "commit": "ee55a76fce172a0a8e5afe3eab3e74538c45a0d6",
      "tree": "1b0364fc5109c0325954aa463fbfeec5a88e99cf",
      "parents": [
        "d8f90157e1884e79ff60be163474d87efc25a4fe"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Mon Mar 30 18:23:56 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 30 18:23:56 2026"
      },
      "message": "Simplify casts for gridCells"
    },
    {
      "commit": "d8f90157e1884e79ff60be163474d87efc25a4fe",
      "tree": "26a03525c6e79e492da2629d1ca3436ab94ed10f",
      "parents": [
        "7d634088b0de78b8a6c5b0c76f62faf88142801b"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Mon Mar 30 16:24:08 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 30 16:24:08 2026"
      },
      "message": "Add a changelog entry for PR #3068\n\nPR #3068: Use Tune IQ for layered image inter-frame encoding"
    },
    {
      "commit": "7d634088b0de78b8a6c5b0c76f62faf88142801b",
      "tree": "ffc28b56137eaabb6a3bf0623b793cb203c17c53",
      "parents": [
        "ffc142f3a63a65637982fdd6d33839a7ed109835"
      ],
      "author": {
        "name": "Maryla Ustarroz-Calonge",
        "email": "maryla@google.com",
        "time": "Mon Mar 30 15:21:16 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 30 15:21:16 2026"
      },
      "message": "Minor PrintEncodingSettings() refactor (#3152)\n\nRemove std::move added in #3150 as it should not be necessary.\nMake code more consistent."
    },
    {
      "commit": "ffc142f3a63a65637982fdd6d33839a7ed109835",
      "tree": "065b0fd90f9b13ede9227ae5a8e1b9bcadf619f6",
      "parents": [
        "f0eb53ea00f34e3ca7d72273f61b005a2da41166"
      ],
      "author": {
        "name": "Dexter.k",
        "email": "164054284+rootvector2@users.noreply.github.com",
        "time": "Mon Mar 30 14:20:30 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 30 14:20:30 2026"
      },
      "message": "codec_aom: improve decoder diagnostics consistency (#3151)"
    },
    {
      "commit": "f0eb53ea00f34e3ca7d72273f61b005a2da41166",
      "tree": "9e4cbe514c5a12d2522f662ab112e10506991dd5",
      "parents": [
        "2b277007e8f2900527715926c57ba501d1f4f963"
      ],
      "author": {
        "name": "Maryla Ustarroz-Calonge",
        "email": "maryla@google.com",
        "time": "Mon Mar 30 13:04:28 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 30 13:04:28 2026"
      },
      "message": "Fix minor coverity finding (#3150)\n\nCID 559069:         Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)\n\"manual_tiling_str\" is passed-by-value as parameter to \"operator \u003c\u003c\", when it could be moved instead."
    },
    {
      "commit": "2b277007e8f2900527715926c57ba501d1f4f963",
      "tree": "f7b2571eda18ba9d33352bae458c9b41d121fbc9",
      "parents": [
        "a33b3ad4f635a4a3cfbbf5b9131e9f656585f49a"
      ],
      "author": {
        "name": "Dexter.k",
        "email": "164054284+rootvector2@users.noreply.github.com",
        "time": "Mon Mar 30 11:26:54 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 30 11:26:54 2026"
      },
      "message": "Make libaom encoder diagnostics null-safe (#3125)"
    },
    {
      "commit": "a33b3ad4f635a4a3cfbbf5b9131e9f656585f49a",
      "tree": "e0d90fa4108a68c1432ddbad8e5b40d8c4c1c1eb",
      "parents": [
        "f04579f4556d6120566e25dc3b0fc13feeab5471"
      ],
      "author": {
        "name": "Julio Barba",
        "email": "juliobbv@outlook.com",
        "time": "Fri Mar 27 22:17:54 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 27 22:17:54 2026"
      },
      "message": "Use Tune IQ for layered image inter-frame encoding\n\nAdditionally, for avifenc\u0027s --progressive: scale the first layer by a\nhalf for further file size savings.\n\nNote: Tune IQ for inter-frame encoding is expected to be available in\nlibaom v3.14.0."
    },
    {
      "commit": "f04579f4556d6120566e25dc3b0fc13feeab5471",
      "tree": "45f48ed5ae0e6278ebf8058e520bc45a49b62273",
      "parents": [
        "7342fbb815e1493ed5329f380b1dbe015d102de3"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Fri Mar 27 16:07:38 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 27 16:07:38 2026"
      },
      "message": "Explain _POSIX_VERSION \u003e\u003d 200112L test for fseeko"
    },
    {
      "commit": "7342fbb815e1493ed5329f380b1dbe015d102de3",
      "tree": "8d9dc03861fd03b920b4a9a2b3ae62dc551a69fe",
      "parents": [
        "83373d5636322d9da0a5131529beb4d88d688155"
      ],
      "author": {
        "name": "Vincent Rabaud",
        "email": "vrabaud@google.com",
        "time": "Fri Mar 27 16:07:08 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 27 16:07:08 2026"
      },
      "message": "Pass AVIF_ENABLE_WERROR to libavif in the Android CI (#3133)"
    },
    {
      "commit": "83373d5636322d9da0a5131529beb4d88d688155",
      "tree": "1c7380989c63eab27e894c0be68776a8b7723292",
      "parents": [
        "35f24cefc11c028687bc22aad103a00ea0d02089"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Fri Mar 27 15:16:34 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 27 15:16:34 2026"
      },
      "message": "Update avifImageSplitGrid() comment after PR #3092\n\nAfter pull request #3092, avifImageSplitGrid() doesn\u0027t return any grid\ncells on failure. So only need to destroy returned cells on success."
    },
    {
      "commit": "35f24cefc11c028687bc22aad103a00ea0d02089",
      "tree": "53e848a7e9003fb0ed9dfb9ab72e2964ee8bad4a",
      "parents": [
        "bd4e9485ab33a4e960d1a927fd51a86d8cd33231"
      ],
      "author": {
        "name": "NiDU-NINJA",
        "email": "alnida1505@gmail.com",
        "time": "Fri Mar 27 00:48:23 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 27 00:48:23 2026"
      },
      "message": "Free grid cell images if avifImageSplitGrid fails\n\nDestroy the images in gridCells before avifImageSplitGrid() returns on\nfailure. Previously the caller was responsible for destroying the images\nin gridCells after avifImageSplitGrid() returned on failure.\n\nCo-authored-by: Wan-Teh Chang \u003cwtc@google.com\u003e"
    },
    {
      "commit": "bd4e9485ab33a4e960d1a927fd51a86d8cd33231",
      "tree": "34dbc962fcb477f0bd2446fb8ee769e8a7da6c42",
      "parents": [
        "8b318b63e20a1cc695aea3d8485ac3160023aac2"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Mar 26 21:59:34 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 26 21:59:34 2026"
      },
      "message": "Fix two bugs in parseAV2SequenceHeader()\n\nRemove an early return of AVIF_FALSE in the\n!header-\u003ereduced_still_picture_header case.\n\nSave the value of the seq_tier syntax element in header-\u003eav1C.seqTier0."
    },
    {
      "commit": "8b318b63e20a1cc695aea3d8485ac3160023aac2",
      "tree": "a6e4af7e4063eadc81f5f68b6d0c864cb13c8e1a",
      "parents": [
        "1814ba2a6236c28ea4d26a6aee21c739a98a88ee"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Mar 26 16:59:39 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 26 16:59:39 2026"
      },
      "message": "Initialize all offsets in avifGetRGBColorSpaceInfo\n\nIn avifGetRGBColorSpaceInfo(), first initialize all offsets to 0. Then\nset the offsets used by the RGB format to the appropriate values. This\nensures that avifGetRGBColorSpaceInfo() doesn\u0027t leave any members of the\navifRGBColorSpaceInfo struct uninitialized."
    },
    {
      "commit": "1814ba2a6236c28ea4d26a6aee21c739a98a88ee",
      "tree": "3f31e8ffa024e7ba08d95e9e3161969212248157",
      "parents": [
        "f856137610a36be1d632b3f9382bb171e67f9873"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Mar 26 14:05:47 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 26 14:05:47 2026"
      },
      "message": "Split parseSequenceHeaderProfile() into AV1 \u0026 AV2\n\nSplit the parseSequenceHeaderProfile() function into\nparseAV1SequenceHeaderProfile() and parseAV2SequenceHeaderProfile() so\nthat they can each have their own validity checks."
    },
    {
      "commit": "f856137610a36be1d632b3f9382bb171e67f9873",
      "tree": "4397f1eb10738fc9f81a918dbf4fb8d7b101976e",
      "parents": [
        "61ec51697141ece353c955ce2a8e91983129f9fe"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Mar 26 14:04:01 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 26 14:04:01 2026"
      },
      "message": "Remove avifCheckCodecVersionAVM()\n\nResearch anchor 4.0.0 is very old now. Also, AVM is likely to switch to\na different versioning scheme when it is released."
    },
    {
      "commit": "61ec51697141ece353c955ce2a8e91983129f9fe",
      "tree": "011eb747f062cef9f34a464efe1a16dfbda73568",
      "parents": [
        "24eff5475e6275b7655c4bbc68386b5fb89dba02"
      ],
      "author": {
        "name": "Andrew Murray",
        "email": "3112309+radarhere@users.noreply.github.com",
        "time": "Thu Mar 26 13:18:06 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 26 13:18:06 2026"
      },
      "message": "Set offsetBytesA for AVIF_RGB_FORMAT_GRAY (#3139)"
    },
    {
      "commit": "24eff5475e6275b7655c4bbc68386b5fb89dba02",
      "tree": "dca57122dbb850a4bd085a567d24a48d46fa1d9b",
      "parents": [
        "1b9e9f678c75bb34272ff00706b22c0ece9f5281"
      ],
      "author": {
        "name": "Maryla Ustarroz-Calonge",
        "email": "maryla@google.com",
        "time": "Thu Mar 26 09:16:41 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 26 09:16:41 2026"
      },
      "message": "Add a --jobs flag to avifgainmaputil for multithreading support. (#3115)\n\nDefault to using all available cores like avifenc/avifdec.\nAlso anable automatic tiling (avifenc default, not configurable for now in avifgainmaputil)."
    },
    {
      "commit": "1b9e9f678c75bb34272ff00706b22c0ece9f5281",
      "tree": "500ca3820c6df0f4acfb740ffc45d22e5403e7fe",
      "parents": [
        "78044bd4f216b54fa5d766796ce09341c8589112"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Mar 26 02:56:23 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 26 02:56:23 2026"
      },
      "message": "src/io.c: Some cleanup related to fseeko/ftello\n\nInclude \u003cunistd.h\u003e for the definition of _POSIX_VERSION. See\nhttps://pubs.opengroup.org/onlinepubs/9799919799/basedefs/unistd.h.html\n\nAdd the AVIF_ prefix to USE_FSEEKO.\n\nRemove the definition of the unused macro USE_FSEEK_FALLBACK."
    },
    {
      "commit": "78044bd4f216b54fa5d766796ce09341c8589112",
      "tree": "3fb5190f5c723f68937459dbeb08874e8fd51a23",
      "parents": [
        "f962648242c69bf10e9a0525ea378ba0d03823f4"
      ],
      "author": {
        "name": "Vincent Rabaud",
        "email": "vrabaud@google.com",
        "time": "Wed Mar 25 17:15:08 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 25 17:15:08 2026"
      },
      "message": "Get fseeko to compile with Android \u003c 24 (#3132)"
    },
    {
      "commit": "f962648242c69bf10e9a0525ea378ba0d03823f4",
      "tree": "417330e785236dcb25f6bae7f820ebdaa4df7937",
      "parents": [
        "534c5254f7ddccb3e3956b40925848eb9909f589"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Wed Mar 25 14:18:23 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 25 14:18:23 2026"
      },
      "message": "Remove avm_codec_control(AV2D_SET_OPERATING_POINT)\n\nThe AV2D_SET_OPERATING_POINT codec control has been replaced by\nAV2D_SET_SELECTED_OPS and AV2D_SET_SELECTED_LOCAL_OPS in\nhttps://gitlab.com/AOMediaCodec/avm/-/merge_requests/3169. Since we\ndon\u0027t have any layered AV2 images, simply remove the\navm_codec_control(AV2D_SET_OPERATING_POINT) call and check that the\noperating point is the default (0)."
    },
    {
      "commit": "534c5254f7ddccb3e3956b40925848eb9909f589",
      "tree": "324d944447175b0e7dad8f672c8c3082968b3bea",
      "parents": [
        "a6e895f3e82318d63b9205486f3852101412ad86"
      ],
      "author": {
        "name": "Maryla Ustarroz-Calonge",
        "email": "maryla@google.com",
        "time": "Wed Mar 25 12:33:40 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 25 12:33:40 2026"
      },
      "message": "Fix memory leak of altICC if avifDecoderFindGainMapItem returns early. (#3127)\n\nMake sure none of the inputs variables are modified until the very end.\n\nFixes b/495087335"
    },
    {
      "commit": "a6e895f3e82318d63b9205486f3852101412ad86",
      "tree": "13314112831ed1a82d247eec60101231a92f4a3d",
      "parents": [
        "86777019460ea10f4fb8eb5301f978c1f8730b48"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Tue Mar 24 21:11:26 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 24 21:11:26 2026"
      },
      "message": "Add avif_off_t and avif_fseeko() and avif_ftello()\n\nAdd simple wrappers around POSIX\u0027s fseeko() and ftello() and Windows\u0027\n_fseeki64() and _ftelli64()."
    },
    {
      "commit": "86777019460ea10f4fb8eb5301f978c1f8730b48",
      "tree": "bd52d579c1cc87c84ed6acf31a4c6f8694d3c726",
      "parents": [
        "8f2a140ef1fa3ede3d60c6fc2692455a4de056cb"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Tue Mar 24 17:54:00 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 24 17:54:00 2026"
      },
      "message": "Change CMAKE_C_STANDARD from 99 to 11\n\nSet C11 as the default so that we can use static_assert().\n\nThe public headers should remain C99."
    },
    {
      "commit": "8f2a140ef1fa3ede3d60c6fc2692455a4de056cb",
      "tree": "8d9cb032d8da8d24d34d8bf108ba29bf0604e65f",
      "parents": [
        "3b3aa36eaadb66e139b8d62832ea518301cbe169"
      ],
      "author": {
        "name": "Maryla Ustarroz-Calonge",
        "email": "maryla@google.com",
        "time": "Tue Mar 24 12:11:33 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 24 12:11:33 2026"
      },
      "message": "Improve are_images_equal for gain maps. (#3126)\n\nCompare the alternate image/gainmap by tone mapping to the alternate.\nExplicitly compare gainmap metadata, although if the file is jpeg\n(and are_images_equel doesn\u0027t actually support avif so it\u0027s gonna be jpeg), then the XMP\nwill also differ which is already checked for.\nAdd logging to tell where images differ.\nAdd negative tests for are_images_equal with gainmaps."
    },
    {
      "commit": "3b3aa36eaadb66e139b8d62832ea518301cbe169",
      "tree": "54b43d96aaee64ac96c4b699b8e438b84b56e8dc",
      "parents": [
        "3b1384c88528434c9451d1f76003f37ed1785e24"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Mon Mar 23 13:54:08 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 23 13:54:08 2026"
      },
      "message": "Remove an obsolete check for CMAKE_VERSION \u003c 3.21\n\nWhen the check was added, our cmake_minimum_required version was 3.13.\nNow our cmake_minimum_required version is 3.22."
    },
    {
      "commit": "3b1384c88528434c9451d1f76003f37ed1785e24",
      "tree": "e81b2f0ffb37f15c594a04934162002b21f56f5c",
      "parents": [
        "0b82b480e41349883dfe050250a27cd61c6ea52d"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Sat Mar 21 17:52:05 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 21 17:52:05 2026"
      },
      "message": "Stop testing the mingw64 system in ci-mingw.yml\n\nOn 2026-03-15, MSYS2 announced that they are deprecating the MINGW64\nEnvironment:\n\n    [...], we are beginning to phase out the MINGW64 environment. [...]\n    If you are currently relying on the MINGW64 environment, please\n    consider switching to UCRT64 or CLANG64 instead.\n\nhttps://www.msys2.org/news/#2026-03-15-deprecating-the-mingw64-environment"
    },
    {
      "commit": "0b82b480e41349883dfe050250a27cd61c6ea52d",
      "tree": "4e7ae2a065217d7c26968bb46127bbce865dd402",
      "parents": [
        "c46189cdc3b29335292ef747215e35f52be6ea2b"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Sat Mar 21 17:02:17 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 21 17:02:17 2026"
      },
      "message": "Revert \"Skip ImageMagick test in MinGW\"\n\nThis reverts commit b3be0b951f11deed2603b339b799037a65bba818.\n\nRemove workaround for issue\nhttps://github.com/AOMediaCodec/libavif/issues/3111.\n\nThe MinGW ImageMagick package bug has been fixed:\nhttps://github.com/msys2/MINGW-packages/issues/28550"
    },
    {
      "commit": "c46189cdc3b29335292ef747215e35f52be6ea2b",
      "tree": "fc587a74521d530b3f4fe1744d7f0f79e89b8060",
      "parents": [
        "3ae5cce5d3c84c06cc515c6b75583e821ef59520"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Sat Mar 21 00:28:15 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 21 00:28:15 2026"
      },
      "message": "Remove unused libaom and AVM image formats\n\nAOM_IMG_FMT_AOMYV12 and AOM_IMG_FMT_AOMI420 are unused.\n\nAVM_IMG_FMT_AVMYV12 and AVM_IMG_FMT_AVMI420 are unused."
    },
    {
      "commit": "3ae5cce5d3c84c06cc515c6b75583e821ef59520",
      "tree": "1c02930c0cb49744d68d436ee3a9ef3ec0a87791",
      "parents": [
        "6543b22b5bc706c53f038a16fe515f921556d9b3"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Fri Mar 20 19:08:26 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 20 19:08:26 2026"
      },
      "message": "Re-enable AVIF_VERSION_DEVEL"
    },
    {
      "commit": "6543b22b5bc706c53f038a16fe515f921556d9b3",
      "tree": "05494285c4ac20c94eb86d062d5c6b22547022e4",
      "parents": [
        "33d0aee99bfb846497a938b0b7e55d808cf8abad"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Fri Mar 20 18:30:30 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 20 18:30:30 2026"
      },
      "message": "v1.4.1"
    },
    {
      "commit": "33d0aee99bfb846497a938b0b7e55d808cf8abad",
      "tree": "6c263307060f42390f00bf809f52132f7bf73197",
      "parents": [
        "b49fbc9cfd3e71cf0838fd97b5b6748f16e01de0"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Fri Mar 20 15:34:07 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 20 15:34:07 2026"
      },
      "message": "Fix comment typo: overriden \u003d\u003e overridden"
    },
    {
      "commit": "b49fbc9cfd3e71cf0838fd97b5b6748f16e01de0",
      "tree": "dbafb76fb9caab5b2e049de3700a308df083fd9f",
      "parents": [
        "70fabb41f223d3c2a3f2b06eee33e9a84c675479"
      ],
      "author": {
        "name": "Maryla Ustarroz-Calonge",
        "email": "maryla@google.com",
        "time": "Fri Mar 20 14:40:15 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 20 14:40:15 2026"
      },
      "message": "Fix setting of cicp values in avifgainmaputil combine and convert. (#3110)\n\nCICP must be set *before* calling ReadImage() so that the RGB-\u003eYUV\nconversion uses the right matrix coefficient for PNG/JPEG files.\nAlso explicitly set the default matrix coefficients when not specified.\n\nFor Avif files, we overwrite the CICP after reading the file in ReadImage()\n(keeps the previous behavior).\n\nFix --cicp-input flag not being used in tonemap command.\n\nFix memory leak when in \u0027combine\u0027 command when using with a file that already has a gain map.\nFix memory leak in \u0027tonemap\u0027 and \u0027swapbase\u0027 command with RGB pixels.\n\nFixes #3102 and #2869"
    },
    {
      "commit": "70fabb41f223d3c2a3f2b06eee33e9a84c675479",
      "tree": "f4bb780e19ec1c0c2796f5a4f3d0b868d9a01ca8",
      "parents": [
        "b3be0b951f11deed2603b339b799037a65bba818"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Mar 19 23:32:55 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 19 23:32:55 2026"
      },
      "message": "Update to libaom v3.13.2 (#3108)\n\nRemove the workaround for issue\nhttps://github.com/AOMediaCodec/libavif/issues/3103."
    },
    {
      "commit": "b3be0b951f11deed2603b339b799037a65bba818",
      "tree": "136289de4c5c73575a77e820d69f29a6c07a4531",
      "parents": [
        "cba025a7ff6757f791c08926717f195ff87418ed"
      ],
      "author": {
        "name": "Wan-Teh Chang",
        "email": "wtc@google.com",
        "time": "Thu Mar 19 21:59:43 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 19 21:59:43 2026"
      },
      "message": "Skip ImageMagick test in MinGW\n\nImageMagick 7.1.2-17 fails or crashes in MinGW. Skip the ImageMagick\ntest to avoid test failures in test_cmd_icc_profile.sh and\ntest_cmd_transform.sh.\n\nFixes https://github.com/AOMediaCodec/libavif/issues/3111."
    },
    {
      "commit": "cba025a7ff6757f791c08926717f195ff87418ed",
      "tree": "b5feb2e28f39e90cf131dbc919c50d4f51c08464",
      "parents": [
        "ee140cf43e468ff7446617a8de557e83cdfb891f"
      ],
      "author": {
        "name": "Delphox",
        "email": "smugleaf@live.com",
        "time": "Thu Mar 19 16:04:19 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 19 16:04:19 2026"
      },
      "message": "Support long path names in Windows (#3101)\n\nAdd longPathAware test to .github/workflows/ci-windows.yml."
    },
    {
      "commit": "ee140cf43e468ff7446617a8de557e83cdfb891f",
      "tree": "654a1ab75d5194fb35aa39f28fe1bd325d6982f2",
      "parents": [
        "e8fc46ecbb8e614144f24b4aab535fbc85c37522"
      ],
      "author": {
        "name": "Vincent Rabaud",
        "email": "vrabaud@google.com",
        "time": "Thu Mar 19 13:00:31 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 19 13:00:31 2026"
      },
      "message": "Use packaged nasm on Unix (#3106)"
    },
    {
      "commit": "e8fc46ecbb8e614144f24b4aab535fbc85c37522",
      "tree": "eba02961b6e3e6753befd688625c0174c9fe9d5a",
      "parents": [
        "a1153dbccbdf005ce5b6632cdb2cf8be3c28d5ce"
      ],
      "author": {
        "name": "Yannis Guyon",
        "email": "yguyon@google.com",
        "time": "Wed Mar 18 13:35:12 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 18 13:35:12 2026"
      },
      "message": "Use GIT_* for CMake FetchContent_Declare() (#3107)\n\nPATCH_COMMAND does not seem to work with URL."
    },
    {
      "commit": "a1153dbccbdf005ce5b6632cdb2cf8be3c28d5ce",
      "tree": "f7a5b14172aaf12bd3d9423db2c6ccab38d8ebf2",
      "parents": [
        "83ee102c3a07f77e4e805655b8b63bcd62dad96b"
      ],
      "author": {
        "name": "Yannis Guyon",
        "email": "yguyon@google.com",
        "time": "Tue Mar 17 13:17:05 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 17 13:17:05 2026"
      },
      "message": "Remove Verify longPathAware from ci-windows (#3105)"
    },
    {
      "commit": "83ee102c3a07f77e4e805655b8b63bcd62dad96b",
      "tree": "2991d7e7e83fe1fc55ae8ce8ae98c4cc6699dfb3",
      "parents": [
        "559c589b1f3d726c8051ce3e4c876b65b3d4c69a"
      ],
      "author": {
        "name": "Yannis Guyon",
        "email": "yguyon@google.com",
        "time": "Tue Mar 17 09:53:36 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 17 09:53:36 2026"
      },
      "message": "Cherrypick libaom nasm fix (#3104)"
    },
    {
      "commit": "559c589b1f3d726c8051ce3e4c876b65b3d4c69a",
      "tree": "d266fba61990124d185b44da2bdc347a9894a7c7",
      "parents": [
        "5565c32e0f15ccdda52f23c16b3df7bef4ea8086"
      ],
      "author": {
        "name": "Vincent Rabaud",
        "email": "vrabaud@google.com",
        "time": "Fri Mar 13 19:01:47 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 13 19:01:47 2026"
      },
      "message": "Bump libyuv to 30809ff64"
    }
  ],
  "next": "5565c32e0f15ccdda52f23c16b3df7bef4ea8086"
}
