)]}'
{
  "commit": "7ea47060104e053ec272c11909f90e639a67e87d",
  "tree": "a9f3b1df557e789c661da589d07140a780459c38",
  "parents": [
    "23e605cb1efb8a6f3c6831e2efaffacd71a215f0"
  ],
  "author": {
    "name": "Laramie Leavitt",
    "email": "lar@google.com",
    "time": "Fri Nov 21 20:02:42 2025 -0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sat Nov 22 04:02:42 2025 +0000"
  },
  "message": "fix(local) Add api3 targets and additional defines. (#3408)\n\nPropagate defines and additional dll requirements for local python\ninstalls.\n\nIn get_local_runtime_info.py:\n* detect abi3 vs. full abi libraries.\n* Ensure that returned libraries are unique.\n* Add additional dlls required by pythonXY.dll / pythonX.dll on windows.\n* Add default defines for Py_GIL_DISABLED when the local python is a\nfreethreaded install.\n* Add defines (windows) for Py_NO_LINK_LIB to avoid #pragma comment(lib\n...) macros\n\nIn local_runtime_repo_setup.bzl\n* More closely match hermetic_runtime_repo_setup\n* Add abi3 header targets.\n\nIn local_runtime_repo.bzl\n* rework linking to local repository directories to handl abi3 and extra\ndlls.\n* Update parameters passed into local_runtime_repo_setup.bzl\n\nBefore these changes, some bazel builds using local Python fail to link\nproperly.\nThis happens due to a mismatch in the interpreter and the python GIL\nDISABLED mode, or (on Windows), where both freethreaded and\nnon-freethreaded libraries may attempt to be linked at the same time.\n\n---------\n\nCo-authored-by: Richard Levasseur \u003crichardlev@gmail.com\u003e\nCo-authored-by: Richard Levasseur \u003crlevasseur@google.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4f1911f99ae0e85a75caee3bb2c943a5aceccf65",
      "old_mode": 33188,
      "old_path": "CHANGELOG.md",
      "new_id": "6709a9dff17c8c1f861876fbc5a8feb9271f6de9",
      "new_mode": 33188,
      "new_path": "CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "b20c159cfc1cc6b5468f31cd78247dbd588a1de2",
      "old_mode": 33188,
      "old_path": "python/private/get_local_runtime_info.py",
      "new_id": "a59e17a01201062a91dc54c0756a19322cabb4a8",
      "new_mode": 33188,
      "new_path": "python/private/get_local_runtime_info.py"
    },
    {
      "type": "modify",
      "old_id": "024f7c5e8a50a9aec87cc03013516d57e8a26164",
      "old_mode": 33188,
      "old_path": "python/private/local_runtime_repo.bzl",
      "new_id": "df27c749506cd6a99501fb38882e00a8ed5582c7",
      "new_mode": 33188,
      "new_path": "python/private/local_runtime_repo.bzl"
    },
    {
      "type": "modify",
      "old_id": "0ce1d4d76434b9ad9d3744d2c06230a8a00c142b",
      "old_mode": 33188,
      "old_path": "python/private/local_runtime_repo_setup.bzl",
      "new_id": "0922181ffe00d968a5d65942f3b84b0d82cb814b",
      "new_mode": 33188,
      "new_path": "python/private/local_runtime_repo_setup.bzl"
    }
  ]
}
