Skip to content

chore(deps): bump pymobiledevice3 from 2.46.1 to 9.30.1 - #13

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/pymobiledevice3-9.30.1
Closed

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/pymobiledevice3-9.30.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 24, 2026

Copy link
Copy Markdown
Contributor

Bumps pymobiledevice3 from 2.46.1 to 9.30.1.

Release notes

Sourced from pymobiledevice3's releases.

v9.30.1

Highlights

🐛 remote tunneld: auto-reconnect after device replug/reboot on Linux

Fixes a regression where remote tunneld would permanently stop after an iPhone was unplugged/replugged or rebooted, printing MuxException: socket connection broken and never reconnecting. This was most visible on Linux (usbmuxd is reached over an AF_UNIX socket, which surfaces the dropped connection as a clean EOF).

The usbmux monitor now treats a dropped listen socket as a recoverable connection error and reconnects on the next iteration instead of letting the monitor task die.

What's Changed

  • 8830975d tunneld: reconnect usbmux monitor on dropped listen socket (#1742)

Full Changelog: doronz88/pymobiledevice3@v9.30.0...v9.30.1

v9.30.0

Highlights

🚀 No-root iOS 17+ tunnel via --userspace

This release lands an optional, no-root tunnel for iOS 17+ devices. Pass --userspace (or set PYMOBILEDEVICE3_USERSPACE=1) and the RemoteServiceDiscovery tunnel is established in-process with a pure-Python PyTCP stack — no sudo, no admin, no privileged remote tunneld daemon, and no kernel utun interface.

  • No elevated privileges required. The whole TCP/IP stack runs in userspace, so you can reach iOS 17+ developer services as an unprivileged user.
  • Works on Python 3.9+, backed by the new pmd-pytcp dependency (added automatically).
  • Throughput: device→host downloads (e.g. fetch-symbols) run at roughly the kernel tunnel's rate; host→device transfers (DDI mounts, file pushes) are slower, since send segments are kept small for reliable delivery through the pure-Python path.
  • Device-initiated AV is supported over the userspace tunnel — developer dvt simulate-location and display serve-web media terminate on the PyTCP stack rather than an unreachable host socket.
  • One caveat: debugserver is not reachable over a userspace tunnel (lldb needs the kernel tunnel address); the CLI now refuses it with a clear message instead of printing an unreachable address. Use a privileged kernel tunnel for on-device debugging.

Also, huge thanks to @​renegadelink for providing the initial POC!

Heads up — coming next: I'm planning to make --userspace the default fallback (instead of --tunnel) when an InvalidServiceError is raised, so the no-root path becomes the automatic choice for iOS 17+ services.

What's Changed

  • dffcb40dc277e5e44564137be699821047b9247d usbmux: honor USBMUXD_SOCKET_ADDRESS at the socket layer
  • c3b436fb96ba35c422f6368f31461cc86a157de8 remote: add the pmd-pytcp dependency for the userspace tunnel

... (truncated)

Commits
  • b5ca33c Merge pull request #1743 from doronz88/fix/issue-1742-usbmux-reconnect
  • 8830975 tunneld: reconnect usbmux monitor on dropped listen socket
  • fdd5bd3 Merge pull request #1741 from doronz88/feature/userspace-tunnel
  • 7de21f0 remote: enable the no-root userspace tunnel on Python 3.9+
  • 1249301 docs: document the no-root --userspace tunnel for iOS 17+
  • d63f1aa developer: refuse debugserver over a userspace tunnel instead of printing an ...
  • 4155130 remote: serve device-initiated AV (display serve-web) over the userspace tunnel
  • 42e0e29 remote: drain the kernel tun via add_reader to cut tunneld relay latency
  • 5ef96b3 remote: optional no-root iOS 17+ RSD tunnel via a pure-Python userspace stack
  • 51665ac remote: select the tunnel interface via a create_tun_device() factory
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [pymobiledevice3](https://github.com/doronz88/pymobiledevice3) from 2.46.1 to 9.30.1.
- [Release notes](https://github.com/doronz88/pymobiledevice3/releases)
- [Commits](doronz88/pymobiledevice3@v2.46.1...v9.30.1)

---
updated-dependencies:
- dependency-name: pymobiledevice3
  dependency-version: 9.30.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Jun 24, 2026
@dependabot @github

dependabot Bot commented on behalf of github Jun 29, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #14.

@dependabot dependabot Bot closed this Jun 29, 2026
@dependabot
dependabot Bot deleted the dependabot/pip/pymobiledevice3-9.30.1 branch June 29, 2026 14:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants