)]}'
{
  "commit": "d0e25cfb41446e481da6e85f04ad0ac5bcf7ea80",
  "tree": "e28c7fb737c580a45c0d1643d7da4397bcae46ef",
  "parents": [
    "ae1e1a014d88a9862c232daafcb6b1025b2928ae"
  ],
  "author": {
    "name": "Ivo List",
    "email": "ilist@google.com",
    "time": "Wed Jun 05 12:40:12 2024 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Jun 05 10:40:12 2024 +0000"
  },
  "message": "feat: Upgrade to protobuf 27.0 and remove py_proto_library (#1933)\n\nProtobuf team is taking ownership of `py_proto_library` and the\nimplementation was moved to protobuf repository.\n\nRemove py_proto_library from rules_python, to prevent divergent\nimplementations.\n\nMake a redirect with a deprecation warning, so that this doesn\u0027t break\nany users.\n\nExpected side effect of this change is also that the protobuf version is\nsufficiently updated that there is no more use of legacy struct\nproviders.\n\nCloses #1935 \nCloses #1924 \nCloses #1925 \nCloses #1703 \nCloses #1707 \nCloses #1597 \nCloses #1293 \nCloses #1080\nFixes #1438",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "30138d3be6757e19aeeeee212d7b1c8e5de61f24",
      "old_mode": 33188,
      "old_path": ".bazelci/presubmit.yml",
      "new_id": "c2d172d7e1a817a87a5cd0d754b8fc3bcfff9d45",
      "new_mode": 33188,
      "new_path": ".bazelci/presubmit.yml"
    },
    {
      "type": "modify",
      "old_id": "7a9e4e6fd8f5add7c5d39344aafcd11dce53a403",
      "old_mode": 33188,
      "old_path": "CHANGELOG.md",
      "new_id": "ca62e386dd4c56b562cca82ff0e0e8300eb24f2d",
      "new_mode": 33188,
      "new_path": "CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "7064dfc84f75a7547d919d8e57610b33807e14c3",
      "old_mode": 33188,
      "old_path": "MODULE.bazel",
      "new_id": "04d8fb211e7df1f93ae3e381829dfb52739339c0",
      "new_mode": 33188,
      "new_path": "MODULE.bazel"
    },
    {
      "type": "modify",
      "old_id": "90e930568433cd2c1ad1f81f62c4dde973430980",
      "old_mode": 33188,
      "old_path": "WORKSPACE",
      "new_id": "d30ccb02fd6e074c08ea13a4033fa076fea74c62",
      "new_mode": 33188,
      "new_path": "WORKSPACE"
    },
    {
      "type": "modify",
      "old_id": "ca89afe8af50b770b1f1919a58957fa349cf384e",
      "old_mode": 33188,
      "old_path": "WORKSPACE.bzlmod",
      "new_id": "7829af6f212dbad9f2532fd29e1bb111c1812756",
      "new_mode": 33188,
      "new_path": "WORKSPACE.bzlmod"
    },
    {
      "type": "modify",
      "old_id": "0d30161147c6633fd00b7a499d3a53bfd8c0f476",
      "old_mode": 33188,
      "old_path": "examples/bzlmod/MODULE.bazel",
      "new_id": "2e28bd6270e91ba61d3c6882f61a308214c604a7",
      "new_mode": 33188,
      "new_path": "examples/bzlmod/MODULE.bazel"
    },
    {
      "type": "modify",
      "old_id": "806fcb9dccaf22bd057ffc73ffaaaf97896dafdd",
      "old_mode": 33188,
      "old_path": "examples/bzlmod/py_proto_library/example.com/another_proto/BUILD.bazel",
      "new_id": "80f0470741e62a8e70a3889c672675f1da0d00aa",
      "new_mode": 33188,
      "new_path": "examples/bzlmod/py_proto_library/example.com/another_proto/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "fa20f2ce947ba102a8a457e7f5dc6ab8e6d80846",
      "old_mode": 33188,
      "old_path": "examples/bzlmod/py_proto_library/example.com/proto/BUILD.bazel",
      "new_id": "3bc9d1b739e2b657d86f1dcaea8409875d8e3a15",
      "new_mode": 33188,
      "new_path": "examples/bzlmod/py_proto_library/example.com/proto/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "81f189dbbf2e8724031bf6eff6d0859e4d2426c8",
      "old_mode": 33188,
      "old_path": "examples/py_proto_library/WORKSPACE",
      "new_id": "7892c69c4d238dc2d5060d3e7791c3afbfdc3711",
      "new_mode": 33188,
      "new_path": "examples/py_proto_library/WORKSPACE"
    },
    {
      "type": "modify",
      "old_id": "dd58265bc981bf1b9bfb85e4d912dee42a0eb5b7",
      "old_mode": 33188,
      "old_path": "examples/py_proto_library/example.com/another_proto/BUILD.bazel",
      "new_id": "126dd9b46d741dc8df9e67d644346b24e1e48bf0",
      "new_mode": 33188,
      "new_path": "examples/py_proto_library/example.com/another_proto/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "dc91162aa6dda1989f20aad16cf2e1e8510c9b2c",
      "old_mode": 33188,
      "old_path": "examples/py_proto_library/example.com/proto/BUILD.bazel",
      "new_id": "0084a617949345a377236bb2ea65676087a7cfa4",
      "new_mode": 33188,
      "new_path": "examples/py_proto_library/example.com/proto/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "881875164429c60cbed4c8d8c417bc62d2917b31",
      "old_mode": 33188,
      "old_path": "internal_deps.bzl",
      "new_id": "8c604c40327cbc73667644a4114926b124c8b54f",
      "new_mode": 33188,
      "new_path": "internal_deps.bzl"
    },
    {
      "type": "modify",
      "old_id": "bb62611213fe39f55e6996dac68b70c29ad54881",
      "old_mode": 33188,
      "old_path": "internal_setup.bzl",
      "new_id": "6614ad355edb972cc3de39845cd826cd5a4862b9",
      "new_mode": 33188,
      "new_path": "internal_setup.bzl"
    },
    {
      "type": "modify",
      "old_id": "cbf29964fba936c1a8c2adc8ce03d3af975af3e8",
      "old_mode": 33188,
      "old_path": "python/BUILD.bazel",
      "new_id": "100a8c04a5bc7c279ec996c5cb340a0f8c5aaf99",
      "new_mode": 33188,
      "new_path": "python/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "1dc6c88ae84c2dd43daafdae573e73d417e6a5a3",
      "old_mode": 33188,
      "old_path": "python/private/BUILD.bazel",
      "new_id": "ab077c6f59883970eb1fb45874e2cf9d222940bd",
      "new_mode": 33188,
      "new_path": "python/private/BUILD.bazel"
    },
    {
      "type": "delete",
      "old_id": "65c09444f72109607cebe940372caa61b6845e97",
      "old_mode": 33188,
      "old_path": "python/private/proto/BUILD.bazel",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "e123ff847659597e758670428ab17a7ed5a935ca",
      "old_mode": 33188,
      "old_path": "python/private/proto/py_proto_library.bzl",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "3f455aee58168447e430ec669f71f5b987cad86b",
      "old_mode": 33188,
      "old_path": "python/proto.bzl",
      "new_id": "2ea9bdb15356b5296c1d4115dc7fcf6463f06366",
      "new_mode": 33188,
      "new_path": "python/proto.bzl"
    }
  ]
}
