tauri-build v3.0.0-alpha.0
Cargo Audit
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
[3.0.0-alpha.0]
New Features
-
364a0e711(#15882)tauri-buildno longer copies the configured resources to the cargo target directory; on desktop, unbundled apps (tauri dev/cargo run) now resolve resources at runtime from their source paths instead. This means editing a resource file no longer triggers a full application rebuild, and changes to plain relative resources are picked up live by the running app.- When all configured resources are plain relative paths (e.g.
"assets/*"), the resource directory resolves to the directory containingtauri.conf.jsonand files are read directly from the sources. - When resources are remapped (map notation,
../or absolute paths), the bundle layout is mirrored next to the executable on the first resource directory access of each run.
The
bundle > resourcesconfiguration is now part of the config embedded bygenerate_context!, where it was previously stripped. - When all configured resources are plain relative paths (e.g.
-
33144467c(#15883) Addtauri_build::try_build_contextandContextAttributesfor packages that expandtauri::generate_context!once and share the context with the rest of the workspace. It runs only what the context expansion consumes — config parsing with its rerun instructions, theOUT_DIRACL artifacts and global API script list, the cfg aliases, andTAURI_ENV_TARGET_TRIPLE— and skips application artifact staging and executable-specific build configuration, which stay with the package that owns the binary.
Enhancements
-
65792f536Plugin and app build scripts now write the autogenerated command permissions toOUT_DIRinstead of the crate'spermissions/autogeneratedfolder, 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 toOUT_DIR. For plugin crates, the human-readable permission documentation (reference.md) is still generated inpermissions/autogeneratedso it stays recoverable.Added
tauri_utils::acl::build::collect_permission_filesandtauri_utils::acl::build::define_permissions_from_filesto allow merging permission files from multiple directories into a single permission file list.
Bug Fixes
fb2dcae84Support cargo's build-dir layout (the default since Rust 1.100), which moves build script output frombuild/<pkg>-<hash>tobuild/<pkg>/<hash>: fixed the target directory resolution used for staging external binaries and frameworks, and theWebView2Loader.dlllookup forwindows-gnutargets. Whenbuild.build-diris set through theCARGO_BUILD_BUILD_DIRenvironment variable, staged artifacts now follow the executable into the target directory instead of the build directory.
Performance Improvements
-
fb7bdd95bReduce the size of the resolved ACL embedded in the app by storing the autogenerated command permissions as acommandslist on the plugin/app manifest instead of two explicit permissions (allow-$commandanddeny-$command) per command. Theallow-$command/deny-$commandpermissions are now materialized on demand when resolving the ACL.The application manifest also gains implicit
allow-*anddeny-*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
Dependencies
- Upgraded to
tauri-utils@3.0.0-alpha.0 - Upgraded to
tauri-codegen@3.0.0-alpha.0
Breaking Changes
1e5ba7b53(#15985) The CEF runtime is now detected through thetauri-runtime-cefdependency of the application (theDEP_TAURI_RUNTIME_CEF_RUNTIMEenv var it exports to the app's build script) instead of the removedceffeature oftauri.
Cargo Publish
Updating crates.io index
Packaging tauri-build v3.0.0-alpha.0 (/home/runner/work/tauri/tauri/crates/tauri-build)
Updating crates.io index
Packaged 16 files, 156.4KiB (42.6KiB compressed)
Verifying tauri-build v3.0.0-alpha.0 (/home/runner/work/tauri/tauri/crates/tauri-build)
Downloading crates ...
Downloaded dirs v6.0.0
Downloaded tauri-winres v0.3.6
Downloaded cargo_toml v1.0.1
Downloaded option-ext v0.2.0
Downloaded dirs-sys v0.5.0
Downloaded embed-resource v3.0.11
Compiling find-msvc-tools v0.1.12
Compiling shlex v2.0.1
Compiling rustc_version v0.4.1
Compiling option-ext v0.2.0
Compiling dirs-sys v0.5.0
Compiling cc v1.4.5
Compiling tauri-utils v3.0.0-alpha.0
Compiling dirs v6.0.0
Compiling cargo_toml v1.0.1
Compiling heck v0.5.0
Compiling embed-resource v3.0.11
Compiling tauri-winres v0.3.6
Compiling tauri-build v3.0.0-alpha.0 (/home/runner/work/tauri/tauri/target/package/tauri-build-3.0.0-alpha.0)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.24s
Uploading tauri-build v3.0.0-alpha.0 (/home/runner/work/tauri/tauri/crates/tauri-build)
Uploaded tauri-build v3.0.0-alpha.0 to registry `crates-io`
note: waiting for tauri-build 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-build v3.0.0-alpha.0 at registry `crates-io`