)]}'
{
  "commit": "70c83eec277fe8a1da85c36bcaaf5fb1877ab7f4",
  "tree": "6cd5155bd686785bace208ee020644e40a7aeb24",
  "parents": [
    "657c49a0cdf4c052e7790f4b7f463de6d455df1d"
  ],
  "author": {
    "name": "gfrankliu",
    "email": "17630355+gfrankliu@users.noreply.github.com",
    "time": "Mon Oct 05 03:27:50 2026 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Oct 05 03:27:50 2026 +0000"
  },
  "message": "feat(toolchains): allow selecting stripped python-build-standalone archives (#4192)\n\nHermetic runtimes always used install_only archives, which include\ndebug symbols. The install_only_stripped variants are much smaller;\nfor example, a Python 3.14 zipapp shrinks from 147 MB to 65 MB.\n\nAdd the `--@rules_python//python/config_settings:py_pbs_distribution`\nflag to select the archive: `auto` (default, currently `install_only`),\n`install_only`, `install_only_stripped`, or `full`. Because it is a\nbuild flag, one workspace can build stripped and unstripped runtimes,\ne.g. for prod and dev.\n\nToolchains are registered for each archive kind as\n`-install_only_stripped` and `-full` platform variants, like\n`-freethreaded`; only the selected runtime is downloaded. If a version\nor platform has no archive of the selected kind, the install_only\narchive is used. Built-in manifest entries now include stripped archive\nhashes for releases from 20240726 onward, sourced from the official\nSHA256SUMS files.\n\nFixes https://github.com/bazel-contrib/rules_python/issues/4163\n\n---------\n\nCo-authored-by: Richard Levasseur \u003crichardlev@gmail.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6267cf5e47916cdac9e5273d3fd8ba2b29019ffa",
      "old_mode": 33188,
      "old_path": ".github/workflows/backport_create_releases.yaml",
      "new_id": "15975437b83cb2dba8f289d837bb62c936e26a1e",
      "new_mode": 33188,
      "new_path": ".github/workflows/backport_create_releases.yaml"
    },
    {
      "type": "modify",
      "old_id": "22543b554e6a3fdec1430596aaece935063c9872",
      "old_mode": 33188,
      "old_path": ".github/workflows/backport_prepare.yaml",
      "new_id": "3db53f6871980cfc213ba0a9575d99b8fc97381e",
      "new_mode": 33188,
      "new_path": ".github/workflows/backport_prepare.yaml"
    },
    {
      "type": "modify",
      "old_id": "c01d1b802e5be494bc9377e1feed0400f86f5735",
      "old_mode": 33188,
      "old_path": ".github/workflows/on_pr_closed.yaml",
      "new_id": "764bfeff63973bb9e9a4683cdca899a32e8eb3c0",
      "new_mode": 33188,
      "new_path": ".github/workflows/on_pr_closed.yaml"
    },
    {
      "type": "modify",
      "old_id": "6cfd2fa388a249d3d747757776280bcd35a09fea",
      "old_mode": 33188,
      "old_path": ".github/workflows/release_add_backports.yaml",
      "new_id": "60d55939e218053f15ec4faf808cf4f2883a430e",
      "new_mode": 33188,
      "new_path": ".github/workflows/release_add_backports.yaml"
    },
    {
      "type": "modify",
      "old_id": "6d07024de6d57e13d7bf49e6c55b8097532c5060",
      "old_mode": 33188,
      "old_path": ".github/workflows/release_complete_prepare.yaml",
      "new_id": "5664f68bc3542b7553dc90e49f9c84bea8bd2f49",
      "new_mode": 33188,
      "new_path": ".github/workflows/release_complete_prepare.yaml"
    },
    {
      "type": "modify",
      "old_id": "1915a848cae4a71b295674ca5d7b3478af08326f",
      "old_mode": 33188,
      "old_path": ".github/workflows/release_create_rc.yaml",
      "new_id": "e7857f654242242f30a1afd2a5099b337549e723",
      "new_mode": 33188,
      "new_path": ".github/workflows/release_create_rc.yaml"
    },
    {
      "type": "modify",
      "old_id": "e4f271beaf4886a58f7400ee23e265ff480beca0",
      "old_mode": 33188,
      "old_path": ".github/workflows/release_create_release_branch.yaml",
      "new_id": "ce6c9c111a4e8195e6408d1254f54fc6140477dc",
      "new_mode": 33188,
      "new_path": ".github/workflows/release_create_release_branch.yaml"
    },
    {
      "type": "modify",
      "old_id": "fa99bc7697f9a0884a5720fe18fd9efdc260450a",
      "old_mode": 33188,
      "old_path": ".github/workflows/release_prepare.yaml",
      "new_id": "544826bf495c06b68ee7f055d7eb669d6f6bd5f4",
      "new_mode": 33188,
      "new_path": ".github/workflows/release_prepare.yaml"
    },
    {
      "type": "modify",
      "old_id": "49b3412c01126b0e4cc0bce30839f0d644151841",
      "old_mode": 33188,
      "old_path": ".github/workflows/release_process_backports.yaml",
      "new_id": "16b559a09713dae0c65ac65f8b09ea53f5a44368",
      "new_mode": 33188,
      "new_path": ".github/workflows/release_process_backports.yaml"
    },
    {
      "type": "modify",
      "old_id": "87989bdca15719fb6cf5381e7cce2f08c347e2e8",
      "old_mode": 33188,
      "old_path": ".github/workflows/release_promote.yaml",
      "new_id": "07337e73e2e5270e89df5e070a17452c138f476e",
      "new_mode": 33188,
      "new_path": ".github/workflows/release_promote.yaml"
    },
    {
      "type": "modify",
      "old_id": "bc1fc8c3a64a9855d951d94b91e78a69f3fdd2f0",
      "old_mode": 33188,
      "old_path": ".github/workflows/release_sync_changelog.yaml",
      "new_id": "52ced655f12608c67e11a36dc9b557794dfdb231",
      "new_mode": 33188,
      "new_path": ".github/workflows/release_sync_changelog.yaml"
    },
    {
      "type": "modify",
      "old_id": "f8d508220dfab010a7c07584e538beb45fa37f67",
      "old_mode": 33188,
      "old_path": ".github/workflows/release_sync_changelog_complete.yaml",
      "new_id": "889d6c4c9bf4795880f6ef63250edb5c186805c4",
      "new_mode": 33188,
      "new_path": ".github/workflows/release_sync_changelog_complete.yaml"
    },
    {
      "type": "modify",
      "old_id": "9ae0665da2334bf90fcd0fa5d990c87662c8dfb6",
      "old_mode": 33188,
      "old_path": "docs/api/rules_python/python/config_settings/index.md",
      "new_id": "830d0a62bfb7a3662f73bb6947dbb56c413a8920",
      "new_mode": 33188,
      "new_path": "docs/api/rules_python/python/config_settings/index.md"
    },
    {
      "type": "modify",
      "old_id": "3ddce7b97e7d5cec6ee61fe9d918fb531c57b6ad",
      "old_mode": 33188,
      "old_path": "docs/toolchains.md",
      "new_id": "0ada2081452973cfb006fe26fb494ea5763e326c",
      "new_mode": 33188,
      "new_path": "docs/toolchains.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "926efe8aa82c2abd1f7aa0634753fbf67773a191",
      "new_mode": 33188,
      "new_path": "news/4163.added.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "74bdc1737cf0073debe8af6c32ba68aa81825222",
      "new_mode": 33188,
      "new_path": "news/4163.changed.md"
    },
    {
      "type": "modify",
      "old_id": "a540d1dc3c8a22f2d63adb314c55a57aeaa4e3ce",
      "old_mode": 33188,
      "old_path": "python/config_settings/BUILD.bazel",
      "new_id": "fc59aaf60a7eb168fca635730f654bdbee1a41fd",
      "new_mode": 33188,
      "new_path": "python/config_settings/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "b88fb724a4f7801caef950c73fd9b0cf659f0340",
      "old_mode": 33188,
      "old_path": "python/private/BUILD.bazel",
      "new_id": "a59bf2a3fe376bf1119c28406efb4146c8f8ee0d",
      "new_mode": 33188,
      "new_path": "python/private/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "db4a00ba0a5b309f4b8b410d9151d0e94386ef76",
      "old_mode": 33188,
      "old_path": "python/private/common_labels.bzl",
      "new_id": "082ae06de06c3c6ebd3129e4a0f95446c8d8a42f",
      "new_mode": 33188,
      "new_path": "python/private/common_labels.bzl"
    },
    {
      "type": "modify",
      "old_id": "9cd729aff2ae44afc669a9e937fabd072c776d9a",
      "old_mode": 33188,
      "old_path": "python/private/config_settings.bzl",
      "new_id": "e4f2cac9b5b5026736fc485762e35afd3d456d8c",
      "new_mode": 33188,
      "new_path": "python/private/config_settings.bzl"
    },
    {
      "type": "modify",
      "old_id": "042e4e98380a218c5404b3241763849161cbe2af",
      "old_mode": 33188,
      "old_path": "python/private/flags.bzl",
      "new_id": "676163a59b073da18ad906e39aae0c6855af2a89",
      "new_mode": 33188,
      "new_path": "python/private/flags.bzl"
    },
    {
      "type": "modify",
      "old_id": "ad019df0a88eb5d4f59e30539b05d43428a2417d",
      "old_mode": 33188,
      "old_path": "python/private/pbs_manifest.bzl",
      "new_id": "04b604a82367c6918b2e082126185fcfe21894d5",
      "new_mode": 33188,
      "new_path": "python/private/pbs_manifest.bzl"
    },
    {
      "type": "modify",
      "old_id": "8256e1b856c4d5c2f1b73120b6de8bcb70471b0c",
      "old_mode": 33188,
      "old_path": "python/private/python.bzl",
      "new_id": "05334c3da1d548add6a88672867919ee3ac83cba",
      "new_mode": 33188,
      "new_path": "python/private/python.bzl"
    },
    {
      "type": "modify",
      "old_id": "770c6a6f3b2f5ec4f307b6ac963ba6ec5263f712",
      "old_mode": 33188,
      "old_path": "python/private/python_register_toolchains.bzl",
      "new_id": "3e93c2c0a4605ac9610952b0ec3f2e8697ff478d",
      "new_mode": 33188,
      "new_path": "python/private/python_register_toolchains.bzl"
    },
    {
      "type": "modify",
      "old_id": "493e0b8f618395c01bc656952ad535c01a5957af",
      "old_mode": 33261,
      "old_path": "python/private/runtimes_manifest.txt",
      "new_id": "8cb5df20ccd50b1b3c7426ee4056d6a679484303",
      "new_mode": 33261,
      "new_path": "python/private/runtimes_manifest.txt"
    },
    {
      "type": "modify",
      "old_id": "69e55ddbda7c71b82072bf1d729dd063ec41746b",
      "old_mode": 33188,
      "old_path": "python/private/runtimes_manifest_workspace.bzl",
      "new_id": "1e9f8fd780da518ad0cb0f8600322f8031143722",
      "new_mode": 33188,
      "new_path": "python/private/runtimes_manifest_workspace.bzl"
    },
    {
      "type": "modify",
      "old_id": "359fc51febe9f67f6ad7ca7749b338a9f4fd2936",
      "old_mode": 33188,
      "old_path": "python/private/toolchains_repo.bzl",
      "new_id": "14f7651707ecfd42116a363fdf1aa83aa5c15395",
      "new_mode": 33188,
      "new_path": "python/private/toolchains_repo.bzl"
    },
    {
      "type": "modify",
      "old_id": "d337044cb54fdf387aed68774aa6f89d829ed0de",
      "old_mode": 33188,
      "old_path": "python/private/transition_labels.bzl",
      "new_id": "f7a8389ab56e9a9083b2e03ef9538850203b50d7",
      "new_mode": 33188,
      "new_path": "python/private/transition_labels.bzl"
    },
    {
      "type": "modify",
      "old_id": "f238f067368ac93b008fa33a9754ee3200d85c88",
      "old_mode": 33188,
      "old_path": "python/versions.bzl",
      "new_id": "18814e88b0e443cb14ee3d7b3ad6c25f94c16f04",
      "new_mode": 33188,
      "new_path": "python/versions.bzl"
    },
    {
      "type": "modify",
      "old_id": "22cd5c26b0d2cadd7f4b5a9b56c6373184af0249",
      "old_mode": 33188,
      "old_path": "tests/python/python_tests.bzl",
      "new_id": "09f63916780ed6f55eec12aa3eaf8be77c043ac5",
      "new_mode": 33188,
      "new_path": "tests/python/python_tests.bzl"
    },
    {
      "type": "modify",
      "old_id": "6de0ff93c2d39555af59d9d390dc75c00be86a36",
      "old_mode": 33188,
      "old_path": "tests/python_bzlmod_ext/runtime_manifests_tests.bzl",
      "new_id": "99525817e4eee1e3fbc077185ce400a31779de7b",
      "new_mode": 33188,
      "new_path": "tests/python_bzlmod_ext/runtime_manifests_tests.bzl"
    }
  ]
}
