)]}'
{
  "commit": "9e6968fd01afa1d21e30fb0d9cf79df2611c0a85",
  "tree": "ae7ac783fc5a342daf451122bde23437d9109c43",
  "parents": [
    "9c75a05bb348f3b974f8e735dc5c840c4696dd85"
  ],
  "author": {
    "name": "Protobuf Team Bot",
    "email": "protobuf-github-bot@google.com",
    "time": "Fri Oct 16 10:43:03 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Fri Oct 16 10:46:17 2026 -0700"
  },
  "message": "Use direct array indexing in array-backed ByteString iterators.\n\n`ByteString.iterator()` previously returned an anonymous `AbstractByteIterator` whose outer reference held ByteString, calling `internalByteAt(currentPos)`.\n\nIn situations where JVM is not able to monomorphize this across `ByteString` subclasses, this may lead to real overhead in cases including going over the leaf iterators allocated inside `RopeByteString.iterator()`.\n\nPiperOrigin-RevId: 1000954635\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "28ebffe48a4a2470162f6cd778942fecc2206318",
      "old_mode": 33188,
      "old_path": "java/core/src/main/java/com/google/protobuf/ByteString.java",
      "new_id": "af830177da55211cf2342a832f3f67af3f585a2c",
      "new_mode": 33188,
      "new_path": "java/core/src/main/java/com/google/protobuf/ByteString.java"
    },
    {
      "type": "modify",
      "old_id": "ce718f8911360b8431dab2a484a193a3e90c3031",
      "old_mode": 33188,
      "old_path": "java/core/src/test/java/com/google/protobuf/ByteStringTest.java",
      "new_id": "d95841b653fc1dbabea889a6cb4bca4b115d697a",
      "new_mode": 33188,
      "new_path": "java/core/src/test/java/com/google/protobuf/ByteStringTest.java"
    }
  ]
}
