)]}'
{
  "commit": "bfa59b93dead3e6c5c9f91063078b9e09c91ea5a",
  "tree": "e5ad60dfcfd21f6ee2bf3dfb166fcb1b88160004",
  "parents": [
    "06f6f316c27cf5dd57930536c2264fb99ddd18a9"
  ],
  "author": {
    "name": "Ignas Anikevicius",
    "email": "240938+aignas@users.noreply.github.com",
    "time": "Thu Mar 27 08:53:50 2025 +0900"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Mar 26 23:53:50 2025 +0000"
  },
  "message": "chore: remove old versions of Python 3.8 (#2700)\n\nPython 3.8 has reached EOL and this PR removes old toolchains and most\nof the tests. Users can still use it if they register the toolchains\nthemselves, but `rules_python` will no longer keep testing the\ntoolchains.\n\nRemoving the toolchains all-together will be done at a later stage which\nmay require us to be more clever how we handle asks to include `3.8`.\nMaybe\nwe can just fail if the user asks for a python version that does not\nexist,\nbut I am concerned that `rules_python` depending on `protobuf` may pull\nin\ncode that requests `3.8`. I\u0027ll look at this at some later time.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f1a912cf8022067e38bc20bc8eaf474366b40fc9",
      "old_mode": 33188,
      "old_path": ".bazelci/presubmit.yml",
      "new_id": "3b70734efff96df188dee7528b2547e800d58438",
      "new_mode": 33188,
      "new_path": ".bazelci/presubmit.yml"
    },
    {
      "type": "modify",
      "old_id": "96bf33dbd59b03a7c710862944ad45cede02fb83",
      "old_mode": 33188,
      "old_path": "CHANGELOG.md",
      "new_id": "c64241ccbf86a462400b5031a04c66082f3a0458",
      "new_mode": 33188,
      "new_path": "CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "578315741f530e27ed9f0b2f8896490b5b5b4440",
      "old_mode": 33188,
      "old_path": "examples/multi_python_versions/MODULE.bazel",
      "new_id": "74cb4b01df1238598e37e1a30acbaebeae53072d",
      "new_mode": 33188,
      "new_path": "examples/multi_python_versions/MODULE.bazel"
    },
    {
      "type": "modify",
      "old_id": "48d20652822d4adba9999627311668e8161fddd4",
      "old_mode": 33188,
      "old_path": "examples/multi_python_versions/WORKSPACE",
      "new_id": "6b69e0a891e5c20d298ba628b3f1a025572382e9",
      "new_mode": 33188,
      "new_path": "examples/multi_python_versions/WORKSPACE"
    },
    {
      "type": "modify",
      "old_id": "c9b695e8e456f0ddcabe7b3bdb1ba10ac7ba6df6",
      "old_mode": 33188,
      "old_path": "examples/multi_python_versions/requirements/BUILD.bazel",
      "new_id": "516a378df85d23d32d42dd5e0d20f9ae5c8e4a55",
      "new_mode": 33188,
      "new_path": "examples/multi_python_versions/requirements/BUILD.bazel"
    },
    {
      "type": "delete",
      "old_id": "10b5df48309a80dd1933083652fcb0901c6bb200",
      "old_mode": 33188,
      "old_path": "examples/multi_python_versions/requirements/requirements_lock_3_8.txt",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "e3dfb48cca20ee71f069f88a53b80ba68efc758a",
      "old_mode": 33188,
      "old_path": "examples/multi_python_versions/tests/BUILD.bazel",
      "new_id": "11fb98ca61138756507e7ee78aeffbb1cfe9bb3e",
      "new_mode": 33188,
      "new_path": "examples/multi_python_versions/tests/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "57a960c6a9b24c95faa78ad95aa1e1ae16447b15",
      "old_mode": 33188,
      "old_path": "python/versions.bzl",
      "new_id": "6343ee49c8bb4cae681da678f2d0c976635e90a8",
      "new_mode": 33188,
      "new_path": "python/versions.bzl"
    }
  ]
}
