github doronz88/pymobiledevice3 v11.38.0

2 hours ago

Highlights

✨ Restore several devices at once

Each restore now stays on its own device, so several can run side by side, one restore update per device. Previously a second connected device could make a running restore fail or reach the wrong device: the Recovery-mode lookup failed as soon as it saw a second device in Recovery, the restored lookup connected to every device (including one mid-restore), and FDR connected to whichever device usbmuxd listed first. Devices are now matched by ECID, which from the A12 on is part of the UDID (<ChipID>-<ECID>), without connecting to the others.

pymobiledevice3 restore update --ecid 0x001074523440401C -i iPhone18,4_Restore.ipsw

✨ Device prompt for restore

With more than one device connected and no --ecid, restore used to exit with "Multiple device detected". It now asks which device to use, showing each device's name, model and iOS version (read without starting a lockdown session, so no Trust prompt). A device in the middle of a restore is left out of the list.

? Choose device (Use arrow keys)
 » iPhone (iPhone17,3, iOS 26.4) 0000FE01-F07564571CF86456
   iPhone (iPhone18,4, iOS 27.2) 00008150-001074523440401C

📝 Restore result at the default log level

restored's final status message, which says whether the restore succeeded, is now logged at INFO instead of only with -v.

What's Changed

Full Changelog: v11.37.0...v11.38.0

Don't miss a new pymobiledevice3 release

NewReleases is sending notifications on new releases.