)]}'
{
  "commit": "62ba9b4a1d46be1f1fb8bc2e09a9be69e2d106a1",
  "tree": "a9d61ec6b8b41acff8687e1403f4a36921fa4aa3",
  "parents": [
    "329ec838400c18d364062f5ec75dbe4263461d37"
  ],
  "author": {
    "name": "Junru Shao",
    "email": "junrushao@apache.org",
    "time": "Mon Jul 13 00:49:26 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Jul 13 15:49:26 2026 +0800"
  },
  "message": "build(python)!: require CMake 3.26 for ABI-aware builds (#661)\n\nArchitecture:\n- Split Python interpreter discovery from development-component\ndiscovery so the extension ABI is known before CMake resolves link\ntargets.\n- Detect Py_GIL_DISABLED with the selected interpreter, pin its exact\nversion, and request only the development components used by that ABI\nbranch.\n- Set CMake 3.26 as the project minimum, matching the first release that\nprovides Development.SABIModule and python_add_library(USE_SABI).\n\nPublic Interfaces:\n- Standard CPython 3.12 and newer requires Development.Module and\nDevelopment.SABIModule and produces an abi3 extension.\n- Free-threaded CPython and CPython older than 3.12 require only\nDevelopment.Module and produce a version-specific extension with SOABI.\n- Building the root project now requires CMake 3.26 or newer. Runtime\nAPIs and the stable TVM FFI C ABI are unchanged.\n\nUI/UX:\n- none\n\nBehavioral Changes:\n- Stop requiring stable-ABI development artifacts for configurations\nthat cannot use the Limited API, including free-threaded CPython.\n- Preserve the existing abi3 path for standard CPython 3.12 and newer\nwhile allowing declared cp314t builds to configure against their native\nABI.\n- Fail early with an explicit CMake version requirement instead of\nreaching unsupported FindPython components or USE_SABI options on older\nCMake.\n\nDocs:\n- Raise the CMake prerequisite to 3.26 in the source-build guide,\nAGENTS.md, and the tracked developer-tool reference.\n\nTests:\n- Executed: staged pre-commit hooks, isolated CMake configuration for\nthe C++ project, and isolated CMake configuration with the Python module\nenabled.\n- Result: all executed checks passed.\n\nUntested Edge Cases:\n- Free-threaded CPython, Windows, and Python versions older than 3.12\nwere not available locally; their component selection remains covered by\nthe explicit CMake branches and should be exercised in CI.\n- Compilation, wheel creation, and the full unit-test suites were not\nrerun because this commit changes configuration and dependency selection\nonly.\n\nBREAKING CHANGE: Building TVM FFI now requires CMake 3.26 or newer.\nUpgrade CMake before configuring either the standalone C++ project or\nPython package.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "92841f191cfb7822fdfa4c77fa45267524af45e2",
      "old_mode": 33188,
      "old_path": ".agents/skills/devtools/SKILL.md",
      "new_id": "5d85232a3968f990523dfd73109e281dbea78706",
      "new_mode": 33188,
      "new_path": ".agents/skills/devtools/SKILL.md"
    },
    {
      "type": "modify",
      "old_id": "2d4512b48d7ec440fa31f113b48fa97e66c4274f",
      "old_mode": 33188,
      "old_path": "AGENTS.md",
      "new_id": "9cf24519ec09bc3b21aa3767e0bdddb7c4858396",
      "new_mode": 33188,
      "new_path": "AGENTS.md"
    },
    {
      "type": "modify",
      "old_id": "d0cb8f08da2eec6bea652863817b5b06ac8cefcd",
      "old_mode": 33188,
      "old_path": "CMakeLists.txt",
      "new_id": "9846b1671dde626bad4476ca8abd255cd574bc2b",
      "new_mode": 33188,
      "new_path": "CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "f293aae5eb75f136eedb5cf849169c9044e81c10",
      "old_mode": 33188,
      "old_path": "docs/dev/source_build.rst",
      "new_id": "31f692b459130ed2de5ebc69da979b427cd143ad",
      "new_mode": 33188,
      "new_path": "docs/dev/source_build.rst"
    }
  ]
}
