)]}'
{
  "commit": "ab564d2466a14f1926cb5c4e3a00603fdbe7cbf1",
  "tree": "95401b55205ed7740c8659542db574a542ecc819",
  "parents": [
    "0d04f69bcebcd3529ea6dc27605ffd20ffc61b79"
  ],
  "author": {
    "name": "Runze Wang",
    "email": "runze@google.com",
    "time": "Mon Oct 19 12:48:40 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Mon Oct 19 12:51:37 2026 -0700"
  },
  "message": "Breaking change: Raise IndexError for out-of-range indices in RepeatedContainer.pop() in Python upb implementation.\n\nPreviously, calling pop(index) on a repeated field with an index greater than\nor equal to the container\u0027s length emitted a FutureWarning and clamped the\nindex to the last element, removing and returning the last element instead. It\nnow raises IndexError, consistent with Python\u0027s native list.pop() behaviour and the\nPython protobuf pure-Python and C++ implementations.\n\nhttps://protobuf.dev/news/2026-09-22/#repeatedcontainerpop\n\nPiperOrigin-RevId: 1002527165\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "87a651dcb0e43f6ffd9196c97c1273a03d3a05e2",
      "old_mode": 33188,
      "old_path": "python/google/protobuf/breaking_changes.h",
      "new_id": "901281fe7556d11b10f9fc71953419df20627fba",
      "new_mode": 33188,
      "new_path": "python/google/protobuf/breaking_changes.h"
    },
    {
      "type": "modify",
      "old_id": "b7157ef838f8f8e088033396fb6640e91155184a",
      "old_mode": 33261,
      "old_path": "python/google/protobuf/internal/message_test.py",
      "new_id": "5cb41d82e2bd29aa4a71466f1673b57fe3ea2c23",
      "new_mode": 33261,
      "new_path": "python/google/protobuf/internal/message_test.py"
    },
    {
      "type": "modify",
      "old_id": "6be71419c1e856b1c5701b9ee580de66366a58f6",
      "old_mode": 33188,
      "old_path": "python/repeated.c",
      "new_id": "3b34fd25f6c5e89e1fbf32a690b8dbba889a4d15",
      "new_mode": 33188,
      "new_path": "python/repeated.c"
    }
  ]
}
