)]}'
{
  "commit": "b77632ebff88cbd9f43c1eec94d6f589dcee336e",
  "tree": "7702848d6f490178436d06ea2b0099e83f7c1006",
  "parents": [
    "871b843245666786857f54b7ffc1454d4acad7a0"
  ],
  "author": {
    "name": "hathach",
    "email": "thach@tinyusb.org",
    "time": "Thu Apr 02 17:32:45 2026 +0700"
  },
  "committer": {
    "name": "hathach",
    "email": "thach@tinyusb.org",
    "time": "Thu Apr 02 17:32:45 2026 +0700"
  },
  "message": "update FatFS to R0.16 via abbrev/fatfs dependency\n\n- Add lib/fatfs to deps_mandatory in get_deps.py, pinned to R0.16\n  (commit 30ca13c6) from github.com/abbrev/fatfs mirror\n- Move TinyUSB custom ffconf.h to examples/host/msc_file_explorer/src/\n  with project-specific settings: FF_CODE_PAGE\u003d437, FF_USE_LFN\u003d1,\n  FF_FS_RPATH\u003d2, FF_VOLUMES\u003d4, FF_FS_NORTC\u003d1\n- get_deps.py removes stock ffconf.h after clone to avoid conflict\n- Remove vendored fatfs source files from git tracking\n\nFatFS R0.16 includes important fixes since R0.15:\n- Fixed FAT32 FsInfo regression (forced full FAT scan on f_getfree)\n- Fixed f_readdir infinite loop (from R0.15b)\n- f_getcwd/.. now works on exFAT\n- Added FF_FS_CRTIME support\n",
  "tree_diff": [
    {
      "type": "rename",
      "old_id": "96ff77155cbc263e2ad36aa65fc6960a721007d2",
      "old_mode": 33188,
      "old_path": "lib/fatfs/source/ffconf.h",
      "new_id": "5c89136fed4126df4d35292a3c9a5aad7d8790ca",
      "new_mode": 33188,
      "new_path": "examples/host/msc_file_explorer/src/ffconf.h",
      "score": 76
    },
    {
      "type": "delete",
      "old_id": "a9e57a905ad47cbe3aaaa4cbc0349be30db64c94",
      "old_mode": 33188,
      "old_path": "lib/fatfs/LICENSE.txt",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "f7898cbd9e422bb391143e845d3905ed8e556698",
      "old_mode": 33188,
      "old_path": "lib/fatfs/source/00history.txt",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "48c02a42d4769e08834362ea2a0170c6abc60701",
      "old_mode": 33188,
      "old_path": "lib/fatfs/source/00readme.txt",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "3cb423db36f7f5bb9a7bbe5c0941d0c39dd84c78",
      "old_mode": 33188,
      "old_path": "lib/fatfs/source/diskio.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "e4ead7838038021070ef71185861cb4fff586a4b",
      "old_mode": 33188,
      "old_path": "lib/fatfs/source/diskio.h",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "05ca02f0ad552678ec938453fbad4a861ae76bce",
      "old_mode": 33188,
      "old_path": "lib/fatfs/source/ff.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "e0a77124c782e7e866a2c7fb9d22b17d61a28538",
      "old_mode": 33188,
      "old_path": "lib/fatfs/source/ff.h",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "bc0047dce85cd36bcb1df4f499b4948c6ccea55c",
      "old_mode": 33188,
      "old_path": "lib/fatfs/source/ffsystem.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "e6bcacae6b36ab562910e763269fd73163d5f04c",
      "old_mode": 33188,
      "old_path": "lib/fatfs/source/ffunicode.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "25b85ac3bfbe5b47fb4ad27a64aeb350d769d606",
      "old_mode": 33261,
      "old_path": "tools/get_deps.py",
      "new_id": "23f015c0de5b0b699ed817ae100a84e04b6503ee",
      "new_mode": 33261,
      "new_path": "tools/get_deps.py"
    }
  ]
}
