tauri-plugin-v3.0.0-alpha.0
tauri-apps/tauritauri-plugin-v3.0.0-alpha.0Sep 13, 2026by github-actions[bot]
Upgrading?
AI Summary
This release focuses on plugin build scripts, changing where autogenerated permissions are written and optimizing the size of the Access Control List (ACL) embedded in the application.
Key Highlights
- Autogenerated command permissions are now written to `OUT_DIR` instead of a crate folder
- ACL size is reduced by storing permissions as a `commands` list and using implicit permissions
- New helper functions allow merging permission files from multiple directories
New Features
- Added `tauri_utils::acl::build::collect_permission_files`
- Added `tauri_utils::acl::build::define_permissions_from_files`
Full Release Notes
<details>
<summary><em><h4>Cargo Audit</h4></em></summary>
```
Fetching advisory database from `https://github.com/RustSec/advisory-db.git`
Loaded 1243 security advisories (from /home/runner/.cargo/advisory-db)
Updating crates.io index
Scanning Cargo.lock for vulnerabilities (1217 crate dependencies)
Crate: fxhash
Version: 0.2.1
Warning: unmaintained
Title: fxhash - no longer maintained
Date: 2025-09-05
ID: RUSTSEC-2025-0057
URL: https://rustsec.org/advisories/RUSTSEC-2025-0057
Crate: paste
Version: 1.0.15
Warning: unmaintained
Title: paste - no longer maintained
Date: 2024-10-07
ID: RUSTSEC-2024-0436
URL: https://rustsec.org/advisories/RUSTSEC-2024-0436
Crate: rustls-pemfile
Version: 2.2.0
Warning: unmaintained
Title: rustls-pemfile is unmaintained
Date: 2025-11-28
ID: RUSTSEC-2025-0134
URL: https://rustsec.org/advisories/RUSTSEC-2025-0134
Crate: rustybuzz
Version: 0.20.1
Warning: unmaintained
Title: `rustybuzz` is unmaintained
Date: 2026-07-11
ID: RUSTSEC-2026-0206
URL: https://rustsec.org/advisories/RUSTSEC-2026-0206
Crate: ttf-parser
Version: 0.25.1
Warning: unmaintained
Title: `ttf-parser` is unmaintained
Date: 2026-06-28
ID: RUSTSEC-2026-0192
URL: https://rustsec.org/advisories/RUSTSEC-2026-0192
warning: 5 allowed warnings found
```
</details>
## [3.0.0-alpha.0]
### Enhancements
- [`65792f536`](https://www.github.com/tauri-apps/tauri/commit/65792f5364e34daaaf8cd612452f6dc0bc63a2bd) Plugin and app build scripts now write the autogenerated command permissions to `OUT_DIR` instead of the crate's `permissions/autogenerated` folder, so they no longer need to be committed at the crate level. This applies to plugin crates (`tauri-plugin`) and the application manifest (`tauri_build::AppManifest`); inlined plugins (`tauri_build::InlinedPlugin`) already wrote them to `OUT_DIR`. For plugin crates, the human-readable permission documentation (`reference.md`) is still generated in `permissions/autogenerated` so it stays recoverable.
Added `tauri_utils::acl::build::collect_permission_files` and `tauri_utils::acl::build::define_permissions_from_files` to allow merging permission files from multiple directories into a single permission file list.
### Performance Improvements
- [`fb7bdd95b`](https://www.github.com/tauri-apps/tauri/commit/fb7bdd95be319d70a1097d285bb7b170562339f2) Reduce the size of the resolved ACL embedded in the app by storing the autogenerated command permissions as a `commands` list on the plugin/app manifest instead of two explicit permissions (`allow-$command` and `deny-$command`) per command. The `allow-$command`/`deny-$command` permissions are now materialized on demand when resolving the ACL.
The application manifest also gains implicit `allow-*` and `deny-*` permissions that allow or deny **all** of its commands through a single resolved entry, so capabilities no longer need to list every command individually.
### What's Changed
- [`c9277f3c0`](https://www.github.com/tauri-apps/tauri/commit/c9277f3c0c24518a7ab7d7d1f2489e004b1597f7) Set MSRV to 1.95.
- [`19929799f`](https://www.github.com/tauri-apps/tauri/commit/19929799f42398a6e85adb00ae02f2e7fe46d214) First v3 alpha release!
### Dependencies
- Upgraded to `tauri-utils@3.0.0-alpha.0`
<details>
<summary><em><h4>Cargo Publish</h4></em></summary>
```
Updating crates.io index
Packaging tauri-plugin v3.0.0-alpha.0 (/home/runner/work/tauri/tauri/crates/tauri-plugin)
Updating crates.io index
Packaged 9 files, 71.3KiB (20.4KiB compressed)
Verifying tauri-plugin v3.0.0-alpha.0 (/home/runner/work/tauri/tauri/crates/tauri-plugin)
Compiling serde_json v1.0.151
Compiling uuid v1.26.0
Compiling cfb v0.14.0
Compiling infer v0.22.0
Compiling jsonptr v0.7.1
Compiling cargo_metadata v0.19.2
Compiling json-patch v4.2.0
Compiling schemars v1.2.2
Compiling tauri-utils v3.0.0-alpha.0
Compiling tauri-plugin v3.0.0-alpha.0 (/home/runner/work/tauri/tauri/target/package/tauri-plugin-3.0.0-alpha.0)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.48s
Uploading tauri-plugin v3.0.0-alpha.0 (/home/runner/work/tauri/tauri/crates/tauri-plugin)
Uploaded tauri-plugin v3.0.0-alpha.0 to registry `crates-io`
note: waiting for tauri-plugin v3.0.0-alpha.0 to be available at registry `crates-io`
help: you may press ctrl-c to skip waiting; the crate should be available shortly
Published tauri-plugin v3.0.0-alpha.0 at registry `crates-io`
```
</details>
Related Repositories
A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io
An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.
π RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.
Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one
Code at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.