v10.7.4
Highlights
🐛 Userspace tunnel: abandoned service connections no longer leak
A systematic stability audit of the userspace tunnel (measured live on a physical device) found that service connections abandoned by their client — while the device neither sent a byte nor closed its side — parked their relay handler at recv() forever: 24 of 30 abandoned connections leaked their handler task, network socket, and TCP session until the tunnel was torn down, accumulating without bound in long-lived sessions. The relay now fully closes the tunnel-side socket on client EOF, so such connections are reaped by the stack's orphan timer and the census is 0 leaked tasks. Throughput and latency are unchanged.
🐛 Userspace tunnel: pmd-pytcp floor raised to 0.3.7 (complete stability-audit series)
The same audit produced four same-day pmd-pytcp releases (0.3.4–0.3.7) fixing every confirmed way the tunnel's TCP/IP stack could strand a session, port, waiter, or timer — including a neighbor-discovery black hole where a device that slept for ~3 seconds could kill the tunnel until process restart, datapath loops that died silently on their first exception, per-connection 1 kHz timer spins, and unbounded reassembly/out-of-order/receive queues. The dependency floor now guarantees every install carries the full series.
🐛 AccessibilityAudit works over RSD
pymobiledevice3 accessibility commands hung (or died with ConnectionTerminatedError) when connected over RSD: the axAuditDaemon.remoteserver.shim.remote shim resets the connection unless the RSDCheckin handshake is performed first. RSD connections to .shim.remote DTX services are now routed through the lockdown check-in, so the audit services connect reliably on iOS 17+. Thanks @navin772!
pymobiledevice3 accessibility settings showWhat's Changed
- aa921d5 build: raise the pmd-pytcp floor to 0.3.7 (complete stability-audit series) (#1853) (@doronz88)
- 453347f userspace-tunnel: fully close abandoned relay sockets; consume pmd-pytcp 0.3.4 (#1852) (@doronz88)
- 3cfdfe5 dtx: Perform RSDCheckin for shim.remote DTX services (#1850) (@navin772)
Full Changelog: v10.7.3...v10.7.4