From c5f89a73e2e0f51fd052f607e5e90d40a8f8289f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 26 Aug 2026 20:47:50 +0000 Subject: [PATCH] apply version updates --- .changes/android-compileroptions-dsl.md | 9 --- .changes/android-consumer-proguard.md | 23 ------ .changes/android-gradle-9.md | 8 -- .changes/android-java-gradle-compat-hint.md | 6 -- .changes/android-material3.md | 6 -- .../android-plugin-manager-no-activity.md | 5 -- .changes/android-target-sdk-37.md | 6 -- .changes/android-video-dir.md | 7 -- .changes/app-bound-domains.md | 8 -- .changes/appimage-respect-gdk-backend.md | 5 -- .changes/build-config-path.md | 5 -- .changes/bundle-vc-runtime.md | 8 -- .changes/bundler-breaking-changes.md | 5 -- .changes/bundler-show-sizes.md | 7 -- .changes/cargo-toml-1.md | 6 -- .changes/change-pr-15578.md | 5 -- .changes/change-pr-15593.md | 5 -- .changes/change-pr-15677.md | 5 -- .../clarify-init-frontend-command-prompts.md | 6 -- .changes/cleanup-js-menu-channel.md | 5 -- .changes/ctor-1.md | 5 -- .changes/default-product-name-warning.md | 7 -- .changes/disable-binary-patching.md | 7 -- .changes/dpi-type-wrappers.md | 5 -- .changes/event-listener-cleanup-on-destroy.md | 5 -- .changes/exit-with-code.md | 6 -- .changes/explicit-resource-management.md | 15 ---- .changes/fix-appimage-xdg-utils.md | 7 -- .../fix-capabilities-rerun-absolute-path.md | 5 -- .changes/fix-copy-new-resource-files.md | 6 -- .../fix-deterministic-config-serialization.md | 5 -- ...x-deterministic-embedded-assets-codegen.md | 5 -- .../fix-js-listeners-leak-on-webview-close.md | 5 -- .changes/fix-monitor-queries-off-thread.md | 6 -- .changes/fix-objc-retain-leak.md | 6 -- .changes/fix-send-sync.md | 5 -- .changes/fix-wix-external-bin-id.md | 7 -- .changes/fix-wix-resource-target-name.md | 8 -- .changes/icon-non-square-fit.md | 6 -- .changes/lock-minor-versions.md | 12 --- .changes/menu-command-panic-on-wrong-input.md | 9 --- .changes/mobile-resumed-suspended-event.md | 6 -- .../mock-runtime-run-main-thread-deadlock.md | 5 -- .changes/msrv-1.90.md | 16 ---- .changes/no-redirection-bitmap-api.md | 5 -- .changes/no-redirection-bitmap-config.md | 6 -- .changes/no-redirection-bitmap.md | 7 -- .changes/objc2-0.3.2.md | 7 -- .changes/permission-handler.md | 9 --- .changes/png-0.18.md | 5 -- ...olved-command-reference-debug-assertion.md | 8 -- .changes/runtime-handle-monitor-fns.md | 6 -- .changes/runtime-wry-avoid-clones.md | 5 -- .changes/signing-env-vars.md | 6 -- .changes/static-vc-runtime.md | 7 -- .changes/target-dir-nightly-out-dir.md | 5 -- .changes/tauri-build-static-vc-runtime.md | 5 -- .changes/tauri-info-skip-rust-only-js.md | 6 -- .changes/unstable-webview-focus.md | 6 -- .changes/update-dom-query.md | 5 -- .changes/wait-async-window-creation.md | 5 -- .changes/webkitgtk-resize-cursor.md | 6 -- .changes/webview-focus-on-move.md | 6 -- .changes/wry-focused-webview.md | 5 -- Cargo.lock | 38 ++++----- Cargo.toml | 20 ++--- crates/tauri-build/CHANGELOG.md | 29 +++++++ crates/tauri-build/Cargo.toml | 2 +- crates/tauri-bundler/CHANGELOG.md | 25 ++++++ crates/tauri-bundler/Cargo.toml | 2 +- crates/tauri-cli/CHANGELOG.md | 58 ++++++++++++++ crates/tauri-cli/Cargo.toml | 2 +- crates/tauri-cli/config.schema.json | 2 +- crates/tauri-cli/metadata-v2.json | 8 +- crates/tauri-codegen/CHANGELOG.md | 16 ++++ crates/tauri-codegen/Cargo.toml | 2 +- crates/tauri-driver/CHANGELOG.md | 6 ++ crates/tauri-driver/Cargo.toml | 2 +- crates/tauri-macos-sign/CHANGELOG.md | 10 +++ crates/tauri-macos-sign/Cargo.toml | 2 +- crates/tauri-macros/CHANGELOG.md | 23 ++++++ crates/tauri-macros/Cargo.toml | 2 +- crates/tauri-plugin/CHANGELOG.md | 10 +++ crates/tauri-plugin/Cargo.toml | 2 +- crates/tauri-runtime-wry/CHANGELOG.md | 40 ++++++++++ crates/tauri-runtime-wry/Cargo.toml | 2 +- crates/tauri-runtime/CHANGELOG.md | 24 ++++++ crates/tauri-runtime/Cargo.toml | 2 +- .../schemas/config.schema.json | 2 +- crates/tauri-utils/CHANGELOG.md | 29 +++++++ crates/tauri-utils/Cargo.toml | 2 +- crates/tauri/CHANGELOG.md | 77 +++++++++++++++++++ crates/tauri/Cargo.toml | 2 +- packages/api/CHANGELOG.md | 20 +++++ packages/api/package.json | 2 +- packages/cli/CHANGELOG.md | 55 +++++++++++++ packages/cli/package.json | 2 +- 97 files changed, 471 insertions(+), 478 deletions(-) delete mode 100644 .changes/android-compileroptions-dsl.md delete mode 100644 .changes/android-consumer-proguard.md delete mode 100644 .changes/android-gradle-9.md delete mode 100644 .changes/android-java-gradle-compat-hint.md delete mode 100644 .changes/android-material3.md delete mode 100644 .changes/android-plugin-manager-no-activity.md delete mode 100644 .changes/android-target-sdk-37.md delete mode 100644 .changes/android-video-dir.md delete mode 100644 .changes/app-bound-domains.md delete mode 100644 .changes/appimage-respect-gdk-backend.md delete mode 100644 .changes/build-config-path.md delete mode 100644 .changes/bundle-vc-runtime.md delete mode 100644 .changes/bundler-breaking-changes.md delete mode 100644 .changes/bundler-show-sizes.md delete mode 100644 .changes/cargo-toml-1.md delete mode 100644 .changes/change-pr-15578.md delete mode 100644 .changes/change-pr-15593.md delete mode 100644 .changes/change-pr-15677.md delete mode 100644 .changes/clarify-init-frontend-command-prompts.md delete mode 100644 .changes/cleanup-js-menu-channel.md delete mode 100644 .changes/ctor-1.md delete mode 100644 .changes/default-product-name-warning.md delete mode 100644 .changes/disable-binary-patching.md delete mode 100644 .changes/dpi-type-wrappers.md delete mode 100644 .changes/event-listener-cleanup-on-destroy.md delete mode 100644 .changes/exit-with-code.md delete mode 100644 .changes/explicit-resource-management.md delete mode 100644 .changes/fix-appimage-xdg-utils.md delete mode 100644 .changes/fix-capabilities-rerun-absolute-path.md delete mode 100644 .changes/fix-copy-new-resource-files.md delete mode 100644 .changes/fix-deterministic-config-serialization.md delete mode 100644 .changes/fix-deterministic-embedded-assets-codegen.md delete mode 100644 .changes/fix-js-listeners-leak-on-webview-close.md delete mode 100644 .changes/fix-monitor-queries-off-thread.md delete mode 100644 .changes/fix-objc-retain-leak.md delete mode 100644 .changes/fix-send-sync.md delete mode 100644 .changes/fix-wix-external-bin-id.md delete mode 100644 .changes/fix-wix-resource-target-name.md delete mode 100644 .changes/icon-non-square-fit.md delete mode 100644 .changes/lock-minor-versions.md delete mode 100644 .changes/menu-command-panic-on-wrong-input.md delete mode 100644 .changes/mobile-resumed-suspended-event.md delete mode 100644 .changes/mock-runtime-run-main-thread-deadlock.md delete mode 100644 .changes/msrv-1.90.md delete mode 100644 .changes/no-redirection-bitmap-api.md delete mode 100644 .changes/no-redirection-bitmap-config.md delete mode 100644 .changes/no-redirection-bitmap.md delete mode 100644 .changes/objc2-0.3.2.md delete mode 100644 .changes/permission-handler.md delete mode 100644 .changes/png-0.18.md delete mode 100644 .changes/resolved-command-reference-debug-assertion.md delete mode 100644 .changes/runtime-handle-monitor-fns.md delete mode 100644 .changes/runtime-wry-avoid-clones.md delete mode 100644 .changes/signing-env-vars.md delete mode 100644 .changes/static-vc-runtime.md delete mode 100644 .changes/target-dir-nightly-out-dir.md delete mode 100644 .changes/tauri-build-static-vc-runtime.md delete mode 100644 .changes/tauri-info-skip-rust-only-js.md delete mode 100644 .changes/unstable-webview-focus.md delete mode 100644 .changes/update-dom-query.md delete mode 100644 .changes/wait-async-window-creation.md delete mode 100644 .changes/webkitgtk-resize-cursor.md delete mode 100644 .changes/webview-focus-on-move.md delete mode 100644 .changes/wry-focused-webview.md diff --git a/.changes/android-compileroptions-dsl.md b/.changes/android-compileroptions-dsl.md deleted file mode 100644 index 96c2c86fe308..000000000000 --- a/.changes/android-compileroptions-dsl.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"tauri": patch:enhance -"tauri-cli": patch:enhance -"@tauri-apps/cli": patch:enhance ---- - -Migrate the Android Gradle scripts from the deprecated `kotlinOptions` DSL to `compilerOptions`, which is accepted by both Kotlin Gradle Plugin 1.9.x and 2.x. This lets projects move to Kotlin 2.x without hitting the hard error that 2.3+ raises on the old DSL. - -This increased the minimum supported Gradle version to 8.13, if your `gradle` is on an earlier version, delete `src-tauri/gen/android/gradle/wrapper/gradle-wrapper.properties` and re-run `tauri android init` to update it. diff --git a/.changes/android-consumer-proguard.md b/.changes/android-consumer-proguard.md deleted file mode 100644 index b320eabc7139..000000000000 --- a/.changes/android-consumer-proguard.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -tauri: minor:deps -tauri-cli: minor:deps -"@tauri-apps/cli": minor:deps ---- - -On Android, fix missing `consumer-rules.pro` file in the template. - -**IMPORTANT**: For plugin authors, update your `build.gradle.kts` file to remove the - -```kotlin - buildTypes { - release { - isMinifyEnabled = false - proguardFiles( - getDefaultProguardFile("proguard-android-optimize.txt"), - "proguard-rules.pro" - ) - } - } -``` - -section and rename your `proguard-rules.pro` to `consumer-rules.pro` to match the `consumerProguardFiles("consumer-rules.pro")` in the template. diff --git a/.changes/android-gradle-9.md b/.changes/android-gradle-9.md deleted file mode 100644 index 0d38c059e1fd..000000000000 --- a/.changes/android-gradle-9.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -tauri: minor:deps -tauri-build: minor:deps -tauri-cli: minor:deps -"@tauri-apps/cli": minor:deps ---- - -On Android, updated the template to use Gradle v9.6.1 (`com.android.tools.build:gradle` v9.3.1) and Kotlin v2.2. Use `tauri android init` to apply the change. diff --git a/.changes/android-java-gradle-compat-hint.md b/.changes/android-java-gradle-compat-hint.md deleted file mode 100644 index 30a06e3baa19..000000000000 --- a/.changes/android-java-gradle-compat-hint.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"tauri-cli": patch:enhance -"@tauri-apps/cli": patch:enhance ---- - -Warn during Android commands (`init`/`dev`/`build`) when the active Java version is too new for the Gradle version Tauri ships (e.g. Java 25+ against Gradle 8.14), instead of letting the build fail later with a cryptic error. The warning points to the Gradle/Java compatibility matrix and suggests a supported JDK. diff --git a/.changes/android-material3.md b/.changes/android-material3.md deleted file mode 100644 index 1f013f7d3a21..000000000000 --- a/.changes/android-material3.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"tauri-cli": patch:enhance -"@tauri-apps/cli": patch:enhance ---- - -Use `Theme.Material3.DayNight.NoActionBar` instead of `Theme.MaterialComponents.DayNight.NoActionBar` when running `tauri android init` diff --git a/.changes/android-plugin-manager-no-activity.md b/.changes/android-plugin-manager-no-activity.md deleted file mode 100644 index 90bc3bda7da1..000000000000 --- a/.changes/android-plugin-manager-no-activity.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -tauri: patch:bug ---- - -On Android, fixed requesting permission in a plugin fails after the first activity closed. diff --git a/.changes/android-target-sdk-37.md b/.changes/android-target-sdk-37.md deleted file mode 100644 index beac94f8411a..000000000000 --- a/.changes/android-target-sdk-37.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"tauri-cli": patch:enhance -"@tauri-apps/cli": patch:enhance ---- - -Update template to use `targetSdk = 37` diff --git a/.changes/android-video-dir.md b/.changes/android-video-dir.md deleted file mode 100644 index 31aff2fa4404..000000000000 --- a/.changes/android-video-dir.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -tauri: minor:breaking ---- - -On Android, `$VIDEO` and `video_dir()` now resolve to the app-specific Movies directory instead of external cache storage. - -**Migration:** Files previously written to the old location (`.../cache`) will not be discovered at the new location (`.../files/Movies`). Migrate existing files or update path assumptions accordingly. diff --git a/.changes/app-bound-domains.md b/.changes/app-bound-domains.md deleted file mode 100644 index ea5a24f56939..000000000000 --- a/.changes/app-bound-domains.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"tauri": minor:feat -"tauri-runtime": minor:feat -"tauri-runtime-wry": minor:feat -"tauri-utils": minor:feat ---- - -Add `WebviewBuilder::limit_navigations_to_app_bound_domains`, `WebviewWindowBuilder::limit_navigations_to_app_bound_domains`, and limitNavigationsToAppBoundDomains to tauri.config.json. diff --git a/.changes/appimage-respect-gdk-backend.md b/.changes/appimage-respect-gdk-backend.md deleted file mode 100644 index 44644221ea03..000000000000 --- a/.changes/appimage-respect-gdk-backend.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"tauri-bundler": "patch:bug" ---- - -Respect an explicitly configured `GDK_BACKEND` in AppImage GTK hooks while retaining `x11` as the default. diff --git a/.changes/build-config-path.md b/.changes/build-config-path.md deleted file mode 100644 index a86e359da37b..000000000000 --- a/.changes/build-config-path.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"tauri-build": minor:feat ---- - -Added `Attributes::config_path` to customize config path, deprecated `CodegenContext::config_path` in favor of this diff --git a/.changes/bundle-vc-runtime.md b/.changes/bundle-vc-runtime.md deleted file mode 100644 index 97291e2b0313..000000000000 --- a/.changes/bundle-vc-runtime.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"tauri-bundler": "minor:feat" -"tauri-cli": "minor:feat" -"@tauri-apps/cli": "minor:feat" -"tauri-utils": "minor:feat" ---- - -Added `bundle.windows.bundleVCRuntime` to copy the Visual C++ runtime DLLs into Windows MSI and NSIS installers. The bundler locates the runtime through `VCTOOLS_REDIST_DIR` or the bundled `vswhere.exe`. diff --git a/.changes/bundler-breaking-changes.md b/.changes/bundler-breaking-changes.md deleted file mode 100644 index dba5f2becdce..000000000000 --- a/.changes/bundler-breaking-changes.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -tauri-bundler: patch:deps ---- - -**Breaking Change:** Updated various dependencies and removed `goblin`. Some of these dependencies are part of the public API which makes this a breaking change. Added a warning about `tauri-bundler`'s API stability in reflection to past regular breaking struct changes. diff --git a/.changes/bundler-show-sizes.md b/.changes/bundler-show-sizes.md deleted file mode 100644 index 6525c8067d75..000000000000 --- a/.changes/bundler-show-sizes.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"tauri-bundler": "minor:feat" -"tauri-cli": "minor:feat" -"@tauri-apps/cli": "minor:feat" ---- - -The bundler now prints the size of each generated bundle next to its path in the `Finished N bundles at:` output (directories such as macOS `.app` bundles are measured recursively). diff --git a/.changes/cargo-toml-1.md b/.changes/cargo-toml-1.md deleted file mode 100644 index 11fc6f1fce32..000000000000 --- a/.changes/cargo-toml-1.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -tauri: patch:deps -tauri-build: patch:deps ---- - -Updated `cargo_toml` crate to `1` diff --git a/.changes/change-pr-15578.md b/.changes/change-pr-15578.md deleted file mode 100644 index 21d45a2c741f..000000000000 --- a/.changes/change-pr-15578.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"tauri": patch:enhance ---- - -`State` had `Send` and `Sync` trait bounds that were already implied, remove them from the struct definition. diff --git a/.changes/change-pr-15593.md b/.changes/change-pr-15593.md deleted file mode 100644 index 712620a4fb1f..000000000000 --- a/.changes/change-pr-15593.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"tauri-macos-sign": patch:deps ---- - -Updated dependency `apple-codesign` to `0.29`, no user facing changes. diff --git a/.changes/change-pr-15677.md b/.changes/change-pr-15677.md deleted file mode 100644 index 46399a3c8fe5..000000000000 --- a/.changes/change-pr-15677.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"tauri-utils": patch:deps ---- - -Update `serial_test` to 3.5 to pull in the updated `scc` and fix RUSTSEC advisory diff --git a/.changes/clarify-init-frontend-command-prompts.md b/.changes/clarify-init-frontend-command-prompts.md deleted file mode 100644 index 91d0dfc93cce..000000000000 --- a/.changes/clarify-init-frontend-command-prompts.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"tauri-cli": "patch:enhance" -"@tauri-apps/cli": "patch:enhance" ---- - -Clarify that the `tauri init` frontend commands run before `tauri dev` and `tauri build`, and can be left empty when they are not needed. diff --git a/.changes/cleanup-js-menu-channel.md b/.changes/cleanup-js-menu-channel.md deleted file mode 100644 index bfd36b559dbd..000000000000 --- a/.changes/cleanup-js-menu-channel.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"tauri": "patch:bug" ---- - -Remove the `Channel` used to send event to JavaScript side on dropping the menu diff --git a/.changes/ctor-1.md b/.changes/ctor-1.md deleted file mode 100644 index c7ad9e6662bc..000000000000 --- a/.changes/ctor-1.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -tauri-utils: patch:deps ---- - -Updated `ctor` crate to `1` diff --git a/.changes/default-product-name-warning.md b/.changes/default-product-name-warning.md deleted file mode 100644 index eb4bca149e8a..000000000000 --- a/.changes/default-product-name-warning.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"tauri-cli": patch:enhance -"@tauri-apps/cli": patch:enhance -"tauri-utils": patch:enhance ---- - -`tauri build` now warns when `productName` is still set to the default `tauri-app`, since it names the generated bundles and is written into install paths and metadata that are expected to be unique to your application. The config documentation for `productName` now lists what the field controls on each platform, and `identifier`'s documentation notes that the default value is rejected. diff --git a/.changes/disable-binary-patching.md b/.changes/disable-binary-patching.md deleted file mode 100644 index 8a911bcbaa1d..000000000000 --- a/.changes/disable-binary-patching.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"tauri-bundler": "minor:feat" -"tauri-cli": "minor:feat" -"@tauri-apps/cli": "minor:feat" ---- - -Add a `--no-binary-patching` flag to `tauri build` and `tauri bundle`. When set, the bundler skips patching the main executable with bundle type information (and the subsequent re-signing), leaving an already-signed binary untouched. Patching is only required when shipping multiple bundle types per platform that should each update with their own installer format. diff --git a/.changes/dpi-type-wrappers.md b/.changes/dpi-type-wrappers.md deleted file mode 100644 index 93b0c1875f4e..000000000000 --- a/.changes/dpi-type-wrappers.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"tauri-runtime-wry": "minor:breaking" ---- - -Removed unused dpi wrapper types like `PhysicalPositionWrapper` diff --git a/.changes/event-listener-cleanup-on-destroy.md b/.changes/event-listener-cleanup-on-destroy.md deleted file mode 100644 index e096256132da..000000000000 --- a/.changes/event-listener-cleanup-on-destroy.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"tauri": "patch:bug" ---- - -Remove Rust-side event listeners bound to a window or webview when that target is destroyed, so `listen`/`once` handlers registered on a `Window`, `Webview` or `WebviewWindow` no longer leak after it is closed. diff --git a/.changes/exit-with-code.md b/.changes/exit-with-code.md deleted file mode 100644 index dc405b21021a..000000000000 --- a/.changes/exit-with-code.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'tauri': 'patch:bug' -'tauri-runtime-wry': 'patch:bug' ---- - -Transfer the exit code from the `window.app_handle().exit(1)` call to the `run_return()` result instead of always returning 0. diff --git a/.changes/explicit-resource-management.md b/.changes/explicit-resource-management.md deleted file mode 100644 index 6888ba229cb8..000000000000 --- a/.changes/explicit-resource-management.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -"@tauri-apps/api": minor:enhance ---- - -Add ECMAScript Explicit Resource Management to Resource. You can now use the `using` syntax in supported browsers or with polyfills: - -```javascript -import { create, BaseDirectory } from "@tauri-apps/plugin-fs" -... -{ - await using file = await create("foo/bar.txt", { baseDir: BaseDirectory.AppConfig }); - await file.write(new TextEncoder().encode("Hello world")); - // Before `file` goes out of scope, it is disposed by calling `file[Symbol.asyncDispose]()` and awaited. -} -``` diff --git a/.changes/fix-appimage-xdg-utils.md b/.changes/fix-appimage-xdg-utils.md deleted file mode 100644 index 94aa65a612f1..000000000000 --- a/.changes/fix-appimage-xdg-utils.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -tauri-bundler: patch:bug -tauri-cli: patch:bug -"@tauri-apps/cli": patch:bug ---- - -On Linux, do not bundle xdg-open and xdg-utils in the AppImage anymore. This rarely worked and usually requires host system support anyway. diff --git a/.changes/fix-capabilities-rerun-absolute-path.md b/.changes/fix-capabilities-rerun-absolute-path.md deleted file mode 100644 index 2921b74b26aa..000000000000 --- a/.changes/fix-capabilities-rerun-absolute-path.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'tauri-build': 'patch:bug' ---- - -Emit an absolute path for the capabilities directory `cargo:rerun-if-changed`. Cargo resolves a relative watch path against the package owning the build script, while the capabilities glob is resolved against the process working directory, so callers that change the current directory before `try_build`/`try_build_context` ended up watching a non-existent directory — which is always dirty and re-ran the build script (and recompiled everything downstream) on every build. diff --git a/.changes/fix-copy-new-resource-files.md b/.changes/fix-copy-new-resource-files.md deleted file mode 100644 index 757b5aeec942..000000000000 --- a/.changes/fix-copy-new-resource-files.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'tauri-build': 'patch:bug' -'tauri-utils': 'patch:enhance' ---- - -Emit a `cargo:rerun-if-changed` for each resource directory (and glob base directory), so that adding or removing a file inside a resource directory re-runs the build script and copies the new files. Previously only the individual files present at build time were watched, so newly added files were silently ignored until an unrelated rebuild. diff --git a/.changes/fix-deterministic-config-serialization.md b/.changes/fix-deterministic-config-serialization.md deleted file mode 100644 index 7363bfa85909..000000000000 --- a/.changes/fix-deterministic-config-serialization.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'tauri-utils': 'patch:bug' ---- - -Serialize the CSP directive map, header source maps and plugin config with sorted keys so writing the processed config (e.g. the `tauri.conf.json` embedded in Android/iOS projects) is deterministic across builds. diff --git a/.changes/fix-deterministic-embedded-assets-codegen.md b/.changes/fix-deterministic-embedded-assets-codegen.md deleted file mode 100644 index d66d3d6d103c..000000000000 --- a/.changes/fix-deterministic-embedded-assets-codegen.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'tauri-codegen': 'patch:bug' ---- - -Emit embedded assets and CSP script/style hashes in sorted order so `generate_context!` output no longer depends on the filesystem walk order, which varies across machines and broke reproducible builds. diff --git a/.changes/fix-js-listeners-leak-on-webview-close.md b/.changes/fix-js-listeners-leak-on-webview-close.md deleted file mode 100644 index dbe95ba97df0..000000000000 --- a/.changes/fix-js-listeners-leak-on-webview-close.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'tauri': 'patch:bug' ---- - -Remove a webview's JS event listeners from the backend `Listeners` map when that webview is destroyed. Previously the entries keyed by the source webview label lingered after the webview was dropped, so they could never be delivered and leaked until the app exited — forcing apps to manually `unlisten()` before closing a window. diff --git a/.changes/fix-monitor-queries-off-thread.md b/.changes/fix-monitor-queries-off-thread.md deleted file mode 100644 index 30f4f4811afa..000000000000 --- a/.changes/fix-monitor-queries-off-thread.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'tauri': 'patch:bug' -'tauri-runtime-wry': 'patch:bug' ---- - -Query monitor information (`primary_monitor`, `monitor_from_point`, `available_monitors`) on the main thread from the app-level runtime handle instead of touching the event loop's window target directly. diff --git a/.changes/fix-objc-retain-leak.md b/.changes/fix-objc-retain-leak.md deleted file mode 100644 index d24a6169038a..000000000000 --- a/.changes/fix-objc-retain-leak.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"tauri": patch:bug -"tauri-runtime-wry": patch:bug ---- - -Avoid leaking Objective-C objects in `WebviewMessage::WithWebview` on Apple targets by replacing `Retained::into_raw` with scoped retained bindings and `Retained::as_ptr` pointer handoff. diff --git a/.changes/fix-send-sync.md b/.changes/fix-send-sync.md deleted file mode 100644 index 200a6f4bd830..000000000000 --- a/.changes/fix-send-sync.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"tauri-runtime-wry": minor:breaking ---- - -`WindowsStore` and `DispatcherMainThreadContext` are no longer `Send` and `Sync`, and unsafe impl has been moved to `Context` directly. diff --git a/.changes/fix-wix-external-bin-id.md b/.changes/fix-wix-external-bin-id.md deleted file mode 100644 index 2a9edd1a71f1..000000000000 --- a/.changes/fix-wix-external-bin-id.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"tauri-bundler": patch:bug -"tauri-cli": patch:bug -"@tauri-apps/cli": patch:bug ---- - -Fix MSI bundling when an external binary filename starts with a digit. diff --git a/.changes/fix-wix-resource-target-name.md b/.changes/fix-wix-resource-target-name.md deleted file mode 100644 index 9ce87bb4c262..000000000000 --- a/.changes/fix-wix-resource-target-name.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"tauri-bundler": patch:bug -"tauri-cli": patch:bug -"@tauri-apps/cli": patch:bug ---- - - -Fix WiX bundler doesn't respect the resource's target file name. diff --git a/.changes/icon-non-square-fit.md b/.changes/icon-non-square-fit.md deleted file mode 100644 index 826afbe57342..000000000000 --- a/.changes/icon-non-square-fit.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"tauri-cli": "minor:feat" -"@tauri-apps/cli": "minor:feat" ---- - -Add a `--fit` option to `tauri icon` to accept non-square source images. `--fit cover` center-crops the source to a square (clipping the longer side) and `--fit contain` pads the shorter side with transparency. Non-square sources without `--fit` keep erroring, now with a hint pointing to the flag. diff --git a/.changes/lock-minor-versions.md b/.changes/lock-minor-versions.md deleted file mode 100644 index 898416799da4..000000000000 --- a/.changes/lock-minor-versions.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -"tauri": minor:changes -"tauri-runtime": minor:changes -"tauri-runtime-wry": minor:changes -"tauri-build": minor:changes -"tauri-macros": minor:changes -"tauri-codegen": minor:changes -"tauri-cli": minor:changes -"@tauri-apps/cli": minor:changes ---- - -Lock unstable tauri crates to minor versions. diff --git a/.changes/menu-command-panic-on-wrong-input.md b/.changes/menu-command-panic-on-wrong-input.md deleted file mode 100644 index 5b65a1b7ab88..000000000000 --- a/.changes/menu-command-panic-on-wrong-input.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -tauri: minor:bug -tauri-macros: minor:bug ---- - -Fix menu related commands can panic if called with invalid menu types through `invoke` directly. - -- The internal `do_menu_item!` macro now returns `Err(crate::Error::UnexpectedMenuKind)` instead of `unreachable!()` -- Added a new error type `tauri::Error::UnexpectedMenuKind` diff --git a/.changes/mobile-resumed-suspended-event.md b/.changes/mobile-resumed-suspended-event.md deleted file mode 100644 index a7e8d89c6a45..000000000000 --- a/.changes/mobile-resumed-suspended-event.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"tauri": minor:changes -"tauri-runtime-wry": minor:changes ---- - -`WindowEvent::Resumed` and `WindowEvent::Suspended` are now only fired for the matching activity window instead of every window. diff --git a/.changes/mock-runtime-run-main-thread-deadlock.md b/.changes/mock-runtime-run-main-thread-deadlock.md deleted file mode 100644 index e031486fcc4e..000000000000 --- a/.changes/mock-runtime-run-main-thread-deadlock.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -tauri: patch:bug ---- - -Fix `run_main_thread!` macro used by things like `MenuItem` and some other APIs deadlock when called on main thread with `MockRuntime` diff --git a/.changes/msrv-1.90.md b/.changes/msrv-1.90.md deleted file mode 100644 index af2f2477a001..000000000000 --- a/.changes/msrv-1.90.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -"tauri": minor:changes -"tauri-utils": minor:changes -"tauri-runtime": minor:changes -"tauri-runtime-wry": minor:changes -"tauri-codegen": minor:changes -"tauri-macros": minor:changes -"tauri-plugin": minor:changes -"tauri-build": minor:changes -"tauri-cli": minor:changes -"tauri-macos-sign": minor:changes -"tauri-bundler": minor:changes -"tauri-driver": minor:changes ---- - -Set MSRV to 1.90. diff --git a/.changes/no-redirection-bitmap-api.md b/.changes/no-redirection-bitmap-api.md deleted file mode 100644 index 23aa252d9077..000000000000 --- a/.changes/no-redirection-bitmap-api.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tauri-apps/api': 'minor:feat' ---- - -Added `noRedirectionBitmap` option to the `Window` and `WebviewWindow` constructors on Windows. diff --git a/.changes/no-redirection-bitmap-config.md b/.changes/no-redirection-bitmap-config.md deleted file mode 100644 index 5264ba4c31a0..000000000000 --- a/.changes/no-redirection-bitmap-config.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'tauri': 'minor:feat' -'tauri-utils': 'minor:feat' ---- - -Added `app > windows > noRedirectionBitmap` config option to disable the window redirection bitmap on Windows. diff --git a/.changes/no-redirection-bitmap.md b/.changes/no-redirection-bitmap.md deleted file mode 100644 index 230cb4b4878c..000000000000 --- a/.changes/no-redirection-bitmap.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'tauri': 'minor:feat' -'tauri-runtime': 'minor:feat' -'tauri-runtime-wry': 'minor:feat' ---- - -Added `WindowBuilder/WebviewWindowBuilder::no_redirection_bitmap` method to disable the window redirection bitmap on Windows. diff --git a/.changes/objc2-0.3.2.md b/.changes/objc2-0.3.2.md deleted file mode 100644 index 83c6cffcb400..000000000000 --- a/.changes/objc2-0.3.2.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"tauri": patch:deps -"tauri-runtime": patch:deps -"tauri-runtime-wry": patch:deps ---- - -On macOS, updated `objc2-*` dependencies to 0.3.2 diff --git a/.changes/permission-handler.md b/.changes/permission-handler.md deleted file mode 100644 index 00da137d5370..000000000000 --- a/.changes/permission-handler.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"tauri": "minor:feat" -"tauri-runtime": "minor:feat" -"tauri-runtime-wry": "minor:feat" ---- - -Expose the `wry` permission handler API through Tauri. -This includes support for permission types such as `DisplayCapture`, `Midi`, `Sensors`, `MediaKeySystemAccess`, `LocalFonts`, `WindowManagement`, `PointerLock`, `AutomaticDownloads`, `FileSystemAccess`, and `Autoplay`. -Added `PermissionResponse::{Allow, Deny, Default}` for runtime permission decisions. diff --git a/.changes/png-0.18.md b/.changes/png-0.18.md deleted file mode 100644 index 73bdce2a2f9f..000000000000 --- a/.changes/png-0.18.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -tauri-codegen: patch:deps ---- - -Updated `png` crate to `0.18` diff --git a/.changes/resolved-command-reference-debug-assertion.md b/.changes/resolved-command-reference-debug-assertion.md deleted file mode 100644 index 40e1442fe16f..000000000000 --- a/.changes/resolved-command-reference-debug-assertion.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -tauri: minor:enhance -tauri-macros: minor:enhance -tauri-utils: minor:enhance -tauri-build: minor:enhance ---- - -Fix different build and runtime debug assertion profiles on the tauri-utils crate can resulting in compilation errors. diff --git a/.changes/runtime-handle-monitor-fns.md b/.changes/runtime-handle-monitor-fns.md deleted file mode 100644 index 36e6ccfa4666..000000000000 --- a/.changes/runtime-handle-monitor-fns.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'tauri-runtime': 'minor:breaking' -'tauri-runtime-wry': 'minor:breaking' ---- - -Changed `RuntimeHandle::primary_monitor`, `RuntimeHandle::monitor_from_point`, `RuntimeHandle::available_monitors` to return `Result`s diff --git a/.changes/runtime-wry-avoid-clones.md b/.changes/runtime-wry-avoid-clones.md deleted file mode 100644 index afa03acab1f4..000000000000 --- a/.changes/runtime-wry-avoid-clones.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"tauri-runtime-wry": "minor:changes" ---- - -`EventLoopIterationContext` and `UserMessageContext` now takes references to avoid clones diff --git a/.changes/signing-env-vars.md b/.changes/signing-env-vars.md deleted file mode 100644 index d9cff76ac7c2..000000000000 --- a/.changes/signing-env-vars.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"tauri-cli": patch:enhance -"@tauri-apps/cli": patch:enhance ---- - -Document the `TAURI_SIGNING_PRIVATE_KEY_PATH` environment variable and clarify that `TAURI_SIGNING_PRIVATE_KEY` accepts a string or a path for the `build` and `bundle` command but must be the literal key string for the `signer sign` command, both in `ENVIRONMENT_VARIABLES.md` and in the `signer generate` command output. diff --git a/.changes/static-vc-runtime.md b/.changes/static-vc-runtime.md deleted file mode 100644 index 3bed5b70f7b1..000000000000 --- a/.changes/static-vc-runtime.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"tauri-cli": "minor:feat" -"@tauri-apps/cli": "minor:feat" -"tauri-utils": "minor:feat" ---- - -Added `build.windows.staticVCRuntime` to control MSVC static runtime linking. The `STATIC_VCRUNTIME` environment variable is now deprecated and emits a migration warning when used. diff --git a/.changes/target-dir-nightly-out-dir.md b/.changes/target-dir-nightly-out-dir.md deleted file mode 100644 index 7eade8ec1b13..000000000000 --- a/.changes/target-dir-nightly-out-dir.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'tauri-build': 'patch:bug' ---- - -Resolve the target directory by walking up from `OUT_DIR` to the `build` directory instead of assuming it is exactly three levels up. Recent nightly toolchains add another level to `OUT_DIR`, which made sidecars and resources land in `target/debug/build` instead of `target/debug`. diff --git a/.changes/tauri-build-static-vc-runtime.md b/.changes/tauri-build-static-vc-runtime.md deleted file mode 100644 index 98f0d0517137..000000000000 --- a/.changes/tauri-build-static-vc-runtime.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"tauri-build": "minor:feat" ---- - -Added `tauri_build::WindowsAttributes::static_vc_runtime` to control MSVC static runtime linking from build scripts. diff --git a/.changes/tauri-info-skip-rust-only-js.md b/.changes/tauri-info-skip-rust-only-js.md deleted file mode 100644 index e52633a65554..000000000000 --- a/.changes/tauri-info-skip-rust-only-js.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"tauri-cli": "patch:bug" -"@tauri-apps/cli": "patch:bug" ---- - -Fix `tauri info` reports non existent npm package as not installed diff --git a/.changes/unstable-webview-focus.md b/.changes/unstable-webview-focus.md deleted file mode 100644 index 6854f716e884..000000000000 --- a/.changes/unstable-webview-focus.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -tauri: minor:bug -tauri-runtime-wry: minor:bug ---- - -Fix webview don't get focus when Alt-Tab back to the window if `unstable` feature is enabled on Windows diff --git a/.changes/update-dom-query.md b/.changes/update-dom-query.md deleted file mode 100644 index edfe93528c1f..000000000000 --- a/.changes/update-dom-query.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"tauri-utils": minor:deps ---- - -Updated `dom_query` dependency to 0.28.0 diff --git a/.changes/wait-async-window-creation.md b/.changes/wait-async-window-creation.md deleted file mode 100644 index f1d5252fe45c..000000000000 --- a/.changes/wait-async-window-creation.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"tauri-runtime-wry": patch:bug ---- - -`create_window` and `create_webview` should wait for the window creation to complete before returning even if it's off main thread, it should also return the error if it failed diff --git a/.changes/webkitgtk-resize-cursor.md b/.changes/webkitgtk-resize-cursor.md deleted file mode 100644 index 89aee8d840d4..000000000000 --- a/.changes/webkitgtk-resize-cursor.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'tauri-runtime-wry': 'patch:bug' -'tauri': 'patch:bug' ---- - -On Linux, fix resize cursor for undecorated Window not being set correctly when mouse is over a resize edge. diff --git a/.changes/webview-focus-on-move.md b/.changes/webview-focus-on-move.md deleted file mode 100644 index fb5ccc5be258..000000000000 --- a/.changes/webview-focus-on-move.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -tauri: minor:bug -tauri-runtime-wry: minor:bug ---- - -Fix `WindowEvent::Focused` events emitted when dragging the window on Windows diff --git a/.changes/wry-focused-webview.md b/.changes/wry-focused-webview.md deleted file mode 100644 index 45a16428cec1..000000000000 --- a/.changes/wry-focused-webview.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -tauri-runtime-wry: minor:breaking ---- - -`CreateWebviewOptions::focused_webview` now takes `Arc>` instead of `Arc>>` diff --git a/Cargo.lock b/Cargo.lock index 3dadfec3ca89..60c15c5f004b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1316,7 +1316,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" dependencies = [ "lazy_static", - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] @@ -1325,7 +1325,7 @@ version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "faf9468729b8cbcea668e36183cb69d317348c2e08e994829fb56ebfdfbaac34" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.61.2", ] [[package]] @@ -5575,7 +5575,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d8fae84b431384b68627d0f9b3b1245fcf9f46f6c0e3dc902e9dce64edd1967" dependencies = [ "libc", - "windows-sys 0.48.0", + "windows-sys 0.61.2", ] [[package]] @@ -6029,7 +6029,7 @@ dependencies = [ "aes-gcm", "aes-kw", "argon2", - "base64 0.21.7", + "base64 0.22.1", "bitfield", "block-padding", "blowfish", @@ -6711,7 +6711,7 @@ dependencies = [ "once_cell", "socket2 0.6.1", "tracing", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -8297,7 +8297,7 @@ version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1c97747dbf44bb1ca44a561ece23508e99cb592e862f22222dcf42f51d1e451" dependencies = [ - "heck 0.4.1", + "heck 0.5.0", "proc-macro2", "quote", "syn 2.0.117", @@ -8836,7 +8836,7 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] name = "tauri" -version = "2.11.5" +version = "2.12.0" dependencies = [ "anyhow", "bytes", @@ -8897,7 +8897,7 @@ dependencies = [ [[package]] name = "tauri-build" -version = "2.6.3" +version = "2.7.0" dependencies = [ "anyhow", "cargo_toml", @@ -8918,7 +8918,7 @@ dependencies = [ [[package]] name = "tauri-bundler" -version = "2.9.4" +version = "2.10.0" dependencies = [ "anyhow", "ar", @@ -8964,7 +8964,7 @@ dependencies = [ [[package]] name = "tauri-cli" -version = "2.11.4" +version = "2.12.0" dependencies = [ "ar", "axum", @@ -9056,7 +9056,7 @@ dependencies = [ [[package]] name = "tauri-codegen" -version = "2.6.3" +version = "2.7.0" dependencies = [ "base64 0.22.1", "brotli", @@ -9081,7 +9081,7 @@ dependencies = [ [[package]] name = "tauri-driver" -version = "2.0.6" +version = "2.1.0" dependencies = [ "anyhow", "futures", @@ -9122,7 +9122,7 @@ dependencies = [ [[package]] name = "tauri-macos-sign" -version = "2.3.4" +version = "2.4.0" dependencies = [ "apple-codesign", "base64 0.22.1", @@ -9144,7 +9144,7 @@ dependencies = [ [[package]] name = "tauri-macros" -version = "2.6.3" +version = "2.7.0" dependencies = [ "heck 0.5.0", "proc-macro2", @@ -9156,7 +9156,7 @@ dependencies = [ [[package]] name = "tauri-plugin" -version = "2.6.3" +version = "2.7.0" dependencies = [ "anyhow", "glob", @@ -9202,7 +9202,7 @@ dependencies = [ [[package]] name = "tauri-runtime" -version = "2.11.3" +version = "2.12.0" dependencies = [ "cookie", "dpi", @@ -9225,7 +9225,7 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" -version = "2.11.4" +version = "2.12.0" dependencies = [ "gtk", "http", @@ -9275,7 +9275,7 @@ dependencies = [ [[package]] name = "tauri-utils" -version = "2.9.3" +version = "2.10.0" dependencies = [ "aes-gcm", "anyhow", @@ -10612,7 +10612,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index fdf3a06f94b7..d31aac3f8ab0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -46,16 +46,16 @@ edition = "2021" rust-version = "1.90" [workspace.dependencies] -tauri = { version = "2.11.5", path = "./crates/tauri", default-features = false } -tauri-runtime = { version = "~2.11.3", path = "./crates/tauri-runtime" } -tauri-runtime-wry = { version = "~2.11.4", path = "./crates/tauri-runtime-wry", default-features = false } -tauri-build = { version = "2.6.3", path = "./crates/tauri-build", default-features = false } -tauri-macros = { version = "~2.6.3", path = "./crates/tauri-macros" } -tauri-codegen = { version = "~2.6.3", path = "./crates/tauri-codegen" } -tauri-utils = { version = "~2.9.3", path = "./crates/tauri-utils" } -tauri-plugin = { version = "2.6.3", path = "./crates/tauri-plugin", default-features = false } -tauri-bundler = { version = "=2.9.4", path = "./crates/tauri-bundler", default-features = false } -tauri-macos-sign = { version = "=2.3.4", path = "./crates/tauri-macos-sign" } +tauri = { version = "2.12.0", path = "./crates/tauri", default-features = false } +tauri-runtime = { version = "~2.12.0", path = "./crates/tauri-runtime" } +tauri-runtime-wry = { version = "~2.12.0", path = "./crates/tauri-runtime-wry", default-features = false } +tauri-build = { version = "2.7.0", path = "./crates/tauri-build", default-features = false } +tauri-macros = { version = "~2.7.0", path = "./crates/tauri-macros" } +tauri-codegen = { version = "~2.7.0", path = "./crates/tauri-codegen" } +tauri-utils = { version = "~2.10.0", path = "./crates/tauri-utils" } +tauri-plugin = { version = "2.7.0", path = "./crates/tauri-plugin", default-features = false } +tauri-bundler = { version = "=2.10.0", path = "./crates/tauri-bundler", default-features = false } +tauri-macos-sign = { version = "=2.4.0", path = "./crates/tauri-macos-sign" } # default to small, optimized workspace release binaries [profile.release] diff --git a/crates/tauri-build/CHANGELOG.md b/crates/tauri-build/CHANGELOG.md index b74efdd6bf78..1968d6702978 100644 --- a/crates/tauri-build/CHANGELOG.md +++ b/crates/tauri-build/CHANGELOG.md @@ -1,5 +1,34 @@ # Changelog +## [2.7.0] + +### New Features + +- [`4e36f6725`](https://www.github.com/tauri-apps/tauri/commit/4e36f67251ec63a81fee23a524bf2c8b61064dea) ([#15306](https://www.github.com/tauri-apps/tauri/pull/15306) by [@Kokoro2336](https://www.github.com/tauri-apps/tauri/../../Kokoro2336)) Added `Attributes::config_path` to customize config path, deprecated `CodegenContext::config_path` in favor of this +- [`f6c1eb253`](https://www.github.com/tauri-apps/tauri/commit/f6c1eb2533a0445e081c334931d67fee3e354c6f) ([#15401](https://www.github.com/tauri-apps/tauri/pull/15401) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Added `tauri_build::WindowsAttributes::static_vc_runtime` to control MSVC static runtime linking from build scripts. + +### Enhancements + +- [`19215f638`](https://www.github.com/tauri-apps/tauri/commit/19215f638a5889afef4333b2e5a402051f21b891) ([#15629](https://www.github.com/tauri-apps/tauri/pull/15629) by [@tenderdeve](https://www.github.com/tauri-apps/tauri/../../tenderdeve)) Emit a `cargo:rerun-if-changed` for each resource directory (and glob base directory), so that adding or removing a file inside a resource directory re-runs the build script and copies the new files. Previously only the individual files present at build time were watched, so newly added files were silently ignored until an unrelated rebuild. +- [`459fc315e`](https://www.github.com/tauri-apps/tauri/commit/459fc315eb790d9aa2d2cea693c20c8978f4b1b0) ([#15711](https://www.github.com/tauri-apps/tauri/pull/15711) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Fix different build and runtime debug assertion profiles on the tauri-utils crate can resulting in compilation errors. + +### Bug Fixes + +- [`dd6befda9`](https://www.github.com/tauri-apps/tauri/commit/dd6befda925845fc74ca595d6d42de6c49580dd8) ([#15918](https://www.github.com/tauri-apps/tauri/pull/15918) by [@valorkin](https://www.github.com/tauri-apps/tauri/../../valorkin)) Emit an absolute path for the capabilities directory `cargo:rerun-if-changed`. Cargo resolves a relative watch path against the package owning the build script, while the capabilities glob is resolved against the process working directory, so callers that change the current directory before `try_build`/`try_build_context` ended up watching a non-existent directory — which is always dirty and re-ran the build script (and recompiled everything downstream) on every build. +- [`c0bd0d5a6`](https://www.github.com/tauri-apps/tauri/commit/c0bd0d5a61eedba5c4783add24455c5028c6f390) ([#15831](https://www.github.com/tauri-apps/tauri/pull/15831) by [@lazerg](https://www.github.com/tauri-apps/tauri/../../lazerg)) Resolve the target directory by walking up from `OUT_DIR` to the `build` directory instead of assuming it is exactly three levels up. Recent nightly toolchains add another level to `OUT_DIR`, which made sidecars and resources land in `target/debug/build` instead of `target/debug`. + +### What's Changed + +- [`ce3f13b91`](https://www.github.com/tauri-apps/tauri/commit/ce3f13b91a75cb723f229f56a3e82eb5f2d3f644) ([#15887](https://www.github.com/tauri-apps/tauri/pull/15887) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Lock unstable tauri crates to minor versions. +- [`1cffb01da`](https://www.github.com/tauri-apps/tauri/commit/1cffb01da55f5fcd5a0f74ef3281b5a715513e4d) ([#13221](https://www.github.com/tauri-apps/tauri/pull/13221) by [@lucasfernog](https://www.github.com/tauri-apps/tauri/../../lucasfernog)) Set MSRV to 1.90. + +### Dependencies + +- Upgraded to `tauri-utils@2.10.0` +- Upgraded to `tauri-codegen@2.7.0` +- [`e2e585ad1`](https://www.github.com/tauri-apps/tauri/commit/e2e585ad1196c9572f86ef39aae01ef4c3b1a762) ([#15828](https://www.github.com/tauri-apps/tauri/pull/15828) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) On Android, updated the template to use Gradle v9.6.1 (`com.android.tools.build:gradle` v9.3.1) and Kotlin v2.2. Use `tauri android init` to apply the change. +- [`2bb4fdbd0`](https://www.github.com/tauri-apps/tauri/commit/2bb4fdbd0252ca414e28bdc9f0284ac4ff108f26) ([#15592](https://www.github.com/tauri-apps/tauri/pull/15592) by [@renovate](https://www.github.com/tauri-apps/tauri/../../renovate)) Updated `cargo_toml` crate to `1` + ## \[2.6.3] ### Dependencies diff --git a/crates/tauri-build/Cargo.toml b/crates/tauri-build/Cargo.toml index bf8ec3e150a7..009ab18f4888 100644 --- a/crates/tauri-build/Cargo.toml +++ b/crates/tauri-build/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-build" -version = "2.6.3" +version = "2.7.0" description = "build time code to pair with https://crates.io/crates/tauri" exclude = ["CHANGELOG.md", "/target"] readme = "README.md" diff --git a/crates/tauri-bundler/CHANGELOG.md b/crates/tauri-bundler/CHANGELOG.md index f5f684639198..090795097640 100644 --- a/crates/tauri-bundler/CHANGELOG.md +++ b/crates/tauri-bundler/CHANGELOG.md @@ -1,5 +1,30 @@ # Changelog +## [2.10.0] + +### New Features + +- [`f6c1eb253`](https://www.github.com/tauri-apps/tauri/commit/f6c1eb2533a0445e081c334931d67fee3e354c6f) ([#15401](https://www.github.com/tauri-apps/tauri/pull/15401) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Added `bundle.windows.bundleVCRuntime` to copy the Visual C++ runtime DLLs into Windows MSI and NSIS installers. The bundler locates the runtime through `VCTOOLS_REDIST_DIR` or the bundled `vswhere.exe`. +- [`f76b1d3ae`](https://www.github.com/tauri-apps/tauri/commit/f76b1d3ae70d0ba0f0eba80b94b867593aa5ca8b) ([#15644](https://www.github.com/tauri-apps/tauri/pull/15644) by [@tenderdeve](https://www.github.com/tauri-apps/tauri/../../tenderdeve)) The bundler now prints the size of each generated bundle next to its path in the `Finished N bundles at:` output (directories such as macOS `.app` bundles are measured recursively). +- [`af465eae1`](https://www.github.com/tauri-apps/tauri/commit/af465eae1ad99d7b16b8fdbf9aa96bf76d6b9a76) ([#15619](https://www.github.com/tauri-apps/tauri/pull/15619) by [@tenderdeve](https://www.github.com/tauri-apps/tauri/../../tenderdeve)) Add a `--no-binary-patching` flag to `tauri build` and `tauri bundle`. When set, the bundler skips patching the main executable with bundle type information (and the subsequent re-signing), leaving an already-signed binary untouched. Patching is only required when shipping multiple bundle types per platform that should each update with their own installer format. + +### Bug Fixes + +- [`7164de395`](https://www.github.com/tauri-apps/tauri/commit/7164de39574d616b762ba658f797f9657ea03b20) ([#15786](https://www.github.com/tauri-apps/tauri/pull/15786) by [@yingyanzhitong](https://www.github.com/tauri-apps/tauri/../../yingyanzhitong)) Respect an explicitly configured `GDK_BACKEND` in AppImage GTK hooks while retaining `x11` as the default. +- [`eaf96690d`](https://www.github.com/tauri-apps/tauri/commit/eaf96690db2439445fe16da24031bf3294ada605) ([#15804](https://www.github.com/tauri-apps/tauri/pull/15804) by [@FabianLars](https://www.github.com/tauri-apps/tauri/../../FabianLars)) On Linux, do not bundle xdg-open and xdg-utils in the AppImage anymore. This rarely worked and usually requires host system support anyway. +- [`adf5acf6f`](https://www.github.com/tauri-apps/tauri/commit/adf5acf6fbc0ef26de6b1eb30c47bb701c256954) ([#15651](https://www.github.com/tauri-apps/tauri/pull/15651) by [@justjavac](https://www.github.com/tauri-apps/tauri/../../justjavac)) Fix MSI bundling when an external binary filename starts with a digit. +- [`11012a13f`](https://www.github.com/tauri-apps/tauri/commit/11012a13f55ab55ec5ed12ca3ac95338ae1731c3) ([#15681](https://www.github.com/tauri-apps/tauri/pull/15681) by [@justjavac](https://www.github.com/tauri-apps/tauri/../../justjavac)) Fix WiX bundler doesn't respect the resource's target file name. + +### What's Changed + +- [`1cffb01da`](https://www.github.com/tauri-apps/tauri/commit/1cffb01da55f5fcd5a0f74ef3281b5a715513e4d) ([#13221](https://www.github.com/tauri-apps/tauri/pull/13221) by [@lucasfernog](https://www.github.com/tauri-apps/tauri/../../lucasfernog)) Set MSRV to 1.90. + +### Dependencies + +- Upgraded to `tauri-utils@2.10.0` +- Upgraded to `tauri-macos-sign@2.4.0` +- [`7632efd09`](https://www.github.com/tauri-apps/tauri/commit/7632efd09ffb9eddafefd8d04e311565394efce9) ([#15641](https://www.github.com/tauri-apps/tauri/pull/15641) by [@FabianLars](https://www.github.com/tauri-apps/tauri/../../FabianLars)) **Breaking Change:** Updated various dependencies and removed `goblin`. Some of these dependencies are part of the public API which makes this a breaking change. Added a warning about `tauri-bundler`'s API stability in reflection to past regular breaking struct changes. + ## \[2.9.4] ### Bug Fixes diff --git a/crates/tauri-bundler/Cargo.toml b/crates/tauri-bundler/Cargo.toml index 3fc33b0915f8..eeef9ce18c8b 100644 --- a/crates/tauri-bundler/Cargo.toml +++ b/crates/tauri-bundler/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-bundler" -version = "2.9.4" +version = "2.10.0" authors = [ "George Burton ", "Tauri Programme within The Commons Conservancy", diff --git a/crates/tauri-cli/CHANGELOG.md b/crates/tauri-cli/CHANGELOG.md index 2860b0dadba8..6f92449eb188 100644 --- a/crates/tauri-cli/CHANGELOG.md +++ b/crates/tauri-cli/CHANGELOG.md @@ -1,5 +1,63 @@ # Changelog +## [2.12.0] + +### New Features + +- [`f6c1eb253`](https://www.github.com/tauri-apps/tauri/commit/f6c1eb2533a0445e081c334931d67fee3e354c6f) ([#15401](https://www.github.com/tauri-apps/tauri/pull/15401) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Added `bundle.windows.bundleVCRuntime` to copy the Visual C++ runtime DLLs into Windows MSI and NSIS installers. The bundler locates the runtime through `VCTOOLS_REDIST_DIR` or the bundled `vswhere.exe`. +- [`f76b1d3ae`](https://www.github.com/tauri-apps/tauri/commit/f76b1d3ae70d0ba0f0eba80b94b867593aa5ca8b) ([#15644](https://www.github.com/tauri-apps/tauri/pull/15644) by [@tenderdeve](https://www.github.com/tauri-apps/tauri/../../tenderdeve)) The bundler now prints the size of each generated bundle next to its path in the `Finished N bundles at:` output (directories such as macOS `.app` bundles are measured recursively). +- [`af465eae1`](https://www.github.com/tauri-apps/tauri/commit/af465eae1ad99d7b16b8fdbf9aa96bf76d6b9a76) ([#15619](https://www.github.com/tauri-apps/tauri/pull/15619) by [@tenderdeve](https://www.github.com/tauri-apps/tauri/../../tenderdeve)) Add a `--no-binary-patching` flag to `tauri build` and `tauri bundle`. When set, the bundler skips patching the main executable with bundle type information (and the subsequent re-signing), leaving an already-signed binary untouched. Patching is only required when shipping multiple bundle types per platform that should each update with their own installer format. +- [`0646cc162`](https://www.github.com/tauri-apps/tauri/commit/0646cc1623608dfdaec8d1adbc08d0159b9c2369) ([#15620](https://www.github.com/tauri-apps/tauri/pull/15620) by [@tenderdeve](https://www.github.com/tauri-apps/tauri/../../tenderdeve)) Add a `--fit` option to `tauri icon` to accept non-square source images. `--fit cover` center-crops the source to a square (clipping the longer side) and `--fit contain` pads the shorter side with transparency. Non-square sources without `--fit` keep erroring, now with a hint pointing to the flag. +- [`f6c1eb253`](https://www.github.com/tauri-apps/tauri/commit/f6c1eb2533a0445e081c334931d67fee3e354c6f) ([#15401](https://www.github.com/tauri-apps/tauri/pull/15401) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Added `build.windows.staticVCRuntime` to control MSVC static runtime linking. The `STATIC_VCRUNTIME` environment variable is now deprecated and emits a migration warning when used. + +### Enhancements + +- [`aebf38c84`](https://www.github.com/tauri-apps/tauri/commit/aebf38c845b57bc5653eca677e2e2e044528ea73) ([#15694](https://www.github.com/tauri-apps/tauri/pull/15694) by [@Turbo87](https://www.github.com/tauri-apps/tauri/../../Turbo87)) Migrate the Android Gradle scripts from the deprecated `kotlinOptions` DSL to `compilerOptions`, which is accepted by both Kotlin Gradle Plugin 1.9.x and 2.x. This lets projects move to Kotlin 2.x without hitting the hard error that 2.3+ raises on the old DSL. + + This increased the minimum supported Gradle version to 8.13, if your `gradle` is on an earlier version, delete `src-tauri/gen/android/gradle/wrapper/gradle-wrapper.properties` and re-run `tauri android init` to update it. +- [`d89d8fa62`](https://www.github.com/tauri-apps/tauri/commit/d89d8fa62302bd3553b66fd47ecfa046b2fc84ef) ([#15780](https://www.github.com/tauri-apps/tauri/pull/15780) by [@tenderdeve](https://www.github.com/tauri-apps/tauri/../../tenderdeve)) Warn during Android commands (`init`/`dev`/`build`) when the active Java version is too new for the Gradle version Tauri ships (e.g. Java 25+ against Gradle 8.14), instead of letting the build fail later with a cryptic error. The warning points to the Gradle/Java compatibility matrix and suggests a supported JDK. +- [`c3d21bd60`](https://www.github.com/tauri-apps/tauri/commit/c3d21bd60c3355b284b23dee1a181c3423231182) ([#15730](https://www.github.com/tauri-apps/tauri/pull/15730) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Use `Theme.Material3.DayNight.NoActionBar` instead of `Theme.MaterialComponents.DayNight.NoActionBar` when running `tauri android init` +- [`f654f470c`](https://www.github.com/tauri-apps/tauri/commit/f654f470c122e925e425424cea733f13d3306412) ([#15862](https://www.github.com/tauri-apps/tauri/pull/15862) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Update template to use `targetSdk = 37` +- [`cdaf7eab6`](https://www.github.com/tauri-apps/tauri/commit/cdaf7eab6c5fccc2a4812af18f58fd3530f3eedd) ([#15765](https://www.github.com/tauri-apps/tauri/pull/15765) by [@Hushlor](https://www.github.com/tauri-apps/tauri/../../Hushlor)) Clarify that the `tauri init` frontend commands run before `tauri dev` and `tauri build`, and can be left empty when they are not needed. +- [`ca160ad48`](https://www.github.com/tauri-apps/tauri/commit/ca160ad4808f477380cb0865a08a8ae781e37f85) ([#15895](https://www.github.com/tauri-apps/tauri/pull/15895) by [@leepokai](https://www.github.com/tauri-apps/tauri/../../leepokai)) `tauri build` now warns when `productName` is still set to the default `tauri-app`, since it names the generated bundles and is written into install paths and metadata that are expected to be unique to your application. The config documentation for `productName` now lists what the field controls on each platform, and `identifier`'s documentation notes that the default value is rejected. +- [`010f06bae`](https://www.github.com/tauri-apps/tauri/commit/010f06baecd499c41321da3130e20147c50025f7) ([#15737](https://www.github.com/tauri-apps/tauri/pull/15737) by [@lazerg](https://www.github.com/tauri-apps/tauri/../../lazerg)) Document the `TAURI_SIGNING_PRIVATE_KEY_PATH` environment variable and clarify that `TAURI_SIGNING_PRIVATE_KEY` accepts a string or a path for the `build` and `bundle` command but must be the literal key string for the `signer sign` command, both in `ENVIRONMENT_VARIABLES.md` and in the `signer generate` command output. + +### Bug Fixes + +- [`eaf96690d`](https://www.github.com/tauri-apps/tauri/commit/eaf96690db2439445fe16da24031bf3294ada605) ([#15804](https://www.github.com/tauri-apps/tauri/pull/15804) by [@FabianLars](https://www.github.com/tauri-apps/tauri/../../FabianLars)) On Linux, do not bundle xdg-open and xdg-utils in the AppImage anymore. This rarely worked and usually requires host system support anyway. +- [`adf5acf6f`](https://www.github.com/tauri-apps/tauri/commit/adf5acf6fbc0ef26de6b1eb30c47bb701c256954) ([#15651](https://www.github.com/tauri-apps/tauri/pull/15651) by [@justjavac](https://www.github.com/tauri-apps/tauri/../../justjavac)) Fix MSI bundling when an external binary filename starts with a digit. +- [`11012a13f`](https://www.github.com/tauri-apps/tauri/commit/11012a13f55ab55ec5ed12ca3ac95338ae1731c3) ([#15681](https://www.github.com/tauri-apps/tauri/pull/15681) by [@justjavac](https://www.github.com/tauri-apps/tauri/../../justjavac)) Fix WiX bundler doesn't respect the resource's target file name. +- [`6a298ee12`](https://www.github.com/tauri-apps/tauri/commit/6a298ee12e7ffde115175d43ac63a2fdcba51c3e) ([#15713](https://www.github.com/tauri-apps/tauri/pull/15713) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Fix `tauri info` reports non existent npm package as not installed + +### What's Changed + +- [`ce3f13b91`](https://www.github.com/tauri-apps/tauri/commit/ce3f13b91a75cb723f229f56a3e82eb5f2d3f644) ([#15887](https://www.github.com/tauri-apps/tauri/pull/15887) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Lock unstable tauri crates to minor versions. +- [`1cffb01da`](https://www.github.com/tauri-apps/tauri/commit/1cffb01da55f5fcd5a0f74ef3281b5a715513e4d) ([#13221](https://www.github.com/tauri-apps/tauri/pull/13221) by [@lucasfernog](https://www.github.com/tauri-apps/tauri/../../lucasfernog)) Set MSRV to 1.90. + +### Dependencies + +- Upgraded to `tauri-utils@2.10.0` +- Upgraded to `tauri-bundler@2.10.0` +- Upgraded to `tauri-macos-sign@2.4.0` +- [`e2e585ad1`](https://www.github.com/tauri-apps/tauri/commit/e2e585ad1196c9572f86ef39aae01ef4c3b1a762) ([#15828](https://www.github.com/tauri-apps/tauri/pull/15828) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) On Android, fix missing `consumer-rules.pro` file in the template. + + **IMPORTANT**: For plugin authors, update your `build.gradle.kts` file to remove the + + ```kotlin + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + ``` + + section and rename your `proguard-rules.pro` to `consumer-rules.pro` to match the `consumerProguardFiles("consumer-rules.pro")` in the template. +- [`e2e585ad1`](https://www.github.com/tauri-apps/tauri/commit/e2e585ad1196c9572f86ef39aae01ef4c3b1a762) ([#15828](https://www.github.com/tauri-apps/tauri/pull/15828) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) On Android, updated the template to use Gradle v9.6.1 (`com.android.tools.build:gradle` v9.3.1) and Kotlin v2.2. Use `tauri android init` to apply the change. + ## \[2.11.4] ### Bug Fixes diff --git a/crates/tauri-cli/Cargo.toml b/crates/tauri-cli/Cargo.toml index 91d519608149..80d0b534da7d 100644 --- a/crates/tauri-cli/Cargo.toml +++ b/crates/tauri-cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-cli" -version = "2.11.4" +version = "2.12.0" authors = ["Tauri Programme within The Commons Conservancy"] edition = "2021" rust-version = "1.90" diff --git a/crates/tauri-cli/config.schema.json b/crates/tauri-cli/config.schema.json index 8878f5f19e24..fc20829664ca 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.5", + "$id": "https://schema.tauri.app/config/2.12.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 77f48d960760..e577ba8595b5 100644 --- a/crates/tauri-cli/metadata-v2.json +++ b/crates/tauri-cli/metadata-v2.json @@ -1,9 +1,9 @@ { "cli.js": { - "version": "2.11.4", + "version": "2.12.0", "node": ">= 10.0.0" }, - "tauri": "2.11.5", - "tauri-build": "2.6.3", - "tauri-plugin": "2.6.3" + "tauri": "2.12.0", + "tauri-build": "2.7.0", + "tauri-plugin": "2.7.0" } diff --git a/crates/tauri-codegen/CHANGELOG.md b/crates/tauri-codegen/CHANGELOG.md index 34118aaa4d9d..cf43e2f53efe 100644 --- a/crates/tauri-codegen/CHANGELOG.md +++ b/crates/tauri-codegen/CHANGELOG.md @@ -1,5 +1,21 @@ # Changelog +## [2.7.0] + +### Bug Fixes + +- [`29c87c3d3`](https://www.github.com/tauri-apps/tauri/commit/29c87c3d3f5bbcf5a7ae9de01af7e6bb738c1d01) ([#15777](https://www.github.com/tauri-apps/tauri/pull/15777) by [@VityaSchel](https://www.github.com/tauri-apps/tauri/../../VityaSchel)) Emit embedded assets and CSP script/style hashes in sorted order so `generate_context!` output no longer depends on the filesystem walk order, which varies across machines and broke reproducible builds. + +### What's Changed + +- [`ce3f13b91`](https://www.github.com/tauri-apps/tauri/commit/ce3f13b91a75cb723f229f56a3e82eb5f2d3f644) ([#15887](https://www.github.com/tauri-apps/tauri/pull/15887) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Lock unstable tauri crates to minor versions. +- [`1cffb01da`](https://www.github.com/tauri-apps/tauri/commit/1cffb01da55f5fcd5a0f74ef3281b5a715513e4d) ([#13221](https://www.github.com/tauri-apps/tauri/pull/13221) by [@lucasfernog](https://www.github.com/tauri-apps/tauri/../../lucasfernog)) Set MSRV to 1.90. + +### Dependencies + +- Upgraded to `tauri-utils@2.10.0` +- [`df26e1b8c`](https://www.github.com/tauri-apps/tauri/commit/df26e1b8ccb0b9e9c4aa4c705a635f59b4a5110a) ([#15875](https://www.github.com/tauri-apps/tauri/pull/15875) by [@renovate](https://www.github.com/tauri-apps/tauri/../../renovate)) Updated `png` crate to `0.18` + ## \[2.6.3] ### Dependencies diff --git a/crates/tauri-codegen/Cargo.toml b/crates/tauri-codegen/Cargo.toml index 01270765a142..daa8032d25b1 100644 --- a/crates/tauri-codegen/Cargo.toml +++ b/crates/tauri-codegen/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-codegen" -version = "2.6.3" +version = "2.7.0" description = "code generation meant to be consumed inside of `tauri` through `tauri-build` or `tauri-macros`" exclude = ["CHANGELOG.md", "/target"] readme = "README.md" diff --git a/crates/tauri-driver/CHANGELOG.md b/crates/tauri-driver/CHANGELOG.md index fd67ede86919..b1103d850c4d 100644 --- a/crates/tauri-driver/CHANGELOG.md +++ b/crates/tauri-driver/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## [2.1.0] + +### What's Changed + +- [`1cffb01da`](https://www.github.com/tauri-apps/tauri/commit/1cffb01da55f5fcd5a0f74ef3281b5a715513e4d) ([#13221](https://www.github.com/tauri-apps/tauri/pull/13221) by [@lucasfernog](https://www.github.com/tauri-apps/tauri/../../lucasfernog)) Set MSRV to 1.90. + ## \[2.0.6] ### What's Changed diff --git a/crates/tauri-driver/Cargo.toml b/crates/tauri-driver/Cargo.toml index 66eb25962189..cfe8f6bd0fc2 100644 --- a/crates/tauri-driver/Cargo.toml +++ b/crates/tauri-driver/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-driver" -version = "2.0.6" +version = "2.1.0" authors = ["Tauri Programme within The Commons Conservancy"] categories = ["gui", "web-programming"] license = "Apache-2.0 OR MIT" diff --git a/crates/tauri-macos-sign/CHANGELOG.md b/crates/tauri-macos-sign/CHANGELOG.md index 9502ef75c3bb..42daa707ad5f 100644 --- a/crates/tauri-macos-sign/CHANGELOG.md +++ b/crates/tauri-macos-sign/CHANGELOG.md @@ -1,5 +1,15 @@ # Changelog +## [2.4.0] + +### What's Changed + +- [`1cffb01da`](https://www.github.com/tauri-apps/tauri/commit/1cffb01da55f5fcd5a0f74ef3281b5a715513e4d) ([#13221](https://www.github.com/tauri-apps/tauri/pull/13221) by [@lucasfernog](https://www.github.com/tauri-apps/tauri/../../lucasfernog)) Set MSRV to 1.90. + +### Dependencies + +- [`6f1f9da69`](https://www.github.com/tauri-apps/tauri/commit/6f1f9da69ae58f90b9ad56430d981d58f4690734) ([#15593](https://www.github.com/tauri-apps/tauri/pull/15593) by [@sftse](https://www.github.com/tauri-apps/tauri/../../sftse)) Updated dependency `apple-codesign` to `0.29`, no user facing changes. + ## \[2.3.4] ### Enhancements diff --git a/crates/tauri-macos-sign/Cargo.toml b/crates/tauri-macos-sign/Cargo.toml index 24a9c66abaf1..d832ef5ce140 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.4" +version = "2.4.0" 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 767e776ee6cb..cc1b5b9dae0d 100644 --- a/crates/tauri-macros/CHANGELOG.md +++ b/crates/tauri-macros/CHANGELOG.md @@ -1,5 +1,28 @@ # Changelog +## [2.7.0] + +### Enhancements + +- [`459fc315e`](https://www.github.com/tauri-apps/tauri/commit/459fc315eb790d9aa2d2cea693c20c8978f4b1b0) ([#15711](https://www.github.com/tauri-apps/tauri/pull/15711) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Fix different build and runtime debug assertion profiles on the tauri-utils crate can resulting in compilation errors. + +### Bug Fixes + +- [`448d39ee2`](https://www.github.com/tauri-apps/tauri/commit/448d39ee25c4bcbf4bd40129abc5399213dcc0a9) ([#15860](https://www.github.com/tauri-apps/tauri/pull/15860) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Fix menu related commands can panic if called with invalid menu types through `invoke` directly. + + - The internal `do_menu_item!` macro now returns `Err(crate::Error::UnexpectedMenuKind)` instead of `unreachable!()` + - Added a new error type `tauri::Error::UnexpectedMenuKind` + +### What's Changed + +- [`ce3f13b91`](https://www.github.com/tauri-apps/tauri/commit/ce3f13b91a75cb723f229f56a3e82eb5f2d3f644) ([#15887](https://www.github.com/tauri-apps/tauri/pull/15887) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Lock unstable tauri crates to minor versions. +- [`1cffb01da`](https://www.github.com/tauri-apps/tauri/commit/1cffb01da55f5fcd5a0f74ef3281b5a715513e4d) ([#13221](https://www.github.com/tauri-apps/tauri/pull/13221) by [@lucasfernog](https://www.github.com/tauri-apps/tauri/../../lucasfernog)) Set MSRV to 1.90. + +### Dependencies + +- Upgraded to `tauri-utils@2.10.0` +- Upgraded to `tauri-codegen@2.7.0` + ## \[2.6.3] ### Dependencies diff --git a/crates/tauri-macros/Cargo.toml b/crates/tauri-macros/Cargo.toml index 9d45de093b50..26488aecd790 100644 --- a/crates/tauri-macros/Cargo.toml +++ b/crates/tauri-macros/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-macros" -version = "2.6.3" +version = "2.7.0" description = "Macros for the tauri crate." exclude = ["CHANGELOG.md", "/target"] readme = "README.md" diff --git a/crates/tauri-plugin/CHANGELOG.md b/crates/tauri-plugin/CHANGELOG.md index 1a289a3ff881..54e830dd759c 100644 --- a/crates/tauri-plugin/CHANGELOG.md +++ b/crates/tauri-plugin/CHANGELOG.md @@ -1,5 +1,15 @@ # Changelog +## [2.7.0] + +### What's Changed + +- [`1cffb01da`](https://www.github.com/tauri-apps/tauri/commit/1cffb01da55f5fcd5a0f74ef3281b5a715513e4d) ([#13221](https://www.github.com/tauri-apps/tauri/pull/13221) by [@lucasfernog](https://www.github.com/tauri-apps/tauri/../../lucasfernog)) Set MSRV to 1.90. + +### Dependencies + +- Upgraded to `tauri-utils@2.10.0` + ## \[2.6.3] ### Dependencies diff --git a/crates/tauri-plugin/Cargo.toml b/crates/tauri-plugin/Cargo.toml index dbcf20f58996..e1563ed00255 100644 --- a/crates/tauri-plugin/Cargo.toml +++ b/crates/tauri-plugin/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-plugin" -version = "2.6.3" +version = "2.7.0" description = "Build script and runtime Tauri plugin definitions" authors.workspace = true homepage.workspace = true diff --git a/crates/tauri-runtime-wry/CHANGELOG.md b/crates/tauri-runtime-wry/CHANGELOG.md index fbb2e1a8450b..21508bd6656b 100644 --- a/crates/tauri-runtime-wry/CHANGELOG.md +++ b/crates/tauri-runtime-wry/CHANGELOG.md @@ -1,5 +1,45 @@ # Changelog +## [2.12.0] + +### New Features + +- [`3f62c70d6`](https://www.github.com/tauri-apps/tauri/commit/3f62c70d6b9a9eeeb7c302b010c858405a1bb761) ([#13848](https://www.github.com/tauri-apps/tauri/pull/13848) by [@zphrs](https://www.github.com/tauri-apps/tauri/../../zphrs)) Add `WebviewBuilder::limit_navigations_to_app_bound_domains`, `WebviewWindowBuilder::limit_navigations_to_app_bound_domains`, and limitNavigationsToAppBoundDomains to tauri.config.json. +- [`29265557c`](https://www.github.com/tauri-apps/tauri/commit/29265557c7a42ef6a1f982e0ef738208df1f6dd3) ([#15410](https://www.github.com/tauri-apps/tauri/pull/15410) by [@zetaloop](https://www.github.com/tauri-apps/tauri/../../zetaloop)) Added `WindowBuilder/WebviewWindowBuilder::no_redirection_bitmap` method to disable the window redirection bitmap on Windows. +- [`382dd6ccc`](https://www.github.com/tauri-apps/tauri/commit/382dd6ccc022277d5620fde90a39b4c5e896310e) ([#14865](https://www.github.com/tauri-apps/tauri/pull/14865) by [@F0RLE](https://www.github.com/tauri-apps/tauri/../../F0RLE)) Expose the `wry` permission handler API through Tauri. + This includes support for permission types such as `DisplayCapture`, `Midi`, `Sensors`, `MediaKeySystemAccess`, `LocalFonts`, `WindowManagement`, `PointerLock`, `AutomaticDownloads`, `FileSystemAccess`, and `Autoplay`. + Added `PermissionResponse::{Allow, Deny, Default}` for runtime permission decisions. + +### Bug Fixes + +- [`0aeadb6b2`](https://www.github.com/tauri-apps/tauri/commit/0aeadb6b2674ecd43f15b5dd6fcace3232f74b8a) ([#15821](https://www.github.com/tauri-apps/tauri/pull/15821) by [@aurelj](https://www.github.com/tauri-apps/tauri/../../aurelj)) Transfer the exit code from the `window.app_handle().exit(1)` call to the `run_return()` result instead of always returning 0. +- [`d727d6316`](https://www.github.com/tauri-apps/tauri/commit/d727d631659f07a597cc86cf808f505858dee878) ([#15630](https://www.github.com/tauri-apps/tauri/pull/15630) by [@tenderdeve](https://www.github.com/tauri-apps/tauri/../../tenderdeve)) Query monitor information (`primary_monitor`, `monitor_from_point`, `available_monitors`) on the main thread from the app-level runtime handle instead of touching the event loop's window target directly. +- [`a370f6533`](https://www.github.com/tauri-apps/tauri/commit/a370f653330506c2a5f59b643645a15b4cc30c18) ([#15224](https://www.github.com/tauri-apps/tauri/pull/15224) by [@krishpranav](https://www.github.com/tauri-apps/tauri/../../krishpranav)) Avoid leaking Objective-C objects in `WebviewMessage::WithWebview` on Apple targets by replacing `Retained::into_raw` with scoped retained bindings and `Retained::as_ptr` pointer handoff. +- [`08acfb3fa`](https://www.github.com/tauri-apps/tauri/commit/08acfb3fa04945a6a4f822d66c7556111d9385aa) ([#15625](https://www.github.com/tauri-apps/tauri/pull/15625) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Fix webview don't get focus when Alt-Tab back to the window if `unstable` feature is enabled on Windows +- [`1c573a075`](https://www.github.com/tauri-apps/tauri/commit/1c573a075a4e6d0754687d5ecfe7ded4c3d9e74d) ([#15508](https://www.github.com/tauri-apps/tauri/pull/15508) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) `create_window` and `create_webview` should wait for the window creation to complete before returning even if it's off main thread, it should also return the error if it failed +- [`5a882eccf`](https://www.github.com/tauri-apps/tauri/commit/5a882eccfda53a189ec076c79c4ad186f50db5ff) ([#15701](https://www.github.com/tauri-apps/tauri/pull/15701) by [@yobson1](https://www.github.com/tauri-apps/tauri/../../yobson1)) On Linux, fix resize cursor for undecorated Window not being set correctly when mouse is over a resize edge. +- [`08acfb3fa`](https://www.github.com/tauri-apps/tauri/commit/08acfb3fa04945a6a4f822d66c7556111d9385aa) ([#15625](https://www.github.com/tauri-apps/tauri/pull/15625) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Fix `WindowEvent::Focused` events emitted when dragging the window on Windows + +### What's Changed + +- [`ce3f13b91`](https://www.github.com/tauri-apps/tauri/commit/ce3f13b91a75cb723f229f56a3e82eb5f2d3f644) ([#15887](https://www.github.com/tauri-apps/tauri/pull/15887) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Lock unstable tauri crates to minor versions. +- [`7cc68e74f`](https://www.github.com/tauri-apps/tauri/commit/7cc68e74ff6981f5c50a52a67d56c5eb2d227188) ([#15307](https://www.github.com/tauri-apps/tauri/pull/15307) by [@lucasfernog](https://www.github.com/tauri-apps/tauri/../../lucasfernog)) `WindowEvent::Resumed` and `WindowEvent::Suspended` are now only fired for the matching activity window instead of every window. +- [`1cffb01da`](https://www.github.com/tauri-apps/tauri/commit/1cffb01da55f5fcd5a0f74ef3281b5a715513e4d) ([#13221](https://www.github.com/tauri-apps/tauri/pull/13221) by [@lucasfernog](https://www.github.com/tauri-apps/tauri/../../lucasfernog)) Set MSRV to 1.90. +- [`7fd603542`](https://www.github.com/tauri-apps/tauri/commit/7fd603542134fed792514a392af828555859c5d6) ([#15413](https://www.github.com/tauri-apps/tauri/pull/15413) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) `EventLoopIterationContext` and `UserMessageContext` now takes references to avoid clones + +### Dependencies + +- Upgraded to `tauri-runtime@2.12.0` +- Upgraded to `tauri-utils@2.10.0` +- [`872428fe9`](https://www.github.com/tauri-apps/tauri/commit/872428fe910efe25eeaa959b56adcd9d9a9a2157) ([#15790](https://www.github.com/tauri-apps/tauri/pull/15790) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) On macOS, updated `objc2-*` dependencies to 0.3.2 + +### Breaking Changes + +- [`24cb6de2d`](https://www.github.com/tauri-apps/tauri/commit/24cb6de2d4fe4d350afce2fd852dcdcc6a1320f0) ([#15544](https://www.github.com/tauri-apps/tauri/pull/15544) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Removed unused dpi wrapper types like `PhysicalPositionWrapper` +- [`579c7e2d2`](https://www.github.com/tauri-apps/tauri/commit/579c7e2d2f97182fcd933ca560ee810261322d60) ([#14805](https://www.github.com/tauri-apps/tauri/pull/14805) by [@sftse](https://www.github.com/tauri-apps/tauri/../../sftse)) `WindowsStore` and `DispatcherMainThreadContext` are no longer `Send` and `Sync`, and unsafe impl has been moved to `Context` directly. +- [`d727d6316`](https://www.github.com/tauri-apps/tauri/commit/d727d631659f07a597cc86cf808f505858dee878) ([#15630](https://www.github.com/tauri-apps/tauri/pull/15630) by [@tenderdeve](https://www.github.com/tauri-apps/tauri/../../tenderdeve)) Changed `RuntimeHandle::primary_monitor`, `RuntimeHandle::monitor_from_point`, `RuntimeHandle::available_monitors` to return `Result`s +- [`08acfb3fa`](https://www.github.com/tauri-apps/tauri/commit/08acfb3fa04945a6a4f822d66c7556111d9385aa) ([#15625](https://www.github.com/tauri-apps/tauri/pull/15625) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) `CreateWebviewOptions::focused_webview` now takes `Arc>` instead of `Arc>>` + ## \[2.11.4] ### Bug Fixes diff --git a/crates/tauri-runtime-wry/Cargo.toml b/crates/tauri-runtime-wry/Cargo.toml index 903a7a8d7c1c..876f9c662714 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.4" +version = "2.12.0" description = "Wry bindings to the Tauri runtime" exclude = ["CHANGELOG.md", "/target"] readme = "README.md" diff --git a/crates/tauri-runtime/CHANGELOG.md b/crates/tauri-runtime/CHANGELOG.md index b719f44f670b..6be11a3d997f 100644 --- a/crates/tauri-runtime/CHANGELOG.md +++ b/crates/tauri-runtime/CHANGELOG.md @@ -1,5 +1,29 @@ # Changelog +## [2.12.0] + +### New Features + +- [`3f62c70d6`](https://www.github.com/tauri-apps/tauri/commit/3f62c70d6b9a9eeeb7c302b010c858405a1bb761) ([#13848](https://www.github.com/tauri-apps/tauri/pull/13848) by [@zphrs](https://www.github.com/tauri-apps/tauri/../../zphrs)) Add `WebviewBuilder::limit_navigations_to_app_bound_domains`, `WebviewWindowBuilder::limit_navigations_to_app_bound_domains`, and limitNavigationsToAppBoundDomains to tauri.config.json. +- [`29265557c`](https://www.github.com/tauri-apps/tauri/commit/29265557c7a42ef6a1f982e0ef738208df1f6dd3) ([#15410](https://www.github.com/tauri-apps/tauri/pull/15410) by [@zetaloop](https://www.github.com/tauri-apps/tauri/../../zetaloop)) Added `WindowBuilder/WebviewWindowBuilder::no_redirection_bitmap` method to disable the window redirection bitmap on Windows. +- [`382dd6ccc`](https://www.github.com/tauri-apps/tauri/commit/382dd6ccc022277d5620fde90a39b4c5e896310e) ([#14865](https://www.github.com/tauri-apps/tauri/pull/14865) by [@F0RLE](https://www.github.com/tauri-apps/tauri/../../F0RLE)) Expose the `wry` permission handler API through Tauri. + This includes support for permission types such as `DisplayCapture`, `Midi`, `Sensors`, `MediaKeySystemAccess`, `LocalFonts`, `WindowManagement`, `PointerLock`, `AutomaticDownloads`, `FileSystemAccess`, and `Autoplay`. + Added `PermissionResponse::{Allow, Deny, Default}` for runtime permission decisions. + +### What's Changed + +- [`ce3f13b91`](https://www.github.com/tauri-apps/tauri/commit/ce3f13b91a75cb723f229f56a3e82eb5f2d3f644) ([#15887](https://www.github.com/tauri-apps/tauri/pull/15887) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Lock unstable tauri crates to minor versions. +- [`1cffb01da`](https://www.github.com/tauri-apps/tauri/commit/1cffb01da55f5fcd5a0f74ef3281b5a715513e4d) ([#13221](https://www.github.com/tauri-apps/tauri/pull/13221) by [@lucasfernog](https://www.github.com/tauri-apps/tauri/../../lucasfernog)) Set MSRV to 1.90. + +### Dependencies + +- Upgraded to `tauri-utils@2.10.0` +- [`872428fe9`](https://www.github.com/tauri-apps/tauri/commit/872428fe910efe25eeaa959b56adcd9d9a9a2157) ([#15790](https://www.github.com/tauri-apps/tauri/pull/15790) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) On macOS, updated `objc2-*` dependencies to 0.3.2 + +### Breaking Changes + +- [`d727d6316`](https://www.github.com/tauri-apps/tauri/commit/d727d631659f07a597cc86cf808f505858dee878) ([#15630](https://www.github.com/tauri-apps/tauri/pull/15630) by [@tenderdeve](https://www.github.com/tauri-apps/tauri/../../tenderdeve)) Changed `RuntimeHandle::primary_monitor`, `RuntimeHandle::monitor_from_point`, `RuntimeHandle::available_monitors` to return `Result`s + ## \[2.11.3] ### Dependencies diff --git a/crates/tauri-runtime/Cargo.toml b/crates/tauri-runtime/Cargo.toml index 086d99c61506..8a06550c9a83 100644 --- a/crates/tauri-runtime/Cargo.toml +++ b/crates/tauri-runtime/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-runtime" -version = "2.11.3" +version = "2.12.0" description = "Runtime for Tauri applications" exclude = ["CHANGELOG.md", "/target"] readme = "README.md" diff --git a/crates/tauri-schema-generator/schemas/config.schema.json b/crates/tauri-schema-generator/schemas/config.schema.json index 8878f5f19e24..fc20829664ca 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.5", + "$id": "https://schema.tauri.app/config/2.12.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 0a4122486b22..3a7b5f9cdbd3 100644 --- a/crates/tauri-utils/CHANGELOG.md +++ b/crates/tauri-utils/CHANGELOG.md @@ -1,5 +1,34 @@ # Changelog +## [2.10.0] + +### New Features + +- [`3f62c70d6`](https://www.github.com/tauri-apps/tauri/commit/3f62c70d6b9a9eeeb7c302b010c858405a1bb761) ([#13848](https://www.github.com/tauri-apps/tauri/pull/13848) by [@zphrs](https://www.github.com/tauri-apps/tauri/../../zphrs)) Add `WebviewBuilder::limit_navigations_to_app_bound_domains`, `WebviewWindowBuilder::limit_navigations_to_app_bound_domains`, and limitNavigationsToAppBoundDomains to tauri.config.json. +- [`f6c1eb253`](https://www.github.com/tauri-apps/tauri/commit/f6c1eb2533a0445e081c334931d67fee3e354c6f) ([#15401](https://www.github.com/tauri-apps/tauri/pull/15401) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Added `bundle.windows.bundleVCRuntime` to copy the Visual C++ runtime DLLs into Windows MSI and NSIS installers. The bundler locates the runtime through `VCTOOLS_REDIST_DIR` or the bundled `vswhere.exe`. +- [`29265557c`](https://www.github.com/tauri-apps/tauri/commit/29265557c7a42ef6a1f982e0ef738208df1f6dd3) ([#15410](https://www.github.com/tauri-apps/tauri/pull/15410) by [@zetaloop](https://www.github.com/tauri-apps/tauri/../../zetaloop)) Added `app > windows > noRedirectionBitmap` config option to disable the window redirection bitmap on Windows. +- [`f6c1eb253`](https://www.github.com/tauri-apps/tauri/commit/f6c1eb2533a0445e081c334931d67fee3e354c6f) ([#15401](https://www.github.com/tauri-apps/tauri/pull/15401) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Added `build.windows.staticVCRuntime` to control MSVC static runtime linking. The `STATIC_VCRUNTIME` environment variable is now deprecated and emits a migration warning when used. + +### Enhancements + +- [`ca160ad48`](https://www.github.com/tauri-apps/tauri/commit/ca160ad4808f477380cb0865a08a8ae781e37f85) ([#15895](https://www.github.com/tauri-apps/tauri/pull/15895) by [@leepokai](https://www.github.com/tauri-apps/tauri/../../leepokai)) `tauri build` now warns when `productName` is still set to the default `tauri-app`, since it names the generated bundles and is written into install paths and metadata that are expected to be unique to your application. The config documentation for `productName` now lists what the field controls on each platform, and `identifier`'s documentation notes that the default value is rejected. +- [`19215f638`](https://www.github.com/tauri-apps/tauri/commit/19215f638a5889afef4333b2e5a402051f21b891) ([#15629](https://www.github.com/tauri-apps/tauri/pull/15629) by [@tenderdeve](https://www.github.com/tauri-apps/tauri/../../tenderdeve)) Emit a `cargo:rerun-if-changed` for each resource directory (and glob base directory), so that adding or removing a file inside a resource directory re-runs the build script and copies the new files. Previously only the individual files present at build time were watched, so newly added files were silently ignored until an unrelated rebuild. +- [`459fc315e`](https://www.github.com/tauri-apps/tauri/commit/459fc315eb790d9aa2d2cea693c20c8978f4b1b0) ([#15711](https://www.github.com/tauri-apps/tauri/pull/15711) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Fix different build and runtime debug assertion profiles on the tauri-utils crate can resulting in compilation errors. + +### Bug Fixes + +- [`29c87c3d3`](https://www.github.com/tauri-apps/tauri/commit/29c87c3d3f5bbcf5a7ae9de01af7e6bb738c1d01) ([#15777](https://www.github.com/tauri-apps/tauri/pull/15777) by [@VityaSchel](https://www.github.com/tauri-apps/tauri/../../VityaSchel)) Serialize the CSP directive map, header source maps and plugin config with sorted keys so writing the processed config (e.g. the `tauri.conf.json` embedded in Android/iOS projects) is deterministic across builds. + +### What's Changed + +- [`1cffb01da`](https://www.github.com/tauri-apps/tauri/commit/1cffb01da55f5fcd5a0f74ef3281b5a715513e4d) ([#13221](https://www.github.com/tauri-apps/tauri/pull/13221) by [@lucasfernog](https://www.github.com/tauri-apps/tauri/../../lucasfernog)) Set MSRV to 1.90. + +### Dependencies + +- [`e9e6a5eef`](https://www.github.com/tauri-apps/tauri/commit/e9e6a5eefa8c09d5abed1f691cbc924d6f617947) ([#15677](https://www.github.com/tauri-apps/tauri/pull/15677) by [@sftse](https://www.github.com/tauri-apps/tauri/../../sftse)) Update `serial_test` to 3.5 to pull in the updated `scc` and fix RUSTSEC advisory +- [`8a97d387a`](https://www.github.com/tauri-apps/tauri/commit/8a97d387a3a1a52f7c501762517e294d8c94e119) ([#15352](https://www.github.com/tauri-apps/tauri/pull/15352) by [@renovate](https://www.github.com/tauri-apps/tauri/../../renovate)) Updated `ctor` crate to `1` +- [`7cc68e74f`](https://www.github.com/tauri-apps/tauri/commit/7cc68e74ff6981f5c50a52a67d56c5eb2d227188) ([#15307](https://www.github.com/tauri-apps/tauri/pull/15307) by [@lucasfernog](https://www.github.com/tauri-apps/tauri/../../lucasfernog)) Updated `dom_query` dependency to 0.28.0 + ## \[2.9.3] ### Enhancements diff --git a/crates/tauri-utils/Cargo.toml b/crates/tauri-utils/Cargo.toml index e783f2973c6d..94163e439dd5 100644 --- a/crates/tauri-utils/Cargo.toml +++ b/crates/tauri-utils/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-utils" -version = "2.9.3" +version = "2.10.0" description = "Utilities for Tauri" exclude = ["CHANGELOG.md", "/target"] readme = "README.md" diff --git a/crates/tauri/CHANGELOG.md b/crates/tauri/CHANGELOG.md index 5f72ebae1375..0455ba6a9388 100644 --- a/crates/tauri/CHANGELOG.md +++ b/crates/tauri/CHANGELOG.md @@ -1,5 +1,82 @@ # Changelog +## [2.12.0] + +### New Features + +- [`3f62c70d6`](https://www.github.com/tauri-apps/tauri/commit/3f62c70d6b9a9eeeb7c302b010c858405a1bb761) ([#13848](https://www.github.com/tauri-apps/tauri/pull/13848) by [@zphrs](https://www.github.com/tauri-apps/tauri/../../zphrs)) Add `WebviewBuilder::limit_navigations_to_app_bound_domains`, `WebviewWindowBuilder::limit_navigations_to_app_bound_domains`, and limitNavigationsToAppBoundDomains to tauri.config.json. +- [`29265557c`](https://www.github.com/tauri-apps/tauri/commit/29265557c7a42ef6a1f982e0ef738208df1f6dd3) ([#15410](https://www.github.com/tauri-apps/tauri/pull/15410) by [@zetaloop](https://www.github.com/tauri-apps/tauri/../../zetaloop)) Added `app > windows > noRedirectionBitmap` config option to disable the window redirection bitmap on Windows. +- [`29265557c`](https://www.github.com/tauri-apps/tauri/commit/29265557c7a42ef6a1f982e0ef738208df1f6dd3) ([#15410](https://www.github.com/tauri-apps/tauri/pull/15410) by [@zetaloop](https://www.github.com/tauri-apps/tauri/../../zetaloop)) Added `WindowBuilder/WebviewWindowBuilder::no_redirection_bitmap` method to disable the window redirection bitmap on Windows. +- [`382dd6ccc`](https://www.github.com/tauri-apps/tauri/commit/382dd6ccc022277d5620fde90a39b4c5e896310e) ([#14865](https://www.github.com/tauri-apps/tauri/pull/14865) by [@F0RLE](https://www.github.com/tauri-apps/tauri/../../F0RLE)) Expose the `wry` permission handler API through Tauri. + This includes support for permission types such as `DisplayCapture`, `Midi`, `Sensors`, `MediaKeySystemAccess`, `LocalFonts`, `WindowManagement`, `PointerLock`, `AutomaticDownloads`, `FileSystemAccess`, and `Autoplay`. + Added `PermissionResponse::{Allow, Deny, Default}` for runtime permission decisions. + +### Enhancements + +- [`aebf38c84`](https://www.github.com/tauri-apps/tauri/commit/aebf38c845b57bc5653eca677e2e2e044528ea73) ([#15694](https://www.github.com/tauri-apps/tauri/pull/15694) by [@Turbo87](https://www.github.com/tauri-apps/tauri/../../Turbo87)) Migrate the Android Gradle scripts from the deprecated `kotlinOptions` DSL to `compilerOptions`, which is accepted by both Kotlin Gradle Plugin 1.9.x and 2.x. This lets projects move to Kotlin 2.x without hitting the hard error that 2.3+ raises on the old DSL. + + This increased the minimum supported Gradle version to 8.13, if your `gradle` is on an earlier version, delete `src-tauri/gen/android/gradle/wrapper/gradle-wrapper.properties` and re-run `tauri android init` to update it. +- [`d3108ff9a`](https://www.github.com/tauri-apps/tauri/commit/d3108ff9a2b6c694f4cbe579d9a9c1d67917117f) ([#15578](https://www.github.com/tauri-apps/tauri/pull/15578) by [@sftse](https://www.github.com/tauri-apps/tauri/../../sftse)) `State` had `Send` and `Sync` trait bounds that were already implied, remove them from the struct definition. +- [`459fc315e`](https://www.github.com/tauri-apps/tauri/commit/459fc315eb790d9aa2d2cea693c20c8978f4b1b0) ([#15711](https://www.github.com/tauri-apps/tauri/pull/15711) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Fix different build and runtime debug assertion profiles on the tauri-utils crate can resulting in compilation errors. + +### Bug Fixes + +- [`020919a1b`](https://www.github.com/tauri-apps/tauri/commit/020919a1b5d2c1faa9deb972a31a1a11d0ae8ce6) ([#15798](https://www.github.com/tauri-apps/tauri/pull/15798) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) On Android, fixed requesting permission in a plugin fails after the first activity closed. +- [`1417768f9`](https://www.github.com/tauri-apps/tauri/commit/1417768f9941f6ee998e7b5c9fe609ada61a6727) ([#15679](https://www.github.com/tauri-apps/tauri/pull/15679) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Remove the `Channel` used to send event to JavaScript side on dropping the menu +- [`17717757b`](https://www.github.com/tauri-apps/tauri/commit/17717757b75581d54de4c8fa2c8c450d10c3a257) ([#15617](https://www.github.com/tauri-apps/tauri/pull/15617) by [@tenderdeve](https://www.github.com/tauri-apps/tauri/../../tenderdeve)) Remove Rust-side event listeners bound to a window or webview when that target is destroyed, so `listen`/`once` handlers registered on a `Window`, `Webview` or `WebviewWindow` no longer leak after it is closed. +- [`0aeadb6b2`](https://www.github.com/tauri-apps/tauri/commit/0aeadb6b2674ecd43f15b5dd6fcace3232f74b8a) ([#15821](https://www.github.com/tauri-apps/tauri/pull/15821) by [@aurelj](https://www.github.com/tauri-apps/tauri/../../aurelj)) Transfer the exit code from the `window.app_handle().exit(1)` call to the `run_return()` result instead of always returning 0. +- [`4a0e1df18`](https://www.github.com/tauri-apps/tauri/commit/4a0e1df1829dab29cedc1164ff5e7fd1ce42e215) ([#15604](https://www.github.com/tauri-apps/tauri/pull/15604) by [@tenderdeve](https://www.github.com/tauri-apps/tauri/../../tenderdeve)) Remove a webview's JS event listeners from the backend `Listeners` map when that webview is destroyed. Previously the entries keyed by the source webview label lingered after the webview was dropped, so they could never be delivered and leaked until the app exited — forcing apps to manually `unlisten()` before closing a window. +- [`d727d6316`](https://www.github.com/tauri-apps/tauri/commit/d727d631659f07a597cc86cf808f505858dee878) ([#15630](https://www.github.com/tauri-apps/tauri/pull/15630) by [@tenderdeve](https://www.github.com/tauri-apps/tauri/../../tenderdeve)) Query monitor information (`primary_monitor`, `monitor_from_point`, `available_monitors`) on the main thread from the app-level runtime handle instead of touching the event loop's window target directly. +- [`a370f6533`](https://www.github.com/tauri-apps/tauri/commit/a370f653330506c2a5f59b643645a15b4cc30c18) ([#15224](https://www.github.com/tauri-apps/tauri/pull/15224) by [@krishpranav](https://www.github.com/tauri-apps/tauri/../../krishpranav)) Avoid leaking Objective-C objects in `WebviewMessage::WithWebview` on Apple targets by replacing `Retained::into_raw` with scoped retained bindings and `Retained::as_ptr` pointer handoff. +- [`448d39ee2`](https://www.github.com/tauri-apps/tauri/commit/448d39ee25c4bcbf4bd40129abc5399213dcc0a9) ([#15860](https://www.github.com/tauri-apps/tauri/pull/15860) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Fix menu related commands can panic if called with invalid menu types through `invoke` directly. + + - The internal `do_menu_item!` macro now returns `Err(crate::Error::UnexpectedMenuKind)` instead of `unreachable!()` + - Added a new error type `tauri::Error::UnexpectedMenuKind` +- [`e517fa18e`](https://www.github.com/tauri-apps/tauri/commit/e517fa18ee45a451a60b681552547899d3e6a4b2) ([#15450](https://www.github.com/tauri-apps/tauri/pull/15450) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Fix `run_main_thread!` macro used by things like `MenuItem` and some other APIs deadlock when called on main thread with `MockRuntime` +- [`08acfb3fa`](https://www.github.com/tauri-apps/tauri/commit/08acfb3fa04945a6a4f822d66c7556111d9385aa) ([#15625](https://www.github.com/tauri-apps/tauri/pull/15625) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Fix webview don't get focus when Alt-Tab back to the window if `unstable` feature is enabled on Windows +- [`5a882eccf`](https://www.github.com/tauri-apps/tauri/commit/5a882eccfda53a189ec076c79c4ad186f50db5ff) ([#15701](https://www.github.com/tauri-apps/tauri/pull/15701) by [@yobson1](https://www.github.com/tauri-apps/tauri/../../yobson1)) On Linux, fix resize cursor for undecorated Window not being set correctly when mouse is over a resize edge. +- [`08acfb3fa`](https://www.github.com/tauri-apps/tauri/commit/08acfb3fa04945a6a4f822d66c7556111d9385aa) ([#15625](https://www.github.com/tauri-apps/tauri/pull/15625) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Fix `WindowEvent::Focused` events emitted when dragging the window on Windows + +### What's Changed + +- [`ce3f13b91`](https://www.github.com/tauri-apps/tauri/commit/ce3f13b91a75cb723f229f56a3e82eb5f2d3f644) ([#15887](https://www.github.com/tauri-apps/tauri/pull/15887) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Lock unstable tauri crates to minor versions. +- [`7cc68e74f`](https://www.github.com/tauri-apps/tauri/commit/7cc68e74ff6981f5c50a52a67d56c5eb2d227188) ([#15307](https://www.github.com/tauri-apps/tauri/pull/15307) by [@lucasfernog](https://www.github.com/tauri-apps/tauri/../../lucasfernog)) `WindowEvent::Resumed` and `WindowEvent::Suspended` are now only fired for the matching activity window instead of every window. +- [`1cffb01da`](https://www.github.com/tauri-apps/tauri/commit/1cffb01da55f5fcd5a0f74ef3281b5a715513e4d) ([#13221](https://www.github.com/tauri-apps/tauri/pull/13221) by [@lucasfernog](https://www.github.com/tauri-apps/tauri/../../lucasfernog)) Set MSRV to 1.90. + +### Dependencies + +- Upgraded to `tauri-build@2.7.0` +- Upgraded to `tauri-runtime@2.12.0` +- Upgraded to `tauri-runtime-wry@2.12.0` +- Upgraded to `tauri-utils@2.10.0` +- Upgraded to `tauri-macros@2.7.0` +- [`e2e585ad1`](https://www.github.com/tauri-apps/tauri/commit/e2e585ad1196c9572f86ef39aae01ef4c3b1a762) ([#15828](https://www.github.com/tauri-apps/tauri/pull/15828) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) On Android, fix missing `consumer-rules.pro` file in the template. + + **IMPORTANT**: For plugin authors, update your `build.gradle.kts` file to remove the + + ```kotlin + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + ``` + + section and rename your `proguard-rules.pro` to `consumer-rules.pro` to match the `consumerProguardFiles("consumer-rules.pro")` in the template. +- [`e2e585ad1`](https://www.github.com/tauri-apps/tauri/commit/e2e585ad1196c9572f86ef39aae01ef4c3b1a762) ([#15828](https://www.github.com/tauri-apps/tauri/pull/15828) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) On Android, updated the template to use Gradle v9.6.1 (`com.android.tools.build:gradle` v9.3.1) and Kotlin v2.2. Use `tauri android init` to apply the change. +- [`2bb4fdbd0`](https://www.github.com/tauri-apps/tauri/commit/2bb4fdbd0252ca414e28bdc9f0284ac4ff108f26) ([#15592](https://www.github.com/tauri-apps/tauri/pull/15592) by [@renovate](https://www.github.com/tauri-apps/tauri/../../renovate)) Updated `cargo_toml` crate to `1` +- [`872428fe9`](https://www.github.com/tauri-apps/tauri/commit/872428fe910efe25eeaa959b56adcd9d9a9a2157) ([#15790](https://www.github.com/tauri-apps/tauri/pull/15790) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) On macOS, updated `objc2-*` dependencies to 0.3.2 + +### Breaking Changes + +- [`26cb3d665`](https://www.github.com/tauri-apps/tauri/commit/26cb3d665b881b44fa5cf95514776aee5c85c374) ([#15563](https://www.github.com/tauri-apps/tauri/pull/15563) by [@onehumandev](https://www.github.com/tauri-apps/tauri/../../onehumandev)) On Android, `$VIDEO` and `video_dir()` now resolve to the app-specific Movies directory instead of external cache storage. + + **Migration:** Files previously written to the old location (`.../cache`) will not be discovered at the new location (`.../files/Movies`). Migrate existing files or update path assumptions accordingly. + ## \[2.11.5] ### Dependencies diff --git a/crates/tauri/Cargo.toml b/crates/tauri/Cargo.toml index c2173c8bfbdb..8e149d7bb15b 100644 --- a/crates/tauri/Cargo.toml +++ b/crates/tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri" -version = "2.11.5" +version = "2.12.0" description = "Make tiny, secure apps for all desktop platforms with Tauri" exclude = ["/test", "/.scripts", "CHANGELOG.md", "/target"] readme = "README.md" diff --git a/packages/api/CHANGELOG.md b/packages/api/CHANGELOG.md index 14788715515c..d6933aa9c0ff 100644 --- a/packages/api/CHANGELOG.md +++ b/packages/api/CHANGELOG.md @@ -1,5 +1,25 @@ # Changelog +## [2.12.0] + +### New Features + +- [`29265557c`](https://www.github.com/tauri-apps/tauri/commit/29265557c7a42ef6a1f982e0ef738208df1f6dd3) ([#15410](https://www.github.com/tauri-apps/tauri/pull/15410) by [@zetaloop](https://www.github.com/tauri-apps/tauri/../../zetaloop)) Added `noRedirectionBitmap` option to the `Window` and `WebviewWindow` constructors on Windows. + +### Enhancements + +- [`be019795a`](https://www.github.com/tauri-apps/tauri/commit/be019795abc0316aa53f2519bfbf3e7624b9af2e) ([#14103](https://www.github.com/tauri-apps/tauri/pull/14103) by [@ddosakura](https://www.github.com/tauri-apps/tauri/../../ddosakura)) Add ECMAScript Explicit Resource Management to Resource. You can now use the `using` syntax in supported browsers or with polyfills: + + ```javascript + import { create, BaseDirectory } from "@tauri-apps/plugin-fs" + ... + { + await using file = await create("foo/bar.txt", { baseDir: BaseDirectory.AppConfig }); + await file.write(new TextEncoder().encode("Hello world")); + // Before `file` goes out of scope, it is disposed by calling `file[Symbol.asyncDispose]()` and awaited. + } + ``` + ## \[2.11.1] ### Enhancements diff --git a/packages/api/package.json b/packages/api/package.json index 2da80fa574d6..1b5ee80938ae 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -1,6 +1,6 @@ { "name": "@tauri-apps/api", - "version": "2.11.1", + "version": "2.12.0", "description": "Tauri API definitions", "funding": { "type": "opencollective", diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index f4980d64eda8..496846f924fa 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,60 @@ # Changelog +## [2.12.0] + +### New Features + +- [`f6c1eb253`](https://www.github.com/tauri-apps/tauri/commit/f6c1eb2533a0445e081c334931d67fee3e354c6f) ([#15401](https://www.github.com/tauri-apps/tauri/pull/15401) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Added `bundle.windows.bundleVCRuntime` to copy the Visual C++ runtime DLLs into Windows MSI and NSIS installers. The bundler locates the runtime through `VCTOOLS_REDIST_DIR` or the bundled `vswhere.exe`. +- [`f76b1d3ae`](https://www.github.com/tauri-apps/tauri/commit/f76b1d3ae70d0ba0f0eba80b94b867593aa5ca8b) ([#15644](https://www.github.com/tauri-apps/tauri/pull/15644) by [@tenderdeve](https://www.github.com/tauri-apps/tauri/../../tenderdeve)) The bundler now prints the size of each generated bundle next to its path in the `Finished N bundles at:` output (directories such as macOS `.app` bundles are measured recursively). +- [`af465eae1`](https://www.github.com/tauri-apps/tauri/commit/af465eae1ad99d7b16b8fdbf9aa96bf76d6b9a76) ([#15619](https://www.github.com/tauri-apps/tauri/pull/15619) by [@tenderdeve](https://www.github.com/tauri-apps/tauri/../../tenderdeve)) Add a `--no-binary-patching` flag to `tauri build` and `tauri bundle`. When set, the bundler skips patching the main executable with bundle type information (and the subsequent re-signing), leaving an already-signed binary untouched. Patching is only required when shipping multiple bundle types per platform that should each update with their own installer format. +- [`0646cc162`](https://www.github.com/tauri-apps/tauri/commit/0646cc1623608dfdaec8d1adbc08d0159b9c2369) ([#15620](https://www.github.com/tauri-apps/tauri/pull/15620) by [@tenderdeve](https://www.github.com/tauri-apps/tauri/../../tenderdeve)) Add a `--fit` option to `tauri icon` to accept non-square source images. `--fit cover` center-crops the source to a square (clipping the longer side) and `--fit contain` pads the shorter side with transparency. Non-square sources without `--fit` keep erroring, now with a hint pointing to the flag. +- [`f6c1eb253`](https://www.github.com/tauri-apps/tauri/commit/f6c1eb2533a0445e081c334931d67fee3e354c6f) ([#15401](https://www.github.com/tauri-apps/tauri/pull/15401) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Added `build.windows.staticVCRuntime` to control MSVC static runtime linking. The `STATIC_VCRUNTIME` environment variable is now deprecated and emits a migration warning when used. + +### Enhancements + +- [`aebf38c84`](https://www.github.com/tauri-apps/tauri/commit/aebf38c845b57bc5653eca677e2e2e044528ea73) ([#15694](https://www.github.com/tauri-apps/tauri/pull/15694) by [@Turbo87](https://www.github.com/tauri-apps/tauri/../../Turbo87)) Migrate the Android Gradle scripts from the deprecated `kotlinOptions` DSL to `compilerOptions`, which is accepted by both Kotlin Gradle Plugin 1.9.x and 2.x. This lets projects move to Kotlin 2.x without hitting the hard error that 2.3+ raises on the old DSL. + + This increased the minimum supported Gradle version to 8.13, if your `gradle` is on an earlier version, delete `src-tauri/gen/android/gradle/wrapper/gradle-wrapper.properties` and re-run `tauri android init` to update it. +- [`d89d8fa62`](https://www.github.com/tauri-apps/tauri/commit/d89d8fa62302bd3553b66fd47ecfa046b2fc84ef) ([#15780](https://www.github.com/tauri-apps/tauri/pull/15780) by [@tenderdeve](https://www.github.com/tauri-apps/tauri/../../tenderdeve)) Warn during Android commands (`init`/`dev`/`build`) when the active Java version is too new for the Gradle version Tauri ships (e.g. Java 25+ against Gradle 8.14), instead of letting the build fail later with a cryptic error. The warning points to the Gradle/Java compatibility matrix and suggests a supported JDK. +- [`c3d21bd60`](https://www.github.com/tauri-apps/tauri/commit/c3d21bd60c3355b284b23dee1a181c3423231182) ([#15730](https://www.github.com/tauri-apps/tauri/pull/15730) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Use `Theme.Material3.DayNight.NoActionBar` instead of `Theme.MaterialComponents.DayNight.NoActionBar` when running `tauri android init` +- [`f654f470c`](https://www.github.com/tauri-apps/tauri/commit/f654f470c122e925e425424cea733f13d3306412) ([#15862](https://www.github.com/tauri-apps/tauri/pull/15862) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Update template to use `targetSdk = 37` +- [`cdaf7eab6`](https://www.github.com/tauri-apps/tauri/commit/cdaf7eab6c5fccc2a4812af18f58fd3530f3eedd) ([#15765](https://www.github.com/tauri-apps/tauri/pull/15765) by [@Hushlor](https://www.github.com/tauri-apps/tauri/../../Hushlor)) Clarify that the `tauri init` frontend commands run before `tauri dev` and `tauri build`, and can be left empty when they are not needed. +- [`ca160ad48`](https://www.github.com/tauri-apps/tauri/commit/ca160ad4808f477380cb0865a08a8ae781e37f85) ([#15895](https://www.github.com/tauri-apps/tauri/pull/15895) by [@leepokai](https://www.github.com/tauri-apps/tauri/../../leepokai)) `tauri build` now warns when `productName` is still set to the default `tauri-app`, since it names the generated bundles and is written into install paths and metadata that are expected to be unique to your application. The config documentation for `productName` now lists what the field controls on each platform, and `identifier`'s documentation notes that the default value is rejected. +- [`010f06bae`](https://www.github.com/tauri-apps/tauri/commit/010f06baecd499c41321da3130e20147c50025f7) ([#15737](https://www.github.com/tauri-apps/tauri/pull/15737) by [@lazerg](https://www.github.com/tauri-apps/tauri/../../lazerg)) Document the `TAURI_SIGNING_PRIVATE_KEY_PATH` environment variable and clarify that `TAURI_SIGNING_PRIVATE_KEY` accepts a string or a path for the `build` and `bundle` command but must be the literal key string for the `signer sign` command, both in `ENVIRONMENT_VARIABLES.md` and in the `signer generate` command output. + +### Bug Fixes + +- [`eaf96690d`](https://www.github.com/tauri-apps/tauri/commit/eaf96690db2439445fe16da24031bf3294ada605) ([#15804](https://www.github.com/tauri-apps/tauri/pull/15804) by [@FabianLars](https://www.github.com/tauri-apps/tauri/../../FabianLars)) On Linux, do not bundle xdg-open and xdg-utils in the AppImage anymore. This rarely worked and usually requires host system support anyway. +- [`adf5acf6f`](https://www.github.com/tauri-apps/tauri/commit/adf5acf6fbc0ef26de6b1eb30c47bb701c256954) ([#15651](https://www.github.com/tauri-apps/tauri/pull/15651) by [@justjavac](https://www.github.com/tauri-apps/tauri/../../justjavac)) Fix MSI bundling when an external binary filename starts with a digit. +- [`11012a13f`](https://www.github.com/tauri-apps/tauri/commit/11012a13f55ab55ec5ed12ca3ac95338ae1731c3) ([#15681](https://www.github.com/tauri-apps/tauri/pull/15681) by [@justjavac](https://www.github.com/tauri-apps/tauri/../../justjavac)) Fix WiX bundler doesn't respect the resource's target file name. +- [`6a298ee12`](https://www.github.com/tauri-apps/tauri/commit/6a298ee12e7ffde115175d43ac63a2fdcba51c3e) ([#15713](https://www.github.com/tauri-apps/tauri/pull/15713) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Fix `tauri info` reports non existent npm package as not installed + +### What's Changed + +- [`ce3f13b91`](https://www.github.com/tauri-apps/tauri/commit/ce3f13b91a75cb723f229f56a3e82eb5f2d3f644) ([#15887](https://www.github.com/tauri-apps/tauri/pull/15887) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Lock unstable tauri crates to minor versions. + +### Dependencies + +- Upgraded to `tauri-cli@2.12.0` +- [`e2e585ad1`](https://www.github.com/tauri-apps/tauri/commit/e2e585ad1196c9572f86ef39aae01ef4c3b1a762) ([#15828](https://www.github.com/tauri-apps/tauri/pull/15828) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) On Android, fix missing `consumer-rules.pro` file in the template. + + **IMPORTANT**: For plugin authors, update your `build.gradle.kts` file to remove the + + ```kotlin + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + ``` + + section and rename your `proguard-rules.pro` to `consumer-rules.pro` to match the `consumerProguardFiles("consumer-rules.pro")` in the template. +- [`e2e585ad1`](https://www.github.com/tauri-apps/tauri/commit/e2e585ad1196c9572f86ef39aae01ef4c3b1a762) ([#15828](https://www.github.com/tauri-apps/tauri/pull/15828) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) On Android, updated the template to use Gradle v9.6.1 (`com.android.tools.build:gradle` v9.3.1) and Kotlin v2.2. Use `tauri android init` to apply the change. + ## \[2.11.4] ### Bug Fixes diff --git a/packages/cli/package.json b/packages/cli/package.json index 74ba467d8ef4..c0660048e12f 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@tauri-apps/cli", - "version": "2.11.4", + "version": "2.12.0", "description": "Command line interface for building Tauri apps", "type": "commonjs", "funding": {