github doronz88/pymobiledevice3 v10.4.1

latest releases: v11.12.4, v11.12.3, v11.12.2...
one month ago

Highlights

🐛 Filtered backups no longer stall for hours at ~97%

backup2 backup with --only/--only-regex on a large device spent hours CPU-bound in the device's move phase — the placeholder bookkeeping for filtered-out payloads was quadratic in practice (#1833). The bookkeeping is now O(1) per moved file: at the reported scale (~76k moves × ~74.5k rejected payloads) the finalize drops from a projected ~3.3 hours to under a second.

✨ Query backup encryption state

backup2 encryption can now be run without arguments to report whether backup encryption is currently enabled:

pymobiledevice3 backup2 encryption
# on

Setting a mode still requires the password, and the usage error now surfaces before any device connection is attempted.

syslog live --format json honors all line filters

Previously JSON output mode silently ignored --match/--invert-match, their case-insensitive variants, the regex filters, and --start-after. Filters now select the exact same entries in both output formats — only the serialization differs, and stdout remains pure NDJSON:

pymobiledevice3 syslog live --format json -m kernel | jq .message

✅ CI runs the full device-free test suite

Tests that reach a physical device are now auto-marked from their fixture usage, and CI runs everything else — 385 tests per matrix leg, up from 122.

What's Changed

Full Changelog: v10.4.0...v10.4.1

Don't miss a new pymobiledevice3 release

NewReleases is sending notifications on new releases.