)]}'
{
  "commit": "37c7910072de4bf282f95f7c64f91155d6f2ce7e",
  "tree": "538255b51699481f3a3ea092c882c7c048b758d2",
  "parents": [
    "5501e8f84b7e735f1592b86492ab785a2f401bcf"
  ],
  "author": {
    "name": "Csaba Ringhofer",
    "email": "csringhofer@cloudera.com",
    "time": "Mon Sep 15 14:40:17 2025 +0200"
  },
  "committer": {
    "name": "Yuxuan \u0027fishy\u0027 Wang",
    "email": "fishywang@gmail.com",
    "time": "Tue Sep 16 18:23:18 2025 -0700"
  },
  "message": "THRIFT-5892: Always define PY_SSIZE_T_CLEAN before including Python.h\n\nThe error THRIFT-5488 tried to solve resurfaced in a spefic\nenvironment: Python3.11.13, chainguard based docker image, GCC 15\n\nDefining PY_SSIZE_T_CLEAN in module.cpp fixed the issue in that\nenvironment. Also defined it in types.cpp to consistently define\nit before including Python.h, which seems to be the recommended way:\nhttps://docs.python.org/3.11/c-api/intro.html#include-files\n\nIt is not clear to me why this was a problem in some environments\nand not in others. My guess is that including Python.h with different\ndefines leads to different behavior based on GCC version and options.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f14ddaeb60aeae95d36fffdd499e598e0ba0f23f",
      "old_mode": 33188,
      "old_path": "lib/py/src/ext/module.cpp",
      "new_id": "fbee51d167e22564c74bf2c961dc80dfc90670fb",
      "new_mode": 33188,
      "new_path": "lib/py/src/ext/module.cpp"
    },
    {
      "type": "modify",
      "old_id": "e8d6939b1d29f4a78981b62edf41d205ebb5d6d6",
      "old_mode": 33188,
      "old_path": "lib/py/src/ext/types.cpp",
      "new_id": "0c20e56224ef1e9c54b81a1a5ffa564f8a685f31",
      "new_mode": 33188,
      "new_path": "lib/py/src/ext/types.cpp"
    }
  ]
}
