)]}'
{
  "commit": "e4226bfcc2174349cfbbc1635db793152ec2e6c8",
  "tree": "c4b2570f67606ddc929582e8fc281766d9976914",
  "parents": [
    "b8295516c522ec3eb1ecc0479951b4ef21764561"
  ],
  "author": {
    "name": "Lloyd Pique",
    "email": "lpique@google.com",
    "time": "Thu Sep 24 11:51:04 2026 -0700"
  },
  "committer": {
    "name": "CQ Bot Account",
    "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Sep 24 11:51:04 2026 -0700"
  },
  "message": "pw_env_setup: Roll the Python protobuf package to 7.36.2\n\nUpdates the Python environment from protobuf 6.33.5 to 7.36.2, with\nrelated uprevs to other Python packages that needed to match. The\nconstraint and lock files are updated to match.\n\nThe Bazel deps for protobuf et al are NOT rolled, to give a window for\ndownstream projects to roll their bazel deps without build breakage, as\nit is not possible to build with a newer protoc version (controlled by\nthe bazel_dep and/or CIPD configuration) before this change lands, but\nit is after.\n\nThe followup to update Pigweed\u0027s bazel_deps will follow.\n\nPython packages updated:\n- protobuf: 6.33.5 -\u003e 7.36.2\n- mypy-protobuf: 3.7.0 -\u003e 5.1.0\n- types-protobuf: 6.32.1.20251210 -\u003e 7.34.1.20260518\n- googleapis-common-protos: 1.70.0 -\u003e 1.75.0\n- google-api-core: 2.29.0 -\u003e 2.33.0\n- proto-plus: 1.27.1 -\u003e 1.28.2\n- requests: 2.32.5 -\u003e 2.33.0\n- certifi: 2021.10.8 -\u003e 2024.12.14\n\nAdditional Python changes to resolve mypy checks after this roll:\n- pw_tokenizer/py/pw_tokenizer/proto/__init__.py\n- pw_rpc/py/pw_rpc/descriptors.py\n- pw_build/py/pw_build/workflows/build_driver.py\n\nNO_IFTTT\u003dIntentional two-stage roll (Python wheel preroll before Bazel/CIPD roll)\n\nBug: 531678426\nTest: Presubmit\nChange-Id: I803884c0c20c65b0c8d782da01bf886c796d0182\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/478565\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ff336a904e29a68b6970d28ba4167642b11ceb1f",
      "old_mode": 33188,
      "old_path": "pw_build/py/pw_build/workflows/build_driver.py",
      "new_id": "743997b2b7d89819146ee15fb3ce4000202209a7",
      "new_mode": 33188,
      "new_path": "pw_build/py/pw_build/workflows/build_driver.py"
    },
    {
      "type": "modify",
      "old_id": "8d4b3e4151c8cfdd96cdeed7171a7a0f7bc035f8",
      "old_mode": 33188,
      "old_path": "pw_env_setup/py/pw_env_setup/virtualenv_setup/constraint.list",
      "new_id": "ee99ca905fefe5d17e5c256617429be267046e89",
      "new_mode": 33188,
      "new_path": "pw_env_setup/py/pw_env_setup/virtualenv_setup/constraint.list"
    },
    {
      "type": "modify",
      "old_id": "854e4783e98471823c5876a1314157f59fc300ef",
      "old_mode": 33188,
      "old_path": "pw_env_setup/py/pw_env_setup/virtualenv_setup/constraint_hashes_darwin.list",
      "new_id": "48c99c86a5c760a83c21cf3daca390aba02546bd",
      "new_mode": 33188,
      "new_path": "pw_env_setup/py/pw_env_setup/virtualenv_setup/constraint_hashes_darwin.list"
    },
    {
      "type": "modify",
      "old_id": "38b00ff2b4fae39d2a3f2a48768363cc3c2427a8",
      "old_mode": 33188,
      "old_path": "pw_env_setup/py/pw_env_setup/virtualenv_setup/constraint_hashes_linux.list",
      "new_id": "1df4e11fb56bc718556bc67b0f15c6ca4ed663c9",
      "new_mode": 33188,
      "new_path": "pw_env_setup/py/pw_env_setup/virtualenv_setup/constraint_hashes_linux.list"
    },
    {
      "type": "modify",
      "old_id": "dbe0d3dbb7bfac466bd994559bb795a5a21ce940",
      "old_mode": 33188,
      "old_path": "pw_env_setup/py/pw_env_setup/virtualenv_setup/constraint_hashes_windows.list",
      "new_id": "f545e00a53856e56f4d9300236bd4a4e984fc8c2",
      "new_mode": 33188,
      "new_path": "pw_env_setup/py/pw_env_setup/virtualenv_setup/constraint_hashes_windows.list"
    },
    {
      "type": "modify",
      "old_id": "d3c9c8b6d86a2b260f09765bffbf3c825648ed4e",
      "old_mode": 33188,
      "old_path": "pw_env_setup/py/pw_env_setup/virtualenv_setup/upstream_requirements_darwin_lock.txt",
      "new_id": "48d47f909b2de28338b535274d0c717612b6f244",
      "new_mode": 33188,
      "new_path": "pw_env_setup/py/pw_env_setup/virtualenv_setup/upstream_requirements_darwin_lock.txt"
    },
    {
      "type": "modify",
      "old_id": "d2d71341eb506a9416a1b19719cc76aba146c443",
      "old_mode": 33188,
      "old_path": "pw_env_setup/py/pw_env_setup/virtualenv_setup/upstream_requirements_linux_lock.txt",
      "new_id": "a0b996d079d0fc694e01f9e268bfa635583d6aee",
      "new_mode": 33188,
      "new_path": "pw_env_setup/py/pw_env_setup/virtualenv_setup/upstream_requirements_linux_lock.txt"
    },
    {
      "type": "modify",
      "old_id": "1810d1a301f98fdd9085f475ae5d0390cf57eb4f",
      "old_mode": 33188,
      "old_path": "pw_env_setup/py/pw_env_setup/virtualenv_setup/upstream_requirements_windows_lock.txt",
      "new_id": "e246fbafc701286adf3252a35d30e0ce6d7bd7c0",
      "new_mode": 33188,
      "new_path": "pw_env_setup/py/pw_env_setup/virtualenv_setup/upstream_requirements_windows_lock.txt"
    },
    {
      "type": "modify",
      "old_id": "ee0d558ae831b3ec8a3219847a334b47970eb29c",
      "old_mode": 33188,
      "old_path": "pw_protobuf/py/setup.cfg",
      "new_id": "0241225340b364456556299d0447240044d06588",
      "new_mode": 33188,
      "new_path": "pw_protobuf/py/setup.cfg"
    },
    {
      "type": "modify",
      "old_id": "658182faf935c3a635c165d5e32c681a7e7e0d93",
      "old_mode": 33188,
      "old_path": "pw_protobuf_compiler/py/setup.cfg",
      "new_id": "f308c836cc4595ace899c2d7abc35a1106fddec7",
      "new_mode": 33188,
      "new_path": "pw_protobuf_compiler/py/setup.cfg"
    },
    {
      "type": "modify",
      "old_id": "51ffb448ff40c777b105cc5b5874dd4107d82d2d",
      "old_mode": 33188,
      "old_path": "pw_rpc/py/pw_rpc/descriptors.py",
      "new_id": "85296e3246be324b613830fd4a6071c348d80acc",
      "new_mode": 33188,
      "new_path": "pw_rpc/py/pw_rpc/descriptors.py"
    },
    {
      "type": "modify",
      "old_id": "04344fedd67a11446f82a39137f832069d662db8",
      "old_mode": 33188,
      "old_path": "pw_tokenizer/py/pw_tokenizer/proto/__init__.py",
      "new_id": "38f6c4b0404b34ff67edcbcfdb6a5d8e18767c7f",
      "new_mode": 33188,
      "new_path": "pw_tokenizer/py/pw_tokenizer/proto/__init__.py"
    }
  ]
}
