v10.10.2
Highlights
🐛 usbmux connect() no longer hands back a blocking socket
MuxConnection.connect() used to flip the socket back to blocking mode right before returning it — a leftover from the old synchronous API that survived the asyncio migration. Every consumer drives that socket through asyncio, where a blocking socket can stall the entire event loop (and raises ValueError: the socket must be non-blocking in asyncio debug mode). The socket is now returned non-blocking, matching the async contract of MuxDevice.connect(). If you consume this API directly and read from the raw socket synchronously, call sock.setblocking(True) yourself.
🐛 WDA reachability probe no longer leaks its socket
developer wda probes the WDA port through usbmuxd while waiting for the runner to come up; the probe socket (and its usbmuxd connection) was discarded without being closed. It is now closed as soon as the probe succeeds.
What's Changed
- 48e2f1a usbmux: don't flip the returned socket back to blocking mode (#1863) (@doronz88)
- 7d1492c wda: close the reachability-probe socket on success (#1863) (@doronz88)
Full Changelog: v10.10.1...v10.10.2