tauri-build-v2.7.0
tauri-apps/tauritauri-build-v2.7.0Sep 26, 2026by github-actions[bot]
Upgrading?
AI Summary
This build script release adds configuration path customization and static VC runtime control. It also fixes resource directory watching and target directory resolution issues.
Key Highlights
- Added `Attributes::config_path` to customize the config path
- Added `WindowsAttributes::static_vc_runtime` for MSVC static runtime linking
- Fixed resource directory watching to detect added files
- Fixed target directory resolution by walking up from `OUT_DIR`
- Fixed capabilities directory path resolution
New Features
- `Attributes::config_path`
- `WindowsAttributes::static_vc_runtime`
- enhanced resource directory watching
- fixed target directory resolution
- fixed capabilities directory path emission
Full Release Notes
<details>
<summary><em><h4>Cargo Audit</h4></em></summary>
```
Fetching advisory database from `https://github.com/RustSec/advisory-db.git`
Loaded 1271 security advisories (from /home/runner/.cargo/advisory-db)
Updating crates.io index
Scanning Cargo.lock for vulnerabilities (1091 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>
## [2.7.0]
### New Features
- [`4e36f6725`](https://www.github.com/tauri-apps/tauri/commit/4e36f67251ec63a81fee23a524bf2c8b61064dea) ([#15306](https://www.github.com/tauri-apps/tauri/pull/15306)) Added `Attributes::config_path` to customize config path, deprecated `CodegenContext::config_path` in favor of this
- [`f6c1eb253`](https://www.github.com/tauri-apps/tauri/commit/f6c1eb2533a0445e081c334931d67fee3e354c6f) ([#15401](https://www.github.com/tauri-apps/tauri/pull/15401)) Added `tauri_build::WindowsAttributes::static_vc_runtime` to control MSVC static runtime linking from build scripts.
### Enhancements
- [`19215f638`](https://www.github.com/tauri-apps/tauri/commit/19215f638a5889afef4333b2e5a402051f21b891) ([#15629](https://www.github.com/tauri-apps/tauri/pull/15629)) Emit a `cargo:rerun-if-changed` for each resource directory (and glob base directory), so that adding or removing a file inside a resource directory re-runs the build script and copies the new files. Previously only the individual files present at build time were watched, so newly added files were silently ignored until an unrelated rebuild.
- [`459fc315e`](https://www.github.com/tauri-apps/tauri/commit/459fc315eb790d9aa2d2cea693c20c8978f4b1b0) ([#15711](https://www.github.com/tauri-apps/tauri/pull/15711)) Fix different build and runtime debug assertion profiles on the tauri-utils crate can resulting in compilation errors.
### Bug Fixes
- [`d203f74a2`](https://www.github.com/tauri-apps/tauri/commit/d203f74a2359b8839e0eb7376118fb20af3b807c) ([#15274](https://www.github.com/tauri-apps/tauri/pull/15274)) The `.ico` from `bundle > icon` (or the `icons/icon.ico` fallback) embedded as the Windows application icon is now resolved relative to the config file directory instead of the build script's working directory, so it works with `Attributes::config_path`.
- [`dd6befda9`](https://www.github.com/tauri-apps/tauri/commit/dd6befda925845fc74ca595d6d42de6c49580dd8) ([#15918](https://www.github.com/tauri-apps/tauri/pull/15918)) Emit an absolute path for the capabilities directory `cargo:rerun-if-changed`. Cargo resolves a relative watch path against the package owning the build script, while the capabilities glob is resolved against the process working directory, so callers that change the current directory before `try_build`/`try_build_context` ended up watching a non-existent directory — which is always dirty and re-ran the build script (and recompiled everything downstream) on every build.
- [`c0bd0d5a6`](https://www.github.com/tauri-apps/tauri/commit/c0bd0d5a61eedba5c4783add24455c5028c6f390) ([#15831](https://www.github.com/tauri-apps/tauri/pull/15831)) Resolve the target directory by walking up from `OUT_DIR` to the `build` directory instead of assuming it is exactly three levels up. Recent nightly toolchains add another level to `OUT_DIR`, which made sidecars and resources land in `target/debug/build` instead of `target/debug`.
- [`fc3a8108e`](https://www.github.com/tauri-apps/tauri/commit/fc3a8108e9e942982f8d4809af43b238e4f97a3f) ([#16074](https://www.github.com/tauri-apps/tauri/pull/16074)) Validate the capabilities inlined in the `app > security > capabilities` configuration value, which previously skipped the build script validation and only failed later with a generic `failed to resolve ACL` panic when a permission identifier was unknown.
### What's Changed
- [`2e6e33c85`](https://www.github.com/tauri-apps/tauri/commit/2e6e33c8501c66c9a49aad861048d39345cfb26f) ([#16029](https://www.github.com/tauri-apps/tauri/pull/16029)) Moved to edition 2024
- [`ce3f13b91`](https://www.github.com/tauri-apps/tauri/commit/ce3f13b91a75cb723f229f56a3e82eb5f2d3f644) ([#15887](https://www.github.com/tauri-apps/tauri/pull/15887)) Lock unstable tauri crates to minor versions.
- [`1cffb01da`](https://www.github.com/tauri-apps/tauri/commit/1cffb01da55f5fcd5a0f74ef3281b5a715513e4d) ([#13221](https://www.github.com/tauri-apps/tauri/pull/13221)) Set MSRV to 1.90.
### Dependencies
- Upgraded to `tauri-utils@2.10.0`
- Upgraded to `tauri-codegen@2.7.0`
- [`e2e585ad1`](https://www.github.com/tauri-apps/tauri/commit/e2e585ad1196c9572f86ef39aae01ef4c3b1a762) ([#15828](https://www.github.com/tauri-apps/tauri/pull/15828)) On Android, updated the template to use Gradle v9.6.1 (`com.android.tools.build:gradle` v9.3.1) and Kotlin v2.2. Use `tauri android init` to apply the change.
- [`2bb4fdbd0`](https://www.github.com/tauri-apps/tauri/commit/2bb4fdbd0252ca414e28bdc9f0284ac4ff108f26) ([#15592](https://www.github.com/tauri-apps/tauri/pull/15592)) Updated `cargo_toml` crate to `1`
<details>
<summary><em><h4>Cargo Publish</h4></em></summary>
```
Updating crates.io index
Packaging tauri-build v2.7.0 (/home/runner/work/tauri/tauri/crates/tauri-build)
Updating crates.io index
Packaged 15 files, 153.0KiB (42.0KiB compressed)
Verifying tauri-build v2.7.0 (/home/runner/work/tauri/tauri/crates/tauri-build)
Downloading crates ...
Downloaded cargo_toml v1.0.0
Downloaded embed-resource v3.0.9
Downloaded tauri-winres v0.3.6
Compiling find-msvc-tools v0.1.6
Compiling shlex v1.3.0
Compiling rustc_version v0.4.1
Compiling tauri-utils v2.10.0
Compiling cc v1.2.51
Compiling cargo_toml v1.0.0
Compiling embed-resource v3.0.9
Compiling tauri-winres v0.3.6
Compiling tauri-build v2.7.0 (/home/runner/work/tauri/tauri/target/package/tauri-build-2.7.0)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.13s
Uploading tauri-build v2.7.0 (/home/runner/work/tauri/tauri/crates/tauri-build)
Uploaded tauri-build v2.7.0 to registry `crates-io`
note: waiting for tauri-build v2.7.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 v2.7.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.