diff --git a/.changes/android-external-files-fix.md b/.changes/android-external-files-fix.md deleted file mode 100644 index b6c2a1446..000000000 --- a/.changes/android-external-files-fix.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"tauri": patch:bug ---- - -Fixed 500 error when accessing local video files in Android external storage directory via `convertFileSrc`. Added better error handling and logging for Android external storage access to help diagnose permission and accessibility issues. \ No newline at end of file diff --git a/.changes/change-pr-13253.md b/.changes/change-pr-13253.md deleted file mode 100644 index e42a66072..000000000 --- a/.changes/change-pr-13253.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@tauri-apps/cli": patch:enhance -"tauri-cli": patch:enhance ---- - -Allow electron to run the CLI directly diff --git a/.changes/change-pr-14632.md b/.changes/change-pr-14632.md deleted file mode 100644 index 068994f0d..000000000 --- a/.changes/change-pr-14632.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"tauri-utils": patch:enhance -"tauri-build": patch:enhance -"tauri-cli": patch:enhance ---- - -Small code refactors for improved code readability. No user facing changes. diff --git a/.changes/change-pr-14766.md b/.changes/change-pr-14766.md deleted file mode 100644 index 4fb885f88..000000000 --- a/.changes/change-pr-14766.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"tauri-macos-sign": patch:deps ---- - -Remove once-cell-regex from direct dependencies. diff --git a/.changes/change-pr-14812.md b/.changes/change-pr-14812.md deleted file mode 100644 index 96c1f36c0..000000000 --- a/.changes/change-pr-14812.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"tauri": patch:bug ---- - -fix(specta): don't use `#[specta(rename = ...)]` with `tauri::ipc::Channel` diff --git a/.changes/change-pr-14824.md b/.changes/change-pr-14824.md deleted file mode 100644 index 164991efa..000000000 --- a/.changes/change-pr-14824.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'tauri-bundler': 'patch:enhance' ---- - -feat(nsis): add Norwegian language support for installer. \ No newline at end of file diff --git a/.changes/empty-vec-instead-of-none.md b/.changes/empty-vec-instead-of-none.md deleted file mode 100644 index 6b0dd9fd9..000000000 --- a/.changes/empty-vec-instead-of-none.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@tauri-apps/cli": patch:enhance -"tauri-cli": patch:enhance ---- - -Simplified internal representation of `features: Option>` with `Vec`, no user facing changes diff --git a/.changes/fix-android-bundle-flag.md b/.changes/fix-android-bundle-flag.md deleted file mode 100644 index 1fc06e69e..000000000 --- a/.changes/fix-android-bundle-flag.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"tauri-cli": patch:bug -"@tauri-apps/cli": patch:bug ---- - -Fix `android build`'s `--aab` and `--apk` flags requiring a value to be provided. diff --git a/.changes/fix-binary-patching.md b/.changes/fix-binary-patching.md deleted file mode 100644 index 0778d600f..000000000 --- a/.changes/fix-binary-patching.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"tauri": minor:changes -"tauri-cli": minor:changes -"tauri-bundler": minor:changes -"@tauri-apps/cli": minor:changes ---- - -Change the way bundle type information is added to binary files. Instead of looking up the value of a variable we simply look for the default value. diff --git a/.changes/fix-empty-entitlements.md b/.changes/fix-empty-entitlements.md deleted file mode 100644 index 0bc9eea40..000000000 --- a/.changes/fix-empty-entitlements.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"tauri-cli": patch:bug -"@tauri-apps/cli": patch:bug ---- - -Fix empty associated-domains entitlements when domains are not configured for deep links. diff --git a/.changes/fix-inspect-description.md b/.changes/fix-inspect-description.md deleted file mode 100644 index df1c87db9..000000000 --- a/.changes/fix-inspect-description.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@tauri-apps/cli": patch:bug -"tauri-cli": patch:bug ---- - -Fixed the command description for `tauri inspect` diff --git a/.changes/linux-webcontext.md b/.changes/linux-webcontext.md deleted file mode 100644 index 0a14638d3..000000000 --- a/.changes/linux-webcontext.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -tauri-runtime-wry: patch:bug ---- - -On Linux, keep the WebContext alive to prevent zombie WebKit processes after repeatedly closing all windows and re-opening them. diff --git a/.changes/nsis-run-as-user.md b/.changes/nsis-run-as-user.md deleted file mode 100644 index ca3d9f9f4..000000000 --- a/.changes/nsis-run-as-user.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"tauri-bundler": patch:bug -"tauri-cli": patch:bug -"@tauri-apps/cli": patch:bug ---- - -Updated `nsis_tauri_utils` to 0.5.3: - -- Use an alternative method `CreateProcessWithTokenW` to run programs as user, this fixed a problem that the program launched with the previous method can't query its own handle diff --git a/.changes/only-watch-dependencies.md b/.changes/only-watch-dependencies.md deleted file mode 100644 index e638cb591..000000000 --- a/.changes/only-watch-dependencies.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@tauri-apps/cli": patch:bug -"tauri-cli": patch:bug ---- - -Only watch dependent workspace members when running `tauri dev` instead of watching on all members diff --git a/.changes/reduce-internal-statics.md b/.changes/reduce-internal-statics.md deleted file mode 100644 index bc20780b1..000000000 --- a/.changes/reduce-internal-statics.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@tauri-apps/cli": patch:changes -"tauri-cli": patch:changes ---- - -Refactored internal use of static on config and directory resolvings, no user facing changes, please report any regressions if you encounter any diff --git a/.changes/runtime-bsd.md b/.changes/runtime-bsd.md deleted file mode 100644 index c9c97b4c4..000000000 --- a/.changes/runtime-bsd.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -tauri-runtime: patch:bug -tauri-runtime-wry: patch:bug ---- - -Fix compilation errors when targeting BSD. diff --git a/.changes/signing-env-vars.md b/.changes/signing-env-vars.md deleted file mode 100644 index c164c3b9a..000000000 --- a/.changes/signing-env-vars.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -"tauri-cli": patch:enhance -"@tauri-apps/cli": patch:enhance ---- - -Added new environment variables for `tauri signer sign` command, to align with existing environment variables used in `tauri build`, `tauri bundle` and `tauri signer generate` -- `TAURI_SIGNING_PRIVATE_KEY` -- `TAURI_SIGNING_PRIVATE_KEY_PATH` -- `TAURI_SIGNING_PRIVATE_KEY_PASSWORD` - -The old environment variables are deprecated and will be removed in a future release. -- `TAURI_PRIVATE_KEY` -- `TAURI_PRIVATE_KEY_PATH` -- `TAURI_PRIVATE_KEY_PASSWORD` diff --git a/.changes/updater-signer-files-without-extension.md b/.changes/updater-signer-files-without-extension.md deleted file mode 100644 index 1ff41edbd..000000000 --- a/.changes/updater-signer-files-without-extension.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -tauri-cli: patch:bug -"@tauri-apps/cli": patch:bug ---- - -`tauri signer sign` doesn't work for files without an extension diff --git a/.changes/webkitgtk202.md b/.changes/webkitgtk202.md deleted file mode 100644 index 739ce1ebd..000000000 --- a/.changes/webkitgtk202.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -tauri-runtime-wry: minor:deps -tauri-runtime: minor:deps -tauri: minor:deps ---- - -**Breaking Change** for `with_webview` users: Updated webkit2gtk-rs crates to `v2.0.2`. diff --git a/.changes/webview-set-simple-fullscreen.md b/.changes/webview-set-simple-fullscreen.md deleted file mode 100644 index ba0cdf8bf..000000000 --- a/.changes/webview-set-simple-fullscreen.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'tauri': 'minor:feat' ---- - -Add `set_simple_fullscreen` method to `WebviewWindow`. - -This method was already available on the `Window` type and is now also available on `WebviewWindow` for consistency. On macOS, it toggles fullscreen mode without creating a new macOS Space. On other platforms, it falls back to regular fullscreen. diff --git a/.changes/window-config-focus-default-true.md b/.changes/window-config-focus-default-true.md deleted file mode 100644 index 38d24aebc..000000000 --- a/.changes/window-config-focus-default-true.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -tauri: patch:bug ---- - -`WindowConfig::focus` is set to `false` in `WindowConfig::default()` diff --git a/.changes/wry-054.md b/.changes/wry-054.md deleted file mode 100644 index 9e4a0cdbe..000000000 --- a/.changes/wry-054.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -tauri-runtime-wry: patch:deps -tauri: patch:deps ---- - -Update wry to `v0.54`. \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index 2df411247..871124658 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1320,7 +1320,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" dependencies = [ "lazy_static", - "windows-sys 0.59.0", + "windows-sys 0.48.0", ] [[package]] @@ -4327,7 +4327,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" dependencies = [ "cfg-if", - "windows-targets 0.52.6", + "windows-targets 0.48.5", ] [[package]] @@ -8504,7 +8504,7 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] name = "tauri" -version = "2.9.5" +version = "2.10.0" dependencies = [ "anyhow", "bytes", @@ -8565,7 +8565,7 @@ dependencies = [ [[package]] name = "tauri-build" -version = "2.5.3" +version = "2.5.4" dependencies = [ "anyhow", "cargo_toml", @@ -8587,7 +8587,7 @@ dependencies = [ [[package]] name = "tauri-bundler" -version = "2.7.5" +version = "2.8.0" dependencies = [ "anyhow", "ar", @@ -8633,7 +8633,7 @@ dependencies = [ [[package]] name = "tauri-cli" -version = "2.9.6" +version = "2.10.0" dependencies = [ "ar", "axum", @@ -8727,7 +8727,7 @@ dependencies = [ [[package]] name = "tauri-codegen" -version = "2.5.2" +version = "2.5.3" dependencies = [ "base64 0.22.1", "brotli", @@ -8793,7 +8793,7 @@ dependencies = [ [[package]] name = "tauri-macos-sign" -version = "2.3.2" +version = "2.3.3" dependencies = [ "apple-codesign", "chrono", @@ -8814,7 +8814,7 @@ dependencies = [ [[package]] name = "tauri-macros" -version = "2.5.2" +version = "2.5.3" dependencies = [ "heck 0.5.0", "proc-macro2", @@ -8826,7 +8826,7 @@ dependencies = [ [[package]] name = "tauri-plugin" -version = "2.5.2" +version = "2.5.3" dependencies = [ "anyhow", "glob", @@ -8874,7 +8874,7 @@ dependencies = [ [[package]] name = "tauri-runtime" -version = "2.9.2" +version = "2.10.0" dependencies = [ "cookie", "dpi", @@ -8897,7 +8897,7 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" -version = "2.9.3" +version = "2.10.0" dependencies = [ "gtk", "http 1.3.1", @@ -8948,7 +8948,7 @@ dependencies = [ [[package]] name = "tauri-utils" -version = "2.8.1" +version = "2.8.2" dependencies = [ "aes-gcm", "anyhow", @@ -10330,7 +10330,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.48.0", ] [[package]] diff --git a/crates/tauri-build/CHANGELOG.md b/crates/tauri-build/CHANGELOG.md index 4e5c9c97a..80bc3d7cf 100644 --- a/crates/tauri-build/CHANGELOG.md +++ b/crates/tauri-build/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog +## \[2.5.4] + +### Enhancements + +- [`2d28e3143`](https://www.github.com/tauri-apps/tauri/commit/2d28e3143ee3d97d7570ea03877aa00a0d6e47d0) ([#14632](https://www.github.com/tauri-apps/tauri/pull/14632) by [@sftse](https://www.github.com/tauri-apps/tauri/../../sftse)) Small code refactors for improved code readability. No user facing changes. + +### Dependencies + +- Upgraded to `tauri-utils@2.8.2` +- Upgraded to `tauri-codegen@2.5.3` + ## \[2.5.3] ### Dependencies diff --git a/crates/tauri-build/Cargo.toml b/crates/tauri-build/Cargo.toml index da35d963b..89c7950bd 100644 --- a/crates/tauri-build/Cargo.toml +++ b/crates/tauri-build/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-build" -version = "2.5.3" +version = "2.5.4" description = "build time code to pair with https://crates.io/crates/tauri" exclude = ["CHANGELOG.md", "/target"] readme = "README.md" @@ -26,8 +26,8 @@ targets = [ [dependencies] anyhow = "1" quote = { version = "1", optional = true } -tauri-codegen = { version = "2.5.2", path = "../tauri-codegen", optional = true } -tauri-utils = { version = "2.8.1", path = "../tauri-utils", features = [ +tauri-codegen = { version = "2.5.3", path = "../tauri-codegen", optional = true } +tauri-utils = { version = "2.8.2", path = "../tauri-utils", features = [ "build", "resources", ] } diff --git a/crates/tauri-build/src/lib.rs b/crates/tauri-build/src/lib.rs index 42c9275b4..ddfac0cc5 100644 --- a/crates/tauri-build/src/lib.rs +++ b/crates/tauri-build/src/lib.rs @@ -57,7 +57,7 @@ fn copy_binaries( binaries: ResourcePaths, target_triple: &str, path: &Path, - package_name: Option<&String>, + package_name: Option<&str>, ) -> Result<()> { for src in binaries { let src = src?; @@ -529,7 +529,7 @@ pub fn try_build(attributes: Attributes) -> Result<()> { ResourcePaths::new(&external_binaries(paths, &target_triple, &target), true), &target_triple, target_dir, - manifest.package.as_ref().map(|p| &p.name), + manifest.package.as_ref().map(|p| p.name.as_ref()), )?; } @@ -587,21 +587,19 @@ pub fn try_build(attributes: Attributes) -> Result<()> { use semver::Version; use tauri_winres::{VersionInfo, WindowsResource}; - fn find_icon bool>(config: &Config, predicate: F, default: &str) -> PathBuf { - let icon_path = config - .bundle - .icon - .iter() - .find(|i| predicate(i)) - .cloned() - .unwrap_or_else(|| default.to_string()); - icon_path.into() - } - let window_icon_path = attributes .windows_attributes .window_icon_path - .unwrap_or_else(|| find_icon(&config, |i| i.ends_with(".ico"), "icons/icon.ico")); + .unwrap_or_else(|| { + config + .bundle + .icon + .iter() + .find(|i| i.ends_with(".ico")) + .map(AsRef::as_ref) + .unwrap_or("icons/icon.ico") + .into() + }); let mut res = WindowsResource::new(); diff --git a/crates/tauri-bundler/CHANGELOG.md b/crates/tauri-bundler/CHANGELOG.md index c8e880524..506d996ff 100644 --- a/crates/tauri-bundler/CHANGELOG.md +++ b/crates/tauri-bundler/CHANGELOG.md @@ -1,5 +1,26 @@ # Changelog +## \[2.8.0] + +### Enhancements + +- [`c769f211f`](https://www.github.com/tauri-apps/tauri/commit/c769f211fcaa543884c9d0f87ebd2ee106c01382) ([#14824](https://www.github.com/tauri-apps/tauri/pull/14824) by [@Kf637](https://www.github.com/tauri-apps/tauri/../../Kf637)) feat(nsis): add Norwegian language support for installer. + +### Bug Fixes + +- [`7fca58230`](https://www.github.com/tauri-apps/tauri/commit/7fca58230f97c3e6834134419514a0c7dbbe784b) ([#14830](https://www.github.com/tauri-apps/tauri/pull/14830) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Updated `nsis_tauri_utils` to 0.5.3: + + - Use an alternative method `CreateProcessWithTokenW` to run programs as user, this fixed a problem that the program launched with the previous method can't query its own handle + +### What's Changed + +- [`0575dd287`](https://www.github.com/tauri-apps/tauri/commit/0575dd287e021b61d2aedf64d62ae84a2c925fb4) ([#14521](https://www.github.com/tauri-apps/tauri/pull/14521) by [@kandrelczyk](https://www.github.com/tauri-apps/tauri/../../kandrelczyk)) Change the way bundle type information is added to binary files. Instead of looking up the value of a variable we simply look for the default value. + +### Dependencies + +- Upgraded to `tauri-utils@2.8.2` +- Upgraded to `tauri-macos-sign@2.3.3` + ## \[2.7.5] ### Enhancements diff --git a/crates/tauri-bundler/Cargo.toml b/crates/tauri-bundler/Cargo.toml index cb88cb9a9..428229385 100644 --- a/crates/tauri-bundler/Cargo.toml +++ b/crates/tauri-bundler/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-bundler" -version = "2.7.5" +version = "2.8.0" authors = [ "George Burton ", "Tauri Programme within The Commons Conservancy", @@ -15,7 +15,7 @@ rust-version = "1.77.2" exclude = ["CHANGELOG.md", "/target", "rustfmt.toml"] [dependencies] -tauri-utils = { version = "2.8.1", path = "../tauri-utils", features = [ +tauri-utils = { version = "2.8.2", path = "../tauri-utils", features = [ "resources", ] } image = "0.25" @@ -59,7 +59,7 @@ features = ["Win32_System_SystemInformation", "Win32_System_Diagnostics_Debug"] [target."cfg(target_os = \"macos\")".dependencies] icns = { package = "tauri-icns", version = "0.1" } time = { version = "0.3", features = ["formatting"] } -tauri-macos-sign = { version = "2.3.2", path = "../tauri-macos-sign" } +tauri-macos-sign = { version = "2.3.3", path = "../tauri-macos-sign" } [target."cfg(target_os = \"linux\")".dependencies] heck = "0.5" diff --git a/crates/tauri-cli/CHANGELOG.md b/crates/tauri-cli/CHANGELOG.md index cb3bc6716..4d38ef1c8 100644 --- a/crates/tauri-cli/CHANGELOG.md +++ b/crates/tauri-cli/CHANGELOG.md @@ -1,5 +1,47 @@ # Changelog +## \[2.10.0] + +### Enhancements + +- [`f82594410`](https://www.github.com/tauri-apps/tauri/commit/f82594410cd57d6f794f58d4afea0ed335aa796f) ([#13253](https://www.github.com/tauri-apps/tauri/pull/13253) by [@Armaldio](https://www.github.com/tauri-apps/tauri/../../Armaldio)) Allow electron to run the CLI directly +- [`2d28e3143`](https://www.github.com/tauri-apps/tauri/commit/2d28e3143ee3d97d7570ea03877aa00a0d6e47d0) ([#14632](https://www.github.com/tauri-apps/tauri/pull/14632) by [@sftse](https://www.github.com/tauri-apps/tauri/../../sftse)) Small code refactors for improved code readability. No user facing changes. +- [`a2abe2e6b`](https://www.github.com/tauri-apps/tauri/commit/a2abe2e6bcb9e1eed8484240dfdb76a5bc28ae58) ([#14607](https://www.github.com/tauri-apps/tauri/pull/14607) by [@sftse](https://www.github.com/tauri-apps/tauri/../../sftse)) Simplified internal representation of `features: Option>` with `Vec`, no user facing changes +- [`84b04c4a8`](https://www.github.com/tauri-apps/tauri/commit/84b04c4a8d3310b7a7091d10e36244bf94996e51) ([#14759](https://www.github.com/tauri-apps/tauri/pull/14759) by [@amrbashir](https://www.github.com/tauri-apps/tauri/../../amrbashir)) Added new environment variables for `tauri signer sign` command, to align with existing environment variables used in `tauri build`, `tauri bundle` and `tauri signer generate` + + - `TAURI_SIGNING_PRIVATE_KEY` + - `TAURI_SIGNING_PRIVATE_KEY_PATH` + - `TAURI_SIGNING_PRIVATE_KEY_PASSWORD` + + The old environment variables are deprecated and will be removed in a future release. + + - `TAURI_PRIVATE_KEY` + - `TAURI_PRIVATE_KEY_PATH` + - `TAURI_PRIVATE_KEY_PASSWORD` + +### Bug Fixes + +- [`62aa13a12`](https://www.github.com/tauri-apps/tauri/commit/62aa13a124ef46bb5ce9887a2a574dd35ef86d4f) ([#14629](https://www.github.com/tauri-apps/tauri/pull/14629) by [@lucasfernog](https://www.github.com/tauri-apps/tauri/../../lucasfernog)) Fix `android build`'s `--aab` and `--apk` flags requiring a value to be provided. +- [`eccff9758`](https://www.github.com/tauri-apps/tauri/commit/eccff97588232055bd0cafd83e6ee03d11a501fb) ([#14779](https://www.github.com/tauri-apps/tauri/pull/14779) by [@lucasfernog](https://www.github.com/tauri-apps/tauri/../../lucasfernog)) Fix empty associated-domains entitlements when domains are not configured for deep links. +- [`ea31b07f1`](https://www.github.com/tauri-apps/tauri/commit/ea31b07f19e0aa467ed0f921f60575cfe09809c8) ([#14789](https://www.github.com/tauri-apps/tauri/pull/14789) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Fixed the command description for `tauri inspect` +- [`7fca58230`](https://www.github.com/tauri-apps/tauri/commit/7fca58230f97c3e6834134419514a0c7dbbe784b) ([#14830](https://www.github.com/tauri-apps/tauri/pull/14830) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Updated `nsis_tauri_utils` to 0.5.3: + + - Use an alternative method `CreateProcessWithTokenW` to run programs as user, this fixed a problem that the program launched with the previous method can't query its own handle +- [`53611c4d7`](https://www.github.com/tauri-apps/tauri/commit/53611c4d7bdaf89b9a5d7c46a9c4bf4e34216148) ([#14747](https://www.github.com/tauri-apps/tauri/pull/14747) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Only watch dependent workspace members when running `tauri dev` instead of watching on all members +- [`1b0e335d3`](https://www.github.com/tauri-apps/tauri/commit/1b0e335d3f3445948d6590f7e074275d97cd9859) ([#14713](https://www.github.com/tauri-apps/tauri/pull/14713) by [@wasuaje](https://www.github.com/tauri-apps/tauri/../../wasuaje)) `tauri signer sign` doesn't work for files without an extension + +### What's Changed + +- [`e3fdcb500`](https://www.github.com/tauri-apps/tauri/commit/e3fdcb5002b362b46cde2a1971e4e7f2a1161208) ([#14836](https://www.github.com/tauri-apps/tauri/pull/14836) by [@sftse](https://www.github.com/tauri-apps/tauri/../../sftse)) Continued refactors of tauri-cli, fix too weak atomics. +- [`0575dd287`](https://www.github.com/tauri-apps/tauri/commit/0575dd287e021b61d2aedf64d62ae84a2c925fb4) ([#14521](https://www.github.com/tauri-apps/tauri/pull/14521) by [@kandrelczyk](https://www.github.com/tauri-apps/tauri/../../kandrelczyk)) Change the way bundle type information is added to binary files. Instead of looking up the value of a variable we simply look for the default value. +- [`7f7d9aac2`](https://www.github.com/tauri-apps/tauri/commit/7f7d9aac214e22d9492490543f7a9bcae0a6659e) ([#14668](https://www.github.com/tauri-apps/tauri/pull/14668) by [@sftse](https://www.github.com/tauri-apps/tauri/../../sftse)) Refactored internal use of static on config and directory resolvings, no user facing changes, please report any regressions if you encounter any + +### Dependencies + +- Upgraded to `tauri-utils@2.8.2` +- Upgraded to `tauri-macos-sign@2.3.3` +- Upgraded to `tauri-bundler@2.8.0` + ## \[2.9.6] ### What's Changed diff --git a/crates/tauri-cli/Cargo.toml b/crates/tauri-cli/Cargo.toml index 131b654a7..25cef598e 100644 --- a/crates/tauri-cli/Cargo.toml +++ b/crates/tauri-cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-cli" -version = "2.9.6" +version = "2.10.0" authors = ["Tauri Programme within The Commons Conservancy"] edition = "2021" rust-version = "1.77.2" @@ -47,7 +47,7 @@ sublime_fuzzy = "0.7" clap_complete = "4" clap = { version = "4", features = ["derive", "env"] } thiserror = "2" -tauri-bundler = { version = "2.7.5", default-features = false, path = "../tauri-bundler" } +tauri-bundler = { version = "2.8.0", default-features = false, path = "../tauri-bundler" } colored = "2" serde = { version = "1", features = ["derive"] } serde_json = { version = "1", features = ["preserve_order"] } @@ -58,7 +58,7 @@ shared_child = "1" duct = "1.0" toml_edit = { version = "0.24", features = ["serde"] } json-patch = "3" -tauri-utils = { version = "2.8.1", path = "../tauri-utils", features = [ +tauri-utils = { version = "2.8.2", path = "../tauri-utils", features = [ "isolation", "schema", "config-json5", @@ -133,7 +133,7 @@ libc = "0.2" [target."cfg(target_os = \"macos\")".dependencies] plist = "1" -tauri-macos-sign = { version = "2.3.2", path = "../tauri-macos-sign" } +tauri-macos-sign = { version = "2.3.3", path = "../tauri-macos-sign" } object = { version = "0.36", default-features = false, features = [ "macho", "read_core", diff --git a/crates/tauri-cli/config.schema.json b/crates/tauri-cli/config.schema.json index 58fab551a..d44b4f94c 100644 --- a/crates/tauri-cli/config.schema.json +++ b/crates/tauri-cli/config.schema.json @@ -1,6 +1,6 @@ { "$schema": "http://json-schema.org/draft-07/schema#", - "$id": "https://schema.tauri.app/config/2.9.5", + "$id": "https://schema.tauri.app/config/2.10.0", "title": "Config", "description": "The Tauri configuration object.\n It is read from a file where you can define your frontend assets,\n configure the bundler and define a tray icon.\n\n The configuration file is generated by the\n [`tauri init`](https://v2.tauri.app/reference/cli/#init) command that lives in\n your Tauri application source directory (src-tauri).\n\n Once generated, you may modify it at will to customize your Tauri application.\n\n ## File Formats\n\n By default, the configuration is defined as a JSON file named `tauri.conf.json`.\n\n Tauri also supports JSON5 and TOML files via the `config-json5` and `config-toml` Cargo features, respectively.\n The JSON5 file name must be either `tauri.conf.json` or `tauri.conf.json5`.\n The TOML file name is `Tauri.toml`.\n\n ## Platform-Specific Configuration\n\n In addition to the default configuration file, Tauri can\n read a platform-specific configuration from `tauri.linux.conf.json`,\n `tauri.windows.conf.json`, `tauri.macos.conf.json`, `tauri.android.conf.json` and `tauri.ios.conf.json`\n (or `Tauri.linux.toml`, `Tauri.windows.toml`, `Tauri.macos.toml`, `Tauri.android.toml` and `Tauri.ios.toml` if the `Tauri.toml` format is used),\n which gets merged with the main configuration object.\n\n ## Configuration Structure\n\n The configuration is composed of the following objects:\n\n - [`app`](#appconfig): The Tauri configuration\n - [`build`](#buildconfig): The build configuration\n - [`bundle`](#bundleconfig): The bundle configurations\n - [`plugins`](#pluginconfig): The plugins configuration\n\n Example tauri.config.json file:\n\n ```json\n {\n \"productName\": \"tauri-app\",\n \"version\": \"0.1.0\",\n \"build\": {\n \"beforeBuildCommand\": \"\",\n \"beforeDevCommand\": \"\",\n \"devUrl\": \"http://localhost:3000\",\n \"frontendDist\": \"../dist\"\n },\n \"app\": {\n \"security\": {\n \"csp\": null\n },\n \"windows\": [\n {\n \"fullscreen\": false,\n \"height\": 600,\n \"resizable\": true,\n \"title\": \"Tauri App\",\n \"width\": 800\n }\n ]\n },\n \"bundle\": {},\n \"plugins\": {}\n }\n ```", "type": "object", diff --git a/crates/tauri-cli/metadata-v2.json b/crates/tauri-cli/metadata-v2.json index 510949b94..42edebea8 100644 --- a/crates/tauri-cli/metadata-v2.json +++ b/crates/tauri-cli/metadata-v2.json @@ -1,9 +1,9 @@ { "cli.js": { - "version": "2.9.6", + "version": "2.10.0", "node": ">= 10.0.0" }, - "tauri": "2.9.5", - "tauri-build": "2.5.3", - "tauri-plugin": "2.5.2" + "tauri": "2.10.0", + "tauri-build": "2.5.4", + "tauri-plugin": "2.5.3" } diff --git a/crates/tauri-cli/src/build.rs b/crates/tauri-cli/src/build.rs index b43b3c9ae..627fd763a 100644 --- a/crates/tauri-cli/src/build.rs +++ b/crates/tauri-cli/src/build.rs @@ -11,7 +11,7 @@ use crate::{ config::{get_config, ConfigMetadata, FrontendDist}, }, info::plugins::check_mismatched_packages, - interface::{rust::get_cargo_target_dir, AppInterface, Interface}, + interface::{rust::get_cargo_target_dir, AppInterface}, ConfigValue, Result, }; use clap::{ArgAction, Parser}; diff --git a/crates/tauri-cli/src/bundle.rs b/crates/tauri-cli/src/bundle.rs index 638c215e9..4d3637ab5 100644 --- a/crates/tauri-cli/src/bundle.rs +++ b/crates/tauri-cli/src/bundle.rs @@ -20,7 +20,7 @@ use crate::{ config::{get_config, ConfigMetadata}, updater_signature, }, - interface::{AppInterface, AppSettings, Interface}, + interface::{AppInterface, AppSettings}, ConfigValue, }; diff --git a/crates/tauri-cli/src/dev.rs b/crates/tauri-cli/src/dev.rs index a66186919..d175c4c18 100644 --- a/crates/tauri-cli/src/dev.rs +++ b/crates/tauri-cli/src/dev.rs @@ -10,7 +10,7 @@ use crate::{ config::{get_config, reload_config, BeforeDevCommand, ConfigMetadata, FrontendDist}, }, info::plugins::check_mismatched_packages, - interface::{AppInterface, ExitReason, Interface}, + interface::{AppInterface, ExitReason}, CommandExt, ConfigValue, Error, Result, }; @@ -25,13 +25,13 @@ use std::{ process::{exit, Command, Stdio}, sync::{ atomic::{AtomicBool, Ordering}, - Arc, Mutex, OnceLock, + OnceLock, }, }; mod builtin_dev_server; -static BEFORE_DEV: OnceLock>> = OnceLock::new(); +static BEFORE_DEV: OnceLock = OnceLock::new(); static KILL_BEFORE_DEV_FLAG: AtomicBool = AtomicBool::new(false); #[cfg(unix)] @@ -205,21 +205,18 @@ pub fn setup( let child = SharedChild::spawn(&mut command) .unwrap_or_else(|_| panic!("failed to run `{before_dev}`")); - let child = Arc::new(child); - let child_ = child.clone(); + let child = BEFORE_DEV.get_or_init(move || child); std::thread::spawn(move || { - let status = child_ + let status = child .wait() .expect("failed to wait on \"beforeDevCommand\""); - if !(status.success() || KILL_BEFORE_DEV_FLAG.load(Ordering::Relaxed)) { + if !(status.success() || KILL_BEFORE_DEV_FLAG.load(Ordering::SeqCst)) { log::error!("The \"beforeDevCommand\" terminated with a non-zero status code."); exit(status.code().unwrap_or(1)); } }); - BEFORE_DEV.set(Mutex::new(child)).unwrap(); - let _ = ctrlc::set_handler(move || { kill_before_dev_process(); exit(130); @@ -336,11 +333,10 @@ pub fn on_app_exit(code: Option, reason: ExitReason, exit_on_panic: bool, n pub fn kill_before_dev_process() { if let Some(child) = BEFORE_DEV.get() { - let child = child.lock().unwrap(); - if KILL_BEFORE_DEV_FLAG.load(Ordering::Relaxed) { + if KILL_BEFORE_DEV_FLAG.load(Ordering::SeqCst) { return; } - KILL_BEFORE_DEV_FLAG.store(true, Ordering::Relaxed); + KILL_BEFORE_DEV_FLAG.store(true, Ordering::SeqCst); #[cfg(windows)] { let powershell_path = std::env::var("SYSTEMROOT").map_or_else( diff --git a/crates/tauri-cli/src/helpers/mod.rs b/crates/tauri-cli/src/helpers/mod.rs index 3d2a5f0e9..05ea00109 100644 --- a/crates/tauri-cli/src/helpers/mod.rs +++ b/crates/tauri-cli/src/helpers/mod.rs @@ -30,10 +30,7 @@ use tauri_utils::config::HookCommand; #[cfg(not(target_os = "windows"))] use crate::Error; -use crate::{ - interface::{AppInterface, Interface}, - CommandExt, -}; +use crate::{interface::AppInterface, CommandExt}; pub fn command_env(debug: bool) -> HashMap<&'static str, String> { let mut map = HashMap::new(); diff --git a/crates/tauri-cli/src/inspect.rs b/crates/tauri-cli/src/inspect.rs index de26dd984..1e2334965 100644 --- a/crates/tauri-cli/src/inspect.rs +++ b/crates/tauri-cli/src/inspect.rs @@ -6,7 +6,7 @@ use std::path::Path; use crate::Result; use clap::{Parser, Subcommand}; -use crate::interface::{AppInterface, AppSettings, Interface}; +use crate::interface::{AppInterface, AppSettings}; #[derive(Debug, Parser)] #[clap(about = "Inspect values used by Tauri")] diff --git a/crates/tauri-cli/src/interface/mod.rs b/crates/tauri-cli/src/interface/mod.rs index dc15e7ecb..683d29eba 100644 --- a/crates/tauri-cli/src/interface/mod.rs +++ b/crates/tauri-cli/src/interface/mod.rs @@ -5,23 +5,17 @@ pub mod rust; use std::{ - collections::HashMap, path::{Path, PathBuf}, process::ExitStatus, - sync::Arc, }; -use crate::{ - error::Context, helpers::app_paths::Dirs, helpers::config::Config, - helpers::config::ConfigMetadata, -}; +use crate::{error::Context, helpers::config::Config}; use tauri_bundler::bundle::{PackageType, Settings, SettingsBuilder}; pub use rust::{MobileOptions, Options, Rust as AppInterface, WatcherOptions}; pub trait DevProcess { fn kill(&self) -> std::io::Result<()>; - fn try_wait(&self) -> std::io::Result>; #[allow(unused)] fn wait(&self) -> std::io::Result; #[allow(unused)] @@ -104,35 +98,3 @@ pub enum ExitReason { /// Regular exit. NormalExit, } - -pub trait Interface: Sized { - type AppSettings: AppSettings; - - fn new(config: &Config, target: Option, tauri_dir: &Path) -> crate::Result; - fn app_settings(&self) -> Arc; - fn env(&self) -> HashMap<&str, String>; - fn build(&mut self, options: Options, dirs: &Dirs) -> crate::Result; - fn dev, ExitReason) + Send + Sync + 'static>( - &mut self, - config: &mut ConfigMetadata, - options: Options, - on_exit: F, - dirs: &Dirs, - ) -> crate::Result<()>; - fn mobile_dev< - R: Fn(MobileOptions, &ConfigMetadata) -> crate::Result>, - >( - &mut self, - config: &mut ConfigMetadata, - options: MobileOptions, - runner: R, - dirs: &Dirs, - ) -> crate::Result<()>; - fn watch crate::Result>>( - &mut self, - config: &mut ConfigMetadata, - options: WatcherOptions, - runner: R, - dirs: &Dirs, - ) -> crate::Result<()>; -} diff --git a/crates/tauri-cli/src/interface/rust.rs b/crates/tauri-cli/src/interface/rust.rs index 3878b8845..c4c339e69 100644 --- a/crates/tauri-cli/src/interface/rust.rs +++ b/crates/tauri-cli/src/interface/rust.rs @@ -27,7 +27,7 @@ use tauri_bundler::{ }; use tauri_utils::config::{parse::is_configuration_file, DeepLinkProtocol, RunnerConfig, Updater}; -use super::{AppSettings, DevProcess, ExitReason, Interface}; +use super::{AppSettings, DevProcess, ExitReason}; use crate::{ error::{Context, Error, ErrorExt}, helpers::{ @@ -134,10 +134,8 @@ pub struct Rust { main_binary_name: Option, } -impl Interface for Rust { - type AppSettings = RustAppSettings; - - fn new(config: &Config, target: Option, tauri_dir: &Path) -> crate::Result { +impl Rust { + pub fn new(config: &Config, target: Option, tauri_dir: &Path) -> crate::Result { let manifest = { let (tx, rx) = sync_channel(1); let mut watcher = new_debouncer(Duration::from_secs(1), None, move |r| { @@ -177,11 +175,11 @@ impl Interface for Rust { }) } - fn app_settings(&self) -> Arc { + pub fn app_settings(&self) -> Arc { self.app_settings.clone() } - fn build(&mut self, options: Options, dirs: &Dirs) -> crate::Result { + pub fn build(&mut self, options: Options, dirs: &Dirs) -> crate::Result { desktop::build( options, &self.app_settings, @@ -192,7 +190,7 @@ impl Interface for Rust { ) } - fn dev, ExitReason) + Send + Sync + 'static>( + pub fn dev, ExitReason) + Send + Sync + 'static>( &mut self, config: &mut ConfigMetadata, mut options: Options, @@ -212,7 +210,7 @@ impl Interface for Rust { if options.no_watch { let (tx, rx) = sync_channel(1); - self.run_dev(options, run_args, move |status, reason| { + self.run_dev(options, &run_args, move |status, reason| { on_exit(status, reason); tx.send(()).unwrap(); })?; @@ -227,16 +225,18 @@ impl Interface for Rust { &merge_configs, |rust: &mut Rust, _config| { let on_exit = on_exit.clone(); - rust.run_dev(options.clone(), run_args.clone(), move |status, reason| { - on_exit(status, reason) - }) + rust + .run_dev(options.clone(), &run_args, move |status, reason| { + on_exit(status, reason) + }) + .map(|child| Box::new(child) as Box) }, dirs, ) } } - fn mobile_dev< + pub fn mobile_dev< R: Fn(MobileOptions, &ConfigMetadata) -> crate::Result>, >( &mut self, @@ -270,7 +270,7 @@ impl Interface for Rust { } } - fn watch crate::Result>>( + pub fn watch crate::Result>>( &mut self, config: &mut ConfigMetadata, options: WatcherOptions, @@ -287,7 +287,7 @@ impl Interface for Rust { ) } - fn env(&self) -> HashMap<&str, String> { + pub fn env(&self) -> HashMap<&str, String> { let mut env = HashMap::new(); env.insert( "TAURI_ENV_TARGET_TRIPLE", @@ -363,7 +363,7 @@ fn build_ignore_matcher(dir: &Path) -> IgnoreMatcher { ignore_builder.add(path); - if let Ok(ignore_file) = std::env::var("TAURI_CLI_WATCHER_IGNORE_FILENAME") { + if let Some(ignore_file) = std::env::var_os("TAURI_CLI_WATCHER_IGNORE_FILENAME") { ignore_builder.add(dir.join(ignore_file)); } @@ -395,7 +395,7 @@ fn lookup(dir: &Path, mut f: F) { let mut builder = ignore::WalkBuilder::new(dir); builder.add_custom_ignore_filename(".taurignore"); let _ = builder.add_ignore(default_gitignore); - if let Ok(ignore_file) = std::env::var("TAURI_CLI_WATCHER_IGNORE_FILENAME") { + if let Some(ignore_file) = std::env::var_os("TAURI_CLI_WATCHER_IGNORE_FILENAME") { builder.add_ignore(ignore_file); } builder.require_git(false).ignore(false).max_depth(Some(1)); @@ -492,9 +492,9 @@ impl Rust { fn run_dev, ExitReason) + Send + Sync + 'static>( &mut self, options: Options, - run_args: Vec, + run_args: &[String], on_exit: F, - ) -> crate::Result> { + ) -> crate::Result { desktop::run_dev( options, run_args, @@ -502,7 +502,6 @@ impl Rust { self.config_features.clone(), on_exit, ) - .map(|c| Box::new(c) as Box) } fn run_dev_watcher< @@ -515,9 +514,7 @@ impl Rust { run: F, dirs: &Dirs, ) -> crate::Result<()> { - let child = run(self, config)?; - - let process = Arc::new(Mutex::new(child)); + let mut child = run(self, config)?; let (tx, rx) = sync_channel(1); let watch_folders = get_watch_folders(additional_watch_folders, dirs.tauri)?; @@ -582,17 +579,12 @@ impl Rust { display_path(event_path.strip_prefix(dirs.frontend).unwrap_or(event_path)) ); - let mut p = process.lock().unwrap(); - p.kill().context("failed to kill app process")?; + child.kill().context("failed to kill app process")?; // wait for the process to exit // note that on mobile, kill() already waits for the process to exit (duct implementation) - loop { - if !matches!(p.try_wait(), Ok(None)) { - break; - } - } - *p = run(self, config)?; + let _ = child.wait(); + child = run(self, config)?; } } } @@ -1382,7 +1374,7 @@ fn tauri_config_to_bundle_settings( if enabled_features.contains(&"tray-icon".into()) || enabled_features.contains(&"tauri/tray-icon".into()) { - let (tray_kind, path) = std::env::var("TAURI_LINUX_AYATANA_APPINDICATOR") + let (tray_kind, path) = std::env::var_os("TAURI_LINUX_AYATANA_APPINDICATOR") .map(|ayatana| { if ayatana == "true" || ayatana == "1" { ( @@ -1404,7 +1396,7 @@ fn tauri_config_to_bundle_settings( ) } }) - .unwrap_or_else(|_| pkgconfig_utils::get_appindicator_library_path()); + .unwrap_or_else(pkgconfig_utils::get_appindicator_library_path); match tray_kind { pkgconfig_utils::TrayKind::Ayatana => { depends_deb.push("libayatana-appindicator3-1".into()); diff --git a/crates/tauri-cli/src/interface/rust/desktop.rs b/crates/tauri-cli/src/interface/rust/desktop.rs index 15cd503e6..ddde0a4f0 100644 --- a/crates/tauri-cli/src/interface/rust/desktop.rs +++ b/crates/tauri-cli/src/interface/rust/desktop.rs @@ -29,30 +29,26 @@ pub struct DevChild { impl DevProcess for DevChild { fn kill(&self) -> std::io::Result<()> { self.dev_child.kill()?; - self.manually_killed_app.store(true, Ordering::Relaxed); + self.manually_killed_app.store(true, Ordering::SeqCst); Ok(()) } - fn try_wait(&self) -> std::io::Result> { - self.dev_child.try_wait() - } - fn wait(&self) -> std::io::Result { self.dev_child.wait() } fn manually_killed_process(&self) -> bool { - self.manually_killed_app.load(Ordering::Relaxed) + self.manually_killed_app.load(Ordering::SeqCst) } } pub fn run_dev, ExitReason) + Send + Sync + 'static>( options: Options, - run_args: Vec, + run_args: &[String], available_targets: &mut Option>, config_features: Vec, on_exit: F, -) -> crate::Result { +) -> crate::Result { let mut dev_cmd = cargo_command(true, options, available_targets, config_features)?; let runner = dev_cmd.get_program().to_string_lossy().into_owned(); @@ -137,7 +133,7 @@ pub fn run_dev, ExitReason) + Send + Sync + 'static>( status.code(), if status.code() == Some(101) && is_cargo_compile_error { ExitReason::CompilationFailed - } else if manually_killed_app_.load(Ordering::Relaxed) { + } else if manually_killed_app_.load(Ordering::SeqCst) { ExitReason::TriggeredKill } else { ExitReason::NormalExit @@ -163,7 +159,7 @@ pub fn build( let out_dir = app_settings.out_dir(&options, tauri_dir)?; let bin_path = app_settings.app_binary_path(&options, tauri_dir)?; - if !std::env::var("STATIC_VCRUNTIME").is_ok_and(|v| v == "false") { + if !std::env::var_os("STATIC_VCRUNTIME").is_some_and(|v| v == "false") { std::env::set_var("STATIC_VCRUNTIME", "true"); } diff --git a/crates/tauri-cli/src/mobile/android/android_studio_script.rs b/crates/tauri-cli/src/mobile/android/android_studio_script.rs index ce1d6ba8e..321b41041 100644 --- a/crates/tauri-cli/src/mobile/android/android_studio_script.rs +++ b/crates/tauri-cli/src/mobile/android/android_studio_script.rs @@ -6,7 +6,7 @@ use super::{detect_target_ok, ensure_init, env, get_app, get_config, read_option use crate::{ error::{Context, ErrorExt}, helpers::config::{get_config as get_tauri_config, reload_config as reload_tauri_config}, - interface::{AppInterface, Interface}, + interface::AppInterface, mobile::CliOptions, Error, Result, }; @@ -62,20 +62,17 @@ pub fn command(options: Options) -> Result<()> { )? }; - let (config, metadata) = { - let (config, metadata) = get_config( - &get_app( - MobileTarget::Android, - &tauri_config, - &AppInterface::new(&tauri_config, None, dirs.tauri)?, - dirs.tauri, - ), + let (config, metadata) = get_config( + &get_app( + MobileTarget::Android, &tauri_config, - &[], - &cli_options, - ); - (config, metadata) - }; + &AppInterface::new(&tauri_config, None, dirs.tauri)?, + dirs.tauri, + ), + &tauri_config, + &[], + &cli_options, + ); ensure_init( &tauri_config, diff --git a/crates/tauri-cli/src/mobile/android/build.rs b/crates/tauri-cli/src/mobile/android/build.rs index 7b85ef47d..8113ace54 100644 --- a/crates/tauri-cli/src/mobile/android/build.rs +++ b/crates/tauri-cli/src/mobile/android/build.rs @@ -14,7 +14,7 @@ use crate::{ config::{get_config as get_tauri_config, ConfigMetadata}, flock, }, - interface::{AppInterface, Interface, Options as InterfaceOptions}, + interface::{AppInterface, Options as InterfaceOptions}, mobile::{android::generate_tauri_properties, write_options, CliOptions, TargetDevice}, ConfigValue, Error, Result, }; @@ -153,19 +153,16 @@ pub fn run( .unwrap(); build_options.target = Some(first_target.triple.into()); - let (interface, config, metadata) = { - let interface = AppInterface::new(tauri_config, build_options.target.clone(), dirs.tauri)?; - interface.build_options(&mut Vec::new(), &mut build_options.features, true); + let interface = AppInterface::new(tauri_config, build_options.target.clone(), dirs.tauri)?; + interface.build_options(&mut Vec::new(), &mut build_options.features, true); - let app = get_app(MobileTarget::Android, tauri_config, &interface, dirs.tauri); - let (config, metadata) = get_config( - &app, - tauri_config, - &build_options.features, - &Default::default(), - ); - (interface, config, metadata) - }; + let app = get_app(MobileTarget::Android, tauri_config, &interface, dirs.tauri); + let (config, metadata) = get_config( + &app, + tauri_config, + &build_options.features, + &Default::default(), + ); let profile = if options.debug { Profile::Debug diff --git a/crates/tauri-cli/src/mobile/android/dev.rs b/crates/tauri-cli/src/mobile/android/dev.rs index a4cfaacd4..7387eb831 100644 --- a/crates/tauri-cli/src/mobile/android/dev.rs +++ b/crates/tauri-cli/src/mobile/android/dev.rs @@ -14,7 +14,7 @@ use crate::{ config::{get_config as get_tauri_config, ConfigMetadata}, flock, }, - interface::{AppInterface, Interface, MobileOptions, Options as InterfaceOptions}, + interface::{AppInterface, MobileOptions, Options as InterfaceOptions}, mobile::{ android::generate_tauri_properties, use_network_address_for_dev_url, write_options, CliOptions, DevChild, DevHost, DevProcess, TargetDevice, @@ -183,18 +183,15 @@ fn run_command(options: Options, noise_level: NoiseLevel, dirs: Dirs) -> Result< .unwrap_or_else(|| Target::all().values().next().unwrap().triple.into()); dev_options.target = Some(target_triple); - let (interface, config, metadata) = { - let interface = AppInterface::new(&tauri_config, dev_options.target.clone(), dirs.tauri)?; + let interface = AppInterface::new(&tauri_config, dev_options.target.clone(), dirs.tauri)?; - let app = get_app(MobileTarget::Android, &tauri_config, &interface, dirs.tauri); - let (config, metadata) = get_config( - &app, - &tauri_config, - dev_options.features.as_ref(), - &Default::default(), - ); - (interface, config, metadata) - }; + let app = get_app(MobileTarget::Android, &tauri_config, &interface, dirs.tauri); + let (config, metadata) = get_config( + &app, + &tauri_config, + dev_options.features.as_ref(), + &Default::default(), + ); set_current_dir(dirs.tauri).context("failed to set current directory to Tauri directory")?; diff --git a/crates/tauri-cli/src/mobile/android/run.rs b/crates/tauri-cli/src/mobile/android/run.rs index c07c6ba6d..c77596b03 100644 --- a/crates/tauri-cli/src/mobile/android/run.rs +++ b/crates/tauri-cli/src/mobile/android/run.rs @@ -14,7 +14,7 @@ use super::{configure_cargo, device_prompt, env}; use crate::{ error::Context, helpers::config::ConfigMetadata, - interface::{DevProcess, Interface, WatcherOptions}, + interface::{DevProcess, WatcherOptions}, mobile::{DevChild, TargetDevice}, ConfigValue, Result, }; diff --git a/crates/tauri-cli/src/mobile/init.rs b/crates/tauri-cli/src/mobile/init.rs index f187b9f12..7ace53b51 100644 --- a/crates/tauri-cli/src/mobile/init.rs +++ b/crates/tauri-cli/src/mobile/init.rs @@ -6,7 +6,7 @@ use super::{get_app, Target}; use crate::{ helpers::app_paths::Dirs, helpers::{config::get_config as get_tauri_config, template::JsonMap}, - interface::{AppInterface, Interface}, + interface::AppInterface, ConfigValue, Result, }; use cargo_mobile2::{ diff --git a/crates/tauri-cli/src/mobile/ios/build.rs b/crates/tauri-cli/src/mobile/ios/build.rs index 5ad7e58d5..7e75ca462 100644 --- a/crates/tauri-cli/src/mobile/ios/build.rs +++ b/crates/tauri-cli/src/mobile/ios/build.rs @@ -16,7 +16,7 @@ use crate::{ flock, plist::merge_plist, }, - interface::{AppInterface, Interface, Options as InterfaceOptions}, + interface::{AppInterface, Options as InterfaceOptions}, mobile::{ios::ensure_ios_runtime_installed, write_options, CliOptions, TargetDevice}, ConfigValue, Error, Result, }; @@ -194,20 +194,17 @@ pub fn run(options: Options, noise_level: NoiseLevel, dirs: &Dirs) -> Result>(), dirs.tauri, )?; - let (interface, mut config) = { - let interface = AppInterface::new(&tauri_config, build_options.target.clone(), dirs.tauri)?; - interface.build_options(&mut Vec::new(), &mut build_options.features, true); + let interface = AppInterface::new(&tauri_config, build_options.target.clone(), dirs.tauri)?; + interface.build_options(&mut Vec::new(), &mut build_options.features, true); - let app = get_app(MobileTarget::Ios, &tauri_config, &interface, dirs.tauri); - let (config, _metadata) = get_config( - &app, - &tauri_config, - &build_options.features, - &Default::default(), - dirs.tauri, - )?; - (interface, config) - }; + let app = get_app(MobileTarget::Ios, &tauri_config, &interface, dirs.tauri); + let (mut config, _) = get_config( + &app, + &tauri_config, + &build_options.features, + &Default::default(), + dirs.tauri, + )?; set_current_dir(dirs.tauri).context("failed to set current directory")?; diff --git a/crates/tauri-cli/src/mobile/ios/dev.rs b/crates/tauri-cli/src/mobile/ios/dev.rs index 397875ac2..0ef7fc083 100644 --- a/crates/tauri-cli/src/mobile/ios/dev.rs +++ b/crates/tauri-cli/src/mobile/ios/dev.rs @@ -15,7 +15,7 @@ use crate::{ flock, plist::merge_plist, }, - interface::{AppInterface, Interface, MobileOptions, Options as InterfaceOptions}, + interface::{AppInterface, MobileOptions, Options as InterfaceOptions}, mobile::{ ios::ensure_ios_runtime_installed, use_network_address_for_dev_url, write_options, CliOptions, DevChild, DevHost, DevProcess, @@ -188,20 +188,16 @@ fn run_command(options: Options, noise_level: NoiseLevel, dirs: Dirs) -> Result< &options.config.iter().map(|c| &c.0).collect::>(), dirs.tauri, )?; - let (interface, config) = { - let interface = AppInterface::new(&tauri_config, Some(target_triple), dirs.tauri)?; + let interface = AppInterface::new(&tauri_config, Some(target_triple), dirs.tauri)?; - let app = get_app(MobileTarget::Ios, &tauri_config, &interface, dirs.tauri); - let (config, _metadata) = get_config( - &app, - &tauri_config, - &dev_options.features, - &Default::default(), - dirs.tauri, - )?; - - (interface, config) - }; + let app = get_app(MobileTarget::Ios, &tauri_config, &interface, dirs.tauri); + let (config, _) = get_config( + &app, + &tauri_config, + &dev_options.features, + &Default::default(), + dirs.tauri, + )?; set_current_dir(dirs.tauri).context("failed to set current directory to Tauri directory")?; diff --git a/crates/tauri-cli/src/mobile/ios/run.rs b/crates/tauri-cli/src/mobile/ios/run.rs index 0021ef868..61e696ef9 100644 --- a/crates/tauri-cli/src/mobile/ios/run.rs +++ b/crates/tauri-cli/src/mobile/ios/run.rs @@ -11,7 +11,7 @@ use super::{device_prompt, env}; use crate::{ error::Context, helpers::config::{get_config as get_tauri_config, ConfigMetadata}, - interface::{DevProcess, Interface, WatcherOptions}, + interface::{DevProcess, WatcherOptions}, mobile::{DevChild, TargetDevice}, ConfigValue, Result, }; diff --git a/crates/tauri-cli/src/mobile/ios/xcode_script.rs b/crates/tauri-cli/src/mobile/ios/xcode_script.rs index 0b30ba2f4..05b182d7c 100644 --- a/crates/tauri-cli/src/mobile/ios/xcode_script.rs +++ b/crates/tauri-cli/src/mobile/ios/xcode_script.rs @@ -6,7 +6,7 @@ use super::{ensure_init, env, get_app, get_config, read_options, MobileTarget}; use crate::{ error::{Context, ErrorExt}, helpers::config::{get_config as get_tauri_config, reload_config as reload_tauri_config}, - interface::{AppInterface, Interface, Options as InterfaceOptions}, + interface::{AppInterface, Options as InterfaceOptions}, mobile::ios::LIB_OUTPUT_FILE_NAME, Error, Result, }; @@ -95,40 +95,33 @@ pub fn command(options: Options) -> Result<()> { let macos = macos_from_platform(&options.platform); let mut tauri_config = get_tauri_config(tauri_utils::platform::Target::Ios, &[], dirs.tauri)?; - let cli_options = { - let cli_options = { read_options(&tauri_config) }; - if !cli_options.config.is_empty() { - // reload config with merges from the ios dev|build script - reload_tauri_config( - &mut tauri_config, - &cli_options - .config - .iter() - .map(|conf| &conf.0) - .collect::>(), - dirs.tauri, - )? - }; - - cli_options - }; - - let (config, metadata) = { - let cli_options = read_options(&tauri_config); - let (config, metadata) = get_config( - &get_app( - MobileTarget::Ios, - &tauri_config, - &AppInterface::new(&tauri_config, None, dirs.tauri)?, - dirs.tauri, - ), - &tauri_config, - &[], - &cli_options, + let cli_options = read_options(&tauri_config); + if !cli_options.config.is_empty() { + // reload config with merges from the ios dev|build script + reload_tauri_config( + &mut tauri_config, + &cli_options + .config + .iter() + .map(|conf| &conf.0) + .collect::>(), dirs.tauri, - )?; - (config, metadata) + )? }; + + let (config, metadata) = get_config( + &get_app( + MobileTarget::Ios, + &tauri_config, + &AppInterface::new(&tauri_config, None, dirs.tauri)?, + dirs.tauri, + ), + &tauri_config, + &[], + &cli_options, + dirs.tauri, + )?; + ensure_init( &tauri_config, config.app(), diff --git a/crates/tauri-cli/src/mobile/mod.rs b/crates/tauri-cli/src/mobile/mod.rs index 6b06e0cac..f7ab30357 100644 --- a/crates/tauri-cli/src/mobile/mod.rs +++ b/crates/tauri-cli/src/mobile/mod.rs @@ -5,7 +5,7 @@ use crate::{ error::{Context, ErrorExt}, helpers::config::{reload_config, Config as TauriConfig, ConfigMetadata}, - interface::{AppInterface, AppSettings, DevProcess, Interface, Options as InterfaceOptions}, + interface::{AppInterface, AppSettings, DevProcess, Options as InterfaceOptions}, ConfigValue, Error, Result, }; use heck::ToSnekCase; @@ -67,18 +67,9 @@ impl DevChild { impl DevProcess for DevChild { fn kill(&self) -> std::io::Result<()> { - self.manually_killed_process.store(true, Ordering::Relaxed); - match self.child.kill() { - Ok(_) => Ok(()), - Err(e) => { - self.manually_killed_process.store(false, Ordering::Relaxed); - Err(e) - } - } - } - - fn try_wait(&self) -> std::io::Result> { - self.child.try_wait().map(|res| res.map(|o| o.status)) + self.child.kill()?; + self.manually_killed_process.store(true, Ordering::SeqCst); + Ok(()) } fn wait(&self) -> std::io::Result { @@ -86,7 +77,7 @@ impl DevProcess for DevChild { } fn manually_killed_process(&self) -> bool { - self.manually_killed_process.load(Ordering::Relaxed) + self.manually_killed_process.load(Ordering::SeqCst) } } diff --git a/crates/tauri-codegen/CHANGELOG.md b/crates/tauri-codegen/CHANGELOG.md index 0da7581fe..8514b2f31 100644 --- a/crates/tauri-codegen/CHANGELOG.md +++ b/crates/tauri-codegen/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## \[2.5.3] + +### Dependencies + +- Upgraded to `tauri-utils@2.8.2` + ## \[2.5.2] ### Dependencies diff --git a/crates/tauri-codegen/Cargo.toml b/crates/tauri-codegen/Cargo.toml index 751ef1402..1c3cdaebd 100644 --- a/crates/tauri-codegen/Cargo.toml +++ b/crates/tauri-codegen/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-codegen" -version = "2.5.2" +version = "2.5.3" description = "code generation meant to be consumed inside of `tauri` through `tauri-build` or `tauri-macros`" exclude = ["CHANGELOG.md", "/target"] readme = "README.md" @@ -20,7 +20,7 @@ quote = "1" syn = "2" serde = { version = "1", features = ["derive"] } serde_json = "1" -tauri-utils = { version = "2.8.1", path = "../tauri-utils", features = [ +tauri-utils = { version = "2.8.2", path = "../tauri-utils", features = [ "build", ] } thiserror = "2" diff --git a/crates/tauri-macos-sign/CHANGELOG.md b/crates/tauri-macos-sign/CHANGELOG.md index 6cccf2a3e..577e23e33 100644 --- a/crates/tauri-macos-sign/CHANGELOG.md +++ b/crates/tauri-macos-sign/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## \[2.3.3] + +### Dependencies + +- [`268bb339f`](https://www.github.com/tauri-apps/tauri/commit/268bb339f0c512f021cc94e102573432cf2696d0) ([#14766](https://www.github.com/tauri-apps/tauri/pull/14766) by [@sftse](https://www.github.com/tauri-apps/tauri/../../sftse)) Remove once-cell-regex from direct dependencies. + ## \[2.3.2] ### Dependencies diff --git a/crates/tauri-macos-sign/Cargo.toml b/crates/tauri-macos-sign/Cargo.toml index 309938c27..af15c66fa 100644 --- a/crates/tauri-macos-sign/Cargo.toml +++ b/crates/tauri-macos-sign/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-macos-sign" -version = "2.3.2" +version = "2.3.3" authors = ["Tauri Programme within The Commons Conservancy"] license = "Apache-2.0 OR MIT" keywords = ["codesign", "signing", "macos", "ios", "tauri"] diff --git a/crates/tauri-macros/CHANGELOG.md b/crates/tauri-macros/CHANGELOG.md index 61d35b3bc..ec3a13b02 100644 --- a/crates/tauri-macros/CHANGELOG.md +++ b/crates/tauri-macros/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## \[2.5.3] + +### Dependencies + +- Upgraded to `tauri-utils@2.8.2` +- Upgraded to `tauri-codegen@2.5.3` + ## \[2.5.2] ### Dependencies diff --git a/crates/tauri-macros/Cargo.toml b/crates/tauri-macros/Cargo.toml index 7a096d01c..364eb8105 100644 --- a/crates/tauri-macros/Cargo.toml +++ b/crates/tauri-macros/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-macros" -version = "2.5.2" +version = "2.5.3" description = "Macros for the tauri crate." exclude = ["CHANGELOG.md", "/target"] readme = "README.md" @@ -20,8 +20,8 @@ proc-macro2 = { version = "1", features = ["span-locations"] } quote = "1" syn = { version = "2", features = ["full"] } heck = "0.5" -tauri-codegen = { version = "2.5.2", default-features = false, path = "../tauri-codegen" } -tauri-utils = { version = "2.8.1", path = "../tauri-utils" } +tauri-codegen = { version = "2.5.3", default-features = false, path = "../tauri-codegen" } +tauri-utils = { version = "2.8.2", path = "../tauri-utils" } [features] custom-protocol = [] diff --git a/crates/tauri-plugin/CHANGELOG.md b/crates/tauri-plugin/CHANGELOG.md index 51505ca06..e0bf35196 100644 --- a/crates/tauri-plugin/CHANGELOG.md +++ b/crates/tauri-plugin/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## \[2.5.3] + +### Dependencies + +- Upgraded to `tauri-utils@2.8.2` + ## \[2.5.2] ### Dependencies diff --git a/crates/tauri-plugin/Cargo.toml b/crates/tauri-plugin/Cargo.toml index c774a8862..4054b8298 100644 --- a/crates/tauri-plugin/Cargo.toml +++ b/crates/tauri-plugin/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-plugin" -version = "2.5.2" +version = "2.5.3" description = "Build script and runtime Tauri plugin definitions" authors.workspace = true homepage.workspace = true @@ -28,7 +28,7 @@ runtime = [] [dependencies] anyhow = { version = "1", optional = true } serde = { version = "1", optional = true } -tauri-utils = { version = "2.8.1", default-features = false, features = [ +tauri-utils = { version = "2.8.2", default-features = false, features = [ "build", ], path = "../tauri-utils" } serde_json = { version = "1", optional = true } diff --git a/crates/tauri-runtime-wry/CHANGELOG.md b/crates/tauri-runtime-wry/CHANGELOG.md index 76f0a046f..ea93a76d0 100644 --- a/crates/tauri-runtime-wry/CHANGELOG.md +++ b/crates/tauri-runtime-wry/CHANGELOG.md @@ -1,5 +1,19 @@ # Changelog +## \[2.10.0] + +### Bug Fixes + +- [`c1d82eb3a`](https://www.github.com/tauri-apps/tauri/commit/c1d82eb3a3fa4b555745ba699edf1cc532030117) ([#14628](https://www.github.com/tauri-apps/tauri/pull/14628) by [@KushalMeghani1644](https://www.github.com/tauri-apps/tauri/../../KushalMeghani1644)) On Linux, keep the WebContext alive to prevent zombie WebKit processes after repeatedly closing all windows and re-opening them. +- [`9b242e40c`](https://www.github.com/tauri-apps/tauri/commit/9b242e40c844189c877a91e513ae6196202d5ae9) ([#14700](https://www.github.com/tauri-apps/tauri/pull/14700) by [@mewi99](https://www.github.com/tauri-apps/tauri/../../mewi99)) Fix compilation errors when targeting BSD. + +### Dependencies + +- Upgraded to `tauri-utils@2.8.2` +- Upgraded to `tauri-runtime@2.10.0` +- [`75057c7c0`](https://www.github.com/tauri-apps/tauri/commit/75057c7c08f0d4d3dd8d10cea4e2217e5d61fe1a) ([#14778](https://www.github.com/tauri-apps/tauri/pull/14778) by [@FabianLars](https://www.github.com/tauri-apps/tauri/../../FabianLars)) **Breaking Change** for `with_webview` users: Updated webkit2gtk-rs crates to `v2.0.2`. +- [`75057c7c0`](https://www.github.com/tauri-apps/tauri/commit/75057c7c08f0d4d3dd8d10cea4e2217e5d61fe1a) ([#14778](https://www.github.com/tauri-apps/tauri/pull/14778) by [@FabianLars](https://www.github.com/tauri-apps/tauri/../../FabianLars)) Update wry to `v0.54`. + ## \[2.9.3] ### Bug Fixes diff --git a/crates/tauri-runtime-wry/Cargo.toml b/crates/tauri-runtime-wry/Cargo.toml index 3abe48253..c0e73af1e 100644 --- a/crates/tauri-runtime-wry/Cargo.toml +++ b/crates/tauri-runtime-wry/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-runtime-wry" -version = "2.9.3" +version = "2.10.0" description = "Wry bindings to the Tauri runtime" exclude = ["CHANGELOG.md", "/target"] readme = "README.md" @@ -20,8 +20,8 @@ wry = { version = "0.54.0", default-features = false, features = [ "linux-body", ] } tao = { version = "0.34.5", default-features = false, features = ["rwh_06"] } -tauri-runtime = { version = "2.9.2", path = "../tauri-runtime" } -tauri-utils = { version = "2.8.1", path = "../tauri-utils" } +tauri-runtime = { version = "2.10.0", path = "../tauri-runtime" } +tauri-utils = { version = "2.8.2", path = "../tauri-utils" } raw-window-handle = "0.6" http = "1" url = "2" diff --git a/crates/tauri-runtime/CHANGELOG.md b/crates/tauri-runtime/CHANGELOG.md index c4ae73bec..47f8abf4d 100644 --- a/crates/tauri-runtime/CHANGELOG.md +++ b/crates/tauri-runtime/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog +## \[2.10.0] + +### Bug Fixes + +- [`9b242e40c`](https://www.github.com/tauri-apps/tauri/commit/9b242e40c844189c877a91e513ae6196202d5ae9) ([#14700](https://www.github.com/tauri-apps/tauri/pull/14700) by [@mewi99](https://www.github.com/tauri-apps/tauri/../../mewi99)) Fix compilation errors when targeting BSD. + +### Dependencies + +- Upgraded to `tauri-utils@2.8.2` +- [`75057c7c0`](https://www.github.com/tauri-apps/tauri/commit/75057c7c08f0d4d3dd8d10cea4e2217e5d61fe1a) ([#14778](https://www.github.com/tauri-apps/tauri/pull/14778) by [@FabianLars](https://www.github.com/tauri-apps/tauri/../../FabianLars)) **Breaking Change** for `with_webview` users: Updated webkit2gtk-rs crates to `v2.0.2`. + ## \[2.9.2] ### Dependencies diff --git a/crates/tauri-runtime/Cargo.toml b/crates/tauri-runtime/Cargo.toml index 53db45873..bab5dc753 100644 --- a/crates/tauri-runtime/Cargo.toml +++ b/crates/tauri-runtime/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-runtime" -version = "2.9.2" +version = "2.10.0" description = "Runtime for Tauri applications" exclude = ["CHANGELOG.md", "/target"] readme = "README.md" @@ -27,7 +27,7 @@ targets = [ serde = { version = "1", features = ["derive"] } serde_json = "1" thiserror = "2" -tauri-utils = { version = "2.8.1", path = "../tauri-utils" } +tauri-utils = { version = "2.8.2", path = "../tauri-utils" } http = "1" raw-window-handle = "0.6" url = { version = "2" } diff --git a/crates/tauri-schema-generator/schemas/config.schema.json b/crates/tauri-schema-generator/schemas/config.schema.json index 58fab551a..d44b4f94c 100644 --- a/crates/tauri-schema-generator/schemas/config.schema.json +++ b/crates/tauri-schema-generator/schemas/config.schema.json @@ -1,6 +1,6 @@ { "$schema": "http://json-schema.org/draft-07/schema#", - "$id": "https://schema.tauri.app/config/2.9.5", + "$id": "https://schema.tauri.app/config/2.10.0", "title": "Config", "description": "The Tauri configuration object.\n It is read from a file where you can define your frontend assets,\n configure the bundler and define a tray icon.\n\n The configuration file is generated by the\n [`tauri init`](https://v2.tauri.app/reference/cli/#init) command that lives in\n your Tauri application source directory (src-tauri).\n\n Once generated, you may modify it at will to customize your Tauri application.\n\n ## File Formats\n\n By default, the configuration is defined as a JSON file named `tauri.conf.json`.\n\n Tauri also supports JSON5 and TOML files via the `config-json5` and `config-toml` Cargo features, respectively.\n The JSON5 file name must be either `tauri.conf.json` or `tauri.conf.json5`.\n The TOML file name is `Tauri.toml`.\n\n ## Platform-Specific Configuration\n\n In addition to the default configuration file, Tauri can\n read a platform-specific configuration from `tauri.linux.conf.json`,\n `tauri.windows.conf.json`, `tauri.macos.conf.json`, `tauri.android.conf.json` and `tauri.ios.conf.json`\n (or `Tauri.linux.toml`, `Tauri.windows.toml`, `Tauri.macos.toml`, `Tauri.android.toml` and `Tauri.ios.toml` if the `Tauri.toml` format is used),\n which gets merged with the main configuration object.\n\n ## Configuration Structure\n\n The configuration is composed of the following objects:\n\n - [`app`](#appconfig): The Tauri configuration\n - [`build`](#buildconfig): The build configuration\n - [`bundle`](#bundleconfig): The bundle configurations\n - [`plugins`](#pluginconfig): The plugins configuration\n\n Example tauri.config.json file:\n\n ```json\n {\n \"productName\": \"tauri-app\",\n \"version\": \"0.1.0\",\n \"build\": {\n \"beforeBuildCommand\": \"\",\n \"beforeDevCommand\": \"\",\n \"devUrl\": \"http://localhost:3000\",\n \"frontendDist\": \"../dist\"\n },\n \"app\": {\n \"security\": {\n \"csp\": null\n },\n \"windows\": [\n {\n \"fullscreen\": false,\n \"height\": 600,\n \"resizable\": true,\n \"title\": \"Tauri App\",\n \"width\": 800\n }\n ]\n },\n \"bundle\": {},\n \"plugins\": {}\n }\n ```", "type": "object", diff --git a/crates/tauri-utils/CHANGELOG.md b/crates/tauri-utils/CHANGELOG.md index a63e5103b..bf6c59f4f 100644 --- a/crates/tauri-utils/CHANGELOG.md +++ b/crates/tauri-utils/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## \[2.8.2] + +### Enhancements + +- [`2d28e3143`](https://www.github.com/tauri-apps/tauri/commit/2d28e3143ee3d97d7570ea03877aa00a0d6e47d0) ([#14632](https://www.github.com/tauri-apps/tauri/pull/14632) by [@sftse](https://www.github.com/tauri-apps/tauri/../../sftse)) Small code refactors for improved code readability. No user facing changes. + ## \[2.8.1] ### Bug Fixes diff --git a/crates/tauri-utils/Cargo.toml b/crates/tauri-utils/Cargo.toml index 6ce1271a0..2a8af1473 100644 --- a/crates/tauri-utils/Cargo.toml +++ b/crates/tauri-utils/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-utils" -version = "2.8.1" +version = "2.8.2" description = "Utilities for Tauri" exclude = ["CHANGELOG.md", "/target"] readme = "README.md" diff --git a/crates/tauri/CHANGELOG.md b/crates/tauri/CHANGELOG.md index ea3c1568c..e0a02fd00 100644 --- a/crates/tauri/CHANGELOG.md +++ b/crates/tauri/CHANGELOG.md @@ -1,5 +1,33 @@ # Changelog +## \[2.10.0] + +### New Features + +- [`e919a760e`](https://www.github.com/tauri-apps/tauri/commit/e919a760edfc115f9e4b5d841e29cc38d5535ed1) ([#14619](https://www.github.com/tauri-apps/tauri/pull/14619) by [@NaamuKim](https://www.github.com/tauri-apps/tauri/../../NaamuKim)) Add `set_simple_fullscreen` method to `WebviewWindow`. + + This method was already available on the `Window` type and is now also available on `WebviewWindow` for consistency. On macOS, it toggles fullscreen mode without creating a new macOS Space. On other platforms, it falls back to regular fullscreen. + +### Bug Fixes + +- [`853ed4642`](https://www.github.com/tauri-apps/tauri/commit/853ed4642ff77154ccd380dd9289d90815d42691) ([#14442](https://www.github.com/tauri-apps/tauri/pull/14442) by [@ish1416](https://www.github.com/tauri-apps/tauri/../../ish1416)) Fixed 500 error when accessing local video files in Android external storage directory via `convertFileSrc`. Added better error handling and logging for Android external storage access to help diagnose permission and accessibility issues. +- [`4d5d78daf`](https://www.github.com/tauri-apps/tauri/commit/4d5d78daf636feaac20c5bc48a6071491c4291ee) ([#14812](https://www.github.com/tauri-apps/tauri/pull/14812) by [@oscartbeaumont](https://www.github.com/tauri-apps/tauri/../../oscartbeaumont)) fix(specta): don't use `#[specta(rename = ...)]` with `tauri::ipc::Channel` +- [`ff5d76ca2`](https://www.github.com/tauri-apps/tauri/commit/ff5d76ca214b94a7b6e88aa4f0f797bbf747824d) ([#14653](https://www.github.com/tauri-apps/tauri/pull/14653) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) `WindowConfig::focus` is set to `false` in `WindowConfig::default()` + +### What's Changed + +- [`0575dd287`](https://www.github.com/tauri-apps/tauri/commit/0575dd287e021b61d2aedf64d62ae84a2c925fb4) ([#14521](https://www.github.com/tauri-apps/tauri/pull/14521) by [@kandrelczyk](https://www.github.com/tauri-apps/tauri/../../kandrelczyk)) Change the way bundle type information is added to binary files. Instead of looking up the value of a variable we simply look for the default value. + +### Dependencies + +- Upgraded to `tauri-utils@2.8.2` +- Upgraded to `tauri-build@2.5.4` +- Upgraded to `tauri-runtime-wry@2.10.0` +- Upgraded to `tauri-runtime@2.10.0` +- Upgraded to `tauri-macros@2.5.3` +- [`75057c7c0`](https://www.github.com/tauri-apps/tauri/commit/75057c7c08f0d4d3dd8d10cea4e2217e5d61fe1a) ([#14778](https://www.github.com/tauri-apps/tauri/pull/14778) by [@FabianLars](https://www.github.com/tauri-apps/tauri/../../FabianLars)) **Breaking Change** for `with_webview` users: Updated webkit2gtk-rs crates to `v2.0.2`. +- [`75057c7c0`](https://www.github.com/tauri-apps/tauri/commit/75057c7c08f0d4d3dd8d10cea4e2217e5d61fe1a) ([#14778](https://www.github.com/tauri-apps/tauri/pull/14778) by [@FabianLars](https://www.github.com/tauri-apps/tauri/../../FabianLars)) Update wry to `v0.54`. + ## \[2.9.5] ### Bug Fixes diff --git a/crates/tauri/Cargo.toml b/crates/tauri/Cargo.toml index 6d3c9137c..609f0ceab 100644 --- a/crates/tauri/Cargo.toml +++ b/crates/tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri" -version = "2.9.5" +version = "2.10.0" description = "Make tiny, secure apps for all desktop platforms with Tauri" exclude = ["/test", "/.scripts", "CHANGELOG.md", "/target"] readme = "README.md" @@ -55,12 +55,12 @@ uuid = { version = "1", features = ["v4"], optional = true } url = "2" anyhow = "1" thiserror = "2" -tauri-runtime = { version = "2.9.2", path = "../tauri-runtime" } -tauri-macros = { version = "2.5.2", path = "../tauri-macros" } -tauri-utils = { version = "2.8.1", features = [ +tauri-runtime = { version = "2.10.0", path = "../tauri-runtime" } +tauri-macros = { version = "2.5.3", path = "../tauri-macros" } +tauri-utils = { version = "2.8.2", features = [ "resources", ], path = "../tauri-utils" } -tauri-runtime-wry = { version = "2.9.3", path = "../tauri-runtime-wry", default-features = false, optional = true } +tauri-runtime-wry = { version = "2.10.0", path = "../tauri-runtime-wry", default-features = false, optional = true } getrandom = "0.3" serde_repr = "0.1" http = "1" @@ -164,8 +164,8 @@ objc2-ui-kit = { version = "0.3.0", default-features = false, features = [ [build-dependencies] glob = "0.3" heck = "0.5" -tauri-build = { path = "../tauri-build/", default-features = false, version = "2.5.3" } -tauri-utils = { path = "../tauri-utils/", version = "2.8.1", features = [ +tauri-build = { path = "../tauri-build/", default-features = false, version = "2.5.4" } +tauri-utils = { path = "../tauri-utils/", version = "2.8.2", features = [ "build", ] } diff --git a/packages/api/package.json b/packages/api/package.json index 7c6899d72..710a5a7d5 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -55,7 +55,7 @@ "eslint-plugin-security": "3.0.1", "fast-glob": "3.3.3", "globals": "^17.0.0", - "rollup": "4.55.2", + "rollup": "4.57.0", "tslib": "^2.8.1", "typescript": "^5.8.3", "typescript-eslint": "^8.34.1" diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 305a65a38..57848e69b 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,44 @@ # Changelog +## \[2.10.0] + +### Enhancements + +- [`f82594410`](https://www.github.com/tauri-apps/tauri/commit/f82594410cd57d6f794f58d4afea0ed335aa796f) ([#13253](https://www.github.com/tauri-apps/tauri/pull/13253) by [@Armaldio](https://www.github.com/tauri-apps/tauri/../../Armaldio)) Allow electron to run the CLI directly +- [`a2abe2e6b`](https://www.github.com/tauri-apps/tauri/commit/a2abe2e6bcb9e1eed8484240dfdb76a5bc28ae58) ([#14607](https://www.github.com/tauri-apps/tauri/pull/14607) by [@sftse](https://www.github.com/tauri-apps/tauri/../../sftse)) Simplified internal representation of `features: Option>` with `Vec`, no user facing changes +- [`84b04c4a8`](https://www.github.com/tauri-apps/tauri/commit/84b04c4a8d3310b7a7091d10e36244bf94996e51) ([#14759](https://www.github.com/tauri-apps/tauri/pull/14759) by [@amrbashir](https://www.github.com/tauri-apps/tauri/../../amrbashir)) Added new environment variables for `tauri signer sign` command, to align with existing environment variables used in `tauri build`, `tauri bundle` and `tauri signer generate` + + - `TAURI_SIGNING_PRIVATE_KEY` + - `TAURI_SIGNING_PRIVATE_KEY_PATH` + - `TAURI_SIGNING_PRIVATE_KEY_PASSWORD` + + The old environment variables are deprecated and will be removed in a future release. + + - `TAURI_PRIVATE_KEY` + - `TAURI_PRIVATE_KEY_PATH` + - `TAURI_PRIVATE_KEY_PASSWORD` + +### Bug Fixes + +- [`62aa13a12`](https://www.github.com/tauri-apps/tauri/commit/62aa13a124ef46bb5ce9887a2a574dd35ef86d4f) ([#14629](https://www.github.com/tauri-apps/tauri/pull/14629) by [@lucasfernog](https://www.github.com/tauri-apps/tauri/../../lucasfernog)) Fix `android build`'s `--aab` and `--apk` flags requiring a value to be provided. +- [`eccff9758`](https://www.github.com/tauri-apps/tauri/commit/eccff97588232055bd0cafd83e6ee03d11a501fb) ([#14779](https://www.github.com/tauri-apps/tauri/pull/14779) by [@lucasfernog](https://www.github.com/tauri-apps/tauri/../../lucasfernog)) Fix empty associated-domains entitlements when domains are not configured for deep links. +- [`ea31b07f1`](https://www.github.com/tauri-apps/tauri/commit/ea31b07f19e0aa467ed0f921f60575cfe09809c8) ([#14789](https://www.github.com/tauri-apps/tauri/pull/14789) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Fixed the command description for `tauri inspect` +- [`7fca58230`](https://www.github.com/tauri-apps/tauri/commit/7fca58230f97c3e6834134419514a0c7dbbe784b) ([#14830](https://www.github.com/tauri-apps/tauri/pull/14830) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Updated `nsis_tauri_utils` to 0.5.3: + + - Use an alternative method `CreateProcessWithTokenW` to run programs as user, this fixed a problem that the program launched with the previous method can't query its own handle +- [`53611c4d7`](https://www.github.com/tauri-apps/tauri/commit/53611c4d7bdaf89b9a5d7c46a9c4bf4e34216148) ([#14747](https://www.github.com/tauri-apps/tauri/pull/14747) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Only watch dependent workspace members when running `tauri dev` instead of watching on all members +- [`1b0e335d3`](https://www.github.com/tauri-apps/tauri/commit/1b0e335d3f3445948d6590f7e074275d97cd9859) ([#14713](https://www.github.com/tauri-apps/tauri/pull/14713) by [@wasuaje](https://www.github.com/tauri-apps/tauri/../../wasuaje)) `tauri signer sign` doesn't work for files without an extension + +### What's Changed + +- [`e3fdcb500`](https://www.github.com/tauri-apps/tauri/commit/e3fdcb5002b362b46cde2a1971e4e7f2a1161208) ([#14836](https://www.github.com/tauri-apps/tauri/pull/14836) by [@sftse](https://www.github.com/tauri-apps/tauri/../../sftse)) Continued refactors of tauri-cli, fix too weak atomics. +- [`0575dd287`](https://www.github.com/tauri-apps/tauri/commit/0575dd287e021b61d2aedf64d62ae84a2c925fb4) ([#14521](https://www.github.com/tauri-apps/tauri/pull/14521) by [@kandrelczyk](https://www.github.com/tauri-apps/tauri/../../kandrelczyk)) Change the way bundle type information is added to binary files. Instead of looking up the value of a variable we simply look for the default value. +- [`7f7d9aac2`](https://www.github.com/tauri-apps/tauri/commit/7f7d9aac214e22d9492490543f7a9bcae0a6659e) ([#14668](https://www.github.com/tauri-apps/tauri/pull/14668) by [@sftse](https://www.github.com/tauri-apps/tauri/../../sftse)) Refactored internal use of static on config and directory resolvings, no user facing changes, please report any regressions if you encounter any + +### Dependencies + +- Upgraded to `tauri-cli@2.10.0` + ## \[2.9.6] ### Dependencies diff --git a/packages/cli/package.json b/packages/cli/package.json index f6dce72a9..ab29b2c44 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@tauri-apps/cli", - "version": "2.9.6", + "version": "2.10.0", "description": "Command line interface for building Tauri apps", "type": "commonjs", "funding": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b99d7cc26..17130aebd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -63,10 +63,10 @@ importers: version: 9.29.0 '@rollup/plugin-terser': specifier: 0.4.4 - version: 0.4.4(rollup@4.55.2) + version: 0.4.4(rollup@4.57.0) '@rollup/plugin-typescript': specifier: 12.3.0 - version: 12.3.0(rollup@4.55.2)(tslib@2.8.1)(typescript@5.8.3) + version: 12.3.0(rollup@4.57.0)(tslib@2.8.1)(typescript@5.8.3) '@types/eslint': specifier: ^9.6.1 version: 9.6.1 @@ -89,8 +89,8 @@ importers: specifier: ^17.0.0 version: 17.0.0 rollup: - specifier: 4.55.2 - version: 4.55.2 + specifier: 4.57.0 + version: 4.57.0 tslib: specifier: ^2.8.1 version: 2.8.1 @@ -1318,128 +1318,128 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.55.2': - resolution: {integrity: sha512-21J6xzayjy3O6NdnlO6aXi/urvSRjm6nCI6+nF6ra2YofKruGixN9kfT+dt55HVNwfDmpDHJcaS3JuP/boNnlA==} + '@rollup/rollup-android-arm-eabi@4.57.0': + resolution: {integrity: sha512-tPgXB6cDTndIe1ah7u6amCI1T0SsnlOuKgg10Xh3uizJk4e5M1JGaUMk7J4ciuAUcFpbOiNhm2XIjP9ON0dUqA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.55.2': - resolution: {integrity: sha512-eXBg7ibkNUZ+sTwbFiDKou0BAckeV6kIigK7y5Ko4mB/5A1KLhuzEKovsmfvsL8mQorkoincMFGnQuIT92SKqA==} + '@rollup/rollup-android-arm64@4.57.0': + resolution: {integrity: sha512-sa4LyseLLXr1onr97StkU1Nb7fWcg6niokTwEVNOO7awaKaoRObQ54+V/hrF/BP1noMEaaAW6Fg2d/CfLiq3Mg==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.55.2': - resolution: {integrity: sha512-UCbaTklREjrc5U47ypLulAgg4njaqfOVLU18VrCrI+6E5MQjuG0lSWaqLlAJwsD7NpFV249XgB0Bi37Zh5Sz4g==} + '@rollup/rollup-darwin-arm64@4.57.0': + resolution: {integrity: sha512-/NNIj9A7yLjKdmkx5dC2XQ9DmjIECpGpwHoGmA5E1AhU0fuICSqSWScPhN1yLCkEdkCwJIDu2xIeLPs60MNIVg==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.55.2': - resolution: {integrity: sha512-dP67MA0cCMHFT2g5XyjtpVOtp7y4UyUxN3dhLdt11at5cPKnSm4lY+EhwNvDXIMzAMIo2KU+mc9wxaAQJTn7sQ==} + '@rollup/rollup-darwin-x64@4.57.0': + resolution: {integrity: sha512-xoh8abqgPrPYPr7pTYipqnUi1V3em56JzE/HgDgitTqZBZ3yKCWI+7KUkceM6tNweyUKYru1UMi7FC060RyKwA==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.55.2': - resolution: {integrity: sha512-WDUPLUwfYV9G1yxNRJdXcvISW15mpvod1Wv3ok+Ws93w1HjIVmCIFxsG2DquO+3usMNCpJQ0wqO+3GhFdl6Fow==} + '@rollup/rollup-freebsd-arm64@4.57.0': + resolution: {integrity: sha512-PCkMh7fNahWSbA0OTUQ2OpYHpjZZr0hPr8lId8twD7a7SeWrvT3xJVyza+dQwXSSq4yEQTMoXgNOfMCsn8584g==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.55.2': - resolution: {integrity: sha512-Ng95wtHVEulRwn7R0tMrlUuiLVL/HXA8Lt/MYVpy88+s5ikpntzZba1qEulTuPnPIZuOPcW9wNEiqvZxZmgmqQ==} + '@rollup/rollup-freebsd-x64@4.57.0': + resolution: {integrity: sha512-1j3stGx+qbhXql4OCDZhnK7b01s6rBKNybfsX+TNrEe9JNq4DLi1yGiR1xW+nL+FNVvI4D02PUnl6gJ/2y6WJA==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.55.2': - resolution: {integrity: sha512-AEXMESUDWWGqD6LwO/HkqCZgUE1VCJ1OhbvYGsfqX2Y6w5quSXuyoy/Fg3nRqiwro+cJYFxiw5v4kB2ZDLhxrw==} + '@rollup/rollup-linux-arm-gnueabihf@4.57.0': + resolution: {integrity: sha512-eyrr5W08Ms9uM0mLcKfM/Uzx7hjhz2bcjv8P2uynfj0yU8GGPdz8iYrBPhiLOZqahoAMB8ZiolRZPbbU2MAi6Q==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.55.2': - resolution: {integrity: sha512-ZV7EljjBDwBBBSv570VWj0hiNTdHt9uGznDtznBB4Caj3ch5rgD4I2K1GQrtbvJ/QiB+663lLgOdcADMNVC29Q==} + '@rollup/rollup-linux-arm-musleabihf@4.57.0': + resolution: {integrity: sha512-Xds90ITXJCNyX9pDhqf85MKWUI4lqjiPAipJ8OLp8xqI2Ehk+TCVhF9rvOoN8xTbcafow3QOThkNnrM33uCFQA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.55.2': - resolution: {integrity: sha512-uvjwc8NtQVPAJtq4Tt7Q49FOodjfbf6NpqXyW/rjXoV+iZ3EJAHLNAnKT5UJBc6ffQVgmXTUL2ifYiLABlGFqA==} + '@rollup/rollup-linux-arm64-gnu@4.57.0': + resolution: {integrity: sha512-Xws2KA4CLvZmXjy46SQaXSejuKPhwVdaNinldoYfqruZBaJHqVo6hnRa8SDo9z7PBW5x84SH64+izmldCgbezw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.55.2': - resolution: {integrity: sha512-s3KoWVNnye9mm/2WpOZ3JeUiediUVw6AvY/H7jNA6qgKA2V2aM25lMkVarTDfiicn/DLq3O0a81jncXszoyCFA==} + '@rollup/rollup-linux-arm64-musl@4.57.0': + resolution: {integrity: sha512-hrKXKbX5FdaRJj7lTMusmvKbhMJSGWJ+w++4KmjiDhpTgNlhYobMvKfDoIWecy4O60K6yA4SnztGuNTQF+Lplw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loong64-gnu@4.55.2': - resolution: {integrity: sha512-gi21faacK+J8aVSyAUptML9VQN26JRxe484IbF+h3hpG+sNVoMXPduhREz2CcYr5my0NE3MjVvQ5bMKX71pfVA==} + '@rollup/rollup-linux-loong64-gnu@4.57.0': + resolution: {integrity: sha512-6A+nccfSDGKsPm00d3xKcrsBcbqzCTAukjwWK6rbuAnB2bHaL3r9720HBVZ/no7+FhZLz/U3GwwZZEh6tOSI8Q==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-loong64-musl@4.55.2': - resolution: {integrity: sha512-qSlWiXnVaS/ceqXNfnoFZh4IiCA0EwvCivivTGbEu1qv2o+WTHpn1zNmCTAoOG5QaVr2/yhCoLScQtc/7RxshA==} + '@rollup/rollup-linux-loong64-musl@4.57.0': + resolution: {integrity: sha512-4P1VyYUe6XAJtQH1Hh99THxr0GKMMwIXsRNOceLrJnaHTDgk1FTcTimDgneRJPvB3LqDQxUmroBclQ1S0cIJwQ==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-ppc64-gnu@4.55.2': - resolution: {integrity: sha512-rPyuLFNoF1B0+wolH277E780NUKf+KoEDb3OyoLbAO18BbeKi++YN6gC/zuJoPPDlQRL3fIxHxCxVEWiem2yXw==} + '@rollup/rollup-linux-ppc64-gnu@4.57.0': + resolution: {integrity: sha512-8Vv6pLuIZCMcgXre6c3nOPhE0gjz1+nZP6T+hwWjr7sVH8k0jRkH+XnfjjOTglyMBdSKBPPz54/y1gToSKwrSQ==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-ppc64-musl@4.55.2': - resolution: {integrity: sha512-g+0ZLMook31iWV4PvqKU0i9E78gaZgYpSrYPed/4Bu+nGTgfOPtfs1h11tSSRPXSjC5EzLTjV/1A7L2Vr8pJoQ==} + '@rollup/rollup-linux-ppc64-musl@4.57.0': + resolution: {integrity: sha512-r1te1M0Sm2TBVD/RxBPC6RZVwNqUTwJTA7w+C/IW5v9Ssu6xmxWEi+iJQlpBhtUiT1raJ5b48pI8tBvEjEFnFA==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.55.2': - resolution: {integrity: sha512-i+sGeRGsjKZcQRh3BRfpLsM3LX3bi4AoEVqmGDyc50L6KfYsN45wVCSz70iQMwPWr3E5opSiLOwsC9WB4/1pqg==} + '@rollup/rollup-linux-riscv64-gnu@4.57.0': + resolution: {integrity: sha512-say0uMU/RaPm3CDQLxUUTF2oNWL8ysvHkAjcCzV2znxBr23kFfaxocS9qJm+NdkRhF8wtdEEAJuYcLPhSPbjuQ==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.55.2': - resolution: {integrity: sha512-C1vLcKc4MfFV6I0aWsC7B2Y9QcsiEcvKkfxprwkPfLaN8hQf0/fKHwSF2lcYzA9g4imqnhic729VB9Fo70HO3Q==} + '@rollup/rollup-linux-riscv64-musl@4.57.0': + resolution: {integrity: sha512-/MU7/HizQGsnBREtRpcSbSV1zfkoxSTR7wLsRmBPQ8FwUj5sykrP1MyJTvsxP5KBq9SyE6kH8UQQQwa0ASeoQQ==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.55.2': - resolution: {integrity: sha512-68gHUK/howpQjh7g7hlD9DvTTt4sNLp1Bb+Yzw2Ki0xvscm2cOdCLZNJNhd2jW8lsTPrHAHuF751BygifW4bkQ==} + '@rollup/rollup-linux-s390x-gnu@4.57.0': + resolution: {integrity: sha512-Q9eh+gUGILIHEaJf66aF6a414jQbDnn29zeu0eX3dHMuysnhTvsUvZTCAyZ6tJhUjnvzBKE4FtuaYxutxRZpOg==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.55.2': - resolution: {integrity: sha512-1e30XAuaBP1MAizaOBApsgeGZge2/Byd6wV4a8oa6jPdHELbRHBiw7wvo4dp7Ie2PE8TZT4pj9RLGZv9N4qwlw==} + '@rollup/rollup-linux-x64-gnu@4.57.0': + resolution: {integrity: sha512-OR5p5yG5OKSxHReWmwvM0P+VTPMwoBS45PXTMYaskKQqybkS3Kmugq1W+YbNWArF8/s7jQScgzXUhArzEQ7x0A==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.55.2': - resolution: {integrity: sha512-4BJucJBGbuGnH6q7kpPqGJGzZnYrpAzRd60HQSt3OpX/6/YVgSsJnNzR8Ot74io50SeVT4CtCWe/RYIAymFPwA==} + '@rollup/rollup-linux-x64-musl@4.57.0': + resolution: {integrity: sha512-XeatKzo4lHDsVEbm1XDHZlhYZZSQYym6dg2X/Ko0kSFgio+KXLsxwJQprnR48GvdIKDOpqWqssC3iBCjoMcMpw==} cpu: [x64] os: [linux] - '@rollup/rollup-openbsd-x64@4.55.2': - resolution: {integrity: sha512-cT2MmXySMo58ENv8p6/O6wI/h/gLnD3D6JoajwXFZH6X9jz4hARqUhWpGuQhOgLNXscfZYRQMJvZDtWNzMAIDw==} + '@rollup/rollup-openbsd-x64@4.57.0': + resolution: {integrity: sha512-Lu71y78F5qOfYmubYLHPcJm74GZLU6UJ4THkf/a1K7Tz2ycwC2VUbsqbJAXaR6Bx70SRdlVrt2+n5l7F0agTUw==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.55.2': - resolution: {integrity: sha512-sZnyUgGkuzIXaK3jNMPmUIyJrxu/PjmATQrocpGA1WbCPX8H5tfGgRSuYtqBYAvLuIGp8SPRb1O4d1Fkb5fXaQ==} + '@rollup/rollup-openharmony-arm64@4.57.0': + resolution: {integrity: sha512-v5xwKDWcu7qhAEcsUubiav7r+48Uk/ENWdr82MBZZRIm7zThSxCIVDfb3ZeRRq9yqk+oIzMdDo6fCcA5DHfMyA==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.55.2': - resolution: {integrity: sha512-sDpFbenhmWjNcEbBcoTV0PWvW5rPJFvu+P7XoTY0YLGRupgLbFY0XPfwIbJOObzO7QgkRDANh65RjhPmgSaAjQ==} + '@rollup/rollup-win32-arm64-msvc@4.57.0': + resolution: {integrity: sha512-XnaaaSMGSI6Wk8F4KK3QP7GfuuhjGchElsVerCplUuxRIzdvZ7hRBpLR0omCmw+kI2RFJB80nenhOoGXlJ5TfQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.55.2': - resolution: {integrity: sha512-GvJ03TqqaweWCigtKQVBErw2bEhu1tyfNQbarwr94wCGnczA9HF8wqEe3U/Lfu6EdeNP0p6R+APeHVwEqVxpUQ==} + '@rollup/rollup-win32-ia32-msvc@4.57.0': + resolution: {integrity: sha512-3K1lP+3BXY4t4VihLw5MEg6IZD3ojSYzqzBG571W3kNQe4G4CcFpSUQVgurYgib5d+YaCjeFow8QivWp8vuSvA==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.55.2': - resolution: {integrity: sha512-KvXsBvp13oZz9JGe5NYS7FNizLe99Ny+W8ETsuCyjXiKdiGrcz2/J/N8qxZ/RSwivqjQguug07NLHqrIHrqfYw==} + '@rollup/rollup-win32-x64-gnu@4.57.0': + resolution: {integrity: sha512-MDk610P/vJGc5L5ImE4k5s+GZT3en0KoK1MKPXCRgzmksAMk79j4h3k1IerxTNqwDLxsGxStEZVBqG0gIqZqoA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.55.2': - resolution: {integrity: sha512-xNO+fksQhsAckRtDSPWaMeT1uIM+JrDRXlerpnWNXhn1TdB3YZ6uKBMBTKP0eX9XtYEP978hHk1f8332i2AW8Q==} + '@rollup/rollup-win32-x64-msvc@4.57.0': + resolution: {integrity: sha512-Zv7v6q6aV+VslnpwzqKAmrk5JdVkLUzok2208ZXGipjb+msxBr/fJPZyeEXiFgH7k62Ak0SLIfxQRZQvTuf7rQ==} cpu: [x64] os: [win32] @@ -2345,8 +2345,8 @@ packages: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rollup@4.55.2: - resolution: {integrity: sha512-PggGy4dhwx5qaW+CKBilA/98Ql9keyfnb7lh4SR6shQ91QQQi1ORJ1v4UinkdP2i87OBs9AQFooQylcrrRfIcg==} + rollup@4.57.0: + resolution: {integrity: sha512-e5lPJi/aui4TO1LpAXIRLySmwXSE8k3b9zoGfd42p67wzxog4WHjiZF3M2uheQih4DGyc25QEV4yRBbpueNiUA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -3594,104 +3594,104 @@ snapshots: dependencies: quansync: 0.2.10 - '@rollup/plugin-terser@0.4.4(rollup@4.55.2)': + '@rollup/plugin-terser@0.4.4(rollup@4.57.0)': dependencies: serialize-javascript: 6.0.2 smob: 1.5.0 terser: 5.43.1 optionalDependencies: - rollup: 4.55.2 + rollup: 4.57.0 - '@rollup/plugin-typescript@12.3.0(rollup@4.55.2)(tslib@2.8.1)(typescript@5.8.3)': + '@rollup/plugin-typescript@12.3.0(rollup@4.57.0)(tslib@2.8.1)(typescript@5.8.3)': dependencies: - '@rollup/pluginutils': 5.2.0(rollup@4.55.2) + '@rollup/pluginutils': 5.2.0(rollup@4.57.0) resolve: 1.22.10 typescript: 5.8.3 optionalDependencies: - rollup: 4.55.2 + rollup: 4.57.0 tslib: 2.8.1 - '@rollup/pluginutils@5.2.0(rollup@4.55.2)': + '@rollup/pluginutils@5.2.0(rollup@4.57.0)': dependencies: '@types/estree': 1.0.8 estree-walker: 2.0.2 picomatch: 4.0.3 optionalDependencies: - rollup: 4.55.2 + rollup: 4.57.0 - '@rollup/rollup-android-arm-eabi@4.55.2': + '@rollup/rollup-android-arm-eabi@4.57.0': optional: true - '@rollup/rollup-android-arm64@4.55.2': + '@rollup/rollup-android-arm64@4.57.0': optional: true - '@rollup/rollup-darwin-arm64@4.55.2': + '@rollup/rollup-darwin-arm64@4.57.0': optional: true - '@rollup/rollup-darwin-x64@4.55.2': + '@rollup/rollup-darwin-x64@4.57.0': optional: true - '@rollup/rollup-freebsd-arm64@4.55.2': + '@rollup/rollup-freebsd-arm64@4.57.0': optional: true - '@rollup/rollup-freebsd-x64@4.55.2': + '@rollup/rollup-freebsd-x64@4.57.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.55.2': + '@rollup/rollup-linux-arm-gnueabihf@4.57.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.55.2': + '@rollup/rollup-linux-arm-musleabihf@4.57.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.55.2': + '@rollup/rollup-linux-arm64-gnu@4.57.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.55.2': + '@rollup/rollup-linux-arm64-musl@4.57.0': optional: true - '@rollup/rollup-linux-loong64-gnu@4.55.2': + '@rollup/rollup-linux-loong64-gnu@4.57.0': optional: true - '@rollup/rollup-linux-loong64-musl@4.55.2': + '@rollup/rollup-linux-loong64-musl@4.57.0': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.55.2': + '@rollup/rollup-linux-ppc64-gnu@4.57.0': optional: true - '@rollup/rollup-linux-ppc64-musl@4.55.2': + '@rollup/rollup-linux-ppc64-musl@4.57.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.55.2': + '@rollup/rollup-linux-riscv64-gnu@4.57.0': optional: true - '@rollup/rollup-linux-riscv64-musl@4.55.2': + '@rollup/rollup-linux-riscv64-musl@4.57.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.55.2': + '@rollup/rollup-linux-s390x-gnu@4.57.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.55.2': + '@rollup/rollup-linux-x64-gnu@4.57.0': optional: true - '@rollup/rollup-linux-x64-musl@4.55.2': + '@rollup/rollup-linux-x64-musl@4.57.0': optional: true - '@rollup/rollup-openbsd-x64@4.55.2': + '@rollup/rollup-openbsd-x64@4.57.0': optional: true - '@rollup/rollup-openharmony-arm64@4.55.2': + '@rollup/rollup-openharmony-arm64@4.57.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.55.2': + '@rollup/rollup-win32-arm64-msvc@4.57.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.55.2': + '@rollup/rollup-win32-ia32-msvc@4.57.0': optional: true - '@rollup/rollup-win32-x64-gnu@4.55.2': + '@rollup/rollup-win32-x64-gnu@4.57.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.55.2': + '@rollup/rollup-win32-x64-msvc@4.57.0': optional: true '@sindresorhus/is@7.2.0': {} @@ -4704,35 +4704,35 @@ snapshots: reusify@1.1.0: {} - rollup@4.55.2: + rollup@4.57.0: dependencies: '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.55.2 - '@rollup/rollup-android-arm64': 4.55.2 - '@rollup/rollup-darwin-arm64': 4.55.2 - '@rollup/rollup-darwin-x64': 4.55.2 - '@rollup/rollup-freebsd-arm64': 4.55.2 - '@rollup/rollup-freebsd-x64': 4.55.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.55.2 - '@rollup/rollup-linux-arm-musleabihf': 4.55.2 - '@rollup/rollup-linux-arm64-gnu': 4.55.2 - '@rollup/rollup-linux-arm64-musl': 4.55.2 - '@rollup/rollup-linux-loong64-gnu': 4.55.2 - '@rollup/rollup-linux-loong64-musl': 4.55.2 - '@rollup/rollup-linux-ppc64-gnu': 4.55.2 - '@rollup/rollup-linux-ppc64-musl': 4.55.2 - '@rollup/rollup-linux-riscv64-gnu': 4.55.2 - '@rollup/rollup-linux-riscv64-musl': 4.55.2 - '@rollup/rollup-linux-s390x-gnu': 4.55.2 - '@rollup/rollup-linux-x64-gnu': 4.55.2 - '@rollup/rollup-linux-x64-musl': 4.55.2 - '@rollup/rollup-openbsd-x64': 4.55.2 - '@rollup/rollup-openharmony-arm64': 4.55.2 - '@rollup/rollup-win32-arm64-msvc': 4.55.2 - '@rollup/rollup-win32-ia32-msvc': 4.55.2 - '@rollup/rollup-win32-x64-gnu': 4.55.2 - '@rollup/rollup-win32-x64-msvc': 4.55.2 + '@rollup/rollup-android-arm-eabi': 4.57.0 + '@rollup/rollup-android-arm64': 4.57.0 + '@rollup/rollup-darwin-arm64': 4.57.0 + '@rollup/rollup-darwin-x64': 4.57.0 + '@rollup/rollup-freebsd-arm64': 4.57.0 + '@rollup/rollup-freebsd-x64': 4.57.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.57.0 + '@rollup/rollup-linux-arm-musleabihf': 4.57.0 + '@rollup/rollup-linux-arm64-gnu': 4.57.0 + '@rollup/rollup-linux-arm64-musl': 4.57.0 + '@rollup/rollup-linux-loong64-gnu': 4.57.0 + '@rollup/rollup-linux-loong64-musl': 4.57.0 + '@rollup/rollup-linux-ppc64-gnu': 4.57.0 + '@rollup/rollup-linux-ppc64-musl': 4.57.0 + '@rollup/rollup-linux-riscv64-gnu': 4.57.0 + '@rollup/rollup-linux-riscv64-musl': 4.57.0 + '@rollup/rollup-linux-s390x-gnu': 4.57.0 + '@rollup/rollup-linux-x64-gnu': 4.57.0 + '@rollup/rollup-linux-x64-musl': 4.57.0 + '@rollup/rollup-openbsd-x64': 4.57.0 + '@rollup/rollup-openharmony-arm64': 4.57.0 + '@rollup/rollup-win32-arm64-msvc': 4.57.0 + '@rollup/rollup-win32-ia32-msvc': 4.57.0 + '@rollup/rollup-win32-x64-gnu': 4.57.0 + '@rollup/rollup-win32-x64-msvc': 4.57.0 fsevents: 2.3.3 run-parallel@1.2.0: @@ -4966,7 +4966,7 @@ snapshots: fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 postcss: 8.5.6 - rollup: 4.55.2 + rollup: 4.57.0 tinyglobby: 0.2.15 optionalDependencies: '@types/node': 24.10.0