snapshot of https://github.com/tauri-apps/tauri.git (dev, 2026-09-23; blobs > 131072B omitted)
Some checks failed
Audit / audit-js (push) Failing after 0s
bench / bench (map[os:ubuntu-latest runner:xvfb-run --auto-servernum target:x86_64-unknown-linux-gnu], nightly) (push) Failing after 0s
covector version or publish / run-integration-tests (ubuntu-latest) (push) Failing after 0s
Audit / audit-rust (push) Failing after 0s
test `@tauri-apps/cli` / test (ubuntu-latest) (push) Failing after 0s
test `tauri-cli` / test (map[os:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Failing after 0s
test core / test (map[args:--all-features key:all], map[cargo:cargo command:test os:ubuntu-latest target:x86_64-unknown-linux-gnu toolchain:1.90]) (push) Failing after 0s
test core / test (map[args:--no-default-features key:no-default], map[cargo:cargo command:test os:ubuntu-latest target:x86_64-unknown-linux-gnu toolchain:1.90]) (push) Failing after 0s
test core / test (map[args:--no-default-features key:no-default], map[cargo:cross command:build os:ubuntu-latest target:aarch64-linux-android toolchain:1.90]) (push) Failing after 0s
deploy schema worker / deploy (push) Failing after 0s
lint rust / clippy (map[cargo:cargo include: os:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Failing after 0s
lint rust / clippy (map[cargo:cross include:--package api os:ubuntu-latest target:aarch64-linux-android]) (push) Failing after 0s
supply chain health status / check rust dependencies with cargo vet (push) Failing after 0s
test `@tauri-apps/api` e2e (mobile) / android (push) Failing after 0s
test `@tauri-apps/api` e2e / test (map[name:Linux os:ubuntu-latest]) (push) Failing after 0s
test core / test (map[args:--all-features key:all], map[cargo:cross command:build os:ubuntu-latest target:aarch64-linux-android toolchain:1.90]) (push) Failing after 0s
Udeps / changes (push) Failing after 0s
Udeps / setup (push) Has been skipped
Udeps / udeps (push) Has been skipped
bench / bench (map[os:macos-latest runner: target:aarch64-apple-darwin], nightly) (push) Has been cancelled
bench / bench (map[os:windows-latest runner: target:x86_64-pc-windows-msvc], nightly) (push) Has been cancelled
covector version or publish / run-integration-tests (macos-latest) (push) Has been cancelled
covector version or publish / run-integration-tests (windows-latest) (push) Has been cancelled
covector version or publish / version-or-publish (push) Has been cancelled
test `@tauri-apps/cli` / test (macos-latest) (push) Has been cancelled
test `tauri-cli` / test (map[args:--no-default-features --features native-tls-vendored os:windows-latest restore-only:true target:aarch64-pc-windows-msvc]) (push) Has been cancelled
test `tauri-cli` / test (map[os:macos-latest target:x86_64-apple-darwin]) (push) Has been cancelled
test `tauri-cli` / test (map[os:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
test core / test (map[args:--all-features key:all], map[cargo:cargo command:build os:macos-latest target:aarch64-apple-ios toolchain:1.90]) (push) Has been cancelled
test core / test (map[args:--all-features key:all], map[cargo:cargo command:test os:macos-14 target:aarch64-apple-darwin toolchain:1.90]) (push) Has been cancelled
lint rust / clippy (map[cargo:cargo include: os:macos-latest target:aarch64-apple-darwin]) (push) Has been cancelled
lint rust / clippy (map[cargo:cargo include: os:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
lint rust / clippy (map[cargo:cargo include:--package api os:macos-latest target:aarch64-apple-ios]) (push) Has been cancelled
test `@tauri-apps/api` e2e (mobile) / ios (push) Has been cancelled
test `@tauri-apps/api` e2e / test (map[name:Windows os:windows-latest]) (push) Has been cancelled
test `@tauri-apps/api` e2e / test (map[name:macOS os:macos-latest]) (push) Has been cancelled
test `@tauri-apps/cli` / test (windows-latest) (push) Has been cancelled
test core / test (map[args:--all-features key:all], map[cargo:cargo command:test os:windows-latest target:x86_64-pc-windows-msvc toolchain:1.90]) (push) Has been cancelled
test core / test (map[args:--no-default-features key:no-default], map[cargo:cargo command:build os:macos-latest target:aarch64-apple-ios toolchain:1.90]) (push) Has been cancelled
test core / test (map[args:--no-default-features key:no-default], map[cargo:cargo command:test os:macos-14 target:aarch64-apple-darwin toolchain:1.90]) (push) Has been cancelled
test core / test (map[args:--no-default-features key:no-default], map[cargo:cargo command:test os:windows-latest target:x86_64-pc-windows-msvc toolchain:1.90]) (push) Has been cancelled
Some checks failed
Audit / audit-js (push) Failing after 0s
bench / bench (map[os:ubuntu-latest runner:xvfb-run --auto-servernum target:x86_64-unknown-linux-gnu], nightly) (push) Failing after 0s
covector version or publish / run-integration-tests (ubuntu-latest) (push) Failing after 0s
Audit / audit-rust (push) Failing after 0s
test `@tauri-apps/cli` / test (ubuntu-latest) (push) Failing after 0s
test `tauri-cli` / test (map[os:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Failing after 0s
test core / test (map[args:--all-features key:all], map[cargo:cargo command:test os:ubuntu-latest target:x86_64-unknown-linux-gnu toolchain:1.90]) (push) Failing after 0s
test core / test (map[args:--no-default-features key:no-default], map[cargo:cargo command:test os:ubuntu-latest target:x86_64-unknown-linux-gnu toolchain:1.90]) (push) Failing after 0s
test core / test (map[args:--no-default-features key:no-default], map[cargo:cross command:build os:ubuntu-latest target:aarch64-linux-android toolchain:1.90]) (push) Failing after 0s
deploy schema worker / deploy (push) Failing after 0s
lint rust / clippy (map[cargo:cargo include: os:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Failing after 0s
lint rust / clippy (map[cargo:cross include:--package api os:ubuntu-latest target:aarch64-linux-android]) (push) Failing after 0s
supply chain health status / check rust dependencies with cargo vet (push) Failing after 0s
test `@tauri-apps/api` e2e (mobile) / android (push) Failing after 0s
test `@tauri-apps/api` e2e / test (map[name:Linux os:ubuntu-latest]) (push) Failing after 0s
test core / test (map[args:--all-features key:all], map[cargo:cross command:build os:ubuntu-latest target:aarch64-linux-android toolchain:1.90]) (push) Failing after 0s
Udeps / changes (push) Failing after 0s
Udeps / setup (push) Has been skipped
Udeps / udeps (push) Has been skipped
bench / bench (map[os:macos-latest runner: target:aarch64-apple-darwin], nightly) (push) Has been cancelled
bench / bench (map[os:windows-latest runner: target:x86_64-pc-windows-msvc], nightly) (push) Has been cancelled
covector version or publish / run-integration-tests (macos-latest) (push) Has been cancelled
covector version or publish / run-integration-tests (windows-latest) (push) Has been cancelled
covector version or publish / version-or-publish (push) Has been cancelled
test `@tauri-apps/cli` / test (macos-latest) (push) Has been cancelled
test `tauri-cli` / test (map[args:--no-default-features --features native-tls-vendored os:windows-latest restore-only:true target:aarch64-pc-windows-msvc]) (push) Has been cancelled
test `tauri-cli` / test (map[os:macos-latest target:x86_64-apple-darwin]) (push) Has been cancelled
test `tauri-cli` / test (map[os:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
test core / test (map[args:--all-features key:all], map[cargo:cargo command:build os:macos-latest target:aarch64-apple-ios toolchain:1.90]) (push) Has been cancelled
test core / test (map[args:--all-features key:all], map[cargo:cargo command:test os:macos-14 target:aarch64-apple-darwin toolchain:1.90]) (push) Has been cancelled
lint rust / clippy (map[cargo:cargo include: os:macos-latest target:aarch64-apple-darwin]) (push) Has been cancelled
lint rust / clippy (map[cargo:cargo include: os:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
lint rust / clippy (map[cargo:cargo include:--package api os:macos-latest target:aarch64-apple-ios]) (push) Has been cancelled
test `@tauri-apps/api` e2e (mobile) / ios (push) Has been cancelled
test `@tauri-apps/api` e2e / test (map[name:Windows os:windows-latest]) (push) Has been cancelled
test `@tauri-apps/api` e2e / test (map[name:macOS os:macos-latest]) (push) Has been cancelled
test `@tauri-apps/cli` / test (windows-latest) (push) Has been cancelled
test core / test (map[args:--all-features key:all], map[cargo:cargo command:test os:windows-latest target:x86_64-pc-windows-msvc toolchain:1.90]) (push) Has been cancelled
test core / test (map[args:--no-default-features key:no-default], map[cargo:cargo command:build os:macos-latest target:aarch64-apple-ios toolchain:1.90]) (push) Has been cancelled
test core / test (map[args:--no-default-features key:no-default], map[cargo:cargo command:test os:macos-14 target:aarch64-apple-darwin toolchain:1.90]) (push) Has been cancelled
test core / test (map[args:--no-default-features key:no-default], map[cargo:cargo command:test os:windows-latest target:x86_64-pc-windows-msvc toolchain:1.90]) (push) Has been cancelled
This commit is contained in:
14
.cargo/audit.toml
Normal file
14
.cargo/audit.toml
Normal file
@@ -0,0 +1,14 @@
|
||||
[advisories]
|
||||
ignore = [
|
||||
# rsa Marvin Attack
|
||||
"RUSTSEC-2023-0071",
|
||||
# difference is unmaintained
|
||||
"RUSTSEC-2020-0095",
|
||||
# proc-macro-error is unmaintained
|
||||
"RUSTSEC-2024-0370",
|
||||
# rand unsoundness, fixed when we remove kuchikiki from deps in v3, currently
|
||||
# remains for semver reasons but is not built in default configuration
|
||||
"RUSTSEC-2026-0097",
|
||||
# glib 0.18.5 unsoundness, fixed by updating to gtk4
|
||||
"RUSTSEC-2024-0429",
|
||||
]
|
||||
4
.cargo/config.toml
Normal file
4
.cargo/config.toml
Normal file
@@ -0,0 +1,4 @@
|
||||
[env]
|
||||
# workaround needed to prevent `STATUS_ENTRYPOINT_NOT_FOUND` error in tests
|
||||
# see https://github.com/tauri-apps/tauri/pull/4383#issuecomment-1212221864
|
||||
__TAURI_WORKSPACE__ = "true"
|
||||
44
.changes/README.md
Normal file
44
.changes/README.md
Normal file
@@ -0,0 +1,44 @@
|
||||
# Changes
|
||||
|
||||
##### via https://github.com/jbolda/covector
|
||||
|
||||
As you create PRs and make changes that require a version bump, please add a new markdown file in this folder. You do not note the version _number_, but rather the type of bump that you expect: major, minor, or patch. The filename is not important, as long as it is a `.md`, but we recommend that it represents the overall change for organizational purposes.
|
||||
|
||||
When you select the version bump required, you do _not_ need to consider dependencies. Only note the package with the actual change, and any packages that depend on that package will be bumped automatically in the process.
|
||||
|
||||
Use the following format:
|
||||
|
||||
```md
|
||||
---
|
||||
'package-a': 'patch:enhance'
|
||||
'package-b': 'patch:enhance'
|
||||
---
|
||||
|
||||
Change summary goes here
|
||||
```
|
||||
|
||||
Summaries do not have a specific character limit, but are text only. These summaries are used within the (future implementation of) changelogs. They will give context to the change and also point back to the original PR if more details and context are needed.
|
||||
|
||||
Changes will be designated as a `major`, `minor` or `patch` as further described in [semver](https://semver.org/).
|
||||
|
||||
Given a version number MAJOR.MINOR.PATCH, increment the:
|
||||
|
||||
- MAJOR version when you make incompatible API changes,
|
||||
- MINOR version when you add functionality in a backwards compatible manner, and
|
||||
- PATCH version when you make backwards compatible bug fixes.
|
||||
|
||||
Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format, but will be discussed prior to usage (as extra steps will be necessary in consideration of merging and publishing).
|
||||
|
||||
Additionally you could specify a tag for the change file to group it with other changes by prefixing the bump with `:<tag>`, for example:
|
||||
|
||||
```md
|
||||
---
|
||||
'package-a': 'patch:enhance'
|
||||
---
|
||||
|
||||
Change summary goes here
|
||||
```
|
||||
|
||||
which will group this change file with other changes that specify the `bug` tag.
|
||||
|
||||
For list of available tags, see the `changeTags` key in [./config.json](./config.json)
|
||||
5
.changes/acl-deny-execution-context.md
Normal file
5
.changes/acl-deny-execution-context.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
tauri: patch:bug
|
||||
---
|
||||
|
||||
Fix the runtime ACL denying a command for every origin when any capability denied it: deny permissions are now correctly scoped to the capability's execution context (local/remote) instead of denying the command for every origin. Previously a capability that denied a command for a remote URL also denied it for the local app (and vice-versa), because the origin match result was discarded. The debug message reporting an explicit denial now also only references the capabilities that actually deny the requesting origin.
|
||||
5
.changes/additional-watch-folders-alias.md
Normal file
5
.changes/additional-watch-folders-alias.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"tauri-utils": patch:bug
|
||||
---
|
||||
|
||||
Added `additional-watch-folders` as an alias for the `build > additionalWatchFolders` configuration value, so the kebab-case spelling that matches the camelCase key is accepted in `Tauri.toml`. The previous `additional-watch-directories` alias keeps working.
|
||||
6
.changes/allow-crlf-cargo-toml.md
Normal file
6
.changes/allow-crlf-cargo-toml.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"tauri-cli": patch:enhance
|
||||
"@tauri-apps/cli": patch:enhance
|
||||
---
|
||||
|
||||
Don't always rewrite `Cargo.toml` file from CRLF line endings to LF
|
||||
9
.changes/android-compileroptions-dsl.md
Normal file
9
.changes/android-compileroptions-dsl.md
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
"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.
|
||||
23
.changes/android-consumer-proguard.md
Normal file
23
.changes/android-consumer-proguard.md
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
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.
|
||||
5
.changes/android-graceful-exit.md
Normal file
5
.changes/android-graceful-exit.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'tauri': 'patch:bug'
|
||||
---
|
||||
|
||||
On Android, `AppHandle::exit` (and the process plugin `exit` command) now finishes the activity instead of exiting the process directly, so the app closes with the system transition instead of flashing a blank screen.
|
||||
8
.changes/android-gradle-9.md
Normal file
8
.changes/android-gradle-9.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
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.
|
||||
6
.changes/android-java-gradle-compat-hint.md
Normal file
6
.changes/android-java-gradle-compat-hint.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"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 the project uses (e.g. Java 27 against the Gradle 9.6.1 the template ships, or Java 25 against a project still on 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.
|
||||
5
.changes/android-json-org-serialization.md
Normal file
5
.changes/android-json-org-serialization.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
tauri: patch:bug
|
||||
---
|
||||
|
||||
On Android, `Invoke.resolveObject` and the other values serialized with the plugin JSON mapper now write `JSObject` and `JSArray` as JSON objects and arrays. They were serialized through their private fields, so a `JSArray` reached the frontend as `{ "values": [...] }` and a `JSObject` as `{ "nameValuePairs": {...} }`.
|
||||
6
.changes/android-material3.md
Normal file
6
.changes/android-material3.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"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`
|
||||
5
.changes/android-plugin-manager-no-activity.md
Normal file
5
.changes/android-plugin-manager-no-activity.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
tauri: patch:bug
|
||||
---
|
||||
|
||||
On Android, fixed requesting permission in a plugin fails after the first activity closed.
|
||||
5
.changes/android-plugin-manager-relaunch.md
Normal file
5
.changes/android-plugin-manager-relaunch.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
tauri: patch:bug
|
||||
---
|
||||
|
||||
On Android, fixed a crash when an activity is destroyed while another one is already running — installing an APK over the running app is the common way to hit it. The plugin manager tried to move its activity result launchers to the surviving activity, and `registerForActivityResult` rejects that with `IllegalStateException: LifecycleOwner ... is attempting to register while current state is RESUMED`. Each activity now registers its own launchers when it is created.
|
||||
6
.changes/android-target-sdk-37.md
Normal file
6
.changes/android-target-sdk-37.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"tauri-cli": patch:enhance
|
||||
"@tauri-apps/cli": patch:enhance
|
||||
---
|
||||
|
||||
Update template to use `targetSdk = 37`
|
||||
7
.changes/android-video-dir.md
Normal file
7
.changes/android-video-dir.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
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.
|
||||
8
.changes/app-bound-domains.md
Normal file
8
.changes/app-bound-domains.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
"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.
|
||||
6
.changes/app-exit-api.md
Normal file
6
.changes/app-exit-api.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'tauri': 'minor:feat'
|
||||
'@tauri-apps/api': 'minor:feat'
|
||||
---
|
||||
|
||||
Added the `exit` function to `@tauri-apps/api/app`, backed by the new `plugin:app|exit` command (`core:app:allow-exit` permission), to exit the app without requiring the `@tauri-apps/plugin-process` plugin.
|
||||
5
.changes/appimage-respect-gdk-backend.md
Normal file
5
.changes/appimage-respect-gdk-backend.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"tauri-bundler": "patch:bug"
|
||||
---
|
||||
|
||||
Respect an explicitly configured `GDK_BACKEND` in AppImage GTK hooks while retaining `x11` as the default.
|
||||
5
.changes/asset-protocol-multi-range.md
Normal file
5
.changes/asset-protocol-multi-range.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
tauri: patch:bug
|
||||
---
|
||||
|
||||
Fix malformed `asset://` multi-range responses: the multipart body now ends with the closing boundary, `Content-Type` is only `multipart/byteranges`, and the status is `206 Partial Content`.
|
||||
5
.changes/asset-protocol-off-main-thread.md
Normal file
5
.changes/asset-protocol-off-main-thread.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
tauri: patch:bug
|
||||
---
|
||||
|
||||
Load `asset://` files asynchronously instead of on the event loop thread, so a slow or unreachable path no longer freezes every window.
|
||||
6
.changes/brotli-9.md
Normal file
6
.changes/brotli-9.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"tauri-codegen": patch:deps
|
||||
"tauri-utils": patch:deps
|
||||
---
|
||||
|
||||
Updated brotli to v9
|
||||
5
.changes/build-config-path.md
Normal file
5
.changes/build-config-path.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"tauri-build": minor:feat
|
||||
---
|
||||
|
||||
Added `Attributes::config_path` to customize config path, deprecated `CodegenContext::config_path` in favor of this
|
||||
5
.changes/build-windows-icon-config-root.md
Normal file
5
.changes/build-windows-icon-config-root.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"tauri-build": patch:bug
|
||||
---
|
||||
|
||||
The `.ico` from `bundle > icon` (or the `icons/icon.ico` fallback) embedded as the Windows application icon is now resolved relative to the config file directory instead of the build script's working directory, so it works with `Attributes::config_path`.
|
||||
8
.changes/bundle-vc-runtime.md
Normal file
8
.changes/bundle-vc-runtime.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
"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`.
|
||||
5
.changes/bundler-breaking-changes.md
Normal file
5
.changes/bundler-breaking-changes.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
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.
|
||||
7
.changes/bundler-show-sizes.md
Normal file
7
.changes/bundler-show-sizes.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
"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).
|
||||
6
.changes/cargo-toml-1.md
Normal file
6
.changes/cargo-toml-1.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
tauri: patch:deps
|
||||
tauri-build: patch:deps
|
||||
---
|
||||
|
||||
Updated `cargo_toml` crate to `1`
|
||||
5
.changes/change-pr-15578.md
Normal file
5
.changes/change-pr-15578.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"tauri": patch:enhance
|
||||
---
|
||||
|
||||
`State` had `Send` and `Sync` trait bounds that were already implied, remove them from the struct definition.
|
||||
5
.changes/change-pr-15593.md
Normal file
5
.changes/change-pr-15593.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"tauri-macos-sign": patch:deps
|
||||
---
|
||||
|
||||
Updated dependency `apple-codesign` to `0.29`, no user facing changes.
|
||||
5
.changes/change-pr-15677.md
Normal file
5
.changes/change-pr-15677.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"tauri-utils": patch:deps
|
||||
---
|
||||
|
||||
Update `serial_test` to 3.5 to pull in the updated `scc` and fix RUSTSEC advisory
|
||||
6
.changes/change-pr-15952.md
Normal file
6
.changes/change-pr-15952.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"tauri": patch:changes
|
||||
---
|
||||
|
||||
Internal refactors removing an `Arc` and a `Mutex`.
|
||||
Deprecate `InvokeMessage::state` and `InvokeMessage::state_ref` that should accidentally were made public.
|
||||
6
.changes/clarify-init-frontend-command-prompts.md
Normal file
6
.changes/clarify-init-frontend-command-prompts.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"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.
|
||||
5
.changes/cleanup-js-menu-channel.md
Normal file
5
.changes/cleanup-js-menu-channel.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"tauri": "patch:bug"
|
||||
---
|
||||
|
||||
Remove the `Channel` used to send event to JavaScript side on dropping the menu
|
||||
6
.changes/cli-dev-kill-process-tree.md
Normal file
6
.changes/cli-dev-kill-process-tree.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"tauri-cli": patch:bug
|
||||
"@tauri-apps/cli": patch:bug
|
||||
---
|
||||
|
||||
`tauri dev` now kills the whole process tree of the running app when it restarts or exits, so processes spawned by the app (e.g. sidecars) are no longer left orphaned.
|
||||
6
.changes/cli-force-noninteractive.md
Normal file
6
.changes/cli-force-noninteractive.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'tauri-cli': 'patch:enhance'
|
||||
'@tauri-apps/cli': 'patch:enhance'
|
||||
---
|
||||
|
||||
When stdin is not a terminal, `tauri init` now automatically skips prompts, avoiding IO errors in CI and scripts. This eliminates the need to pass `--ci` explicitly in non-interactive environments.
|
||||
6
.changes/cli-gradlew-crlf.md
Normal file
6
.changes/cli-gradlew-crlf.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"tauri-cli": patch:bug
|
||||
"@tauri-apps/cli": patch:bug
|
||||
---
|
||||
|
||||
Normalize `gen/android/gradlew` CRLF line endings to LF on all host platforms, not only Unix. A `gradlew` checked out with CRLF broke `sh ./gradlew` on Windows hosts using Git Bash. The rewrite only runs when a CRLF is actually present. A failure to rewrite aborts on Unix, where the script is executed directly; on Windows the CLI invokes `gradlew.bat`, so failures there only warn.
|
||||
6
.changes/cli-help-text-fixes.md
Normal file
6
.changes/cli-help-text-fixes.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"tauri-cli": "patch:bug"
|
||||
"@tauri-apps/cli": "patch:bug"
|
||||
---
|
||||
|
||||
Fix the `tauri capability new` command description, which said "Create a new permission file", and the `--skip-stapling` help text on `tauri build` and `tauri bundle`, whose first line described the opposite of what the flag does.
|
||||
6
.changes/cli-ios-sim-build-rebuild.md
Normal file
6
.changes/cli-ios-sim-build-rebuild.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"tauri-cli": patch:bug
|
||||
"@tauri-apps/cli": patch:bug
|
||||
---
|
||||
|
||||
`tauri ios build` for a simulator target no longer fails with "failed to rename app: Directory not empty" when the output `.app` from a previous build exists.
|
||||
224
.changes/config.json
Normal file
224
.changes/config.json
Normal file
@@ -0,0 +1,224 @@
|
||||
{
|
||||
"gitSiteUrl": "https://www.github.com/tauri-apps/tauri/",
|
||||
"changeTags": {
|
||||
"feat": "New Features",
|
||||
"enhance": "Enhancements",
|
||||
"bug": "Bug Fixes",
|
||||
"perf": "Performance Improvements",
|
||||
"changes": "What's Changed",
|
||||
"sec": "Security fixes",
|
||||
"deps": "Dependencies",
|
||||
"breaking": "Breaking Changes"
|
||||
},
|
||||
"defaultChangeTag": "changes",
|
||||
"pkgManagers": {
|
||||
"rust": {
|
||||
"version": true,
|
||||
"getPublishedVersion": {
|
||||
"use": "fetch:check",
|
||||
"options": {
|
||||
"url": "https://crates.io/api/v1/crates/${ pkg.pkgFile.pkg.package.name }/${ pkg.pkgFile.version }"
|
||||
}
|
||||
},
|
||||
"prepublish": [
|
||||
"cargo install cargo-audit --features=fix",
|
||||
{
|
||||
"command": "echo '<details>\n<summary><em><h4>Cargo Audit</h4></em></summary>\n\n```'",
|
||||
"dryRunCommand": true,
|
||||
"pipe": true
|
||||
},
|
||||
{
|
||||
"command": "cargo audit ${ process.env.CARGO_AUDIT_OPTIONS || '' }",
|
||||
"dryRunCommand": true,
|
||||
"runFromRoot": true,
|
||||
"pipe": true
|
||||
},
|
||||
{
|
||||
"command": "echo '```\n\n</details>\n'",
|
||||
"dryRunCommand": true,
|
||||
"pipe": true
|
||||
}
|
||||
],
|
||||
"publish": [
|
||||
{
|
||||
"command": "echo '<details>\n<summary><em><h4>Cargo Publish</h4></em></summary>\n\n```'",
|
||||
"dryRunCommand": true,
|
||||
"pipe": true
|
||||
},
|
||||
{
|
||||
"command": "cargo publish",
|
||||
"dryRunCommand": "cargo publish --dry-run",
|
||||
"pipe": true
|
||||
},
|
||||
{
|
||||
"command": "echo '```\n\n</details>\n'",
|
||||
"dryRunCommand": true,
|
||||
"pipe": true
|
||||
}
|
||||
],
|
||||
"postpublish": {
|
||||
"use": "fetch:check",
|
||||
"options": {
|
||||
"url": "https://crates.io/api/v1/crates/${ pkg.pkgFile.pkg.package.name }/${ pkg.pkgFile.version }"
|
||||
},
|
||||
"retries": [5000, 5000, 5000]
|
||||
}
|
||||
},
|
||||
"javascript": {
|
||||
"version": true,
|
||||
"getPublishedVersion": {
|
||||
"use": "fetch:check",
|
||||
"options": {
|
||||
"url": "https://registry.npmjs.com/${ pkg.pkgFile.pkg.name }/${ pkg.pkgFile.version }"
|
||||
}
|
||||
},
|
||||
"prepublish": [
|
||||
{
|
||||
"command": "echo '<details>\n<summary><em><h4>PNPM Audit</h4></em></summary>\n\n```'",
|
||||
"dryRunCommand": true,
|
||||
"pipe": true
|
||||
},
|
||||
{
|
||||
"command": "pnpm i --frozen-lockfile",
|
||||
"dryRunCommand": true
|
||||
},
|
||||
{
|
||||
"command": "pnpm audit",
|
||||
"dryRunCommand": true,
|
||||
"runFromRoot": true,
|
||||
"pipe": true
|
||||
},
|
||||
{
|
||||
"command": "echo '```\n\n</details>\n'",
|
||||
"dryRunCommand": true,
|
||||
"pipe": true
|
||||
}
|
||||
],
|
||||
"publish": [
|
||||
{
|
||||
"command": "echo '<details>\n<summary><em><h4>PNPM Publish</h4></em></summary>\n\n```'",
|
||||
"dryRunCommand": true,
|
||||
"pipe": true
|
||||
},
|
||||
{
|
||||
"command": "pnpm publish --access public --loglevel silly --no-git-checks",
|
||||
"dryRunCommand": "npm publish --dry-run --access public --no-git-checks",
|
||||
"pipe": true
|
||||
},
|
||||
{
|
||||
"command": "echo '```\n\n</details>\n'",
|
||||
"dryRunCommand": true,
|
||||
"pipe": true
|
||||
}
|
||||
],
|
||||
"postpublish": {
|
||||
"use": "fetch:check",
|
||||
"options": {
|
||||
"url": "https://registry.npmjs.com/${ pkg.pkgFile.pkg.name }/${ pkg.pkgFile.version }"
|
||||
},
|
||||
"retries": [5000, 5000, 5000]
|
||||
}
|
||||
}
|
||||
},
|
||||
"packages": {
|
||||
"@tauri-apps/api": {
|
||||
"path": "./packages/api",
|
||||
"manager": "javascript",
|
||||
"publish": [
|
||||
{
|
||||
"command": "echo '<details>\n<summary><em><h4>PNPM Publish</h4></em></summary>\n\n```'",
|
||||
"dryRunCommand": true,
|
||||
"pipe": true
|
||||
},
|
||||
{
|
||||
"command": "pnpm npm-publish",
|
||||
"dryRunCommand": true,
|
||||
"pipe": true
|
||||
},
|
||||
{
|
||||
"command": "echo '```\n\n</details>\n'",
|
||||
"dryRunCommand": true,
|
||||
"pipe": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"tauri-utils": {
|
||||
"path": "./crates/tauri-utils",
|
||||
"manager": "rust"
|
||||
},
|
||||
"tauri-macos-sign": {
|
||||
"path": "./crates/tauri-macos-sign",
|
||||
"manager": "rust"
|
||||
},
|
||||
"tauri-bundler": {
|
||||
"path": "./crates/tauri-bundler",
|
||||
"manager": "rust",
|
||||
"dependencies": ["tauri-utils", "tauri-macos-sign"]
|
||||
},
|
||||
"tauri-runtime": {
|
||||
"path": "./crates/tauri-runtime",
|
||||
"manager": "rust",
|
||||
"dependencies": ["tauri-utils"]
|
||||
},
|
||||
"tauri-runtime-wry": {
|
||||
"path": "./crates/tauri-runtime-wry",
|
||||
"manager": "rust",
|
||||
"dependencies": ["tauri-utils", "tauri-runtime"]
|
||||
},
|
||||
"tauri-codegen": {
|
||||
"path": "./crates/tauri-codegen",
|
||||
"manager": "rust",
|
||||
"dependencies": ["tauri-utils"]
|
||||
},
|
||||
"tauri-macros": {
|
||||
"path": "./crates/tauri-macros",
|
||||
"manager": "rust",
|
||||
"dependencies": ["tauri-codegen", "tauri-utils"]
|
||||
},
|
||||
"tauri-plugin": {
|
||||
"path": "./crates/tauri-plugin",
|
||||
"manager": "rust",
|
||||
"dependencies": ["tauri-utils"],
|
||||
"postversion": "node ../../.scripts/ci/sync-cli-metadata.js ${ pkg.pkg } ${ release.type }"
|
||||
},
|
||||
"tauri-build": {
|
||||
"path": "./crates/tauri-build",
|
||||
"manager": "rust",
|
||||
"dependencies": ["tauri-codegen", "tauri-utils"],
|
||||
"postversion": "node ../../.scripts/ci/sync-cli-metadata.js ${ pkg.pkg } ${ release.type }"
|
||||
},
|
||||
"tauri": {
|
||||
"path": "./crates/tauri",
|
||||
"manager": "rust",
|
||||
"dependencies": [
|
||||
"tauri-macros",
|
||||
"tauri-utils",
|
||||
"tauri-runtime",
|
||||
"tauri-runtime-wry",
|
||||
"tauri-build"
|
||||
],
|
||||
"postversion": [
|
||||
"node ../../.scripts/ci/sync-cli-metadata.js ${ pkg.pkg } ${ release.type }",
|
||||
"cargo build --manifest-path ../tauri-schema-generator/Cargo.toml"
|
||||
]
|
||||
},
|
||||
"@tauri-apps/cli": {
|
||||
"path": "./packages/cli",
|
||||
"manager": "javascript",
|
||||
"dependencies": ["tauri-cli"],
|
||||
"postversion": "node ../../.scripts/ci/sync-cli-metadata.js ${ pkg.pkg } ${ release.type }",
|
||||
"prepublish": [],
|
||||
"publish": [],
|
||||
"postpublish": []
|
||||
},
|
||||
"tauri-cli": {
|
||||
"path": "./crates/tauri-cli",
|
||||
"manager": "rust",
|
||||
"dependencies": ["tauri-bundler", "tauri-utils", "tauri-macos-sign"]
|
||||
},
|
||||
"tauri-driver": {
|
||||
"path": "./crates/tauri-driver",
|
||||
"manager": "rust"
|
||||
}
|
||||
}
|
||||
}
|
||||
5
.changes/convert-file-src.md
Normal file
5
.changes/convert-file-src.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"tauri": minor:feat
|
||||
---
|
||||
|
||||
Add `Webview::convert_file_src` and `WebviewWindow::convert_file_src`, the Rust equivalent of the JavaScript `convertFileSrc` function. The returned URL uses the scheme the webview was configured with (`useHttpsScheme`), so it always matches what the webview can load.
|
||||
5
.changes/ctor-1.md
Normal file
5
.changes/ctor-1.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
tauri-utils: patch:deps
|
||||
---
|
||||
|
||||
Updated `ctor` crate to `1`
|
||||
7
.changes/default-product-name-warning.md
Normal file
7
.changes/default-product-name-warning.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
"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.
|
||||
7
.changes/disable-binary-patching.md
Normal file
7
.changes/disable-binary-patching.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
"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.
|
||||
5
.changes/dpi-type-wrappers.md
Normal file
5
.changes/dpi-type-wrappers.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"tauri-runtime-wry": "minor:breaking"
|
||||
---
|
||||
|
||||
Removed unused dpi wrapper types like `PhysicalPositionWrapper`
|
||||
6
.changes/edition-2024-template.md
Normal file
6
.changes/edition-2024-template.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
tauri-cli: minor:changes
|
||||
"@tauri-apps/cli": minor:changes
|
||||
---
|
||||
|
||||
Moved to edition 2024 for the `tauri init`/`tauri plugin init` templates
|
||||
16
.changes/edition-2024.md
Normal file
16
.changes/edition-2024.md
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
"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
|
||||
---
|
||||
|
||||
Moved to edition 2024
|
||||
5
.changes/event-listener-cleanup-on-destroy.md
Normal file
5
.changes/event-listener-cleanup-on-destroy.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"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.
|
||||
6
.changes/exit-with-code.md
Normal file
6
.changes/exit-with-code.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'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.
|
||||
15
.changes/explicit-resource-management.md
Normal file
15
.changes/explicit-resource-management.md
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
"@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.
|
||||
}
|
||||
```
|
||||
7
.changes/expose-set-activate-ignoring-other-apps.md
Normal file
7
.changes/expose-set-activate-ignoring-other-apps.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
"tauri-runtime-wry": minor:feat
|
||||
"tauri-runtime": minor:feat
|
||||
"tauri": minor:feat
|
||||
---
|
||||
|
||||
Add `Builder::activate_ignoring_other_apps` on macOS to control whether the app activates at launch when another app is already active.
|
||||
7
.changes/fix-appimage-xdg-utils.md
Normal file
7
.changes/fix-appimage-xdg-utils.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
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.
|
||||
5
.changes/fix-capabilities-rerun-absolute-path.md
Normal file
5
.changes/fix-capabilities-rerun-absolute-path.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'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.
|
||||
7
.changes/fix-channel-data-queue-webview-binding.md
Normal file
7
.changes/fix-channel-data-queue-webview-binding.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
"tauri": patch:sec
|
||||
---
|
||||
|
||||
Bind channel data IPC queue entries to the webview they were created for and scope their ids per webview.
|
||||
Queued channel payloads and large invoke responses can no longer be read by other webviews, and entries are purged when the owning webview is closed.
|
||||
Fixes GHSA-w28w-mhc8-qvjv.
|
||||
6
.changes/fix-cli-add-npm-frontend-dir.md
Normal file
6
.changes/fix-cli-add-npm-frontend-dir.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"tauri-cli": patch:bug
|
||||
"@tauri-apps/cli": patch:bug
|
||||
---
|
||||
|
||||
Fix `tauri add` / `tauri remove` installing npm plugin packages into `src-tauri` instead of the frontend directory.
|
||||
6
.changes/fix-copy-new-resource-files.md
Normal file
6
.changes/fix-copy-new-resource-files.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'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.
|
||||
5
.changes/fix-deterministic-config-serialization.md
Normal file
5
.changes/fix-deterministic-config-serialization.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'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.
|
||||
5
.changes/fix-deterministic-embedded-assets-codegen.md
Normal file
5
.changes/fix-deterministic-embedded-assets-codegen.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'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.
|
||||
6
.changes/fix-ico-broken-in-task-manager.md
Normal file
6
.changes/fix-ico-broken-in-task-manager.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"tauri-cli": patch:bug
|
||||
"@tauri-apps/cli": patch:bug
|
||||
---
|
||||
|
||||
Fix broken child window icons in Task Manager, you'll need to re-run `tauri icon` to generate the fixed icons
|
||||
5
.changes/fix-ico-largest-entry.md
Normal file
5
.changes/fix-ico-largest-entry.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"tauri-codegen": patch:bug
|
||||
---
|
||||
|
||||
Select the largest entry of an ICO file instead of the first one when embedding it with `include_image!` or as the tray icon, so the OS downscales a high-resolution source instead of upscaling the 16x16 entry.
|
||||
5
.changes/fix-js-listeners-leak-on-webview-close.md
Normal file
5
.changes/fix-js-listeners-leak-on-webview-close.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'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.
|
||||
5
.changes/fix-js-set-background-color-arguments.md
Normal file
5
.changes/fix-js-set-background-color-arguments.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tauri-apps/api": patch:bug
|
||||
---
|
||||
|
||||
Fix `Window.setBackgroundColor`, `Webview.setBackgroundColor` and `WebviewWindow.setBackgroundColor` sending a `color` argument while the `plugin:window|set_background_color` and `plugin:webview|set_webview_background_color` commands expect `label` and `value`. The color was always deserialized as `None`, so instead of applying the given color the call cleared the background of the calling window/webview.
|
||||
6
.changes/fix-monitor-queries-off-thread.md
Normal file
6
.changes/fix-monitor-queries-off-thread.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'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.
|
||||
6
.changes/fix-objc-retain-leak.md
Normal file
6
.changes/fix-objc-retain-leak.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"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.
|
||||
5
.changes/fix-send-sync.md
Normal file
5
.changes/fix-send-sync.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"tauri-runtime-wry": minor:breaking
|
||||
---
|
||||
|
||||
`WindowsStore` and `DispatcherMainThreadContext` are no longer `Send` and `Sync`, and unsafe impl has been moved to `Context` directly.
|
||||
5
.changes/fix-unlisten-guard-missing-entry.md
Normal file
5
.changes/fix-unlisten-guard-missing-entry.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'tauri': 'patch:bug'
|
||||
---
|
||||
|
||||
Guard the handler lookup in the generated unlisten script. When the unlisten function ran before its listener registration eval reached the webview, the entry was still missing and reading its `handlerId` threw, which aborted `_unlisten` before it sent the backend `plugin:event|unlisten` and left the listener registered.
|
||||
7
.changes/fix-wix-external-bin-id.md
Normal file
7
.changes/fix-wix-external-bin-id.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
"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.
|
||||
8
.changes/fix-wix-resource-target-name.md
Normal file
8
.changes/fix-wix-resource-target-name.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
"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.
|
||||
5
.changes/header-source-map-deterministic-display.md
Normal file
5
.changes/header-source-map-deterministic-display.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"tauri-utils": patch:bug
|
||||
---
|
||||
|
||||
Fixed header values configured with an object in `app > security > headers` being serialized in a random order, which made the resulting header value differ between runs. The `key value` pairs are now always sorted by key, matching the ordering already used when the configuration is serialized.
|
||||
6
.changes/icon-non-square-fit.md
Normal file
6
.changes/icon-non-square-fit.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"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.
|
||||
7
.changes/image-from-resource.md
Normal file
7
.changes/image-from-resource.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
"tauri": minor:feat
|
||||
"tauri-codegen": minor:feat
|
||||
"tauri-utils": minor:feat
|
||||
---
|
||||
|
||||
Added `Image::from_app_icon_resource` and `Image::from_icon_resource` on Windows for loading images from icon resources embedded in the executable (identified by an `IconResource` id or name), and the default `default_window_icon` from `tauri::generate_context` macro is now loaded using `from_app_icon_resource`. The resource id `tauri-build` embeds the application icon with is exposed as `tauri_utils::platform::WINDOWS_APP_ICON_RESOURCE_ID`.
|
||||
5
.changes/image-icon-zero-copy.md
Normal file
5
.changes/image-icon-zero-copy.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
tauri: patch:perf
|
||||
---
|
||||
|
||||
Skip redundant rgba buffer copies in icon conversions (`muda::Icon`/`tray_icon::Icon`), `Image::from_bytes`, and submenu icon construction.
|
||||
5
.changes/image-rgba-perf.md
Normal file
5
.changes/image-rgba-perf.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
tauri: patch:perf
|
||||
---
|
||||
|
||||
Skip serializing to JSON for `Image::rgba`
|
||||
5
.changes/image-rgba-uint8array-generic.md
Normal file
5
.changes/image-rgba-uint8array-generic.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tauri-apps/api": patch:bug
|
||||
---
|
||||
|
||||
`Image.rgba` now returns a more specific type `Promise<Uint8Array<ArrayBuffer>>` instead of the default `Promise<Uint8Array<ArrayBufferLike>`
|
||||
6
.changes/ios-27.md
Normal file
6
.changes/ios-27.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
tauri-cli: minor:deps
|
||||
"@tauri-apps/cli": minor:deps
|
||||
---
|
||||
|
||||
Update the generated iOS Xcode project to build with Xcode 27. The scenes lifecycle is **not** enabled by default: to opt in, add the `UIApplicationSceneManifest` key to your `src-tauri/Info.ios.plist`.
|
||||
5
.changes/ios-monitor-off-main-thread.md
Normal file
5
.changes/ios-monitor-off-main-thread.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"tauri-runtime-wry": patch:bug
|
||||
---
|
||||
|
||||
Fix a crash on iOS when the monitor APIs (`Window::current_monitor`, `primary_monitor`, `available_monitors`, `monitor_from_point` and the `AppHandle` equivalents) are called off the main thread, e.g. from a command: the monitor is now read on the main thread, where iOS requires it.
|
||||
5
.changes/js-image-type-alias.md
Normal file
5
.changes/js-image-type-alias.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@tauri-apps/api': 'minor:feat'
|
||||
---
|
||||
|
||||
Added `JsImage` type alias and documented its relationship to the Rust `JsImage`
|
||||
12
.changes/lock-minor-versions.md
Normal file
12
.changes/lock-minor-versions.md
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
"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.
|
||||
5
.changes/macos-app-set-theme-window-theme.md
Normal file
5
.changes/macos-app-set-theme-window-theme.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"tauri-runtime-wry": patch:bug
|
||||
---
|
||||
|
||||
On macOS, `App::set_theme` now also updates the theme each window reports, so `Window::theme` (and `getCurrentWindow().theme()` in JavaScript) reflects the app-level theme instead of keeping the previous value until the system appearance changes.
|
||||
7
.changes/macos-liquid-glass.md
Normal file
7
.changes/macos-liquid-glass.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
tauri: minor:enhance
|
||||
tauri-utils: minor:enhance
|
||||
"@tauri-apps/api": minor:enhance
|
||||
---
|
||||
|
||||
Added `Regular` and `Clear` Liquid Glass window effects, and the `interactive` window effects option (macOS 27.0+) that enables the glass' visual response to user interactions.
|
||||
9
.changes/menu-command-panic-on-wrong-input.md
Normal file
9
.changes/menu-command-panic-on-wrong-input.md
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
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`
|
||||
6
.changes/mobile-init-pnpm-native.md
Normal file
6
.changes/mobile-init-pnpm-native.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"tauri-cli": patch:bug
|
||||
"@tauri-apps/cli": patch:bug
|
||||
---
|
||||
|
||||
Detect pnpm from `npm_config_user_agent` when generating the mobile projects. pnpm's native binary (pnpm 11+) runs package scripts without setting `PNPM_PACKAGE_NAME`, and when installed through corepack the binary is named `pnpm-native`, so `tauri android init` recorded `pnpm-native` as the command for Gradle to run and the Android build failed with "A problem occurred starting process 'command 'pnpm-native''".
|
||||
6
.changes/mobile-resumed-suspended-event.md
Normal file
6
.changes/mobile-resumed-suspended-event.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"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.
|
||||
5
.changes/mock-runtime-run-main-thread-deadlock.md
Normal file
5
.changes/mock-runtime-run-main-thread-deadlock.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
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`
|
||||
16
.changes/msrv-1.90.md
Normal file
16
.changes/msrv-1.90.md
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
"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.
|
||||
5
.changes/no-redirection-bitmap-api.md
Normal file
5
.changes/no-redirection-bitmap-api.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@tauri-apps/api': 'minor:feat'
|
||||
---
|
||||
|
||||
Added `noRedirectionBitmap` option to the `Window` and `WebviewWindow` constructors on Windows.
|
||||
6
.changes/no-redirection-bitmap-config.md
Normal file
6
.changes/no-redirection-bitmap-config.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'tauri': 'minor:feat'
|
||||
'tauri-utils': 'minor:feat'
|
||||
---
|
||||
|
||||
Added `app > windows > noRedirectionBitmap` config option to disable the window redirection bitmap on Windows.
|
||||
7
.changes/no-redirection-bitmap.md
Normal file
7
.changes/no-redirection-bitmap.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
'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.
|
||||
5
.changes/nsis-restart-manager.md
Normal file
5
.changes/nsis-restart-manager.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"tauri-bundler": minor:enhance
|
||||
---
|
||||
|
||||
Switch to use restart manager to close running app, this makes it so that we send a `WM_ENDSESSION` signal to the app for it to gracefully shutdown
|
||||
7
.changes/objc2-0.3.2.md
Normal file
7
.changes/objc2-0.3.2.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
"tauri": patch:deps
|
||||
"tauri-runtime": patch:deps
|
||||
"tauri-runtime-wry": patch:deps
|
||||
---
|
||||
|
||||
On macOS, updated `objc2-*` dependencies to 0.3.2
|
||||
5
.changes/path-normalize-empty.md
Normal file
5
.changes/path-normalize-empty.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
tauri: patch:bug
|
||||
---
|
||||
|
||||
Fix `path.normalize("")` returning an empty string instead of `"."`, matching Node.js and the existing `path.join("")` behavior.
|
||||
9
.changes/permission-handler.md
Normal file
9
.changes/permission-handler.md
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
"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.
|
||||
5
.changes/permissions-policy-header-name.md
Normal file
5
.changes/permissions-policy-header-name.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"tauri-utils": patch:bug
|
||||
---
|
||||
|
||||
Fixed the `app > security > headers > Permissions-Policy` configuration being sent as a header named `Permission-Policy`, which is not a real HTTP header, so the policy had no effect. The header is now correctly named `Permissions-Policy`.
|
||||
5
.changes/plugin-cleanup-before-exit.md
Normal file
5
.changes/plugin-cleanup-before-exit.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"tauri": minor:feat
|
||||
---
|
||||
|
||||
Added the `Plugin::cleanup_before_exit` hook and `plugin::Builder::on_cleanup_before_exit`, invoked by `App::cleanup_before_exit` right before the process exits so plugins can release resources such as sidecar processes. Unlike `RunEvent::Exit`, it also runs on exit paths that bypass the event loop such as `AppHandle::restart` on the main thread.
|
||||
6
.changes/plugin-template-ts7.md
Normal file
6
.changes/plugin-template-ts7.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"tauri-cli": patch:deps
|
||||
"@tauri-apps/cli": patch:deps
|
||||
---
|
||||
|
||||
Update typescript to v7 in `tauri plugin init` template. Also fixes the default `rootDir` in the template `tsconfig.json`
|
||||
5
.changes/png-0.18.md
Normal file
5
.changes/png-0.18.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
tauri-codegen: patch:deps
|
||||
---
|
||||
|
||||
Updated `png` crate to `0.18`
|
||||
8
.changes/resolved-command-reference-debug-assertion.md
Normal file
8
.changes/resolved-command-reference-debug-assertion.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
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.
|
||||
6
.changes/runtime-handle-monitor-fns.md
Normal file
6
.changes/runtime-handle-monitor-fns.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'tauri-runtime': 'minor:breaking'
|
||||
'tauri-runtime-wry': 'minor:breaking'
|
||||
---
|
||||
|
||||
Changed `RuntimeHandle::primary_monitor`, `RuntimeHandle::monitor_from_point`, `RuntimeHandle::available_monitors` to return `Result`s
|
||||
5
.changes/runtime-wry-avoid-clones.md
Normal file
5
.changes/runtime-wry-avoid-clones.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"tauri-runtime-wry": "minor:changes"
|
||||
---
|
||||
|
||||
`EventLoopIterationContext` and `UserMessageContext` now takes references to avoid clones
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user