diff --git a/.changes/acl-identifier-error-context.md b/.changes/acl-identifier-error-context.md deleted file mode 100644 index 0918e9266fcd..000000000000 --- a/.changes/acl-identifier-error-context.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"tauri-utils": "patch:enhance" ---- - -Improve diagnostics for invalid plugin and permission identifiers. - -The `Identifier` deserializer now wraps the inner error with the offending identifier string so the message reads `invalid plugin or permission identifier '': ...`, surfacing the bad entry without requiring a grep through the file. - -The previous parse failure (`failed to parse JSON: identifiers can only include lowercase ASCII, hyphens which are not leading or trailing, and a single colon if using a prefix at line 16 column 23`) now reads `failed to parse JSON: invalid plugin or permission identifier 'sqlite_proxy:allow-foo': identifiers can only include lowercase ASCII, hyphens which are not leading or trailing, and a single colon if using a prefix at line 16 column 23`. diff --git a/.changes/acl-number-int-preserved-on-serdejson-roundtrip.md b/.changes/acl-number-int-preserved-on-serdejson-roundtrip.md deleted file mode 100644 index 3247edeab5c2..000000000000 --- a/.changes/acl-number-int-preserved-on-serdejson-roundtrip.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"tauri-utils": "patch:bug" ---- - -Fix `Number::Int` being silently coerced to `Number::Float` on `serde_json` round-trip. - -`From for Value` was checking `as_f64()` first, which succeeds for every integer that fits in an f64, so integer JSON numbers were always deserialized as `Number::Float`. The check order is now `as_i64()` → `as_u64()` (cast to `i64`, wrapping for values above `i64::MAX`) → `as_f64()`, matching serde_json's own visitor convention. diff --git a/.changes/load-tauri-protocol-async.md b/.changes/load-tauri-protocol-async.md deleted file mode 100644 index 7338a74a8216..000000000000 --- a/.changes/load-tauri-protocol-async.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -tauri: patch:perf ---- - -Load `tauri://` custom protocol handlers asynchronously to speed up load time diff --git a/.changes/mobile-run-command-deadlock.md b/.changes/mobile-run-command-deadlock.md deleted file mode 100644 index 0abcde9a5e55..000000000000 --- a/.changes/mobile-run-command-deadlock.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"tauri": patch:bug ---- - -Adjust mutex locking in `send_channel_data_handler`, `handle_android_plugin_response`, `send_channel_data` to avoid deadlocks diff --git a/.changes/nsis-config-path-context.md b/.changes/nsis-config-path-context.md deleted file mode 100644 index 0166e9c2961e..000000000000 --- a/.changes/nsis-config-path-context.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"tauri-bundler": "patch:enhance" ---- - -Improve NSIS configuration path errors so missing installer icons and images include the related config key and path. diff --git a/.changes/nsis-stock-plugins-embed-signed.md b/.changes/nsis-stock-plugins-embed-signed.md deleted file mode 100644 index dbce16faaef1..000000000000 --- a/.changes/nsis-stock-plugins-embed-signed.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"tauri-bundler": "patch:bug" ---- - -Fix NSIS stock plugins (`NSISdl.dll`, `StartMenu.dll`, `System.dll`, `nsDialogs.dll`) being embedded in the final installer as unsigned despite the signing step succeeding. The signed local copies under `/Plugins/x86-unicode/` were not on makensis' plugin search path, so makensis fell back to the unsigned DLLs from the NSIS toolset directory. The fix adds `!addplugindir` for the signed plugin directory before any plugin command is parsed in the script. diff --git a/.changes/reuse-mobile-dev-reqwest-client.md b/.changes/reuse-mobile-dev-reqwest-client.md deleted file mode 100644 index fcfe0125cff1..000000000000 --- a/.changes/reuse-mobile-dev-reqwest-client.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -tauri: patch:perf ---- - -Reuse proxy reqwest client in mobile dev, improving the dev load speed diff --git a/.changes/tray-icon-0.24.md b/.changes/tray-icon-0.24.md deleted file mode 100644 index 47e3c81abf29..000000000000 --- a/.changes/tray-icon-0.24.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"tauri": "patch:deps" ---- - -Updated dependency `tray-icon` to 0.24 diff --git a/.changes/v1-migrate-aliased-plugin-imports.md b/.changes/v1-migrate-aliased-plugin-imports.md deleted file mode 100644 index 7b31a70f99b0..000000000000 --- a/.changes/v1-migrate-aliased-plugin-imports.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"tauri-cli": "patch:bug" -"@tauri-apps/cli": "patch:bug" ---- - -Fix `tauri migrate` generating invalid namespace imports for aliased pluginified imports from `@tauri-apps/api`. - -Inputs like `import { cli as superCli } from "@tauri-apps/api"` now migrate to `import * as superCli from "@tauri-apps/plugin-cli"` instead of producing invalid ESM syntax. The migration tests also reparse migrated JS, Svelte, and Vue output so syntax regressions are caught directly. diff --git a/Cargo.lock b/Cargo.lock index a5a536ce5c9c..7f3ffd111c54 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1308,7 +1308,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]] @@ -5527,7 +5527,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d8fae84b431384b68627d0f9b3b1245fcf9f46f6c0e3dc902e9dce64edd1967" dependencies = [ "libc", - "windows-sys 0.60.2", + "windows-sys 0.48.0", ] [[package]] @@ -8771,7 +8771,7 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] name = "tauri" -version = "2.11.2" +version = "2.11.3" dependencies = [ "anyhow", "bytes", @@ -8832,7 +8832,7 @@ dependencies = [ [[package]] name = "tauri-build" -version = "2.6.2" +version = "2.6.3" dependencies = [ "anyhow", "cargo_toml", @@ -8853,7 +8853,7 @@ dependencies = [ [[package]] name = "tauri-bundler" -version = "2.9.2" +version = "2.9.3" dependencies = [ "anyhow", "ar", @@ -8899,7 +8899,7 @@ dependencies = [ [[package]] name = "tauri-cli" -version = "2.11.2" +version = "2.11.3" dependencies = [ "ar", "axum", @@ -8993,7 +8993,7 @@ dependencies = [ [[package]] name = "tauri-codegen" -version = "2.6.2" +version = "2.6.3" dependencies = [ "base64 0.22.1", "brotli", @@ -9081,7 +9081,7 @@ dependencies = [ [[package]] name = "tauri-macros" -version = "2.6.2" +version = "2.6.3" dependencies = [ "heck 0.5.0", "proc-macro2", @@ -9093,7 +9093,7 @@ dependencies = [ [[package]] name = "tauri-plugin" -version = "2.6.2" +version = "2.6.3" dependencies = [ "anyhow", "glob", @@ -9140,7 +9140,7 @@ dependencies = [ [[package]] name = "tauri-runtime" -version = "2.11.2" +version = "2.11.3" dependencies = [ "cookie", "dpi", @@ -9163,7 +9163,7 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" -version = "2.11.2" +version = "2.11.3" dependencies = [ "gtk", "http 1.3.1", @@ -9213,7 +9213,7 @@ dependencies = [ [[package]] name = "tauri-utils" -version = "2.9.2" +version = "2.9.3" dependencies = [ "aes-gcm", "anyhow", @@ -10628,7 +10628,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 fb80c0cdf3ee..b74efdd6bf78 100644 --- a/crates/tauri-build/CHANGELOG.md +++ b/crates/tauri-build/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## \[2.6.3] + +### Dependencies + +- Upgraded to `tauri-utils@2.9.3` +- Upgraded to `tauri-codegen@2.6.3` + ## \[2.6.2] ### Dependencies diff --git a/crates/tauri-build/Cargo.toml b/crates/tauri-build/Cargo.toml index 8061a8f2c3a3..6535de37c6e6 100644 --- a/crates/tauri-build/Cargo.toml +++ b/crates/tauri-build/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-build" -version = "2.6.2" +version = "2.6.3" 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.6.2", path = "../tauri-codegen", optional = true } -tauri-utils = { version = "2.9.2", path = "../tauri-utils", features = [ +tauri-codegen = { version = "2.6.3", path = "../tauri-codegen", optional = true } +tauri-utils = { version = "2.9.3", path = "../tauri-utils", features = [ "build-2", "resources", ] } diff --git a/crates/tauri-bundler/CHANGELOG.md b/crates/tauri-bundler/CHANGELOG.md index c86a769b304b..144ecd6e1a68 100644 --- a/crates/tauri-bundler/CHANGELOG.md +++ b/crates/tauri-bundler/CHANGELOG.md @@ -1,5 +1,19 @@ # Changelog +## \[2.9.3] + +### Enhancements + +- [`413f01c06`](https://www.github.com/tauri-apps/tauri/commit/413f01c065506b81059f452123c71c552ccaa7e4) ([#15403](https://www.github.com/tauri-apps/tauri/pull/15403) by [@Sean-Kenneth-Doherty](https://www.github.com/tauri-apps/tauri/../../Sean-Kenneth-Doherty)) Improve NSIS configuration path errors so missing installer icons and images include the related config key and path. + +### Bug Fixes + +- [`2857c01c6`](https://www.github.com/tauri-apps/tauri/commit/2857c01c69459dc8e6c92192afd36420249b7b16) ([#15422](https://www.github.com/tauri-apps/tauri/pull/15422) by [@koki-develop](https://www.github.com/tauri-apps/tauri/../../koki-develop)) Fix NSIS stock plugins (`NSISdl.dll`, `StartMenu.dll`, `System.dll`, `nsDialogs.dll`) being embedded in the final installer as unsigned despite the signing step succeeding. The signed local copies under `/Plugins/x86-unicode/` were not on makensis' plugin search path, so makensis fell back to the unsigned DLLs from the NSIS toolset directory. The fix adds `!addplugindir` for the signed plugin directory before any plugin command is parsed in the script. + +### Dependencies + +- Upgraded to `tauri-utils@2.9.3` + ## \[2.9.2] ### Dependencies diff --git a/crates/tauri-bundler/Cargo.toml b/crates/tauri-bundler/Cargo.toml index a32aa0007858..80041cee317d 100644 --- a/crates/tauri-bundler/Cargo.toml +++ b/crates/tauri-bundler/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-bundler" -version = "2.9.2" +version = "2.9.3" 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.9.2", path = "../tauri-utils", features = [ +tauri-utils = { version = "2.9.3", path = "../tauri-utils", features = [ "resources", ] } image = "0.25" diff --git a/crates/tauri-cli/CHANGELOG.md b/crates/tauri-cli/CHANGELOG.md index 03b4ca37d59c..63a8304b275d 100644 --- a/crates/tauri-cli/CHANGELOG.md +++ b/crates/tauri-cli/CHANGELOG.md @@ -1,5 +1,18 @@ # Changelog +## \[2.11.3] + +### Bug Fixes + +- [`fca4a31f9`](https://www.github.com/tauri-apps/tauri/commit/fca4a31f94f8ba709d1b28e073e69867b8704e6e) ([#15454](https://www.github.com/tauri-apps/tauri/pull/15454) by [@fallintoplace](https://www.github.com/tauri-apps/tauri/../../fallintoplace)) Fix `tauri migrate` generating invalid namespace imports for aliased pluginified imports from `@tauri-apps/api`. + + Inputs like `import { cli as superCli } from "@tauri-apps/api"` now migrate to `import * as superCli from "@tauri-apps/plugin-cli"` instead of producing invalid ESM syntax. The migration tests also reparse migrated JS, Svelte, and Vue output so syntax regressions are caught directly. + +### Dependencies + +- Upgraded to `tauri-utils@2.9.3` +- Upgraded to `tauri-bundler@2.9.3` + ## \[2.11.2] ### Dependencies diff --git a/crates/tauri-cli/Cargo.toml b/crates/tauri-cli/Cargo.toml index 877394237347..7dc956bbf3e9 100644 --- a/crates/tauri-cli/Cargo.toml +++ b/crates/tauri-cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-cli" -version = "2.11.2" +version = "2.11.3" 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.9.2", default-features = false, path = "../tauri-bundler" } +tauri-bundler = { version = "2.9.3", 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.25", features = ["serde"] } json-patch = "3" -tauri-utils = { version = "2.9.2", path = "../tauri-utils", features = [ +tauri-utils = { version = "2.9.3", path = "../tauri-utils", features = [ "isolation", "schema", "config-json5", diff --git a/crates/tauri-cli/config.schema.json b/crates/tauri-cli/config.schema.json index 898317a465a0..2553ede59da2 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.11.2", + "$id": "https://schema.tauri.app/config/2.11.3", "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 9484a7df7caa..7c451d4391d9 100644 --- a/crates/tauri-cli/metadata-v2.json +++ b/crates/tauri-cli/metadata-v2.json @@ -1,9 +1,9 @@ { "cli.js": { - "version": "2.11.2", + "version": "2.11.3", "node": ">= 10.0.0" }, - "tauri": "2.11.2", - "tauri-build": "2.6.2", - "tauri-plugin": "2.6.2" + "tauri": "2.11.3", + "tauri-build": "2.6.3", + "tauri-plugin": "2.6.3" } diff --git a/crates/tauri-codegen/CHANGELOG.md b/crates/tauri-codegen/CHANGELOG.md index a445a96af25a..34118aaa4d9d 100644 --- a/crates/tauri-codegen/CHANGELOG.md +++ b/crates/tauri-codegen/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## \[2.6.3] + +### Dependencies + +- Upgraded to `tauri-utils@2.9.3` + ## \[2.6.2] ### Dependencies diff --git a/crates/tauri-codegen/Cargo.toml b/crates/tauri-codegen/Cargo.toml index 9f23170ebc8a..7ad5bd5fdcd3 100644 --- a/crates/tauri-codegen/Cargo.toml +++ b/crates/tauri-codegen/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-codegen" -version = "2.6.2" +version = "2.6.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.9.2", path = "../tauri-utils", features = [ +tauri-utils = { version = "2.9.3", path = "../tauri-utils", features = [ "build-2", ] } thiserror = "2" diff --git a/crates/tauri-macros/CHANGELOG.md b/crates/tauri-macros/CHANGELOG.md index 1058cdb099b1..767e776ee6cb 100644 --- a/crates/tauri-macros/CHANGELOG.md +++ b/crates/tauri-macros/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## \[2.6.3] + +### Dependencies + +- Upgraded to `tauri-utils@2.9.3` +- Upgraded to `tauri-codegen@2.6.3` + ## \[2.6.2] ### Dependencies diff --git a/crates/tauri-macros/Cargo.toml b/crates/tauri-macros/Cargo.toml index 8b50579b6db1..860892a5b32b 100644 --- a/crates/tauri-macros/Cargo.toml +++ b/crates/tauri-macros/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-macros" -version = "2.6.2" +version = "2.6.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.6.2", default-features = false, path = "../tauri-codegen" } -tauri-utils = { version = "2.9.2", path = "../tauri-utils" } +tauri-codegen = { version = "2.6.3", default-features = false, path = "../tauri-codegen" } +tauri-utils = { version = "2.9.3", path = "../tauri-utils" } [features] custom-protocol = [] diff --git a/crates/tauri-plugin/CHANGELOG.md b/crates/tauri-plugin/CHANGELOG.md index b721b377ca6c..1a289a3ff881 100644 --- a/crates/tauri-plugin/CHANGELOG.md +++ b/crates/tauri-plugin/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## \[2.6.3] + +### Dependencies + +- Upgraded to `tauri-utils@2.9.3` + ## \[2.6.2] ### Dependencies diff --git a/crates/tauri-plugin/Cargo.toml b/crates/tauri-plugin/Cargo.toml index 496c3500c97c..9e048ce1eb24 100644 --- a/crates/tauri-plugin/Cargo.toml +++ b/crates/tauri-plugin/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-plugin" -version = "2.6.2" +version = "2.6.3" description = "Build script and runtime Tauri plugin definitions" authors.workspace = true homepage.workspace = true @@ -27,7 +27,7 @@ runtime = [] [dependencies] anyhow = { version = "1", optional = true } serde = { version = "1", optional = true } -tauri-utils = { version = "2.9.2", default-features = false, features = [ +tauri-utils = { version = "2.9.3", default-features = false, features = [ "build-2", ], 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 8dacff6c100e..71f22bfc80e3 100644 --- a/crates/tauri-runtime-wry/CHANGELOG.md +++ b/crates/tauri-runtime-wry/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## \[2.11.3] + +### Dependencies + +- Upgraded to `tauri-utils@2.9.3` +- Upgraded to `tauri-runtime@2.11.3` + ## \[2.11.2] ### Dependencies diff --git a/crates/tauri-runtime-wry/Cargo.toml b/crates/tauri-runtime-wry/Cargo.toml index d74e82031e19..dbc7f3e11516 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.11.2" +version = "2.11.3" description = "Wry bindings to the Tauri runtime" exclude = ["CHANGELOG.md", "/target"] readme = "README.md" @@ -19,8 +19,8 @@ wry = { version = "0.55.0", default-features = false, features = [ "linux-body", ] } tao = { version = "0.35.0", default-features = false, features = ["rwh_06"] } -tauri-runtime = { version = "2.11.2", path = "../tauri-runtime" } -tauri-utils = { version = "2.9.2", path = "../tauri-utils" } +tauri-runtime = { version = "2.11.3", path = "../tauri-runtime" } +tauri-utils = { version = "2.9.3", 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 fab7ce5bb382..b719f44f670b 100644 --- a/crates/tauri-runtime/CHANGELOG.md +++ b/crates/tauri-runtime/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## \[2.11.3] + +### Dependencies + +- Upgraded to `tauri-utils@2.9.3` + ## \[2.11.2] ### Dependencies diff --git a/crates/tauri-runtime/Cargo.toml b/crates/tauri-runtime/Cargo.toml index 7b73df4588f6..c2c54cccc519 100644 --- a/crates/tauri-runtime/Cargo.toml +++ b/crates/tauri-runtime/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-runtime" -version = "2.11.2" +version = "2.11.3" 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.9.2", path = "../tauri-utils" } +tauri-utils = { version = "2.9.3", 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 898317a465a0..2553ede59da2 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.11.2", + "$id": "https://schema.tauri.app/config/2.11.3", "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 435dc48706c7..0a4122486b22 100644 --- a/crates/tauri-utils/CHANGELOG.md +++ b/crates/tauri-utils/CHANGELOG.md @@ -1,5 +1,21 @@ # Changelog +## \[2.9.3] + +### Enhancements + +- [`c2b8f4783`](https://www.github.com/tauri-apps/tauri/commit/c2b8f4783217d4a8a9e22b2d333727f4de2c57b0) ([#15373](https://www.github.com/tauri-apps/tauri/pull/15373) by [@MavenRain](https://www.github.com/tauri-apps/tauri/../../MavenRain)) Improve diagnostics for invalid plugin and permission identifiers. + + The `Identifier` deserializer now wraps the inner error with the offending identifier string so the message reads `invalid plugin or permission identifier '': ...`, surfacing the bad entry without requiring a grep through the file. + + The previous parse failure (`failed to parse JSON: identifiers can only include lowercase ASCII, hyphens which are not leading or trailing, and a single colon if using a prefix at line 16 column 23`) now reads `failed to parse JSON: invalid plugin or permission identifier 'sqlite_proxy:allow-foo': identifiers can only include lowercase ASCII, hyphens which are not leading or trailing, and a single colon if using a prefix at line 16 column 23`. + +### Bug Fixes + +- [`2783e6079`](https://www.github.com/tauri-apps/tauri/commit/2783e60793cf4d911ca89d950047817ee3367dfb) ([#15481](https://www.github.com/tauri-apps/tauri/pull/15481) by [@thanhtoantnt](https://www.github.com/tauri-apps/tauri/../../thanhtoantnt)) Fix `Number::Int` being silently coerced to `Number::Float` on `serde_json` round-trip. + + `From for Value` was checking `as_f64()` first, which succeeds for every integer that fits in an f64, so integer JSON numbers were always deserialized as `Number::Float`. The check order is now `as_i64()` → `as_u64()` (cast to `i64`, wrapping for values above `i64::MAX`) → `as_f64()`, matching serde_json's own visitor convention. + ## \[2.9.2] ### Bug Fixes diff --git a/crates/tauri-utils/Cargo.toml b/crates/tauri-utils/Cargo.toml index 7f39104d797c..8d1680db9918 100644 --- a/crates/tauri-utils/Cargo.toml +++ b/crates/tauri-utils/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-utils" -version = "2.9.2" +version = "2.9.3" description = "Utilities for Tauri" exclude = ["CHANGELOG.md", "/target"] readme = "README.md" diff --git a/crates/tauri/CHANGELOG.md b/crates/tauri/CHANGELOG.md index b709e89f0c0b..42785ecef795 100644 --- a/crates/tauri/CHANGELOG.md +++ b/crates/tauri/CHANGELOG.md @@ -1,5 +1,25 @@ # Changelog +## \[2.11.3] + +### Bug Fixes + +- [`66f873d62`](https://www.github.com/tauri-apps/tauri/commit/66f873d623ee3325179047efba85bd0cce0a6658) ([#15491](https://www.github.com/tauri-apps/tauri/pull/15491) by [@bclarke123](https://www.github.com/tauri-apps/tauri/../../bclarke123)) Adjust mutex locking in `send_channel_data_handler`, `handle_android_plugin_response`, `send_channel_data` to avoid deadlocks + +### Performance Improvements + +- [`e6083a111`](https://www.github.com/tauri-apps/tauri/commit/e6083a1119aba0674743e2e7d27cf12d28968cbf) ([#15220](https://www.github.com/tauri-apps/tauri/pull/15220) by [@DeTeam](https://www.github.com/tauri-apps/tauri/../../DeTeam)) Load `tauri://` custom protocol handlers asynchronously to speed up load time +- [`800eade58`](https://www.github.com/tauri-apps/tauri/commit/800eade58d1c09d19f283d0a014b9e00bef9cc81) ([#15444](https://www.github.com/tauri-apps/tauri/pull/15444) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Reuse proxy reqwest client in mobile dev, improving the dev load speed + +### Dependencies + +- Upgraded to `tauri-utils@2.9.3` +- Upgraded to `tauri-runtime@2.11.3` +- Upgraded to `tauri-runtime-wry@2.11.3` +- Upgraded to `tauri-macros@2.6.3` +- Upgraded to `tauri-build@2.6.3` +- [`504ff3f44`](https://www.github.com/tauri-apps/tauri/commit/504ff3f44eff2c0627eae6664e91e77b838e7ed3) ([#15364](https://www.github.com/tauri-apps/tauri/pull/15364) by [@renovate](https://www.github.com/tauri-apps/tauri/../../renovate)) Updated dependency `tray-icon` to 0.24 + ## \[2.11.2] ### Bug Fixes diff --git a/crates/tauri/Cargo.toml b/crates/tauri/Cargo.toml index 0bf90e1e3d10..5788fb527063 100644 --- a/crates/tauri/Cargo.toml +++ b/crates/tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri" -version = "2.11.2" +version = "2.11.3" description = "Make tiny, secure apps for all desktop platforms with Tauri" exclude = ["/test", "/.scripts", "CHANGELOG.md", "/target"] readme = "README.md" @@ -56,12 +56,12 @@ uuid = { version = "1", features = ["v4"], optional = true } url = "2" anyhow = "1" thiserror = "2" -tauri-runtime = { version = "2.11.2", path = "../tauri-runtime" } -tauri-macros = { version = "2.6.2", path = "../tauri-macros" } -tauri-utils = { version = "2.9.2", features = [ +tauri-runtime = { version = "2.11.3", path = "../tauri-runtime" } +tauri-macros = { version = "2.6.3", path = "../tauri-macros" } +tauri-utils = { version = "2.9.3", features = [ "resources", ], path = "../tauri-utils" } -tauri-runtime-wry = { version = "2.11.2", path = "../tauri-runtime-wry", default-features = false, optional = true } +tauri-runtime-wry = { version = "2.11.3", path = "../tauri-runtime-wry", default-features = false, optional = true } getrandom = "0.3" serde_repr = "0.1" http = "1" @@ -169,8 +169,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.6.2" } -tauri-utils = { path = "../tauri-utils/", version = "2.9.2", features = [ +tauri-build = { path = "../tauri-build/", default-features = false, version = "2.6.3" } +tauri-utils = { path = "../tauri-utils/", version = "2.9.3", features = [ "build-2", ] } diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 6c89dbbd5c1b..df22e6a3c00a 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## \[2.11.3] + +### Bug Fixes + +- [`fca4a31f9`](https://www.github.com/tauri-apps/tauri/commit/fca4a31f94f8ba709d1b28e073e69867b8704e6e) ([#15454](https://www.github.com/tauri-apps/tauri/pull/15454) by [@fallintoplace](https://www.github.com/tauri-apps/tauri/../../fallintoplace)) Fix `tauri migrate` generating invalid namespace imports for aliased pluginified imports from `@tauri-apps/api`. + + Inputs like `import { cli as superCli } from "@tauri-apps/api"` now migrate to `import * as superCli from "@tauri-apps/plugin-cli"` instead of producing invalid ESM syntax. The migration tests also reparse migrated JS, Svelte, and Vue output so syntax regressions are caught directly. + +### Dependencies + +- Upgraded to `tauri-cli@2.11.3` + ## \[2.11.2] ### Dependencies diff --git a/packages/cli/package.json b/packages/cli/package.json index 5830278fb99b..492153a7358a 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@tauri-apps/cli", - "version": "2.11.2", + "version": "2.11.3", "description": "Command line interface for building Tauri apps", "type": "commonjs", "funding": {