Highlights
🐛 lockdown wifi-connections on and lockdown assistive-touch on take their argument again
Both commands have taken the state as a positional argument since they were added, and every place that documents them — including docs/guides/ios17-tunnels.md — shows it that way. The Typer migration in v7.0.0 translated
@click.argument("state", type=click.Choice(["on", "off"]))into a plain function parameter, and Typer renders those as options, not arguments. So the documented invocation has been failing ever since:
$ pymobiledevice3 lockdown wifi-connections on
╭─ Error ──────────────────────────────────────────────────────────────────────╮
│ Got unexpected extra argument(s) (on) │
╰──────────────────────────────────────────────────────────────────────────────╯
The argument had silently become --state on, which was never documented anywhere. Both commands are now annotated with typer.Argument(), restoring the original interface:
pymobiledevice3 lockdown wifi-connections on
pymobiledevice3 lockdown wifi-connections off
pymobiledevice3 lockdown wifi-connections # no argument: query current state
pymobiledevice3 lockdown assistive-touch onUsage: pymobiledevice3 lockdown wifi-connections [OPTIONS] [state]:<on|off>
Nothing is taken away — --state was an artifact of the migration, not a released interface. A parametrized test now asserts each command's --help renders state in the Arguments panel and exposes no --state option, so the panel a parameter lands in stays checked.
What's Changed
Full Changelog: v11.1.5...v11.1.6