github doronz88/pymobiledevice3 v11.23.0

3 hours ago

Highlights

🐛 cryptex auto-install no longer fails intermittently

Installing the DeveloperDiskImage cryptex sometimes ended with cryptexd closed the connection without replying. The device was aborting the image upload with an HTTP/2 GOAWAY (FLOW_CONTROL_ERROR): the RemoteXPC client counted only file-transfer data against the device's flow-control window, not the handshake and request frames, so every upload overran the window by a few hundred bytes. Whether the device noticed depended on timing, which made it fail roughly once in 10-20 installs on some devices.

Every DATA frame is now charged to the window. This applies to any RemoteXPC file upload, not only cryptexd.

pymobiledevice3 cryptex auto-install

✨ Named cryptexd nonce domains and asset types

pymobiledevice3.services.cryptexd gains three enums in place of bare numbers:

  • NonceDomain: the nonce-domain index (PDI, CRYPTEX, DDI, CRYPTEX1_GENERIC, ...).
  • NonceDomainHandle: the nonce-domain-handle, i.e. a build identity's Cryptex1,NonceDomain.
  • CryptexAssetType: the image-type-index (valid from iOS 26.4).

Each docstring lists the sources its values were verified against. NONCE_DOMAIN_CRYPTEX is replaced by NonceDomain.PDI (the value, 2, was always the PDI domain) and DDI_IMAGE_TYPE_INDEX by CryptexAssetType.GDMG; defaults are unchanged.

pymobiledevice3 cryptex nonce --nonce-domain-handle 4

What's Changed

Full Changelog: v11.22.1...v11.23.0

Don't miss a new pymobiledevice3 release

NewReleases is sending notifications on new releases.