)]}'
{
  "commit": "b2a8c38bb20e0a201bbc60f66371ee4e406f6dae",
  "tree": "721276e0bdc3ad23a2a0d4d5e58c9b7de59b9423",
  "parents": [
    "32bc2d61411fb71bdc84eb29c6859517e7f25f36"
  ],
  "author": {
    "name": "Serhiy Storchaka",
    "email": "storchaka@gmail.com",
    "time": "Mon Sep 09 12:04:51 2024"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Sep 09 12:04:51 2024"
  },
  "message": "gh-122311: Improve and unify pickle errors (GH-122771)\n\n* Raise PicklingError instead of UnicodeEncodeError, ValueError\r\n  and AttributeError in both implementations.\r\n* Chain the original exception to the pickle-specific one as __context__.\r\n* Include the error message of ImportError and some AttributeError in\r\n  the PicklingError error message.\r\n* Unify error messages between Python and C implementations.\r\n* Refer to documented __reduce__ and __newobj__ callables instead of\r\n  internal methods (e.g. save_reduce()) or pickle opcodes (e.g. NEWOBJ).\r\n* Include more details in error messages (what expected, what got).\r\n* Avoid including a potentially long repr of an arbitrary object in\r\n  error messages.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ade0491ca740b601c77d429d35a13621c79be522",
      "old_mode": 33188,
      "old_path": "Lib/pickle.py",
      "new_id": "f40b8e3adbe333895920399ea3f6015d7e840f4e",
      "new_mode": 33188,
      "new_path": "Lib/pickle.py"
    },
    {
      "type": "modify",
      "old_id": "2e16b6b741b0b9b1c520c24a2ec6ec460fbbfd2f",
      "old_mode": 33188,
      "old_path": "Lib/test/pickletester.py",
      "new_id": "e2297e5dd1a8e78e8ab14f09c86e7932317c28e3",
      "new_mode": 33188,
      "new_path": "Lib/test/pickletester.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "07ade2034bfcf5eb5ad3f2f119276ae85eb10a09",
      "new_mode": 33188,
      "new_path": "Misc/NEWS.d/next/Library/2024-08-07-11-57-41.gh-issue-122311.LDExnJ.rst"
    },
    {
      "type": "modify",
      "old_id": "e0eda6080e42b3fce0c59b5d42da3049378170f4",
      "old_mode": 33188,
      "old_path": "Modules/_pickle.c",
      "new_id": "9863baf0a29660932143ebaf1f94539e8f6fd230",
      "new_mode": 33188,
      "new_path": "Modules/_pickle.c"
    }
  ]
}
