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
+3 -4
View File
@@ -1,7 +1,7 @@
[package]
name = "tauri-plugin-shell"
version = "3.0.0-alpha.1"
description = "Access the system shell. Allows you to spawn child processes and manage files and URLs using their default application."
description = "Access the system shell. Allows you to spawn child processes."
edition = { workspace = true }
authors = { workspace = true }
license = { workspace = true }
@@ -21,8 +21,8 @@ exclude = [
windows = { level = "full", notes = "" }
linux = { level = "full", notes = "" }
macos = { level = "full", notes = "" }
android = { level = "partial", notes = "Only allows to open URLs via `open`" }
ios = { level = "partial", notes = "Only allows to open URLs via `open`" }
android = { level = "none", notes = "" }
ios = { level = "none", notes = "" }
[build-dependencies]
tauri-plugin = { workspace = true, features = ["build"] }
@@ -38,6 +38,5 @@ log = { workspace = true }
thiserror = { workspace = true }
shared_child = "1"
regex = "1"
open = { version = "5", features = ["shellexecute-on-windows"] }
encoding_rs = "0.8"
os_pipe = "1"