)]}'
{
  "commit": "dc24b8a6d42231ebc821baeda662e1168b52aa26",
  "tree": "c86a6f4103247f2ca9c0a2b74d4b70581a03b7cd",
  "parents": [
    "1efd9939c8742a251f232f09ccd0c1def7fda66e"
  ],
  "author": {
    "name": "Ramin Farajpour Cami",
    "email": "ramin.blackhat@gmail.com",
    "time": "Tue Mar 17 15:08:53 2026"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Mar 17 15:08:53 2026"
  },
  "message": "gh-145966: Fix _csv DIALECT_GETATTR macro silently masking non-AttributeError exceptions (GH-145974)\n\nThe DIALECT_GETATTR macro in dialect_new() unconditionally called\nPyErr_Clear() when PyObject_GetAttrString() failed, which suppressed\nall exceptions including MemoryError, KeyboardInterrupt, and\nRuntimeError. Now only AttributeError is cleared; other exceptions\npropagate via the existing error handling path.\n\nCo-authored-by: Bénédikt Tran \u003c10796600+picnixz@users.noreply.github.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "df79840088abc362bc5236169551325012eadf28",
      "old_mode": 33188,
      "old_path": "Lib/test/test_csv.py",
      "new_id": "2e5b72742c3f4142a377ea49b7a9c2a20c8ef673",
      "new_mode": 33188,
      "new_path": "Lib/test/test_csv.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c0d4907ada073c1f08c5eb4c9d7ed825ef9853d1",
      "new_mode": 33188,
      "new_path": "Misc/NEWS.d/next/Library/2026-03-15-00-00-00.gh-issue-145966.tCI0uD4I.rst"
    },
    {
      "type": "modify",
      "old_id": "1f41976e95fdb1889ece2befa6c420c89c87ab63",
      "old_mode": 33188,
      "old_path": "Modules/_csv.c",
      "new_id": "c48f44c0f07867b6e1f0a889e5b4a6884357d594",
      "new_mode": 33188,
      "new_path": "Modules/_csv.c"
    }
  ]
}
