)]}'
{
  "commit": "9b98a730bf71cabae9bcedb8a3aac72289c23733",
  "tree": "ebc47383176ae82ff4a8a108e962e0e5ecb5177b",
  "parents": [
    "c1c1e0e25f855be68caf1d1a1dfa832a25acbf58"
  ],
  "author": {
    "name": "Hynek Schlawack",
    "email": "hs@ox.cx",
    "time": "Sun Aug 02 09:06:06 2026"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sun Aug 02 09:06:06 2026"
  },
  "message": "Drop Python 3.9 (#1603)",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d0274b6a03df2a79ee262dfeb8a9c29a15c6ff6c",
      "old_mode": 33188,
      "old_path": ".github/workflows/ci.yml",
      "new_id": "4a8cd9f64dde3506f41bc8e774a61c950107485a",
      "new_mode": 33188,
      "new_path": ".github/workflows/ci.yml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8ca7701e8a81d7280282b5712f3928e1e788789f",
      "new_mode": 33188,
      "new_path": "changelog.d/1603.change.md"
    },
    {
      "type": "modify",
      "old_id": "e43f10ba326f611a3018fa53ea1dfb03892e490a",
      "old_mode": 33188,
      "old_path": "pyproject.toml",
      "new_id": "36390ab371adbeaf926a7cfb76ac1b98edaa3774",
      "new_mode": 33188,
      "new_path": "pyproject.toml"
    },
    {
      "type": "modify",
      "old_id": "539834a096ca7fe7509033ea3c0fb779976713dc",
      "old_mode": 33188,
      "old_path": "src/attr/_compat.py",
      "new_id": "d107c27e85dcd7b9ee03299439e586a5e924bd21",
      "new_mode": 33188,
      "new_path": "src/attr/_compat.py"
    },
    {
      "type": "modify",
      "old_id": "300a99c9721ab07d959a69d7e17eff781ce7f780",
      "old_mode": 33188,
      "old_path": "src/attr/_make.py",
      "new_id": "c7cf3642eba062ada24f10eb09acb26d9362ae55",
      "new_mode": 33188,
      "new_path": "src/attr/_make.py"
    },
    {
      "type": "modify",
      "old_id": "0a79deef04282fb33a42f6aca59563d49e70d4cb",
      "old_mode": 33188,
      "old_path": "src/attr/converters.py",
      "new_id": "0c3f0ead41f65f12c012734c4e514c6f5b676d69",
      "new_mode": 33188,
      "new_path": "src/attr/converters.py"
    },
    {
      "type": "modify",
      "old_id": "3e48c3fdfb382a86d941b8af02844672ba5c4cfb",
      "old_mode": 33188,
      "old_path": "tests/conftest.py",
      "new_id": "84d99d7e194253aa8300b188e4b419bee468ff4b",
      "new_mode": 33188,
      "new_path": "tests/conftest.py"
    },
    {
      "type": "modify",
      "old_id": "c745e3f6163eeb4f40c98670f3063b6d7015b525",
      "old_mode": 33188,
      "old_path": "tests/strategies.py",
      "new_id": "d232cbd9b4e67c57fbdaac3a0370cc5583f3f958",
      "new_mode": 33188,
      "new_path": "tests/strategies.py"
    },
    {
      "type": "modify",
      "old_id": "5751b284819c34875556556c0878f973f720b2c0",
      "old_mode": 33188,
      "old_path": "tests/test_abc.py",
      "new_id": "dd4e5ef0ebc23cd170d98640d7e42b6351d0d661",
      "new_mode": 33188,
      "new_path": "tests/test_abc.py"
    },
    {
      "type": "modify",
      "old_id": "bc78236de7720444291d0ac7fc2bc7cd0afd1f8f",
      "old_mode": 33188,
      "old_path": "tests/test_dunders.py",
      "new_id": "f299f777abf334bd3d16b37a06627fb688a0a5fa",
      "new_mode": 33188,
      "new_path": "tests/test_dunders.py"
    },
    {
      "type": "modify",
      "old_id": "b254e9898328da60a7f09eaa4a813210e9742d4c",
      "old_mode": 33188,
      "old_path": "tests/test_funcs.py",
      "new_id": "f35a9a564bb54f489cfd1b43b17fcb36b7a059ff",
      "new_mode": 33188,
      "new_path": "tests/test_funcs.py"
    },
    {
      "type": "modify",
      "old_id": "b7ecbfeada374f85295d2b534e4daff5ca03b992",
      "old_mode": 33188,
      "old_path": "tests/test_make.py",
      "new_id": "b32f1054e02c12d09e4bac4120386603ea0f83d5",
      "new_mode": 33188,
      "new_path": "tests/test_make.py"
    },
    {
      "type": "modify",
      "old_id": "7241cfa28436f8c08a9cfcd09b7496ad40720def",
      "old_mode": 33188,
      "old_path": "tests/test_next_gen.py",
      "new_id": "955e8120b186519c29a6af663fbc6706ead31a1a",
      "new_mode": 33188,
      "new_path": "tests/test_next_gen.py"
    },
    {
      "type": "modify",
      "old_id": "f42f1a9cf9a330524e4906016434adac6e6faf5c",
      "old_mode": 33188,
      "old_path": "tests/utils.py",
      "new_id": "b6398c13e708ce23c20b61526030e81e69317461",
      "new_mode": 33188,
      "new_path": "tests/utils.py"
    },
    {
      "type": "modify",
      "old_id": "dbe13b391f60f0924dff6edb720ef12b370a62b6",
      "old_mode": 33188,
      "old_path": "tox.ini",
      "new_id": "6e596dd4c78e216ea82446d267373123bbdb3ec8",
      "new_mode": 33188,
      "new_path": "tox.ini"
    },
    {
      "type": "modify",
      "old_id": "41d4f7a65c5b74f191ec9b33e497bbb7b88fd7b3",
      "old_mode": 33188,
      "old_path": "uv.lock",
      "new_id": "81456c5d9039a81a96f63f0e1dea3b6aac63feb0",
      "new_mode": 33188,
      "new_path": "uv.lock"
    }
  ]
}
