refactor(shell)!: remove deprecated open API (#3604)

* refactor(shell)!: remove deprecated open API

`open` has been deprecated since 2.1.0 in favor of tauri-plugin-opener.
This removes:

- the `open` command and its `allow-open`/`deny-open` permissions
  (`shell:default` now grants nothing)
- the `plugins > shell > open` configuration; `init()` returns
  `TauriPlugin<R>` again
- `Shell::open`, the `tauri_plugin_shell::open` module and
  `Error::UnknownProgramName`
- the `open` JavaScript function
- the Android and iOS plugins, since `open` was their only command

* chore(examples): drop the now empty shell:default permission set

---------

Co-authored-by: Lucas Nogueira <lucas@crabnebula.dev>
This commit is contained in:
Lucas Fernandes Nogueira
2026-09-22 06:14:49 -03:00
committed by GitHub
co-authored by Lucas Nogueira
parent 6a12f7c80a
commit 152ff5bb6d
26 changed files with 31 additions and 590 deletions
@@ -5,13 +5,8 @@ shell functionality is exposed by default.
#### Granted Permissions
It allows to use the `open` functionality with a reasonable
scope pre-configured. It will allow opening `http(s)://`,
`tel:` and `mailto:` links.
#### This default permission set includes the following:
- `allow-open`
Nothing is granted by default. Spawning processes must be explicitly
allowed with a scope, see `allow-execute` and `allow-spawn`.
## Permission Table
@@ -77,32 +72,6 @@ Denies the kill command without any pre-configured scope.
<tr>
<td>
`shell:allow-open`
</td>
<td>
Enables the open command without any pre-configured scope.
</td>
</tr>
<tr>
<td>
`shell:deny-open`
</td>
<td>
Denies the open command without any pre-configured scope.
</td>
</tr>
<tr>
<td>
`shell:allow-spawn`
</td>