)]}'
{
  "commit": "1298511b41ec0f9be925c12f3830e94fe8f7e7dc",
  "tree": "b78c9417d7203fdd5d47a8c1f5d5aecb9fc8ab8e",
  "parents": [
    "d327159eb4dd286973d10af93999de90a860880a"
  ],
  "author": {
    "name": "Tim Hatch",
    "email": "timhatch@netflix.com",
    "time": "Wed May 21 01:32:41 2025"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed May 21 01:32:41 2025"
  },
  "message": "gh-72680: Fix false positives when using zipfile.is_zipfile() (GH-134250)\n\nbpo-28494: Improve zipfile.is_zipfile reliability\n\nThe zipfile.is_zipfile function would only search for the EndOfZipfile\nsection header. This failed to correctly identify non-zipfiles that\ncontained this header. Now the zipfile.is_zipfile function verifies\nthe first central directory entry.\n\nChanges:\n* Extended zipfile.is_zipfile to verify zipfile catalog\n* Added tests to validate failure of binary non-zipfiles\n* Reuse \u0027concat\u0027 handling for is_zipfile\n\nCo-authored-by: John Jolly \u003cjohn.jolly@gmail.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "43056978848c03bef1770ab55a3a9b9eae1d5224",
      "old_mode": 33188,
      "old_path": "Lib/test/test_zipfile/test_core.py",
      "new_id": "e93603998f979e644cacf702919cc362a108b216",
      "new_mode": 33188,
      "new_path": "Lib/test/test_zipfile/test_core.py"
    },
    {
      "type": "modify",
      "old_id": "894b4d37233923b5a58f8f50187d40e8a3003bee",
      "old_mode": 33188,
      "old_path": "Lib/zipfile/__init__.py",
      "new_id": "18caeb3e04a2b593b3f8c537d06a3a198c8e0bcf",
      "new_mode": 33188,
      "new_path": "Lib/zipfile/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0c518983770d5d2db072f809bc37ea3c7633bc84",
      "new_mode": 33188,
      "new_path": "Misc/NEWS.d/next/Library/2017-12-30-18-21-00.bpo-28494.Dt_Wks.rst"
    }
  ]
}
