github doronz88/pymobiledevice3 v11.19.4

3 hours ago

Highlights

🐛 cryptex auto-install no longer crashes cryptexd below iOS 26.4

On iOS 26.0.1, pymobiledevice3 cryptex auto-install made the device's cryptexd crash with asset already present: Cryptex1,GenericVolume, and the command printed only Aborted. (#1991). iOS only installs the DeveloperDiskImage as a cryptex from 26.4. Two things in the firmware change in that release, and from then on they match iOS 27:

  • Where cryptexd may mount. Below 26.4 the kernel's platform sandbox policy doesn't let cryptexd mount anything at /System/Developer, where the DDI goes. The reporter's iPad logged deny(1) file-mount /System/Developer. There the DDI has to go through the image mounter instead.
  • The device's asset-type table. The install names the disk image by its index in this table. iOS 26.4 reordered it, so on earlier versions the index we send names the image as a volume hash, which is what crashed cryptexd.

cryptex auto-install now refuses below iOS 26.4 before contacting Apple or the device, and points to pymobiledevice3 mounter auto-mount, which mounts the Personalized image there. On iOS 26.4 and later nothing changes.

🐛 A connection dropped by the device is reported as such

When a device closed a RemoteXPC connection between messages, the raw end-of-stream error escaped, and the CLI printed nothing but Aborted.. It's now a terminated connection like any other. When cryptexd drops an install without replying, cryptex auto-install says so and points to pymobiledevice3 syslog live -m cryptexd.

What's Changed

Full Changelog: v11.19.3...v11.19.4

Don't miss a new pymobiledevice3 release

NewReleases is sending notifications on new releases.