)]}'
{
  "commit": "3e245faf34efc41c39bbe76071e6edb7a62692a8",
  "tree": "87d3e7ef8cdbadd7886183f99a625a30fb1f3c66",
  "parents": [
    "de2ea9aaefebd1b06e5302c1858d70e00cd63639"
  ],
  "author": {
    "name": "Vyron Vasileiadis",
    "email": "hi@fedonman.com",
    "time": "Sat Aug 29 03:08:53 2026"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sat Aug 29 03:08:53 2026"
  },
  "message": "gh-153772: Make abc isinstance() tolerate instances without __class__ (#154149)\n\nThe built-in isinstance() reads an instance\u0027s __class__ with a lookup that\nsuppresses AttributeError and falls back to the object\u0027s type, so\nisinstance(obj, int) returns False for an object whose __class__ access\nraises. ABCMeta.__instancecheck__ read __class__ directly instead, so\nisinstance(obj, Mapping) leaked that AttributeError.\n\nFall back to type(instance) when __class__ is unavailable, in both the C\nand the pure-Python implementations, so the abstract base classes behave\nlike the built-in isinstance(). Such objects are unusual, but they do turn\nup in the wild (for example some Qt widgets).",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c870ae9048b4f131a71beb1b5827ba13f0eda2f3",
      "old_mode": 33188,
      "old_path": "Lib/_py_abc.py",
      "new_id": "2bfb9489a7acdcb9c11b23fa948c87cb3a2c3f4c",
      "new_mode": 33188,
      "new_path": "Lib/_py_abc.py"
    },
    {
      "type": "modify",
      "old_id": "59a45a2eda07b00a284fd152282789a2b4693e2c",
      "old_mode": 33188,
      "old_path": "Lib/test/test_abc.py",
      "new_id": "814d7fff2f41351d3765f079647f337d9da9a2d7",
      "new_mode": 33188,
      "new_path": "Lib/test/test_abc.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9393384151450d8b15aa7c8543cec74decb5b545",
      "new_mode": 33188,
      "new_path": "Misc/NEWS.d/next/Library/2026-07-19-17-05-00.gh-issue-153772.cobjTK.rst"
    },
    {
      "type": "modify",
      "old_id": "5826efbfecb6901d4b7efec07988b89fa9f66fc1",
      "old_mode": 33188,
      "old_path": "Modules/_abc.c",
      "new_id": "bca9066d340ee439465d8fc08b395d5943816181",
      "new_mode": 33188,
      "new_path": "Modules/_abc.c"
    }
  ]
}
