Highlights
🐛 afc ls works again on iOS 27.2
On iOS 27.2 a plain listing of the media root failed:
$ pymobiledevice3 afc ls /
AfcException: [Errno 10] Opcode: READ_DIR failed with status: 10 for file: /PhotoData/UBF
AfcService.dirlist() walked the whole tree whatever depth it was given and only filtered what it yielded, so even a depth-1 listing read every directory on the device — including /PhotoData/UBF, which iOS 27.2 refuses to list. It now prunes the walk at the requested depth, so directories beyond it are never read. Depth-limited listings are also much faster. AfcService.walk() honours in-place pruning of dirnames, like os.walk.
pymobiledevice3 afc ls /A recursive listing that reaches an unreadable directory (afc ls -r /PhotoData) still stops there.
What's Changed
Full Changelog: v11.15.3...v11.15.4