)]}'
{
  "commit": "47e18b1f000f8566519fb7fc750e941591e78560",
  "tree": "0cfd62db333799c13698fef2fb5df0a38dc3837a",
  "parents": [
    "3821f833fb1946757adbc4ba17e7bd3e96d681dd"
  ],
  "author": {
    "name": "Richard Levasseur",
    "email": "richardlev@gmail.com",
    "time": "Fri Aug 28 00:15:22 2026 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Aug 28 00:15:22 2026 +0000"
  },
  "message": "fix(pypi): append .bat extension for rewritten shebang scripts in RECORD on Windows (#4114)\n\nOn Windows, wheel scripts with Python shebangs are rewritten as .bat\nwrappers, but the generated RECORD file retained extensionless script\npaths. This caused importlib.metadata file resolution and RECORD\nverification to fail when locating installed scripts.\n\nPass the list of rewritten scripts from whl_library_srcs to\ngen_wheel_record and update the RECORD rewriters to append .bat only to\nthose rewritten script entries on Windows.\n\n* Migrate importlib_metadata_test to pytest_test across Python 3.10-3.14\n  and add Windows .bat verification.",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b68e75bf9158d91f1e04f75ef061176b377f0fc4",
      "new_mode": 33188,
      "new_path": "news/4114.fixed.md"
    },
    {
      "type": "modify",
      "old_id": "6dd211f7763a6cc51d73cb47707e563cfe0c1d9a",
      "old_mode": 33188,
      "old_path": "python/private/pypi/gen_wheel_record.bzl",
      "new_id": "e85f6b98fa477bedca50d3b8d826ed33f20c0439",
      "new_mode": 33188,
      "new_path": "python/private/pypi/gen_wheel_record.bzl"
    },
    {
      "type": "modify",
      "old_id": "60dd0eca112900b5c9981f0939bddb08bcd01342",
      "old_mode": 33188,
      "old_path": "python/private/pypi/wheel_record_rewriter.ps1",
      "new_id": "6b6f0de2890ac3dea23f7086ecd978461b518a88",
      "new_mode": 33188,
      "new_path": "python/private/pypi/wheel_record_rewriter.ps1"
    },
    {
      "type": "modify",
      "old_id": "10189435e1c4bab3dded30499ab0d87034d9dd62",
      "old_mode": 33261,
      "old_path": "python/private/pypi/wheel_record_rewriter.sh",
      "new_id": "4d93f2a3ae02ad94109041c19d41dbd2f465c92e",
      "new_mode": 33261,
      "new_path": "python/private/pypi/wheel_record_rewriter.sh"
    },
    {
      "type": "modify",
      "old_id": "80a0d8a6dcba1fb84718f687df17878eb0a76cd7",
      "old_mode": 33188,
      "old_path": "python/private/pypi/whl_library_srcs.bzl",
      "new_id": "128c46e128daa8529537651c4b32736bed85de04",
      "new_mode": 33188,
      "new_path": "python/private/pypi/whl_library_srcs.bzl"
    },
    {
      "type": "modify",
      "old_id": "c5880520ad807d1f62414f9525a881ae7f7f6de1",
      "old_mode": 33261,
      "old_path": "tests/pypi/whl_extract/wheel_record_rewriter_test.sh",
      "new_id": "0076ec0c80a0f23ff0f345ad459be95a11fc34b1",
      "new_mode": 33261,
      "new_path": "tests/pypi/whl_extract/wheel_record_rewriter_test.sh"
    },
    {
      "type": "modify",
      "old_id": "f7e1e6d2cff97f967fdd41570cc7478125c79b7f",
      "old_mode": 33188,
      "old_path": "tests/pypi/whl_extract/whl_extract_tests.bzl",
      "new_id": "6f3d8e02772730af7b209c15786ecf977db215e7",
      "new_mode": 33188,
      "new_path": "tests/pypi/whl_extract/whl_extract_tests.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "057e62127fe5d86932de87273e4b4eef7f2edc1f",
      "new_mode": 33261,
      "new_path": "tests/repos/whl_with_data1/whl_with_data1-1.0.data/scripts/whl_shell_tool"
    },
    {
      "type": "modify",
      "old_id": "10307c76a0e5bdbf96f129ac440d8eebc677f5e6",
      "old_mode": 33188,
      "old_path": "tests/repos/whl_with_data1/whl_with_data1-1.0.dist-info/RECORD",
      "new_id": "c0a6470149b5c0781af5c06769ec06fefc40519b",
      "new_mode": 33188,
      "new_path": "tests/repos/whl_with_data1/whl_with_data1-1.0.dist-info/RECORD"
    },
    {
      "type": "modify",
      "old_id": "6a7b3b9e12f767b0352665dc28fa149cbfceb620",
      "old_mode": 33188,
      "old_path": "tests/venv_site_packages_libs/BUILD.bazel",
      "new_id": "d70fd6cdf41f11f5f99b6cfe16ab9ba23d085da2",
      "new_mode": 33188,
      "new_path": "tests/venv_site_packages_libs/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "eb16a6b6afc1cb754e9bd932cde6ca0fdba8a53a",
      "old_mode": 33188,
      "old_path": "tests/venv_site_packages_libs/importlib_metadata_test.py",
      "new_id": "93f7964f86cccd9b1afa2382a0284889b36c1e73",
      "new_mode": 33188,
      "new_path": "tests/venv_site_packages_libs/importlib_metadata_test.py"
    }
  ]
}
