Cargo Audit
Fetching advisory database from `https://github.com/RustSec/advisory-db.git`
Loaded 1243 security advisories (from /home/runner/.cargo/advisory-db)
Updating crates.io index
Scanning Cargo.lock for vulnerabilities (1217 crate dependencies)
Crate: fxhash
Version: 0.2.1
Warning: unmaintained
Title: fxhash - no longer maintained
Date: 2025-09-05
ID: RUSTSEC-2025-0057
URL: https://rustsec.org/advisories/RUSTSEC-2025-0057
Crate: paste
Version: 1.0.15
Warning: unmaintained
Title: paste - no longer maintained
Date: 2024-10-07
ID: RUSTSEC-2024-0436
URL: https://rustsec.org/advisories/RUSTSEC-2024-0436
Crate: rustls-pemfile
Version: 2.2.0
Warning: unmaintained
Title: rustls-pemfile is unmaintained
Date: 2025-11-28
ID: RUSTSEC-2025-0134
URL: https://rustsec.org/advisories/RUSTSEC-2025-0134
Crate: rustybuzz
Version: 0.20.1
Warning: unmaintained
Title: `rustybuzz` is unmaintained
Date: 2026-07-11
ID: RUSTSEC-2026-0206
URL: https://rustsec.org/advisories/RUSTSEC-2026-0206
Crate: ttf-parser
Version: 0.25.1
Warning: unmaintained
Title: `ttf-parser` is unmaintained
Date: 2026-06-28
ID: RUSTSEC-2026-0192
URL: https://rustsec.org/advisories/RUSTSEC-2026-0192
warning: 5 allowed warnings found
[3.0.0-alpha.0]
New Features
-
1e5ba7b53(#15985) Thetauri::android_binding!macro moved totauri_runtime_wry::android_binding!, and#[tauri::mobile_entry_point]expands to it, so Android apps must depend ontauri-runtime-wry.tauri::handle_android_plugin_responseandtauri::send_channel_dataare exposed on Android for other runtimes to implement their own binding. -
364a0e711(#15882)tauri-buildno longer copies the configured resources to the cargo target directory; on desktop, unbundled apps (tauri dev/cargo run) now resolve resources at runtime from their source paths instead. This means editing a resource file no longer triggers a full application rebuild, and changes to plain relative resources are picked up live by the running app.- When all configured resources are plain relative paths (e.g.
"assets/*"), the resource directory resolves to the directory containingtauri.conf.jsonand files are read directly from the sources. - When resources are remapped (map notation,
../or absolute paths), the bundle layout is mirrored next to the executable on the first resource directory access of each run.
The
bundle > resourcesconfiguration is now part of the config embedded bygenerate_context!, where it was previously stripped. - When all configured resources are plain relative paths (e.g.
Bug Fixes
65b3b040aThetauricustom protocol now resolves the asset path from the request URI path instead of stripping a hardcodedtauri://localhostprefix, so a runtime is free to define any custom scheme URL format inRuntime::custom_scheme_url.
Performance Improvements
-
fb7bdd95bReduce the size of the resolved ACL embedded in the app by storing the autogenerated command permissions as acommandslist on the plugin/app manifest instead of two explicit permissions (allow-$commandanddeny-$command) per command. Theallow-$command/deny-$commandpermissions are now materialized on demand when resolving the ACL.The application manifest also gains implicit
allow-*anddeny-*permissions that allow or deny all of its commands through a single resolved entry, so capabilities no longer need to list every command individually.
What's Changed
Dependencies
- Upgraded to
tauri-utils@3.0.0-alpha.0 - Upgraded to
tauri-build@3.0.0-alpha.0 - Upgraded to
tauri-macros@3.0.0-alpha.0 - Upgraded to
tauri-runtime@3.0.0-alpha.0
Breaking Changes
-
1e5ba7b53(#15985) Thedevtools,macos-private-apiandunstablefeatures must now be enabled on the runtime crate (tauri-runtime-wryortauri-runtime-cef), which also enables them ontauri. Enabling them ontaurialone no longer enables them on the runtime. -
1e5ba7b53(#15985) Runtime-specific APIs moved from thetauricrate to extension traits in the runtime crates, which now depend ontauri:tauri_runtime_wry::{AppHandleWryExt, AppWryExt, WebviewWryExt, WebviewWindowBuilderWryExt, WebviewBuilderWryExt}providecreate_tao_window,send_tao_window_event,wry_plugin,with_wry_webview,with_environment,with_related_viewandwith_webview_configuration.tauri_runtime_cef::{WebviewCefExt, WebviewWindowBuilderCefExt, WebviewBuilderCefExt}providesend_dev_tools_message,on_dev_tools_protocolandbrowser_runtime_style.- The traits are implemented both for the concrete runtime and for
tauri::DynRuntime, returningtauri_runtime::Error::RuntimeTypeMismatchwhen the app runs on a different runtime. - The
tauri::taoandtauri::wryre-exports were removed, usetauri_runtime_wry::{tao, wry}. tauri::webview::PlatformWebview::downcast_refwas added to reach the runtime's webview type fromwith_webview, whatever the runtime generic in use.
-
1e5ba7b53(#15985) The custom scheme URL format (tauri://localhostorhttp://tauri.localhost) is now defined by the runtime instead of the platform:Runtime::custom_scheme_urlmoved toRuntimeHandle::custom_scheme_url(&self, scheme, https), and theconvertFileSrcJavaScript API takes the format from the runtime.tauri::test::MockRuntimeusestauri://localhoston every platform, so tests that sent IPC requests fromhttp://tauri.localhoston Windows and Android must usetauri://localhostinstead. -
1e5ba7b53(#15985) Added the requiredRuntimeHandle::webview_versionmethod, exposed asApp::webview_versionandAppHandle::webview_version. Thetauri::webview_versionfunction was removed since the version depends on the runtime in use. -
1e5ba7b53(#15985) The webview runtime is now selected when building the app instead of through Cargo features of thetauricrate. Applications depend on the runtime crate directly and pass its attributes totauri::Builder::runtime:tauri::Builder::default() .runtime(tauri_runtime_wry::Wry::default()) // or `tauri_runtime_cef::Cef::default()` .run(tauri::generate_context!()) .expect("error while running tauri application");
- The
wryandceffeatures were removed, along with thex11,dbusandmacos-proxyfeatures that were forwarded to the wry runtime. - The
tauri::Wry,tauri::WryHandle,tauri::Cef,tauri::CefHandle,tauri::CefDevToolsProtocol,tauri::CefRuntimeAttributes,tauri::run_cef_helper_processandtauri::CEF_API_VERSION_LASTitems were removed. tauri::Builder::default()uses the new type-erasedtauri::DynRuntime, which is also the default runtime type ofAppHandle,Window,Webviewand the other generic types, so they can still be used without naming the runtime. Building the app fails withRuntimeNotConfiguredif no runtime was selected.- Static dispatch remains available with
tauri::Builder::<tauri_runtime_wry::WryRuntime>::new(), whoseruntimemethod takes the attributes of that runtime. Theruntime_init_attrsbuilder method was merged intoruntime.
- The
-
c8c75b1f7(#15787) The Linux GTK bindings are now selected by the newgtk3andgtk4features instead of being always on, sotaurican be built for either GTK version and compiles on Linux and BSD without any GTK dependency at all.- Runtime crates enable the right one for you:
tauri-runtime-wryenablesgtk3andtauri-runtime-cefenablesgtk4. Apps and plugins that depend ontaurialone and useWindow::gtk_window,Window::default_vbox,WindowBuilder::transient_for_rawor the Linux menu integration must enable one of them explicitly - those items are now gated behind the features. - Enabling both selects GTK 4, the same precedence
mudaandtray-iconuse. Cargo does that whenever the dependency graph contains runtime crates that disagree on the GTK version, and such a binary can only ever run one of them, because GTK 3 and GTK 4 cannot be initialized in the same process. The GTK APIs and the Linux menu integration now fail with the newError::GtkVersionMismatchunder a runtime whose GTK version is not the one that was selected, instead of reinterpreting its window objects. - The
testfeature no longer implies GTK 3, so it can be combined withgtk4.
- Runtime crates enable the right one for you:
-
c8c75b1f7(#15787) The Linux tray icon now uses the ksni (StatusNotifierItem over D-Bus) backend by default instead of libappindicator, dropping the libayatana-appindicator system dependency. Thetray-iconfeature no longer needs a GTK version to be selected. Enable the newlinux-libappindicatorfeature to go back to the libappindicator backend.
Cargo Publish
Updating crates.io index
Packaging tauri v3.0.0-alpha.0 (/home/runner/work/tauri/tauri/crates/tauri)
Updating crates.io index
Packaged 142 files, 1.4MiB (309.5KiB compressed)
Verifying tauri v3.0.0-alpha.0 (/home/runner/work/tauri/tauri/crates/tauri)
Downloading crates ...
Downloaded alloc-no-stdlib v2.0.4
Downloaded alloc-stdlib v0.2.4
Downloaded cookie v0.18.2
Downloaded serialize-to-javascript v0.1.2
Downloaded brotli-decompressor v5.0.3
Downloaded dpi v0.1.2
Downloaded serde_repr v0.1.21
Downloaded signal-hook-registry v1.4.8
Downloaded muda v0.20.0
Downloaded tokio-macros v2.7.2
Downloaded raw-window-handle v0.6.2
Downloaded serialize-to-javascript-impl v0.1.2
Downloaded brotli v8.0.4
Downloaded getrandom v0.3.4
Downloaded tray-icon v0.25.0
Downloaded futures-macro v0.3.34
Downloaded tauri-runtime v3.0.0-alpha.0
Downloaded keyboard-types v0.8.3
Downloaded reqwest v0.13.4
Downloaded tauri-macros v3.0.0-alpha.0
Downloaded tauri-build v3.0.0-alpha.0
Compiling serde_core v1.0.229
Compiling zerofrom v0.1.8
Compiling phf_shared v0.13.1
Compiling serde v1.0.229
Compiling yoke v0.8.3
Compiling phf_generator v0.13.1
Compiling stable_deref_trait v1.2.1
Compiling zerovec v0.11.8
Compiling phf_macros v0.13.1
Compiling tinystr v0.8.4
Compiling phf_codegen v0.13.1
Compiling icu_locale_core v2.3.0
Compiling potential_utf v0.1.6
Compiling zerotrie v0.2.5
Compiling icu_collections v2.3.0
Compiling thiserror v2.0.20
Compiling parking_lot_core v0.9.12
Compiling phf v0.13.1
Compiling string_cache_codegen v0.6.1
Compiling serde_json v1.0.151
Compiling icu_provider v2.3.1
Compiling web_atoms v0.2.6
Compiling icu_normalizer v2.3.0
Compiling icu_properties v2.3.0
Compiling parking_lot v0.12.5
Compiling bytes v1.12.1
Compiling alloc-no-stdlib v2.0.4
Compiling smallvec v1.16.0
Compiling alloc-stdlib v0.2.4
Compiling string_cache v0.9.0
Compiling idna_adapter v1.2.2
Compiling getrandom v0.4.3
Compiling serde_spanned v1.1.1
Compiling toml_datetime v1.1.1+spec-1.1.0
Compiling pin-project-lite v0.2.17
Compiling futures-core v0.3.34
Compiling form_urlencoded v1.2.2
Compiling toml v1.1.5+spec-1.1.0
Compiling uuid v1.26.0
Compiling idna v1.1.0
Compiling brotli-decompressor v5.0.3
Compiling selectors v0.38.0
Compiling cssparser v0.37.0
Compiling markup5ever v0.39.0
Compiling brotli v8.0.4
Compiling url v2.5.8
Compiling http v1.5.0
Compiling percent-encoding v2.3.2
Compiling html5ever v0.39.0
Compiling jsonptr v0.7.1
Compiling cfb v0.14.0
Compiling erased-serde v0.4.10
Compiling time v0.3.55
Compiling mio v1.2.3
Compiling socket2 v0.6.5
Compiling tokio v1.53.1
Compiling schemars v1.2.2
Compiling dom_query v0.28.0
Compiling plist v1.10.1
Compiling infer v0.22.0
Compiling cargo_metadata v0.19.2
Compiling serde-untagged v0.1.9
Compiling json-patch v4.2.0
Compiling crc32fast v1.5.1
Compiling urlpattern v0.6.0
Compiling serde_with v3.23.0
Compiling shlex v2.0.1
Compiling find-msvc-tools v0.1.12
Compiling cc v1.4.5
Compiling flate2 v1.1.10
Compiling tauri-utils v3.0.0-alpha.0
Compiling http-body v1.1.0
Compiling rustc_version v0.4.1
Compiling time-macros v0.2.32
Compiling once_cell v1.21.4
Compiling httparse v1.10.1
Compiling futures-task v0.3.34
Compiling slab v0.4.12
Compiling futures-util v0.3.34
Compiling embed-resource v3.0.11
Compiling bitflags v2.13.1
Compiling try-lock v0.2.5
Compiling crossbeam-utils v0.8.23
Compiling tower-service v0.3.3
Compiling png v0.17.16
Compiling want v0.3.1
Compiling tauri-winres v0.3.6
Compiling tracing-core v0.1.36
Compiling cargo_toml v1.0.1
Compiling sync_wrapper v1.0.2
Compiling futures-channel v0.3.34
Compiling cookie v0.18.2
Compiling atomic-waker v1.1.2
Compiling tower-layer v0.3.3
Compiling sha2 v0.10.9
Compiling tower v0.5.3
Compiling hyper v1.11.1
Compiling ico v0.5.0
Compiling tracing v0.1.44
Compiling png v0.18.1
Compiling dpi v0.1.2
Compiling muda v0.20.0
Compiling semver v1.0.28
Compiling ipnet v2.12.2
Compiling tauri-runtime v3.0.0-alpha.0
Compiling tauri-build v3.0.0-alpha.0
Compiling futures-sink v0.3.34
Compiling getrandom v0.3.4
Compiling tokio-util v0.7.19
Compiling tauri-codegen v3.0.0-alpha.0
Compiling hyper-util v0.1.20
Compiling crossbeam-channel v0.5.17
Compiling tower-http v0.6.11
Compiling keyboard-types v0.8.3
Compiling http-body-util v0.1.5
Compiling serialize-to-javascript-impl v0.1.2
Compiling raw-window-handle v0.6.2
Compiling serialize-to-javascript v0.1.2
Compiling reqwest v0.13.4
Compiling serde_repr v0.1.21
Compiling mime v0.3.17
Compiling tauri v3.0.0-alpha.0 (/home/runner/work/tauri/tauri/target/package/tauri-3.0.0-alpha.0)
Compiling tauri-macros v3.0.0-alpha.0
Finished `dev` profile [unoptimized + debuginfo] target(s) in 31.44s
Uploading tauri v3.0.0-alpha.0 (/home/runner/work/tauri/tauri/crates/tauri)
Uploaded tauri v3.0.0-alpha.0 to registry `crates-io`
note: waiting for tauri v3.0.0-alpha.0 to be available at registry `crates-io`
help: you may press ctrl-c to skip waiting; the crate should be available shortly
Published tauri v3.0.0-alpha.0 at registry `crates-io`