github doronz88/pymobiledevice3 v9.39.0

latest releases: v11.9.2, v11.9.1, v11.9.0...
one month ago

Highlights

⚡ Userspace tunnel: ~+35% bulk-download throughput (RX checksum offload)

The no-root --userspace tunnel now skips the software RX checksum pass on the packets it receives from the device. Every packet arrives through the AEAD-authenticated RemotePairing/CoreDevice tunnel and an in-memory socketpair, so the RFC 1071 TCP/UDP checksum only re-verifies bytes that cannot have been corrupted in transit — and it was the single most expensive step of per-packet parsing. Only the checksum arithmetic is skipped: structural integrity checks, the RFC 8200 §8.1 UDP zero-checksum policy, and all outbound checksums stay active (the device kernel still verifies everything the host sends).

Measured on an iPhone 17 Pro / iOS 26.5 over USB, DSC symbol pull:

# same command, now ~35% faster over the userspace tunnel
pymobiledevice3 developer fetch-symbols download ./dsc --userspace

73.0 → 98.9 MB/s, with a byte-identical result. Interactive latency is unchanged. This rides a new net.rx_cksum_validate sysctl in pmd-pytcp 0.3.0 (the userspace stack), which also brings platform-correct errno handling and strict IPv4 parsing on macOS; pymobiledevice3 now floors on pmd-pytcp>=0.3.0.

What's Changed

Full Changelog: v9.38.1...v9.39.0

Don't miss a new pymobiledevice3 release

NewReleases is sending notifications on new releases.