)]}'
{
  "log": [
    {
      "commit": "fe9848e7b3a06c09a3016d8bcb7aa384f5b7345d",
      "tree": "e5321f090a79e07b1307de735b8078243a796408",
      "parents": [
        "6da2cd928ee227d8d6832dc2fa0a9fc6e8ddf519"
      ],
      "author": {
        "name": "Paweł Łukasik",
        "email": "lukasik.pawel@gmail.com",
        "time": "Wed May 13 10:36:58 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 13 10:41:16 2026 -0700"
      },
      "message": "C#: fix IndexOutOfRangeException in ReadRawByte on truncated messages (#26914)\n\n**Summary**\nA near-int.MaxValue length varint overflows PushLimit, corrupting bufferSize to a negative value. ReadRawByte\u0027s \u003d\u003d guard then never triggers RefillBuffer, causing an out-of-bounds read instead of InvalidProtocolBufferException.TruncatedMessage().\n\n**Fix**\nchange \u003d\u003d to \u003e\u003d in ReadRawByte. Regression tests added for all four affected slow-path variants.\n\n**Tests**\nAdded `TruncatedMessageWithLargeInnerLengthThrowsInvalidProtocolBufferException` with 4 test cases.\n\nFixes #26856\n\nCloses #26914\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/protocolbuffers/protobuf/pull/26914 from pawlos:fix/csharp-readrawbyte-ioob-truncated-message 6bec67cfb24f7e4cceb757eaf3a40589ab22b22b\nPiperOrigin-RevId: 914940764\n"
    },
    {
      "commit": "6da2cd928ee227d8d6832dc2fa0a9fc6e8ddf519",
      "tree": "f9583a921bb24f1292f9740293f485c94f0ddf6d",
      "parents": [
        "4673941f6ee5fe72e9995451e9e57ecf0d27f5b5"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Wed May 13 05:54:01 2026 +0000"
      },
      "committer": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Wed May 13 05:54:01 2026 +0000"
      },
      "message": "Auto-generate files after cl/914653834\n"
    },
    {
      "commit": "4673941f6ee5fe72e9995451e9e57ecf0d27f5b5",
      "tree": "12c23f25fca1bce04f78d09d74b55224df1a6b97",
      "parents": [
        "fb60489d6e350e955fd6ee976001c94143253908"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Tue May 12 22:40:49 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 12 22:43:33 2026 -0700"
      },
      "message": "Automated rollback of commit 21e9075a06736b35e94c26f3831ccd10eb766b32.\n\nPiperOrigin-RevId: 914653834\n"
    },
    {
      "commit": "fb60489d6e350e955fd6ee976001c94143253908",
      "tree": "59b0f14f1e11d6bca1c84c578174cb88f9e0737e",
      "parents": [
        "8f63c47cb6944fcedea16ab77beb728fa8d6ab0b"
      ],
      "author": {
        "name": "Runze Wang",
        "email": "runze@google.com",
        "time": "Tue May 12 15:22:07 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 12 15:23:53 2026 -0700"
      },
      "message": "Internal change\n\nPiperOrigin-RevId: 914505824\n"
    },
    {
      "commit": "8f63c47cb6944fcedea16ab77beb728fa8d6ab0b",
      "tree": "9d6d172d5e8ff558d06828a6f557cc85268800e5",
      "parents": [
        "1a9911ef8d742d7ef986c4f15cb532369d800656"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Tue May 12 21:51:42 2026 +0000"
      },
      "committer": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Tue May 12 21:51:42 2026 +0000"
      },
      "message": "Auto-generate files after cl/914485774\n"
    },
    {
      "commit": "1a9911ef8d742d7ef986c4f15cb532369d800656",
      "tree": "8f96036212e6cfc465ff363fe050e7b38da6e1de",
      "parents": [
        "3ca8fc4e10cbacd5671bfaad7470266b49342a7d"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Tue May 12 14:41:02 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 12 14:42:27 2026 -0700"
      },
      "message": "Fix risk of wrong result in upb_Log2Ceiling fallback loop if provided values greater than INT_MAX\n\nPiperOrigin-RevId: 914485774\n"
    },
    {
      "commit": "3ca8fc4e10cbacd5671bfaad7470266b49342a7d",
      "tree": "c654b084b8c8a7a8a634cd68c20b1d98eb0da92d",
      "parents": [
        "345df7619893fda5e7f5966c4a990558a98dca41"
      ],
      "author": {
        "name": "Samuel Benzaquen",
        "email": "sbenza@google.com",
        "time": "Tue May 12 14:23:05 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 12 14:28:27 2026 -0700"
      },
      "message": "Use an offset-pointer for some hash tables in FileDescriptorTables.\n\nAll the object live in their FlatAlloc, so they are guaranteed to be \"close\" to\nthe base pointer of the allocation.\n\nThis reduces their memory cost in half in 64-bit builds.\n\nPiperOrigin-RevId: 914476807\n"
    },
    {
      "commit": "345df7619893fda5e7f5966c4a990558a98dca41",
      "tree": "92f2302a65b42ee70ffcc60f6466c4fc04b232d0",
      "parents": [
        "4a437639e5ab06e395011ec89ad6578f87d50fb3"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Tue May 12 19:42:49 2026 +0000"
      },
      "committer": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Tue May 12 19:43:17 2026 +0000"
      },
      "message": "Auto-generate files after cl/914421139\n"
    },
    {
      "commit": "4a437639e5ab06e395011ec89ad6578f87d50fb3",
      "tree": "d80cafe5d1901c09203fd4f74fd15d7991900ba8",
      "parents": [
        "1b3e08719e79784b242a2646bda5ee18ed4e0b48"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Tue May 12 12:38:23 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 12 12:42:24 2026 -0700"
      },
      "message": "Make it so Utf8 UnsafeProcessor is not guarded by the runtime availability of sun.misc.Unsafe\n\nThe last usages of UnsafeUtil from the UnsafeProcessor were removed in a previous change.\n\nThe name \u0027UnsafeProcessor\u0027 was already a bit stale, and is now very stale. But not renaming it now to reduce churn if this has to be rolled back. After this sticks, we should come back and do a pass to rename them to \u0027StandardProcessor\u0027 versus \u0027AndroidOnDeviceProcessor\u0027\n\nPiperOrigin-RevId: 914424161\n"
    },
    {
      "commit": "1b3e08719e79784b242a2646bda5ee18ed4e0b48",
      "tree": "dc69220f59d8b6ebe4b564df349e3a1f7b6b84bc",
      "parents": [
        "bbe2f9a5e0db17b0de2d8bae8a21a52c22e7c655"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Tue May 12 12:36:19 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 12 12:38:18 2026 -0700"
      },
      "message": "Remove UnsafeUtil usage from IterableByteBufferInputStream.\n\nThis use was somewhat buggy: it would have broken if used on a non-Direct Buffer, or if it was executed in a context where sun.misc.Unsafe was not available.\n\nThis path is empirically extremely rarely reached, and so we will just use the \u0027natural\u0027 API as part of getting off of the terminally deprecated sun.misc.Unsafe\n\nPiperOrigin-RevId: 914423267\n"
    },
    {
      "commit": "bbe2f9a5e0db17b0de2d8bae8a21a52c22e7c655",
      "tree": "713b98e8d58236eeb2b059c22eecfa94fdfc09c2",
      "parents": [
        "fddc1b240ad240cecf2b72f325b1e2c317fefaf6"
      ],
      "author": {
        "name": "Ada Zhang",
        "email": "adazhang@google.com",
        "time": "Tue May 12 12:31:25 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 12 12:33:14 2026 -0700"
      },
      "message": "Move internal encoding functions to the internal encoder files.\n\nPiperOrigin-RevId: 914421139\n"
    },
    {
      "commit": "fddc1b240ad240cecf2b72f325b1e2c317fefaf6",
      "tree": "6d042213bf470d533ecbccfec5223ebfb2d8d842",
      "parents": [
        "f6ce18964aec043ce9e8d906eb5ea19dc3d885cc"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Tue May 12 11:48:07 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 12 11:49:34 2026 -0700"
      },
      "message": "Remove Unsafe usage from CodedOutputStream.\n\nThis change effectively has the runtime behavior of hardcoding HAS_UNSAFE_ARRAY_OPERATIONS to false, which was measured as a net performance improvement after the recent loop unrolling changes.\n\nThis is one of the last steps towards no longer using the terminally deprecated sun.misc.Unsafe from JavaFull.\n\nPiperOrigin-RevId: 914398839\n"
    },
    {
      "commit": "f6ce18964aec043ce9e8d906eb5ea19dc3d885cc",
      "tree": "3ef6c5903063976c98fb273c5ae78f3f9b1c1512",
      "parents": [
        "fa15e3c65e4805e5473a6b8b4acae1c148358057"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Tue May 12 17:30:39 2026 +0000"
      },
      "committer": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Tue May 12 17:31:07 2026 +0000"
      },
      "message": "Auto-generate files after cl/914346686\n"
    },
    {
      "commit": "fa15e3c65e4805e5473a6b8b4acae1c148358057",
      "tree": "7652e9e84905d7c66255840f3f84fde10c764747",
      "parents": [
        "5fdcfac9eb068d75378d23c71ddfc4052e772364"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Tue May 12 10:24:47 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 12 10:27:22 2026 -0700"
      },
      "message": "Force inline upb_DecodeFast_Message\n\nPiperOrigin-RevId: 914352466\n"
    },
    {
      "commit": "5fdcfac9eb068d75378d23c71ddfc4052e772364",
      "tree": "a0100f66004bd9422080f69e4243d649dd70f2ec",
      "parents": [
        "5f77738be4527edbc92f2f2461100b636cd26e91"
      ],
      "author": {
        "name": "Ada Zhang",
        "email": "adazhang@google.com",
        "time": "Tue May 12 10:15:12 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 12 10:20:55 2026 -0700"
      },
      "message": "Pass the starting buffer pointer for the backalloc to `_upb_Encode_Field` and `_upb_Encode_Extension`.\n\nPiperOrigin-RevId: 914346686\n"
    },
    {
      "commit": "5f77738be4527edbc92f2f2461100b636cd26e91",
      "tree": "6ad1b156030251ba0fbae70c3f612fe8b4476b42",
      "parents": [
        "c616b4becd58b9e85bbb3488d38be0d31ab5447f"
      ],
      "author": {
        "name": "Amer Elsheikh",
        "email": "amere@google.com",
        "time": "Tue May 12 06:10:21 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 12 06:14:01 2026 -0700"
      },
      "message": "Create an `enum_type_wrapper.pyi` stub with `DESCRIPTOR: EnumDescriptor`\n\nPiperOrigin-RevId: 914243299\n"
    },
    {
      "commit": "c616b4becd58b9e85bbb3488d38be0d31ab5447f",
      "tree": "4bce5448538ee14020cfd89343ec5c365603ce18",
      "parents": [
        "7174939dc20cace3bae0fe26bb4c1d1853fb743f"
      ],
      "author": {
        "name": "Fabian Wolff",
        "email": "fwolff@google.com",
        "time": "Tue May 12 04:39:19 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 12 04:40:50 2026 -0700"
      },
      "message": "Pass `allowed_unstable_rust_features` to `rustc_compile_action`.\n\nPiperOrigin-RevId: 914211132\n"
    },
    {
      "commit": "7174939dc20cace3bae0fe26bb4c1d1853fb743f",
      "tree": "3945eff7567dfae029cdff6c593ebbb93041b8ca",
      "parents": [
        "248fa6e4ece5f2e63888f4e2bd594638d92c9140"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Mon May 11 15:18:24 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 11 15:19:52 2026 -0700"
      },
      "message": "Unroll the varint loops in CodedOutputStream\n\nThis change is in preparation for a subsequent change which will disable sun.misc.Unsafe usage. Simply turning off s.m.Unsafe would result in some small but measurably regressions; unrolling these loops by contrast provides a significant speedup, which should more than outweighs any regression we will get from the disabling Unsafe. This will make it easier for us to roll out the change to stop using Unsafe without problems from regression.\n\nPiperOrigin-RevId: 913906295\n"
    },
    {
      "commit": "248fa6e4ece5f2e63888f4e2bd594638d92c9140",
      "tree": "4bf904b4e8a0b95f4d809621cf3d234eff233040",
      "parents": [
        "5b3b31d0b43028dd65054254f5bd0c2f90c7dc44"
      ],
      "author": {
        "name": "Jason Aragorn Tobias Lunn",
        "email": "jatl@google.com",
        "time": "Mon May 11 13:32:29 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 11 13:35:06 2026 -0700"
      },
      "message": "Prepare for pre-computed BZL integrity files included in the tagged release\n\nPiperOrigin-RevId: 913857244\n"
    },
    {
      "commit": "5b3b31d0b43028dd65054254f5bd0c2f90c7dc44",
      "tree": "47f42ba57ed19853f8702c0c665fc3451881fe7a",
      "parents": [
        "be2c9d04f94166d3e71b34d6b4b67429bc6c496f"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Mon May 11 12:20:37 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 11 12:23:05 2026 -0700"
      },
      "message": "Optimize serializing of negative int32s.\n\nRight now we delegate negative int32s to the int64 encoder, which has to still figure out how many bytes its going to take, which is wasted work since we already checked the top bit and know it will be exactly 10 byte varint.\n\nPiperOrigin-RevId: 913824216\n"
    },
    {
      "commit": "be2c9d04f94166d3e71b34d6b4b67429bc6c496f",
      "tree": "a96cb9ced619a0205d13e1fc228bcfdf194859d1",
      "parents": [
        "ac90873facd9d09d849c6617f49faaf7668c9f47"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Mon May 11 10:55:03 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 11 10:59:27 2026 -0700"
      },
      "message": "JavaProto: Unroll the Uint32 varint serialization.\n\nThis was changed in 2020 to an unrolled loop with Unsafe but was rolled back after external reports that it was a regression (https://github.com/protocolbuffers/protobuf/issues/6977). However, not only has JIT behavior evolved in that amount of time, the main external claim appears to have been that the `int position \u003d this.position;` local variable optimization was lost at that time, with one the first comments on that issue noting that restoring that also fixed the regression.\n\nToday, all available benchmarks suggest that this should be good change to make (with the local variable position optimization included), ~twice as fast for direct Uint32 writes usages.\n\nPiperOrigin-RevId: 913780730\n"
    },
    {
      "commit": "ac90873facd9d09d849c6617f49faaf7668c9f47",
      "tree": "da82c4ec6a1b9faabe973fe55cfc8ecb2290ce39",
      "parents": [
        "890ffb9eebf82e32a29d8b96999cba9837ddfa8e"
      ],
      "author": {
        "name": "Joshua Haberman",
        "email": "haberman@google.com",
        "time": "Fri May 08 16:40:41 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 08 16:43:32 2026 -0700"
      },
      "message": "Add test for RepeatedCompositeContainer comparison with list.\n\nThis test highlights a behavioral difference where upb allows equality comparison between a RepeatedCompositeContainer and a Python list, while the cpp and python implementations raise a TypeError.\n\nPiperOrigin-RevId: 912754358\n"
    },
    {
      "commit": "890ffb9eebf82e32a29d8b96999cba9837ddfa8e",
      "tree": "c4e5923cb811197eaad6f71ada9074d048a67ef2",
      "parents": [
        "6cbc7593bfbcf855f6e3b55ba3ae7907fb87c46d"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Fri May 08 12:36:12 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 08 12:37:43 2026 -0700"
      },
      "message": "Remove dead code for IsValidUtf8 in Utf8.java\n\nThis per-processor path static method implementation in a previous change.\n\nThis is incremental progress towards migrating off of sun.misc.Unsafe which is terminally deprecated.\n\nPiperOrigin-RevId: 912643167\n"
    },
    {
      "commit": "6cbc7593bfbcf855f6e3b55ba3ae7907fb87c46d",
      "tree": "df6c11352082d5a845036e39bc72adfe5a6800e2",
      "parents": [
        "21966dce54788c6df079edbd27bc610452f21a2d"
      ],
      "author": {
        "name": "Joshua Haberman",
        "email": "haberman@google.com",
        "time": "Fri May 08 10:45:19 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 08 10:47:54 2026 -0700"
      },
      "message": "Fixed race in GetMessageClass/RegisterMessageClass under free threading.\n\nThe race condition was resolved by adding a mutex lock to all accesses of the cache.\n\nPiperOrigin-RevId: 912595698\n"
    },
    {
      "commit": "21966dce54788c6df079edbd27bc610452f21a2d",
      "tree": "76b0995cb68f5f63913a5f94e50ce7c4afcd8e80",
      "parents": [
        "09812fc9ece7a144729248216ff8b428bc55b73f"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Fri May 08 16:52:21 2026 +0000"
      },
      "committer": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Fri May 08 16:52:21 2026 +0000"
      },
      "message": "Auto-generate files after cl/912565711\n"
    },
    {
      "commit": "09812fc9ece7a144729248216ff8b428bc55b73f",
      "tree": "8d20094bcbf7619a6cec1c539645b0071f4ee3ab",
      "parents": [
        "7bb6178325f4b4ff6f7ed8697c69d3f67e747034"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Fri May 08 09:35:42 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 08 09:43:11 2026 -0700"
      },
      "message": "Planning to remove C++ options from descriptor.proto in edition 2026\n\nPiperOrigin-RevId: 912565711\n"
    },
    {
      "commit": "7bb6178325f4b4ff6f7ed8697c69d3f67e747034",
      "tree": "48c0fa4eec7b88749d8ffa3ce0e5ede34d9c4de5",
      "parents": [
        "a7864c77bc3ed21a8f5f316e91029595d81bf28b"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Fri May 08 00:28:42 2026 +0000"
      },
      "committer": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Fri May 08 00:28:42 2026 +0000"
      },
      "message": "Auto-generate files after cl/912234452\n"
    },
    {
      "commit": "a7864c77bc3ed21a8f5f316e91029595d81bf28b",
      "tree": "a46390126632d9c44756e05c9b09f64c7d2d6e66",
      "parents": [
        "a4bf919c99f96124e2317d7bc2c3cb23c1ad3d8c"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Thu May 07 17:17:22 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 07 17:19:17 2026 -0700"
      },
      "message": "Backwards allocation for encode.\n\n* Allocates slightly less than a power-of-two buffer size when encoding, which avoids pathological sizes when combined with arena overhead.\n* Takes the whole available block, minimizing intermediate allocations and copying\n* Frees intermediate block allocations, which results in retaining about 45% less memory on average\n* Returns unused memory from the last block back to the arena for future use\n* Does not align the arena `end` pointer, so repeatedly serializing small protos or proto fields does not pay an up-to-7-byte overhead each\n\nPiperOrigin-RevId: 912234452\n"
    },
    {
      "commit": "a4bf919c99f96124e2317d7bc2c3cb23c1ad3d8c",
      "tree": "f0134fe2a50fca10944a7fe4c9d7c5b1acd26db2",
      "parents": [
        "130123a2a145277f814568157cf2b45389892fa4"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Thu May 07 23:21:03 2026 +0000"
      },
      "committer": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Thu May 07 23:21:34 2026 +0000"
      },
      "message": "Auto-generate files after cl/912205927\n"
    },
    {
      "commit": "130123a2a145277f814568157cf2b45389892fa4",
      "tree": "c84899843177eb1724cb7270193f32b6e5223423",
      "parents": [
        "524aa7fda7425a53de48fa95f3af6ba3545f3f7f"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Thu May 07 16:08:13 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 07 16:15:49 2026 -0700"
      },
      "message": "Remove dynamic mutation of field types in upb fuzzer when sub-enums are missing.\n\nPiperOrigin-RevId: 912206084\n"
    },
    {
      "commit": "524aa7fda7425a53de48fa95f3af6ba3545f3f7f",
      "tree": "4b86cda322ff82e832c4c487aa3fab6070dde12b",
      "parents": [
        "79129d9e0eb497da47d036e88cc86078c93e256c"
      ],
      "author": {
        "name": "Ada Zhang",
        "email": "adazhang@google.com",
        "time": "Thu May 07 16:07:58 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 07 16:11:58 2026 -0700"
      },
      "message": "Internal\n\nPiperOrigin-RevId: 912205927\n"
    },
    {
      "commit": "79129d9e0eb497da47d036e88cc86078c93e256c",
      "tree": "bfe72cd1e2a5ebe69d2d7b09767e460ce98aa104",
      "parents": [
        "00b6ad443aa9ec9abd8cf3c4f8975a33e3e84a70"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Thu May 07 15:40:20 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 07 15:45:09 2026 -0700"
      },
      "message": "Remove unused ByteBufferWriter and its tests\n\nByteBufferWriter has no usages.\n\nPiperOrigin-RevId: 912191309\n"
    },
    {
      "commit": "00b6ad443aa9ec9abd8cf3c4f8975a33e3e84a70",
      "tree": "be6517e5c07d797f561648302792c64687b538ad",
      "parents": [
        "4b10db834fe2b22c1344c125bd8fd72f80576d5e"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Thu May 07 15:17:10 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 07 15:19:50 2026 -0700"
      },
      "message": "Remove decodeUtf8Direct()\n\nThis path uses sun.misc.Unsafe which is terminally deprecated. Although it is theoretically \u0027good\u0027 that we can optimize a Direct buffer faster than the basic APIs, this is empirically never reached in all of Google\u0027s internal use. With sun.misc.Unsafe going away and no easy replacement, this is turning down the corner case optimization.\n\nPiperOrigin-RevId: 912177627\n"
    },
    {
      "commit": "4b10db834fe2b22c1344c125bd8fd72f80576d5e",
      "tree": "2c23635e2884441c4421566f6dd32ff95f2b1ef8",
      "parents": [
        "e8164734b42beaac9974b56d1034f30b917da8f5"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Thu May 07 13:28:56 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 07 13:30:35 2026 -0700"
      },
      "message": "CppJson optimization: special case printing a Struct by using the gencode accessors instead of reflectively.\n\nIn the future we could consider this same technique to all WKT (on both printing and parsing), but the immediate change applying it to Struct will optimize the hotest case: due to the recursive nature of Struct meaning when it is used it is used a large number of times.\n\nPiperOrigin-RevId: 912125106\n"
    },
    {
      "commit": "e8164734b42beaac9974b56d1034f30b917da8f5",
      "tree": "673226d80fc4b2140ca9bc9244529b968206021c",
      "parents": [
        "cedb414c233b8f632538b433507938c83c094d0a"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Thu May 07 20:12:48 2026 +0000"
      },
      "committer": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Thu May 07 20:12:48 2026 +0000"
      },
      "message": "Auto-generate files after cl/912111712\n"
    },
    {
      "commit": "cedb414c233b8f632538b433507938c83c094d0a",
      "tree": "796780f31d2fa09d4999ca40d7ddd96387e7e01f",
      "parents": [
        "4d2fa5996cbed25e5d4a41b783b71c7d52b1cec1"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Thu May 07 13:01:54 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 07 13:03:19 2026 -0700"
      },
      "message": "Fix iteration bug where removing the head of a chain resulted in missing elements\n\nPiperOrigin-RevId: 912111712\n"
    },
    {
      "commit": "4d2fa5996cbed25e5d4a41b783b71c7d52b1cec1",
      "tree": "b06ba8bb8e23571a63bc7e908347b5b3556c4bfb",
      "parents": [
        "4064fea907faaa7bac4d740314ddf3c17db2cea9"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Thu May 07 12:57:58 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 07 13:00:03 2026 -0700"
      },
      "message": "Fasttable: Guard against overlong tags when handling \"unknowns\".\n\nThe field may actually be \"known\" but cannot be matched by Fasttable logic.\n\nPiperOrigin-RevId: 912109766\n"
    },
    {
      "commit": "4064fea907faaa7bac4d740314ddf3c17db2cea9",
      "tree": "52e1339b21becb0c5568d9de17acf2bb5527a4c1",
      "parents": [
        "421d7451ef41e158cd1ec3b84709de4018500b82"
      ],
      "author": {
        "name": "Rachel Goldfinger",
        "email": "rgoldfinger@google.com",
        "time": "Thu May 07 12:54:37 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 07 12:56:52 2026 -0700"
      },
      "message": "Replace UNSTABLE edition with 2026 in tests.\n\nPiperOrigin-RevId: 912108206\n"
    },
    {
      "commit": "421d7451ef41e158cd1ec3b84709de4018500b82",
      "tree": "688ba02842c7b4fa0fd56492cd6e7bb1c17923ea",
      "parents": [
        "85bac82e26018997f7d8822adb83aadb31c2e48b"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Thu May 07 12:27:42 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 07 12:29:00 2026 -0700"
      },
      "message": "Stop using sun.misc.Unsafe in isValidUtf8 paths.\n\nThis is a step towards turning down Protobuf\u0027s use of sun.misc.Unsafe (which is terminally deprecated)\n\nWhen benchmarking a new VarHandle based approach, the SafeProcessor path actually benchmarked fastest excepting on pure ascii data sets, so we will move to this.\n\nArrays:\n\n| Distribution | Unsafe Before (ns/op) | Safe After (ns/op) | Delta |\n| :--- | :--- | :--- | :--- |\n| PURE_ASCII | 131597 | 394507 | +199.8% (Slower) |\n| PURE_UTF16 | 3086719 | 2630915 | -14.8% (Faster) |\n| GMM | 734551 | 381681 | -48.0% (Faster) |\n| GSR | 1153690 | 846964 | -26.6% (Faster) |\n\nByteBuffers:\n\n| Distribution | Unsafe Before (ns/op) | Safe After (ns/op) | Delta |\n| :--- | :--- | :--- | :--- |\n| PURE_ASCII | 92061 | 53868 | -41.5% (Faster) |\n| PURE_UTF16 | 3091502 | 2512527 | -18.7% (Faster) |\n| GMM | 712349 | 421433 | -40.8% (Faster) |\n| GSR | 1157134 | 933073 | -19.4% (Faster) |\n\nPiperOrigin-RevId: 912096277\n"
    },
    {
      "commit": "85bac82e26018997f7d8822adb83aadb31c2e48b",
      "tree": "2c46c2bfbe52d887c96d01f56ca9575cfc4f370b",
      "parents": [
        "a45c3f97f8b9a67f25605bc57da9674f8655cf4d"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Thu May 07 18:11:51 2026 +0000"
      },
      "committer": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Thu May 07 18:12:20 2026 +0000"
      },
      "message": "Auto-generate files after cl/912048631\n"
    },
    {
      "commit": "a45c3f97f8b9a67f25605bc57da9674f8655cf4d",
      "tree": "532d5798fc9480b91410ecf8d826b90082e89cf8",
      "parents": [
        "709c0d77f00bb6c11de570fd567c94dbf890dd5e"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Thu May 07 11:03:03 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 07 11:05:23 2026 -0700"
      },
      "message": "CppJson optimization: special case printing a Struct by using the gencode accessors instead of reflectively.\n\nIn the future we could consider this same technique to all WKT (on both printing and parsing), but the immediate change applying it to Struct will optimize the hotest case: due to the recursive nature of Struct meaning when it is used it is used a large number of times.\n\nPiperOrigin-RevId: 912051484\n"
    },
    {
      "commit": "709c0d77f00bb6c11de570fd567c94dbf890dd5e",
      "tree": "a3f487102abe2c02e8f822199d8ae11cc5b5f040",
      "parents": [
        "94df512b873aa09eeaebf21ae160f1e17e2a0e1b"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Thu May 07 10:58:08 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 07 11:02:32 2026 -0700"
      },
      "message": "Combine iteration implementation for tables now that inttable arrays are gone\n\nPiperOrigin-RevId: 912048631\n"
    },
    {
      "commit": "94df512b873aa09eeaebf21ae160f1e17e2a0e1b",
      "tree": "0da66ee5cdbca5435bcc8e5fcff9582740ca4446",
      "parents": [
        "b019e0010b4e4626b229d49ed2cf283d9e350766"
      ],
      "author": {
        "name": "Oblivionsage",
        "email": "cookieandcream560@gmail.com",
        "time": "Thu May 07 10:50:50 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 07 10:59:13 2026 -0700"
      },
      "message": "fix: check AssureWritable() return value at all call sites (#26390)\n\nFixes #26389\n\n`AssureWritable()` returns `-1` on failure (OOM in `MutableMessage()`), but 13 call sites were ignoring this return value.\n\nWhen `AssureWritable()` fails, `self-\u003emessage` still points to the shared read-only default instance. Subsequent mutations (`MergeFrom`, `CopyFrom`, `Clear`, `SetField`, etc.) then corrupt the shared global default instance, affecting all messages of the same type.\n\nSame bug class as the recent `FixupMessageAfterMerge` fix (ab14c0f8a).\n\nCloses #26390\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/protocolbuffers/protobuf/pull/26390 from Oblivionsage:fix/check-assure-writable-return-value adbd20477e3a1c49fbe9ce195f65169aac4ce98d\nPiperOrigin-RevId: 912044414\n"
    },
    {
      "commit": "b019e0010b4e4626b229d49ed2cf283d9e350766",
      "tree": "8f73942c4cd56b052bdaa72f93a176320e1b27a6",
      "parents": [
        "53b71bdcfeebc8f7677d95538b63d253a6da2ece"
      ],
      "author": {
        "name": "Samuel Benzaquen",
        "email": "sbenza@google.com",
        "time": "Thu May 07 08:10:09 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 07 08:13:18 2026 -0700"
      },
      "message": "Noop refactors for LazyField.\n\nThis CL simplies refactors some code as preparation for a behavior-changing CL.\n\nPiperOrigin-RevId: 911969135\n"
    },
    {
      "commit": "53b71bdcfeebc8f7677d95538b63d253a6da2ece",
      "tree": "d8dc469edaa228b7c6b68957488458e22d49401e",
      "parents": [
        "2e8b219634f887b90995a2bb0903cb61c4ce9199"
      ],
      "author": {
        "name": "Ashley Lowde",
        "email": "ashley.lowde@gmail.com",
        "time": "Thu May 07 08:05:08 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 07 08:07:58 2026 -0700"
      },
      "message": "fix(php): Remove public and weak dependencies from generated PHP. (#26598)\n\nIn issue #11146 people reported problems with the PHP package version 3.20.0RC3 and above crashing when the native extension was used with protobufs that had transitive dependencies. [This comment](https://github.com/protocolbuffers/protobuf/issues/11146#issuecomment-1939557722) noted that it looked like an issue with the dependency list being modified.\n\nThis PR resolves the issue by also removing public and weak dependency references in the emitted PHP metadata classes.\nI\u0027ve added a unit test showing that it compiles OK, but the unit tests don\u0027t exercise the PHP side so I\u0027ve taken the liberty of extending the reproducer case kindly provided by @tforesti and pushed a version that shows the fix to [github.com/alowde/php-protobuf-ext-issue](https://github.com/alowde/php-protobuf-ext-issue/tree/master). The [Dockerfile](https://github.com/alowde/php-protobuf-ext-issue/blob/master/DockerfileOKPatchedLatest) builds a copy of `protoc` from my branch and shows that the patched version doesn\u0027t cause a crash on import when the image is launced.\n\nAn LLM was used to investigate the issue and write the unit test, with human review. The fix itself and the fix demonstration  were written by @alowde. The fix demo builds on the failure case Dockerfile by @tforesti to provide a clear demonstration of the fix.\n\nPlease let me know if any further information or changes would be useful. Thanks!\n\nCloses #26598\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/protocolbuffers/protobuf/pull/26598 from alowde:php-protobuf-public-imports-fix 0a9b9a7dc348bba2c87e512badcc080e6caf5a35\nPiperOrigin-RevId: 911966696\n"
    },
    {
      "commit": "2e8b219634f887b90995a2bb0903cb61c4ce9199",
      "tree": "47d2d1ebb708fdd43940cb25517184be9cc4bb68",
      "parents": [
        "6aaf82d9106324195f3902aeca295f07e640be61"
      ],
      "author": {
        "name": "Hong Shin",
        "email": "hongshin@google.com",
        "time": "Thu May 07 07:04:51 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 07 07:12:10 2026 -0700"
      },
      "message": "upb: update fuzz util build ext to elide faulty extensions early on\n\nIn some cases, we were constructing invalid extensions. These extensions would have a field # that collided with an extant one, causing us to assert_fail inside upb_ExtensionRegistry_Add.\n\nNow that we check for colliding field #\u0027s, this\u0027ll no longer be possible when constructing fuzz candidates.\n\nPiperOrigin-RevId: 911942039\n"
    },
    {
      "commit": "6aaf82d9106324195f3902aeca295f07e640be61",
      "tree": "df016e85848fa6db6725f36a6c2086394adfaf5f",
      "parents": [
        "21e9075a06736b35e94c26f3831ccd10eb766b32"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Thu May 07 06:08:32 2026 +0000"
      },
      "committer": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Thu May 07 06:08:32 2026 +0000"
      },
      "message": "Auto-generate files after cl/911751127\n"
    },
    {
      "commit": "21e9075a06736b35e94c26f3831ccd10eb766b32",
      "tree": "7d6d964bb89594c9e54c364158d437d87dd44a8a",
      "parents": [
        "71ecafda2fb7d41003e2d8a5d12900fb405885c4"
      ],
      "author": {
        "name": "Ada Zhang",
        "email": "adazhang@google.com",
        "time": "Wed May 06 22:57:04 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 06 22:58:39 2026 -0700"
      },
      "message": "Automated rollback of commit d9efde4ed10310ef7373491afa43cea144344f09.\n\nPiperOrigin-RevId: 911751127\n"
    },
    {
      "commit": "71ecafda2fb7d41003e2d8a5d12900fb405885c4",
      "tree": "988ff1c3ca900007b35744933e66a7bb867427d3",
      "parents": [
        "d9efde4ed10310ef7373491afa43cea144344f09"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Thu May 07 01:06:09 2026 +0000"
      },
      "committer": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Thu May 07 01:06:09 2026 +0000"
      },
      "message": "Auto-generate files after cl/911649882\n"
    },
    {
      "commit": "d9efde4ed10310ef7373491afa43cea144344f09",
      "tree": "cbd7996dc52e1e6f89c467a64e5c1105a6c8ddef",
      "parents": [
        "76e74b027cc182b012e0ac2a877b148bc2f319cf"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Wed May 06 17:55:23 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 06 17:57:13 2026 -0700"
      },
      "message": "Decode empty messages as unknown fields.\n\nPiperOrigin-RevId: 911649882\n"
    },
    {
      "commit": "76e74b027cc182b012e0ac2a877b148bc2f319cf",
      "tree": "df016e85848fa6db6725f36a6c2086394adfaf5f",
      "parents": [
        "7b650943ad09ecf98377253dba64ec0a3ccc7677"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Thu May 07 00:10:25 2026 +0000"
      },
      "committer": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Thu May 07 00:10:25 2026 +0000"
      },
      "message": "Auto-generate files after cl/911624420\n"
    },
    {
      "commit": "7b650943ad09ecf98377253dba64ec0a3ccc7677",
      "tree": "4c6f2df3c873b96daf8caf5d38b2867be8edeaef",
      "parents": [
        "3b402b46ead91e95cc2576dd093ff740072281ce"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Wed May 06 16:54:35 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 06 17:00:23 2026 -0700"
      },
      "message": "Delete array part of inttable, reducing complexity\n\nPiperOrigin-RevId: 911624420\n"
    },
    {
      "commit": "3b402b46ead91e95cc2576dd093ff740072281ce",
      "tree": "c5e546a6a1023092cd33a41b134eec795c752921",
      "parents": [
        "8a8f316151bc235c1d9713389e65d130d27d3a76"
      ],
      "author": {
        "name": "Pavel P",
        "email": "pavlov.pavel@gmail.com",
        "time": "Wed May 06 14:14:06 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 06 14:15:31 2026 -0700"
      },
      "message": "Fix sign compare warnings (#26131)\n\n`generated_message_tctable_impl.h` gets included in user code and results in huge warning output as following:\n\n```\n2\u003eIn file included from ..\\source\\CppClient\\client\\protobuf/AccountDataEnd.pb.h:21:\n2\u003eIn file included from C:\\work-pps\\twsapi-git\\ext\\protobuf\\src\\google/protobuf/io/coded_stream.h:111:\n2\u003eIn file included from C:\\work-pps\\twsapi-git\\ext\\abseil-cpp\\absl/log/absl_check.h:38:\n2\u003eIn file included from C:\\work-pps\\twsapi-git\\ext\\abseil-cpp\\absl/log/internal/check_impl.h:21:\n2\u003eC:\\work-pps\\twsapi-git\\ext\\abseil-cpp\\absl/log/internal/check_op.h(503,43): warning : comparison of integers of different signs: \u0027const unsigned int\u0027 and \u0027const int\u0027 [-Wsign-compare]\n2\u003eC:\\work-pps\\twsapi-git\\ext\\abseil-cpp\\absl/log/internal/check_op.h(492,33): message : expanded from macro \u0027ABSL_LOG_INTERNAL_CHECK_OP_IMPL\u0027\n2\u003eC:\\work-pps\\twsapi-git\\ext\\abseil-cpp\\absl/base/optimization.h(190,58): message : expanded from macro \u0027ABSL_PREDICT_TRUE\u0027\n2\u003eC:\\work-pps\\twsapi-git\\ext\\protobuf\\src\\google/protobuf/generated_message_tctable_impl.h(895,7): message : in instantiation of function template specialization \u0027absl::log_internal::Check_NEImpl\u003cunsigned int, int\u003e\u0027 requested here\n2\u003eC:\\work-pps\\twsapi-git\\ext\\abseil-cpp\\absl/log/absl_check.h(76,3): message : expanded from macro \u0027ABSL_DCHECK_NE\u0027\n2\u003eC:\\work-pps\\twsapi-git\\ext\\abseil-cpp\\absl/log/internal/check_impl.h(76,3): message : expanded from macro \u0027ABSL_LOG_INTERNAL_DCHECK_NE_IMPL\u0027\n2\u003eC:\\work-pps\\twsapi-git\\ext\\abseil-cpp\\absl/log/internal/check_impl.h(51,3): message : expanded from macro \u0027ABSL_LOG_INTERNAL_CHECK_NE_IMPL\u0027\n2\u003eC:\\work-pps\\twsapi-git\\ext\\abseil-cpp\\absl/log/internal/check_op.h(69,51): message : expanded from macro \u0027ABSL_LOG_INTERNAL_CHECK_OP\u0027\n```\n\nCloses #26131\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/protocolbuffers/protobuf/pull/26131 from pps83:main-sign-compare 97152db43c0fbb02ed2b4d68e17737bf62bd191e\nPiperOrigin-RevId: 911542610\n"
    },
    {
      "commit": "8a8f316151bc235c1d9713389e65d130d27d3a76",
      "tree": "79b3490d8bd1d5f8d4c97514ae5df9adbe5306ef",
      "parents": [
        "cae6223a6ebaea5721851f2739bebfe46eef60bf"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Wed May 06 14:00:57 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 06 14:02:43 2026 -0700"
      },
      "message": "Protobuf C++: Optimize printing ranges of strings which do not need escaping.\n\nThis path is especially hot because field names are printed as camelcased string keys and use this path, and those are generally all [a-zA-Z0-9]+ and very rarely have any escaping.\n\nPiperOrigin-RevId: 911535727\n"
    },
    {
      "commit": "cae6223a6ebaea5721851f2739bebfe46eef60bf",
      "tree": "5b6ab023c50eef8ce922431648293304cd9945d3",
      "parents": [
        "fa5444396e01cdceff64da9479ec1b10fa066b0e"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Wed May 06 13:26:24 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 06 13:28:13 2026 -0700"
      },
      "message": "Optimize C++ ProtoJSON by scanning ahead on already-available input chunks where we would otherwise scan by always peeking one char at a time.\n\nThis improves our synthetic parse benchmark by about 20%; especially since JSON parsing is extremely heavy on looking for quoted strings (all keys and a significant number of the values) we otherwise burn a lot of time on peeking one character at a time.\n\nPiperOrigin-RevId: 911516316\n"
    },
    {
      "commit": "fa5444396e01cdceff64da9479ec1b10fa066b0e",
      "tree": "05ab190ba0280ede8e7610bf8a57cb86dcd55644",
      "parents": [
        "2ea1eb567107a7866461fd91673b1a075d5c2ba0"
      ],
      "author": {
        "name": "Pavel P",
        "email": "pavlov.pavel@gmail.com",
        "time": "Wed May 06 12:51:19 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 06 12:58:09 2026 -0700"
      },
      "message": "Fix deprecated `this` capture warning (#26174)\n\nFixed the following warning:\n\n\u003e ..\\src\\google\\protobuf\\map.cc(302,36): warning : implicit capture of \u0027this\u0027 with a capture default of \u0027\u003d\u0027 is deprecated [-Wdeprecated-this-capture]\n\u003e ..\\src\\google\\protobuf\\map.cc(300,17): note: add an explicit capture of \u0027this\u0027 to capture \u0027*this\u0027 by reference\n\nCloses #26174\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/protocolbuffers/protobuf/pull/26174 from pps83:main-this-capture b6ea9f723fb6a1ee553ff8f943be95f645f6c4e4\nPiperOrigin-RevId: 911496727\n"
    },
    {
      "commit": "2ea1eb567107a7866461fd91673b1a075d5c2ba0",
      "tree": "6c474f60460d9831c91750f04456a1659e83684b",
      "parents": [
        "5a86da5fb475b2ee40b84db1c5e5b453ef5ddf6f"
      ],
      "author": {
        "name": "Pavel P",
        "email": "pavlov.pavel@gmail.com",
        "time": "Wed May 06 09:56:05 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 06 09:57:40 2026 -0700"
      },
      "message": "Avoid implicit int to bool conversion (#25846)\n\nCloses #25846\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/protocolbuffers/protobuf/pull/25846 from pps83:main-impl-bool 279b39748e936c33c9450f55ba8d39f14d2bd9f4\nPiperOrigin-RevId: 911396669\n"
    },
    {
      "commit": "5a86da5fb475b2ee40b84db1c5e5b453ef5ddf6f",
      "tree": "1e041fa03c3120fe62154211166b4bdc466dee20",
      "parents": [
        "32d75b6bbc6ff6cc50d29ee8140effa9f7d7e6b5"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Wed May 06 09:40:12 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 06 09:41:35 2026 -0700"
      },
      "message": "Internal change\n\nPiperOrigin-RevId: 911388609\n"
    },
    {
      "commit": "32d75b6bbc6ff6cc50d29ee8140effa9f7d7e6b5",
      "tree": "ad6d60ac4239b21a256519fa3d1b39c047ed8d8f",
      "parents": [
        "28bef9809e4d1f5f3b6da2a4a26a3bd5b488136b"
      ],
      "author": {
        "name": "Dong Kim",
        "email": "khdkkhdd@gmail.com",
        "time": "Wed May 06 08:20:20 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 06 08:23:01 2026 -0700"
      },
      "message": "[PHP] Fix locale-dependent JSON float encoding (#18808) (#25329)\n\nThis PR addresses issue #18808 regarding locale-dependent JSON serialization in PHP.\n\n### Problem\nWhen the system environment is set to a locale that uses a comma as a decimal separator (like `de_DE`), `float` and `double` values were being serialized into JSON as `3,14` instead of `3.14`. This produced invalid JSON that could not be parsed by other systems.\n\n### Solution\n- Updated php/src/Google/Protobuf/Internal/GPBJsonWire.php to use `sprintf(\"%.*h\", ...)` for formatting values. This ensures that the decimal separator is always a dot (`.`), making the output locale-independent.\n- Added a new test case testJsonEncodeFloatLocaleIndependent in php/tests/EncodeDecodeTest.php. This test explicitly sets the locale to `de_DE` to verify that the fix works correctly and produces valid JSON.\n\n### Verification\n- [x] Added new regression test.\n- [x] Verified that all PHP tests pass locally: `vendor/bin/phpunit php/tests/EncodeDecodeTest.php`\n\nFixes #18808\n\nCloses #25329\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/protocolbuffers/protobuf/pull/25329 from khdkkhdd:18808-php-float-fix 5de303962e25d43c3c5e99b8ae7295008f7527aa\nPiperOrigin-RevId: 911348844\n"
    },
    {
      "commit": "28bef9809e4d1f5f3b6da2a4a26a3bd5b488136b",
      "tree": "d5d893b10db48c2ef57038e6553fcfcb869f1549",
      "parents": [
        "66ee7113cfefda062a2c3e155e0d15d77a58ed48"
      ],
      "author": {
        "name": "MRKNIGHTNIDU",
        "email": "chronx40@gmail.com",
        "time": "Wed May 06 07:12:02 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 06 07:15:25 2026 -0700"
      },
      "message": "Fix: Apply path traversal guard to WriteAllToZip() matching WriteAllToDisk() (#27171)\n\nThis PR applies the same path traversal guard already present in\n`WriteAllToDisk()` to `WriteAllToZip()`. A plugin returning\na filename like `../../PWNED.txt` is blocked for directory output,\nbut currently slips silently into an archive, enabling Zip Slip-style entries.\n\nThis fix adds an identical `..` check and returns an error to prevent\ntraversal injection in .zip / .jar / .srcjar output.\n\nCloses #27170\n\nCloses #27171\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/protocolbuffers/protobuf/pull/27171 from mrknight-n1du:main 95254bf142ae7be26cab82a6c51b63deb097b9d3\nPiperOrigin-RevId: 911318632\n"
    },
    {
      "commit": "66ee7113cfefda062a2c3e155e0d15d77a58ed48",
      "tree": "7b0cd14559bea5803b6ae679a0d41f252e5916fc",
      "parents": [
        "303c731708bb2b4becf512ac7df3dba501e91a59"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Wed May 06 00:05:53 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 06 00:07:32 2026 -0700"
      },
      "message": "Automated rollback of commit 62074624a9ec6580a4bc845ca06e5c8cc4e6c7a1.\n\nPiperOrigin-RevId: 911144902\n"
    },
    {
      "commit": "303c731708bb2b4becf512ac7df3dba501e91a59",
      "tree": "2cfbc93dfca1cd86a7208cad4f27e84f24f06cf3",
      "parents": [
        "81edcf540e5d21cd6acafc38c81a488cdc1122b4"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Wed May 06 05:43:04 2026 +0000"
      },
      "committer": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Wed May 06 05:43:04 2026 +0000"
      },
      "message": "Auto-generate files after cl/911111118\n"
    },
    {
      "commit": "81edcf540e5d21cd6acafc38c81a488cdc1122b4",
      "tree": "c4312278c59681d91ca775259efcf45e1e577e13",
      "parents": [
        "0ec320b29f86e3a913cb4f9a461a92c4006c0b4b"
      ],
      "author": {
        "name": "Ada Zhang",
        "email": "adazhang@google.com",
        "time": "Tue May 05 22:32:28 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 05 22:33:52 2026 -0700"
      },
      "message": "Add an array BaseField setter.\n\nPiperOrigin-RevId: 911111118\n"
    },
    {
      "commit": "0ec320b29f86e3a913cb4f9a461a92c4006c0b4b",
      "tree": "dedee6bb934b8fa382e5c149fbda8f97bc9e2411",
      "parents": [
        "83617f5f69f930bd6f2feed79a2dc596ef775c98"
      ],
      "author": {
        "name": "Anthony Hurtado",
        "email": "amhurtado@pm.me",
        "time": "Tue May 05 21:47:08 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 05 21:51:23 2026 -0700"
      },
      "message": "Fix is_map_ type check in CrossLinkField for TYPE_GROUP fields (#27218)\n\n## Summary\n\n`CrossLinkField()` sets `field-\u003eis_map_` based solely on whether the referenced message has `map_entry: true`, without checking the field\u0027s own type. This causes `TYPE_GROUP` fields pointing to a `map_entry` message to incorrectly have `is_map_ \u003d true`, violating the invariant already documented by the DCHECK in `is_map()`:\n\n```cpp\n// descriptor.h:3081\ninline bool FieldDescriptor::is_map() const {\n  ABSL_DCHECK_EQ(is_map_, type() \u003d\u003d TYPE_MESSAGE \u0026\u0026 is_map_message_type());\n  return is_map_;\n}\n```\n\nIn release builds (`-DNDEBUG`), this DCHECK is compiled out, so the incorrect `is_map_` value silently propagates to all downstream consumers.\n\n### Downstream impact\n\nOver 20 call sites rely on `is_map()` to make correctness-critical decisions:\n\n- **Wire format** (`wire_format.cc`): `is_map()` gates deterministic serialization via `MapKeySorter`, byte size computation via `map_field-\u003esize()`, and unknown enum handling via `map_value()-\u003eenum_type()`. An incorrect `true` causes these paths to call `GetMapData()` on a non-map repeated field.\n- **Reflection** (`message.cc:721`): `is_map()` selects `MapFieldAccessor` vs `RepeatedPtrFieldMessageAccessor`. Wrong accessor type for the underlying storage.\n- **Parsing** (`generated_message_tctable_gen.cc:615`): `is_map()` assigns `fl::kMap` type card, routing the field through map parsing instead of message parsing.\n- **Merge/diff** (`reflection_ops.cc`, `message_differencer.cc`): `is_map()` gates `MergeFrom()` on `MapFieldBase*` and `CompareMapField()`. These dereference map-specific internal state that doesn\u0027t exist on a group field.\n- **Codegen** (`cpp/field.cc`, `cpp/message.cc`, `java/helpers.h`): `is_map()` controls generated accessor methods, constructor initialization, and cross-file dependency tracking.\n- **Text format** (`text_format.cc:2822`): `is_map()` gates `SortMap()` for deterministic printing.\n- **UTF-8 validation** (`descriptor.cc:10763`): `is_map()` triggers `map_key()`/`map_value()` access for string validation checks.\n\n### Root cause\n\nThe `is_map_` assignment at the original location (before type inference at lines 8076-8090) runs before `field-\u003etype_` is finalized. Additionally, `TYPE_GROUP` fields legitimately reference messages with `map_entry: true` but should never be treated as map fields -- maps always use `TYPE_MESSAGE` wire type.\n\n### Fix\n\nMove the `is_map_` assignment into the `CPPTYPE_MESSAGE` block (after type resolution and `type_descriptor_.message_type` null check), and add a `type_ \u003d\u003d TYPE_MESSAGE` guard. This makes the runtime assignment match the invariant the DCHECK already enforces.\n\n## Test plan\n\n- Added `GroupFieldPointingToMapEntryIsNotMap` regression test: creates a `TYPE_GROUP` field referencing a `map_entry` message, verifies `is_map()` returns `false`.\n- All existing `*Map*` descriptor tests pass (no regression).\n\nCloses #27218\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/protocolbuffers/protobuf/pull/27218 from jortles:fix-is-map-type-check 5e7da139772096dc5d47e1bb75197dbf2c5b8a23\nPiperOrigin-RevId: 911096352\n"
    },
    {
      "commit": "83617f5f69f930bd6f2feed79a2dc596ef775c98",
      "tree": "253dbb0257b2757e60cd9dd178636302c18b66d3",
      "parents": [
        "7df7cef8d460489dad51b76b2ec6ccf9a2d83211"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Tue May 05 22:26:25 2026 +0000"
      },
      "committer": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Tue May 05 22:26:25 2026 +0000"
      },
      "message": "Auto-generate files after cl/910940934\n"
    },
    {
      "commit": "7df7cef8d460489dad51b76b2ec6ccf9a2d83211",
      "tree": "2c5bc7a0eb346a2ab7434e3709270afa63a5fc46",
      "parents": [
        "1eb2c7268d3269f5ce004db75c920291bd06fc33"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Tue May 05 15:15:07 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 05 15:16:40 2026 -0700"
      },
      "message": "Instead of using a reserved key value for empty entries in the map, rely on the chaining pointer. A reserved value means that this is the end of the chain; null means an empty entry.\n\nPiperOrigin-RevId: 910940934\n"
    },
    {
      "commit": "1eb2c7268d3269f5ce004db75c920291bd06fc33",
      "tree": "0558fbf8b044beaa7708c0cf96172ae589f1fe26",
      "parents": [
        "62074624a9ec6580a4bc845ca06e5c8cc4e6c7a1"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Tue May 05 14:43:49 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 05 14:45:51 2026 -0700"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 910923991\n"
    },
    {
      "commit": "62074624a9ec6580a4bc845ca06e5c8cc4e6c7a1",
      "tree": "f4b7834a83fd768dbb0b71d567a1a3a814da8f14",
      "parents": [
        "1da22aa3b9d81b2c179a49573f1da178bacfc6f9"
      ],
      "author": {
        "name": "Joshua Haberman",
        "email": "haberman@google.com",
        "time": "Tue May 05 14:33:53 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 05 14:35:54 2026 -0700"
      },
      "message": "[Py/C++ Optimization]: cache prototype in the `CMessageClass`\n\nThis avoids calling `GetPrototype()` every time a message is constructed, which would acquire a lock.\n\nThere is no need to look it up every time, because it will never change as long as the MessageFactory is alive.\n\nPiperOrigin-RevId: 910918341\n"
    },
    {
      "commit": "1da22aa3b9d81b2c179a49573f1da178bacfc6f9",
      "tree": "41d6795afc009a87063a3a0d49a9310ce1c6234d",
      "parents": [
        "af47fbb3698647a9f7021e23ef445a2f846327b3"
      ],
      "author": {
        "name": "Rachel Goldfinger",
        "email": "rgoldfinger@google.com",
        "time": "Tue May 05 13:49:18 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 05 13:50:40 2026 -0700"
      },
      "message": "Update JsonParser settings creation in Conformance tests to use default recursion limit.\n\nPiperOrigin-RevId: 910891579\n"
    },
    {
      "commit": "af47fbb3698647a9f7021e23ef445a2f846327b3",
      "tree": "4f77a98356ba6d805719a35000e56b3c406b87bf",
      "parents": [
        "1be37eebf6ff5447120d5777ca62971bd8bbd3e1"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Tue May 05 13:42:48 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 05 13:45:18 2026 -0700"
      },
      "message": "Improve serialization performance in the case of recursive maps in pure Python Protobuf.\n\nPiperOrigin-RevId: 910887857\n"
    },
    {
      "commit": "1be37eebf6ff5447120d5777ca62971bd8bbd3e1",
      "tree": "8cc4b744fa556a7ecbdaed0b96e0c3b68f56ddd2",
      "parents": [
        "6c33bda21dce5e5d84a9858e798ce8ea5b6540b7"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Tue May 05 16:55:24 2026 +0000"
      },
      "committer": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Tue May 05 16:55:24 2026 +0000"
      },
      "message": "Auto-generate files after cl/910744083\n"
    },
    {
      "commit": "6c33bda21dce5e5d84a9858e798ce8ea5b6540b7",
      "tree": "fe212e6ef2a0bbae621cbca4f9335917d2af538d",
      "parents": [
        "b3875ccdf6a4953cfabd213fe7b509728958aa73"
      ],
      "author": {
        "name": "Clayton Knittel",
        "email": "cknittel@google.com",
        "time": "Tue May 05 09:43:37 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 05 09:45:21 2026 -0700"
      },
      "message": "Migrate remaining old-style `$deprecated_attr$` substitutions to `$DEPRECATED$` in field generators.\n\nPiperOrigin-RevId: 910744083\n"
    },
    {
      "commit": "b3875ccdf6a4953cfabd213fe7b509728958aa73",
      "tree": "2f4fccdbc4cafcac38376f9b72327ae07fd74a52",
      "parents": [
        "5dd43451ac23d0dc60604fec860aa2201c4fdaff"
      ],
      "author": {
        "name": "Yun Peng",
        "email": "pcloudy@google.com",
        "time": "Tue May 05 08:56:40 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 05 08:59:10 2026 -0700"
      },
      "message": "Update Bazel CI presubmit matrix\n\n- Remove macos (Intel Macs)\n- Update debian and ubuntu distribution\n- Add Bazel 9.x\n\nPiperOrigin-RevId: 910719323\n"
    },
    {
      "commit": "5dd43451ac23d0dc60604fec860aa2201c4fdaff",
      "tree": "3241155912558641188174ab24355d3f319da85e",
      "parents": [
        "19b6229f8a618433eb92202449cc8311a7f633fb"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Tue May 05 15:31:24 2026 +0000"
      },
      "committer": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Tue May 05 15:31:24 2026 +0000"
      },
      "message": "Auto-generate files after PR #25201\n"
    },
    {
      "commit": "19b6229f8a618433eb92202449cc8311a7f633fb",
      "tree": "c2528bc4d16524c0d9b73e239116071134308d7a",
      "parents": [
        "f472fe1724ccaf4055f773439f3145f90e419740"
      ],
      "author": {
        "name": "Spencer Malone",
        "email": "malone.spencer@gmail.com",
        "time": "Tue May 05 08:19:14 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 05 08:20:53 2026 -0700"
      },
      "message": "Add static typing to generated GPDMetadata class. (#25201)\n\nThis is a pretty minor thing, but this being unset makes static analysis get angry on generated classes, so I figured it was probably time to just include it.\n\nCloses #25201\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/protocolbuffers/protobuf/pull/25201 from SpencerMalone:patch-1 943822aa9665674903140ccc794170bdf505630d\nPiperOrigin-RevId: 910700433\n"
    },
    {
      "commit": "f472fe1724ccaf4055f773439f3145f90e419740",
      "tree": "8556365f12c22aa3a02ded465d1fc66699efc4be",
      "parents": [
        "2b15f7cfae0356150f98c382e471d23b86ff69d8"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Tue May 05 07:57:37 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 05 08:00:20 2026 -0700"
      },
      "message": "Add parity methods to Protobuf Repeated and Map\n\nAdded fns like first(), last(), contains_key() and implement\nstandard traits that are supported by Vec (DoubleEndedIterator, FromIterator).\n\nPiperOrigin-RevId: 910689041\n"
    },
    {
      "commit": "2b15f7cfae0356150f98c382e471d23b86ff69d8",
      "tree": "994d870257c613f84720d91b9ec5667347eb6c7e",
      "parents": [
        "78d8c10dcd636a7133d61381c7d7470d6e20c423"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Tue May 05 14:56:28 2026 +0000"
      },
      "committer": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Tue May 05 14:56:28 2026 +0000"
      },
      "message": "Auto-generate files after PR #27133\n"
    },
    {
      "commit": "78d8c10dcd636a7133d61381c7d7470d6e20c423",
      "tree": "1bd484f28f41d95fcd12fd13c2470dc37786be5c",
      "parents": [
        "efca121a668ecc73ca010c9457ba35bf189c01ec"
      ],
      "author": {
        "name": "Will Rosenberg",
        "email": "whrosenb@asu.edu",
        "time": "Tue May 05 07:43:30 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 05 07:46:25 2026 -0700"
      },
      "message": "Check for uint16_t field_count overflow in upb_MtDecoder_Parse() (#27133)\n\nIn the field parsing logic of `upb_MtDecoder_Parse()`, the `uint16_t field_count` is incremented for each parsed field with no overflow check. A MiniTable with more than `UINT16_MAX` fields will then wrap the field counter. This sets the `upb_MessageDef.layout-\u003efield_count` to an invalid value smaller than the total number of fields. `upb_MtDecoder_ParseMessage()` then calls `upb_Arena_ShrinkLast()` with the wrapped `field_count` size.\n\nLater `_upb_MessageDef_LinkMiniTable()` uses `int m-\u003efield_count` as an index loop bound  for `m-\u003elayout-\u003eUPB_PRIVATE(fields)`, creating a mismatch between the array and index bounds.\n\nTo fix the bug, I opt for a simple integer overflow check before incrementing.\n\nThis bug has been reported to [Google\u0027s OSS VRP](https://issuetracker.google.com/u/0/issues/503166184).\n\nCloses #27133\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/protocolbuffers/protobuf/pull/27133 from mowteam:fix-upb-field-count-overflow 0baffe0a994e22e243d5c7530f9c3975d64efed7\nPiperOrigin-RevId: 910682441\n"
    },
    {
      "commit": "efca121a668ecc73ca010c9457ba35bf189c01ec",
      "tree": "ac563f4268a61558e499968a16b3d8ef63acced5",
      "parents": [
        "c4e2cdfb07dc7fff89925d9a071297e6cb75d008"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Tue May 05 03:05:53 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 05 03:08:31 2026 -0700"
      },
      "message": "Use `String#encodedLength` on JDK versions that support it\n\nSee https://bugs.openjdk.org/browse/JDK-8372353\n\nPiperOrigin-RevId: 910554784\n"
    },
    {
      "commit": "c4e2cdfb07dc7fff89925d9a071297e6cb75d008",
      "tree": "bbe49f838dac69adcaac56c4b4e9eefd8cc44e97",
      "parents": [
        "28bfb0717bb23793a2372992e7a7bed1a8a82867"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Mon May 04 23:59:00 2026 +0000"
      },
      "committer": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Mon May 04 23:59:00 2026 +0000"
      },
      "message": "Auto-generate files after cl/910315905\n"
    },
    {
      "commit": "28bfb0717bb23793a2372992e7a7bed1a8a82867",
      "tree": "a288e8217fe20fe15e64e0014920e8cbd1c8bb84",
      "parents": [
        "48dc6b7890ea0a71cc19c9dbee72c5705bf38f06"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Mon May 04 16:47:19 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 04 16:49:03 2026 -0700"
      },
      "message": "Use a struct for the fast decoder return type.\n\nWe are already calling a preserve_none function which will clobber all of our registers and aliased memory; returning in a struct permits us to play around with returning more values back without updating every function declaration.\n\nPiperOrigin-RevId: 910315905\n"
    },
    {
      "commit": "48dc6b7890ea0a71cc19c9dbee72c5705bf38f06",
      "tree": "c8c591488a312477eb48b4779b97f47d02ec4e02",
      "parents": [
        "7fcbd0cbf3189fe5ed766de4430e712eaa97bdc0"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Mon May 04 14:38:04 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 04 14:43:25 2026 -0700"
      },
      "message": "Use absl::cleanup on textproto and json depth tracking on text_format\n\nPiperOrigin-RevId: 910248970\n"
    },
    {
      "commit": "7fcbd0cbf3189fe5ed766de4430e712eaa97bdc0",
      "tree": "4601b3ce3167d88407c56de2db410988aafd900e",
      "parents": [
        "06a1003cb98218c37bfad655e74dd02fc6539459"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Mon May 04 12:13:43 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 04 12:16:35 2026 -0700"
      },
      "message": "Fasttable: Defer ptr increment when dealing with unknowns until after all preconditions are checked.\n\nPiperOrigin-RevId: 910169565\n"
    },
    {
      "commit": "06a1003cb98218c37bfad655e74dd02fc6539459",
      "tree": "ec2e2b20683acf4308e9cf42107fce2c99e399aa",
      "parents": [
        "68e1906b69ed93de7cfaa3ffaa8bd62864393408"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Mon May 04 15:30:16 2026 +0000"
      },
      "committer": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Mon May 04 15:30:16 2026 +0000"
      },
      "message": "Auto-generate files after PR #25683\n"
    },
    {
      "commit": "68e1906b69ed93de7cfaa3ffaa8bd62864393408",
      "tree": "f2c7377ff71fd6659aacfd2a35e09f485db35a70",
      "parents": [
        "19d9cbf841f62227d3d349e944fc376dc9e0ba3f"
      ],
      "author": {
        "name": "Jonathan Albrecht",
        "email": "jonathan.albrecht@ibm.com",
        "time": "Mon May 04 08:17:51 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 04 08:20:42 2026 -0700"
      },
      "message": "Fix an endian problem when memcpying in _upb_Decoder_DecodeEnumPacked (#25683)\n\nThis is related to the endian fix in https://github.com/protocolbuffers/protobuf/pull/25363. My colleague @saisindhuri91 found another place that needed to be fixed. It fixes a the upb test `MessageTest.Proto2Enum` on big endian platforms.\n\nThe fix is in the `_upb_Decoder_DecodeEnumPacked` function. An older version of the function had a call to munge the elem value but it had been removed when the unknown enum value handling was improved. It is still needed when, later in the the function, there is a `memcpy` that is expecting a 4 byte value. I have placed the call to `_upb_Decoder_MungeInt32(\u0026elem)` after the new call to `_upb_Decoder_AddEnumValueToUnknown(d, msg, field, \u0026elem)` so it will only affect the `memcpy`.\n\nCloses #25683\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/protocolbuffers/protobuf/pull/25683 from linux-on-ibm-z:upb-decode-endian-2 e54b8e148d36888ce6daa922659fb4dd30550060\nPiperOrigin-RevId: 910042959\n"
    },
    {
      "commit": "19d9cbf841f62227d3d349e944fc376dc9e0ba3f",
      "tree": "9586f589b60665ce7a6b732c3b8480a186744dd5",
      "parents": [
        "ce481a6517c12abb0a93e68acc88cd3c5528761d"
      ],
      "author": {
        "name": "David Symonds",
        "email": "dsymonds@gmail.com",
        "time": "Mon May 04 06:32:26 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 04 06:35:12 2026 -0700"
      },
      "message": "Fix use of output_path where input_path is the relevant reference. (#27025)\n\nThis seems like a copy and paste mistake from a few lines above.\n\nCloses #27025\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/protocolbuffers/protobuf/pull/27025 from dsymonds:filepath-fix 4f7916edf0a594505adf1b2f94781a48f6e47928\nPiperOrigin-RevId: 909995317\n"
    },
    {
      "commit": "ce481a6517c12abb0a93e68acc88cd3c5528761d",
      "tree": "a255fe47cba0f7c863a1ea9d5aa6dc0996951e76",
      "parents": [
        "bf6007e266a42188a3481bda964255eb6e0c64cc"
      ],
      "author": {
        "name": "Ben Webber",
        "email": "benjamin.webber@gmail.com",
        "time": "Mon May 04 06:22:11 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 04 06:25:23 2026 -0700"
      },
      "message": "Reserve extension number 1306 for protosearch (#26149)\n\n[`protoc-gen-protosearch`](https://github.com/benwebber/protosearch) is a plugin to generate Elasticsearch/OpenSearch document mappings from message definitions.\n\nCloses #26149\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/protocolbuffers/protobuf/pull/26149 from benwebber:protosearch b41d8975a0a267483cc72b4aa78ae12fcffb16bf\nPiperOrigin-RevId: 909991275\n"
    },
    {
      "commit": "bf6007e266a42188a3481bda964255eb6e0c64cc",
      "tree": "930670b959f3d96e790731ca20f6a9617a20fcb8",
      "parents": [
        "b6393d6d78d07a35fc1279409c27799f5907c5ff"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Sat May 02 21:00:35 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat May 02 21:03:20 2026 -0700"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 909397444\n"
    },
    {
      "commit": "b6393d6d78d07a35fc1279409c27799f5907c5ff",
      "tree": "8ac269a0e429580f6e7e35a7ff76d1c46f111845",
      "parents": [
        "dc1192e0e0d99b136c17dd03dd43329a6dfb7b03"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Fri May 01 21:50:19 2026 +0000"
      },
      "committer": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Fri May 01 21:50:19 2026 +0000"
      },
      "message": "Auto-generate files after cl/908903898\n"
    },
    {
      "commit": "dc1192e0e0d99b136c17dd03dd43329a6dfb7b03",
      "tree": "2c6e28a3a36f64af24903b4a3d81879a93b57fdc",
      "parents": [
        "5a1f2ac62e19436ac042d2d634da4f78279e6058"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Fri May 01 14:37:39 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 01 14:40:33 2026 -0700"
      },
      "message": "Fasttable: Allow fast unknown handling for extendable messages.\n\nPiperOrigin-RevId: 908903898\n"
    },
    {
      "commit": "5a1f2ac62e19436ac042d2d634da4f78279e6058",
      "tree": "c1c4992c59f0f3a7a289f12be5ac90e7eea8acbe",
      "parents": [
        "799e73bee873afd2271517b17c037d6fa4148169"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Fri May 01 12:20:27 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 01 12:27:08 2026 -0700"
      },
      "message": "Improve behavior under the risk of an int overflow and negative lengths in JavaLite\n\nPiperOrigin-RevId: 908845731\n"
    },
    {
      "commit": "799e73bee873afd2271517b17c037d6fa4148169",
      "tree": "7c0a34bd2045f102a69a2d2f79f91a03336332d1",
      "parents": [
        "f331eba783b36ac2e547afac903fe1e21e9f958a"
      ],
      "author": {
        "name": "Thomas Van Lenten",
        "email": "thomasvl@google.com",
        "time": "Fri May 01 12:17:07 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 01 12:23:14 2026 -0700"
      },
      "message": "[ObjC] Small shuffling for code quality/style.\n\n- Add some casts to avoid warnings with signed/unsigned comparisons.\n- Use `objc_direct` for some internal helpers and get out of having the one class know about the internals of the other class.\n- Update GPBUtilities to not need to know internals of these\n\nPiperOrigin-RevId: 908844212\n"
    },
    {
      "commit": "f331eba783b36ac2e547afac903fe1e21e9f958a",
      "tree": "414795fc836bf0d5d65b565be2260cbd584f5503",
      "parents": [
        "36e53a1895d99fc5cbc034338692fa724e1d5014"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Fri May 01 16:18:50 2026 +0000"
      },
      "committer": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Fri May 01 16:18:50 2026 +0000"
      },
      "message": "Auto-generate files after cl/908760363\n"
    },
    {
      "commit": "36e53a1895d99fc5cbc034338692fa724e1d5014",
      "tree": "ca571b23cadc85c02f00f3220409f2a29f427147",
      "parents": [
        "be0335d84f138bb3fc41e2220defc9cdabb03847"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Fri May 01 09:04:39 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 01 09:09:38 2026 -0700"
      },
      "message": "Fasttable: Split out \"AddUnknownSlowPath\" behind private tail call.\n\nPiperOrigin-RevId: 908760363\n"
    },
    {
      "commit": "be0335d84f138bb3fc41e2220defc9cdabb03847",
      "tree": "433be978d70f2e88da96190248158581d3434c2f",
      "parents": [
        "0488596867d7a055467e469419146df1ac20a4b6"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Fri May 01 13:28:24 2026 +0000"
      },
      "committer": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Fri May 01 13:28:24 2026 +0000"
      },
      "message": "Auto-generate files after cl/908697453\n"
    },
    {
      "commit": "0488596867d7a055467e469419146df1ac20a4b6",
      "tree": "df26d1baec4aff74415df663dc0d48b343de58e9",
      "parents": [
        "6697fa51f4df4489c38f696c676e21ea3ff8159b"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-github-bot@google.com",
        "time": "Fri May 01 06:13:42 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 01 06:18:43 2026 -0700"
      },
      "message": "Clarify FieldMask JSON warnings/errors in the situation of fields which aren\u0027t round-trip representable in JSON format.\n\nUnfortunately, because of inherent design choices in the ProtoJSON format, Field Masks of fields which contain an underscore followed by an uppercase letter or number cannot be successfully round tripped through the ProtoJSON representation.\n\nThe behavior today is that PHP-upb errors on this case but doesn\u0027t explain to the user why it has the check that it does. Pure-PHP produces JSON that will just not round-trip parse back.\n\nThis change improves the error message in the upb case, and adds a log-warning in the the pure-PHP case with a similar message.\n\nFixes https://github.com/protocolbuffers/protobuf/issues/25786\n\nPiperOrigin-RevId: 908697453\n"
    },
    {
      "commit": "6697fa51f4df4489c38f696c676e21ea3ff8159b",
      "tree": "9459eb408814a57ed1f05d4c52081dde1002d873",
      "parents": [
        "e7aeaf36a84bfc16ede0823bb1618b3486c4426f"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Fri May 01 08:38:17 2026 +0000"
      },
      "committer": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Fri May 01 08:38:17 2026 +0000"
      },
      "message": "Auto-generate files after cl/908608483\n"
    },
    {
      "commit": "e7aeaf36a84bfc16ede0823bb1618b3486c4426f",
      "tree": "903e25a10ce85612e85dfdc39ae64be041501bc4",
      "parents": [
        "a8896e84d6f375f179a14cb8b0f5efe3c8ae588f"
      ],
      "author": {
        "name": "Clayton Knittel",
        "email": "cknittel@google.com",
        "time": "Fri May 01 01:26:12 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 01 01:28:34 2026 -0700"
      },
      "message": "Migrate remaining old-style `$tag_size$` substitutions to `$kTagBytes$` in field generators.\n\nPiperOrigin-RevId: 908608483\n"
    },
    {
      "commit": "a8896e84d6f375f179a14cb8b0f5efe3c8ae588f",
      "tree": "97aed0e3d4eb117ad10bc4445d41cdc5c957e7aa",
      "parents": [
        "04534533d18ea898b20cc98865dc424e65db3209"
      ],
      "author": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Thu Apr 30 22:31:16 2026 +0000"
      },
      "committer": {
        "name": "Protobuf Team Bot",
        "email": "protobuf-team-bot@google.com",
        "time": "Thu Apr 30 22:31:44 2026 +0000"
      },
      "message": "Auto-generate files after cl/908404027\n"
    },
    {
      "commit": "04534533d18ea898b20cc98865dc424e65db3209",
      "tree": "5515b3f607fe18697cf9a6d188f63a797d080a44",
      "parents": [
        "5ddd5244f7a04539e59f97fbc0c0df02334d0b12"
      ],
      "author": {
        "name": "Jie Luo",
        "email": "jieluo@google.com",
        "time": "Thu Apr 30 15:25:14 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 30 15:27:56 2026 -0700"
      },
      "message": "Internal change\n\nPiperOrigin-RevId: 908407056\n"
    }
  ],
  "next": "5ddd5244f7a04539e59f97fbc0c0df02334d0b12"
}
