Tauri Core Releases
tauri, @tauri-apps/api, and the Tauri CLI, grouped by version.
2.12.x
2.12.0
tauri 2.12.0
New Features
3f62c70d6(#13848) AddWebviewBuilder::limit_navigations_to_app_bound_domains,WebviewWindowBuilder::limit_navigations_to_app_bound_domains, and limitNavigationsToAppBoundDomains to tauri.config.json.7dbfc1fe5(#14620) Added theapp > appDirectoriesOverrideconfig to override the directories returned by theapp_*_dirpath APIs, either with a single root directory or per directory. This lets apps keep all of their data, including the data of Tauri itself and of plugins that use these APIs, in a single place of their choosing, such as next to the executable for portable apps. The override can also be set at runtime throughContext::config_mut.d8d02ba60(#14767) Added theexitfunction to@tauri-apps/api/app, backed by the newplugin:app|exitcommand (core:app:allow-exitpermission), to exit the app without requiring the@tauri-apps/plugin-processplugin.460ec3544(#14786) AddWebview::convert_file_srcandWebviewWindow::convert_file_src, the Rust equivalent of the JavaScriptconvertFileSrcfunction. The returned URL uses the scheme the webview was configured with (useHttpsScheme), so it always matches what the webview can load.21ec647cf(#15223) AddBuilder::activate_ignoring_other_appson macOS to control whether the app activates at launch when another app is already active.d203f74a2(#15274) AddedImage::from_app_icon_resourceandImage::from_icon_resourceon Windows for loading images from icon resources embedded in the executable (identified by anIconResourceid or name), and the defaultdefault_window_iconfromtauri::generate_contextmacro is now loaded usingfrom_app_icon_resource. The resource idtauri-buildembeds the application icon with is exposed astauri_utils::platform::WINDOWS_APP_ICON_RESOURCE_ID.29265557c(#15410) Addedapp > windows > noRedirectionBitmapconfig option to disable the window redirection bitmap on Windows.29265557c(#15410) AddedWindowBuilder/WebviewWindowBuilder::no_redirection_bitmapmethod to disable the window redirection bitmap on Windows.382dd6ccc(#14865) Expose thewrypermission handler API through Tauri. This includes support for permission types such asDisplayCapture,Midi,Sensors,MediaKeySystemAccess,LocalFonts,WindowManagement,PointerLock,AutomaticDownloads,FileSystemAccess, andAutoplay. AddedPermissionResponse::{Allow, Deny, Default}for runtime permission decisions.6edc2f4d4(#14926) AddedWindow::set_fullscreen_on_monitor,WebviewWindow::set_fullscreen_on_monitorand thesetFullscreenOnMonitorJavaScript API to make a window fullscreen on the monitor containing a given physical position, along with thecore:window:allow-set-fullscreen-on-monitorpermission.
Enhancements
-
aebf38c84(#15694) Migrate the Android Gradle scripts from the deprecatedkotlinOptionsDSL tocompilerOptions, 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
gradleis on an earlier version, deletesrc-tauri/gen/android/gradle/wrapper/gradle-wrapper.propertiesand re-runtauri android initto update it. -
d3108ff9a(#15578)StatehadSendandSynctrait bounds that were already implied, remove them from the struct definition. -
4a5065653(#14454) AddedRegularandClearLiquid Glass window effects, and theinteractivewindow effects option (macOS 27.0+) that enables the glass' visual response to user interactions. -
459fc315e(#15711) Fix different build and runtime debug assertion profiles on the tauri-utils crate can resulting in compilation errors.
Bug Fixes
-
0349b6fb8(#16072) 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. -
d8d02ba60(#14767) On Android,AppHandle::exit(and the process pluginexitcommand) now finishes the activity instead of exiting the process directly, so the app closes with the system transition instead of flashing a blank screen. -
e3e3474d3On Android,Invoke.resolveObjectand the other values serialized with the plugin JSON mapper now writeJSObjectandJSArrayas JSON objects and arrays. They were serialized through their private fields, so aJSArrayreached the frontend as{ "values": [...] }and aJSObjectas{ "nameValuePairs": {...} }. -
020919a1b(#15798) On Android, fixed requesting permission in a plugin fails after the first activity closed. -
cb2ecac53(#15949) 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, andregisterForActivityResultrejects that withIllegalStateException: LifecycleOwner ... is attempting to register while current state is RESUMED. Each activity now registers its own launchers when it is created. -
f9ed1a3fd(#15838) Fix malformedasset://multi-range responses: the multipart body now ends with the closing boundary,Content-Typeis onlymultipart/byteranges, and the status is206 Partial Content. -
127aa176b(#16050) Loadasset://files asynchronously instead of on the event loop thread, so a slow or unreachable path no longer freezes every window. -
97f6666b9(#16088) Bumptray-iconto0.25andmudato0.20to pick up the fix for left-click events being swallowed by the tray menu on macOS 27 (fix #16035). -
1417768f9(#15679) Remove theChannelused to send event to JavaScript side on dropping the menu -
17717757b(#15617) Remove Rust-side event listeners bound to a window or webview when that target is destroyed, solisten/oncehandlers registered on aWindow,WebvieworWebviewWindowno longer leak after it is closed. -
0aeadb6b2(#15821) Transfer the exit code from thewindow.app_handle().exit(1)call to therun_return()result instead of always returning 0. -
82c706e26Stop queuing large channel payloads once the target webview is closed. They were kept in memory until the app exited, and a new webview reusing the same label could fetch them. -
023fe7f59(#15291) Fix capabilities added at runtime throughadd_capability(featuredynamic-acl) being merged into the command scopes of the build time ACL, which polluted unrelated plugin scopes and made their deserialization fail. Scope values are also no longer duplicated when a scoped permission allows more than one command. -
4a0e1df18(#15604) Remove a webview's JS event listeners from the backendListenersmap 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 manuallyunlisten()before closing a window. -
d727d6316(#15630) 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(#15224) Avoid leaking Objective-C objects inWebviewMessage::WithWebviewon Apple targets by replacingRetained::into_rawwith scoped retained bindings andRetained::as_ptrpointer handoff. -
406feea75(#15800) 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 itshandlerIdthrew, which aborted_unlistenbefore it sent the backendplugin:event|unlistenand left the listener registered. -
448d39ee2(#15860) Fix menu related commands can panic if called with invalid input throughinvokedirectly.- The internal
do_menu_item!macro now returnsErr(crate::Error::UnexpectedMenuKind)instead ofunreachable!() - Added a new error type
tauri::Error::UnexpectedMenuKind menu:newwith thePredefinedkind now returns an error instead of panicking when theitemoption is missing- Converting an
Imageto a menu or tray icon now returnstauri::Error::InvalidIconwhen the RGBA buffer does not match the image size, instead of panicking on Linux when the icon is rendered
- The internal
-
e517fa18e(#15450) Fixrun_main_thread!macro used by things likeMenuItemand some other APIs deadlock when called on main thread withMockRuntime -
2087bcae2(#15920) Fixpath.normalize("")returning an empty string instead of".", matching Node.js and the existingpath.join("")behavior. -
08acfb3fa(#15625) Fix webview don't get focus when Alt-Tab back to the window ifunstablefeature is enabled on Windows -
5a882eccf(#15701) On Linux, fix resize cursor for undecorated Window not being set correctly when mouse is over a resize edge. -
08acfb3fa(#15625) FixWindowEvent::Focusedevents emitted when dragging the window on Windows -
f4feb2ba7(#15950) On Windows, fixedWindow::is_focusedalways returnsfalsein multi-webview mode
Performance Improvements
26a876a9f(#16049) Skip redundant rgba buffer copies in icon conversions (muda::Icon/tray_icon::Icon),Image::from_bytes, and submenu icon construction.ba0828c76(#15955) Skip serializing to JSON forImage::rgba
What's Changed
1fbadc877(#15952) Internal refactors removing anArcand aMutex. DeprecateInvokeMessage::stateandInvokeMessage::state_refthat should accidentally were made public.2e6e33c85(#16029) Moved to edition 2024ce3f13b91(#15887) Lock unstable tauri crates to minor versions.7cc68e74f(#15307)WindowEvent::ResumedandWindowEvent::Suspendedare now only fired for the matching activity window instead of every window.1cffb01da(#13221) Set MSRV to 1.90.
Security fixes
201437309Bind 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.
Dependencies
-
Upgraded to
tauri-utils@2.10.0 -
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-macros@2.7.0 -
e2e585ad1(#15828) On Android, fix missingconsumer-rules.profile in the template.IMPORTANT: For plugin authors, update your
build.gradle.ktsfile to remove thebuildTypes {release {isMinifyEnabled = falseproguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"),"proguard-rules.pro")}}section and rename your
proguard-rules.protoconsumer-rules.proto match theconsumerProguardFiles("consumer-rules.pro")in the template. -
e2e585ad1(#15828) On Android, updated the template to use Gradle v9.6.1 (com.android.tools.build:gradlev9.3.1) and Kotlin v2.2. Usetauri android initto apply the change. -
872428fe9(#15790) On macOS, updatedobjc2-*dependencies to 0.3.2 -
9e9a54dea(#15890) Update swift-rs to support builds using Xcode 27. -
51433d740(#15996) Updatedwindowsto0.62andwebview2-comto0.39, this drops Windows 7 support, see https://github.com/microsoft/windows-rs/issues/3808.
Breaking Changes
-
26cb3d665(#15563) On Android,$VIDEOandvideo_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.
@tauri-apps/api 2.12.0
New Features
d8d02ba60(#14767) Added theexitfunction to@tauri-apps/api/app, backed by the newplugin:app|exitcommand (core:app:allow-exitpermission), to exit the app without requiring the@tauri-apps/plugin-processplugin.990f77eb2(#15961) AddedJsImagetype alias and documented its relationship to the RustJsImage29265557c(#15410) AddednoRedirectionBitmapoption to theWindowandWebviewWindowconstructors on Windows.6edc2f4d4(#14926) AddedWindow::set_fullscreen_on_monitor,WebviewWindow::set_fullscreen_on_monitorand thesetFullscreenOnMonitorJavaScript API to make a window fullscreen on the monitor containing a given physical position, along with thecore:window:allow-set-fullscreen-on-monitorpermission.
Enhancements
-
be019795a(#14103) Add ECMAScript Explicit Resource Management to Resource. You can now use theusingsyntax in supported browsers or with polyfills: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.} -
4a5065653(#14454) AddedRegularandClearLiquid Glass window effects, and theinteractivewindow effects option (macOS 27.0+) that enables the glass' visual response to user interactions.
Bug Fixes
4fabe2ff1(#16067) FixWindow.setBackgroundColor,Webview.setBackgroundColorandWebviewWindow.setBackgroundColorsending acolorargument while theplugin:window|set_background_colorandplugin:webview|set_webview_background_colorcommands expectlabelandvalue. The color was always deserialized asNone, so instead of applying the given color the call cleared the background of the calling window/webview.32efd0232(#15957)Image.rgbanow returns a more specific typePromise<Uint8Array<ArrayBuffer>>instead of the defaultPromise<Uint8Array<ArrayBufferLike>
cli 2.12.0
New Features
-
f6c1eb253(#15401) Addedbundle.windows.bundleVCRuntimeto copy the Visual C++ runtime DLLs into Windows MSI and NSIS installers. The bundler locates the runtime throughVCTOOLS_REDIST_DIRor the bundledvswhere.exe. -
f76b1d3ae(#15644) The bundler now prints the size of each generated bundle next to its path in theFinished N bundles at:output (directories such as macOS.appbundles are measured recursively). -
af465eae1(#15619) Add a--no-binary-patchingflag totauri buildandtauri 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(#15620) Add a--fitoption totauri iconto accept non-square source images.--fit covercenter-crops the source to a square (clipping the longer side) and--fit containpads the shorter side with transparency. Non-square sources without--fitkeep erroring, now with a hint pointing to the flag. -
f6c1eb253(#15401) Addedbuild.windows.staticVCRuntimeto control MSVC static runtime linking. TheSTATIC_VCRUNTIMEenvironment variable is now deprecated and emits a migration warning when used. -
f45ec0dcfRecord the app version in the trusted comment of updater signatures, so a signed artifact is bound to the version it was released as.An update endpoint response is not signed, and the signature only covers the downloaded artifact, so the announced
versionon its own does not prove which release theurlandsignaturepoint at. minisign covers the trusted comment with its global signature, which lets the updater plugin compare the two and reject a response that pairs a version number with a different release. EnablerequireSignedVersionin the updater plugin configuration to enforce this.tauri buildfills the version in automatically, andtauri plugin add updaternow enablesrequireSignedVersionfor the project it is adding the plugin to.tauri signer signgains an--app-versionflag for signing updater artifacts by hand, and warns when it is omitted.
Enhancements
-
e19121427(#15993) Don't always rewriteCargo.tomlfile from CRLF line endings to LF -
aebf38c84(#15694) Migrate the Android Gradle scripts from the deprecatedkotlinOptionsDSL tocompilerOptions, 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
gradleis on an earlier version, deletesrc-tauri/gen/android/gradle/wrapper/gradle-wrapper.propertiesand re-runtauri android initto update it. -
d89d8fa62(#15780) 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. -
c3d21bd60(#15730) UseTheme.Material3.DayNight.NoActionBarinstead ofTheme.MaterialComponents.DayNight.NoActionBarwhen runningtauri android init -
cdaf7eab6(#15765) Clarify that thetauri initfrontend commands run beforetauri devandtauri build, and can be left empty when they are not needed. -
d0f38df06(#15997) When stdin is not a terminal,tauri initnow automatically skips prompts, avoiding IO errors in CI and scripts. This eliminates the need to pass--ciexplicitly in non-interactive environments. -
ca160ad48(#15895)tauri buildnow warns whenproductNameis still set to the defaulttauri-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 forproductNamenow lists what the field controls on each platform, andidentifier's documentation notes that the default value is rejected. -
010f06bae(#15737) Document theTAURI_SIGNING_PRIVATE_KEY_PATHenvironment variable and clarify thatTAURI_SIGNING_PRIVATE_KEYaccepts a string or a path for thebuildandbundlecommand but must be the literal key string for thesigner signcommand, both inENVIRONMENT_VARIABLES.mdand in thesigner generatecommand output.
Bug Fixes
9bad06b9f(#16096)tauri capability newandtauri permission newnow accept an--outpath to a file that does not exist yet, trim comma-separated prompt answers (sofs:default, core:defaultworks), report invalid permissions as errors instead of panicking, and reject identifiers that are not valid file names (such as../../x), which previously let them write outside of the capabilities or permissions directory.9642b3087(#16117)tauri addnow honors--tag,--revand--branchfor official plugins instead of silently installing the registry version, and rejects passing more than one of them. With npm, the JS package requirement is now~<version>like the other package managers, instead of>=<version>which allowed a later major version.cada1cd4f(#16105) Fix Android dev server port forwarding:adb reverse --listis now matched on the exact port (sotcp:80no longer matchestcp:8080), stale forwards on other connected devices are actually removed, and the forward verification gives up with a warning after a few attempts instead of retrying forever.d5bd04658(#16111) Fixbundle > android > debugApplicationIdSuffixbeing written to thesigningConfigsdebug block instead of thebuildTypesone, and keep the existing content of single-line debug blocks such asgetByName("debug") { isDebuggable = true }instead of dropping it.ba17da2e5(#16101)tauri iconnow generates 72x72 Androidhdpilauncher icons (previously 49x49) and writes the Android launcher background color in#RRGGBB/#AARRGGBBnotation instead of the raw CSS color string, which Android rejected or misread. Invalid SVG sources and--png 0now return an error instead of panicking.272842a57(#16128) Fix error messages that printed placeholders such as{t}literally instead of the value, e.g. "Could not find an Android device matching {t}".10ad4e54e(#16127) The Bash completions generated bytauri completionsno longer replace the completions ofcargo,npm,pnpm,yarn,bunanddeno. They now define a_tauri_clifunction registered only for thetauriandcargo-tauricommands. Generating completions when running thecargo-tauribinary directly no longer panics.0e4ded72a(#16107) Fix binaries insrc/binandsrc/main.rsbeing left out of bundles whenCargo.tomldeclares a[[bin]]target without apath.8e0fa2e2f(#16097) Fix the bundler using the host target triple when--targetis not passed butbuild.targetis set in.cargo/config.toml. The CLI now also acceptsbuild.targetas an array and honors theCARGO_BUILD_TARGETenvironment variable.7bb0a5421(#16120) Fix the Cargo.toml feature rewrite corrupting a string dependency version that has a trailing comment or uses single quotes (e.g.tauri = "2" # pinbecame"2#pin"). The version value is now kept as-is and the comment is preserved.e4630258e(#16114) Fix the CLI's working directory being left changed to the config directory when the Tauri configuration fails to parse, for example whentauri devreloads an invalid config.1b91b7b7b(#16102)tauri infonow logs a warning when it cannot check the latest crate version on crates.io instead of silently ignoring the failure, and no longer panics if crates.io returns a version it cannot parse.1b91b7b7b(#16102)tauri infonow lists every locked version of a Rust crate whenCargo.lockcontains more than one, and no longer panics when the crates.io response cannot be parsed.6507d0b8b(#16124)tauri devnow reports an error instead of panicking when thebeforeDevCommandcannot be spawned or thedevUrlhost cannot be resolved, and no longer risks stopping thebeforeDevCommandprocess tree twice when Ctrl+C and the app exit race.c1ea96ad6(#16110) Fixtauri devnot reacting to the app exiting when a process spawned by the app kept its stderr open, and stop keeping the whole app stderr output in memory. Also fix command output capture that could return empty output when the command finished before its output was read.d61fbdc3e(#16109) Fix Cargo.toml feature injection and the v1 migration only updating either[dependencies]or[target.'cfg(..)'.dependencies], whichever came first in the file. Both the main and all target-specific dependency tables are now updated.5d995ed35(#16017) Normalizegen/android/gradlewCRLF line endings to LF on all host platforms, not only Unix. Agradlewchecked out with CRLF brokesh ./gradlewon 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 invokesgradlew.bat, so failures there only warn.6d943c420(#16065) Fix thetauri capability newcommand description, which said "Create a new permission file", and the--skip-staplinghelp text ontauri buildandtauri bundle, whose first line described the opposite of what the flag does.b8be924d3(#16106)tauri initno longer panics when the app name, window title, frontend dist, dev URL or before dev/build commands contain quotes or backslashes (e.g.-D ..\distorvite --host "0.0.0.0"); the values are now JSON-escaped in the generatedtauri.conf.json.b9b32a259(#16108) FixPRODUCT_BUNDLE_IDENTIFIERin the iOS Xcode project being set to the rawidentifier(with underscores) instead of the sanitized iOS bundle identifier used by the Xcode project template and the export options provisioning profiles.4f51a2f06(#16115) Fixtauri ios run --featuresbeing ignored, andtauri ios dev --releasestill building the app in debug mode.59e077457(#16075)tauri ios buildfor a simulator target no longer fails with "failed to rename app: Directory not empty" when the output.appfrom a previous build exists.fe1aa30d2(#16113) Quote the Tauri CLI path and the Xcode variables in the iOS "Build Rust Code" build phase, fixing builds when Xcode or the CLI is installed in a path containing spaces (requires regenerating the Xcode project withtauri ios init). Also fixesCXXFLAGSnot being set for iOS targets intauri ios xcode-script.aa0a801c3(#16116) Fix Java version detection for the Android Java/Gradle compatibility warning whenJAVA_HOMEis not set: thejavabinary onPATHis now resolved through symlinks (e.g. Linux alternatives and Homebrew), and on macOS the/usr/bin/javastub falls back to/usr/libexec/java_home.1aafaa4e3(#16103) When rewriting a localhostdevUrlto the network address for mobile development, the query string and fragment are now preserved, and the IPv6 loopback ([::1]) and unspecified ([::]) addresses are now treated as localhost.022932dd5(#16123) Fix iOS Xcode project synchronization corruptingproject.pbxprojwhen several build settings were added to the same configuration, when an added setting was changed again, or when a multi-line setting was overwritten. Product names, signing identities and other values written to the project are now properly escaped.a4099d819(#16098)tauri permission add(andtauri add) no longer overwrites an existingcapabilities/desktop.jsonorcapabilities/mobile.jsonwhen adding a desktop-only or mobile-only plugin permission and no platform-restricted capability exists; the new capability now gets an unused file name and identifier (e.g.desktop-2.json). An explicitly passed capability is now used even if its platforms do not match the plugin, with a warning, instead of being silently ignored.e49d1b474(#16100)tauri permission rm <plugin>:*andtauri removeno longer strip unrelated permissions whose identifier merely contains the plugin name (e.g.tauri remove osremovingpositioner:default). Local permission files are now looked up in the Tauri directory, liketauri permission new, and an unparsable permission file is skipped with a warning instead of aborting the command.efa82f5ed(#16125) Fix plugin scaffolding for names likemy-plugin: the default Android package ID now uses a snake_case segment (com.plugin.my_plugin) and user-provided IDs are validated, iOS Xcode folders use the same kebab-case name as the project file, and theplugin ios init/plugin android initcode snippets now match the generated bindings and thesetup(|app, api| ..)API.plugin initinto a non-empty directory no longer creates apermissionsfolder after skipping the template.db6804d80(#16126) Fix--releasebeing added to the cargo command when a custom profile is passed as--profile=<name>, which made cargo reject the build.8310461f6(#16104) Fixtauri initandtauri infodetecting SvelteKit projects as plain Svelte;tauri initsuggested the wrong dev server URL and frontend dist directory.eaf96690d(#15804) On Linux, do not bundle xdg-open and xdg-utils in the AppImage anymore. This rarely worked and usually requires host system support anyway.2b7c1f8b6(#16003) Fixtauri add/tauri removeinstalling npm plugin packages intosrc-tauriinstead of the frontend directory.c735ba32b(#15241) Fix broken child window icons in Task Manager, you'll need to re-runtauri iconto generate the fixed iconsadf5acf6f(#15651) Fix MSI bundling when an external binary filename starts with a digit.11012a13f(#15681) Fix WiX bundler doesn't respect the resource's target file name.59e077457(#16075) Detect pnpm fromnpm_config_user_agentwhen generating the mobile projects. pnpm's native binary (pnpm 11+) runs package scripts without settingPNPM_PACKAGE_NAME, and when installed through corepack the binary is namedpnpm-native, sotauri android initrecordedpnpm-nativeas the command for Gradle to run and the Android build failed with "A problem occurred starting process 'command 'pnpm-native''".6a298ee12(#15713) Fixtauri inforeporting the Rust-only plugins (localhost,persisted-scopeandsingle-instance) as missing their@tauri-apps/plugin-*JavaScript package, which is never published for those plugins.33b3ea582The bundledvswhere.exeis now written to a new, uniquely named temporary file on each use and removed afterwards, instead of running any existing%TEMP%\vswhere.exe.
What's Changed
2e6e33c85(#16029) Moved to edition 2024 for thetauri init/tauri plugin inittemplates2e6e33c85(#16029) Moved to edition 2024ce3f13b91(#15887) Lock unstable tauri crates to minor versions.1cffb01da(#13221) Set MSRV to 1.90.
Security fixes
98918df64(#16112)tauri addno longer installs the npm packagetauri-plugin-<name>-apifor community plugins. npm and crates.io are separate namespaces, so that package may be unowned or squatted; the CLI now asks you to install the plugin's JavaScript bindings yourself.tauri removeonly removes the plugin's JS package whenpackage.jsonlists it, and a failure there no longer skips the capability cleanup.cc9d522c6(#16095) The built-in dev server now rejects requests whoseHostheader is not the address it serves on, which blocks DNS rebinding attacks, and rejects cross-siteOrigins on its reload WebSocket. Theindex.htmlfallback now goes through the same path scope check as other files, and the reload WebSocket no longer closes when the client sends a message.dacddfe9f(#16094) The CLI no longer writes its default ignore rules to shared files in the system temporary directory (.gitignoreand.tauri/.gitignore) and reads them back, which let other local users change which files the project lookup and the dev watcher skip. The rules are now applied in memory.TAURI_CLI_WATCHER_IGNORE_FILENAMEis now consistently treated as an ignore file name looked up in each directory, as documented.fdd56da19(#16099) Secure the local server thattauri android|ios dev|builduses to pass options to the Android Studio and Xcode build scripts: requests now need a random per-session token, WebSocket connections from web pages (with anOriginheader) are rejected, and variables whose name containsTOKEN,PASSWORD,SECRETorCREDENTIALare no longer sent. The connection details are now written with owner-only permissions togen/<android|apple>/.tauri/cli-options-server.json(instead of the shared temp directory) and removed when the command exits. The IDE build scripts now report a clear error when the Tauri CLI command is not running.ff7cd8d86(#16118)tauri signer generate --write-keysnow creates the private key with owner-only permissions (0600) on Unix and refuses to overwrite either the private or the public key file without--force. Updater signing now rejects file names containing tabs or newlines (which would corrupt the signature's trusted comment) and assumes an empty password instead of prompting when no password is given and stdin is not a terminal.tauri signerreports errors instead of panicking.51aa20388(#16119) On Windows, package manager commands (npm,pnpm,yarn,bun,deno,node) are now executed directly instead of throughcmd /c, so arguments such as@tauri-apps/plugin-fs@>=2are escaped properly and can no longer be interpreted as shell redirections or command separators.
Dependencies
-
Upgraded to
tauri-utils@2.10.0 -
Upgraded to
tauri-bundler@2.10.0 -
Upgraded to
tauri-macos-sign@2.4.0 -
e2e585ad1(#15828) On Android, fix missingconsumer-rules.profile in the template.IMPORTANT: For plugin authors, update your
build.gradle.ktsfile to remove thebuildTypes {release {isMinifyEnabled = falseproguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"),"proguard-rules.pro")}}section and rename your
proguard-rules.protoconsumer-rules.proto match theconsumerProguardFiles("consumer-rules.pro")in the template. -
e2e585ad1(#15828) On Android, updated the template to use Gradle v9.6.1 (com.android.tools.build:gradlev9.3.1) and Kotlin v2.2. Usetauri android initto apply the change. -
9e9a54dea(#15890) Update the generated iOS Xcode project to build with Xcode 27. The scenes lifecycle is not enabled by default: to opt in, add theUIApplicationSceneManifestkey to yoursrc-tauri/Info.ios.plist. -
b6660a041(#15954) Update typescript to v7 intauri plugin inittemplate. Also fixes the defaultrootDirin the templatetsconfig.json -
9e9a54dea(#15890) Update cargo-mobile2 and change the default minimum iOS version to 15.0 to support Xcode 27.
2.11.x
2.11.5
tauri 2.11.5
Dependencies
44594d6f1(#15631 by @Legend-Master) Unpintimeas a new fixed version0.3.53has been published
2.11.4
tauri 2.11.4
Dependencies
-
Upgraded to
tauri-runtime-wry@2.11.4 -
0299da0d3(#15616 by @Legend-Master) Pinningtimeto<0.3.52used bycookieto mitigate a compilation error, see
cli 2.11.4
Bug Fixes
67ffa192a(#15596 by @FabianLars) Fixed an issue in the AppImage bundler that caused the/.desktopand.DirIconfiles to be absolute symlinks instead of relative symlinks which caused problems with AppImage installers likeAppManager.
Dependencies
- Upgraded to
tauri-bundler@2.9.4
2.11.3
tauri 2.11.3
Bug Fixes
5075c81a1(#15550 by @Legend-Master) Fix double clickingdata-tauri-drag-regionmaximizes the window even whenis_maximizableis set to false7af245c60(#15474 by @Legend-Master) Fixtauri::scope::fs::Scope::oncedeadlocks4c8bb98cd(#15475 by @Legend-Master) FixListener::oncecan be called multiple times if they triggeremit(s) inside the handler66f873d62(#15491 by @bclarke123) Adjust mutex locking insend_channel_data_handler,handle_android_plugin_response,send_channel_datato avoid deadlocks
Performance Improvements
e6083a111(#15220 by @DeTeam) Loadtauri://custom protocol handlers asynchronously to speed up load time800eade58(#15444 by @Legend-Master) Reuse proxy reqwest client in mobile dev, improving the dev load speed
Dependencies
cli 2.11.3
Bug Fixes
-
50b0237ed(#15549 by @Legend-Master) Escape special characters inproductNamewhen generating Androidstrings.xml -
728c8d4a5(#15473 by @Legend-Master) Skip building bundles when usingtauri android run -
828f710a5(#15427 by @puneetdixit200) Prevent binaries gated by disabled Cargo features from being re-added by thesrc/binscan. -
be0cb0d43(#15344 by @raglady) Fix NDK_HOME environment variable not honored when set -
ed8fd411f(#15552 by @Legend-Master) Makeureq_protoshow trace level logs only on-vvvinstead of-vv -
fca4a31f9(#15454 by @fallintoplace) Fixtauri migrategenerating invalid namespace imports for aliased pluginified imports from@tauri-apps/api.Inputs like
import { cli as superCli } from "@tauri-apps/api"now migrate toimport * as superCli from "@tauri-apps/plugin-cli"instead of producing invalid ESM syntax. The migration tests also reparse migrated JS, Svelte, and Vue output so syntax regressions are caught directly.
Dependencies
- Upgraded to
tauri-utils@2.9.3 - Upgraded to
tauri-bundler@2.9.3
2.11.2
tauri 2.11.2
Bug Fixes
47e1b7549(#15386 by @DominikPeters) FixedSubmenu.setAsWindowsMenuForNSApp()calling the Help menu setter instead of the Window menu setter.
Dependencies
- Upgraded to
tauri-utils@2.9.2 - Upgraded to
tauri-runtime@2.11.2 - Upgraded to
tauri-runtime-wry@2.11.2 - Upgraded to
tauri-macros@2.6.2 - Upgraded to
tauri-build@2.6.2
cli 2.11.2
Dependencies
- Upgraded to
tauri-utils@2.9.2 - Upgraded to
tauri-bundler@2.9.2
2.11.1
tauri 2.11.1
Enhancements
Bug Fixes
Security fixes
1b26769f9(#15266) Enforce ACL checks for IPC requests from remote origins even when noAppManifestis configured. Previously, custom (non-plugin) commands bypassed ACL entirely without anAppManifest, allowing any origin to invoke them. Now, remote origins are always subject to ACL resolution, and can only reach custom commands if an explicitremotecapability has been granted.ba025588fCorrectly handle .localhost suffix in local origins on Windows and Android to fix a security issue that made tauri think remote websites that started with a registered scheme were local websites. For example, when registering anappcustom protocol, Tauri would thinkhttp://app.evil.com/would be a local URL on Windows/Android.
Dependencies
- Upgraded to
tauri-utils@2.9.1 - Upgraded to
tauri-runtime@2.11.1 - Upgraded to
tauri-runtime-wry@2.11.1 - Upgraded to
tauri-macros@2.6.1 - Upgraded to
tauri-build@2.6.1
@tauri-apps/api 2.11.1
cli 2.11.1
Dependencies
- Upgraded to
tauri-utils@2.9.1 - Upgraded to
tauri-bundler@2.9.1
2.11.0
tauri 2.11.0
New Features
074299c08(#14307) Add Bring All to Front predefined menu item typec00a3dbff(#14473) Add support for therenameattribute in thetauri::commandmacro to allow renaming the command to something other than the function name.a12142a48(#14357) Add macos support for setting the icon and icon template state in the same step of the main thread, to prevent flickering.2dd9b15a2(#15062) Adddata-tauri-drag-region="deep"so clicks on non-clickable children will drag as well. Can still opt out of drag on some regions usingdata-tauri-drag-region="false"001c8fe3d(#14722) Add a WebView option to control browser-level general autofill behavior. This option does not disable password or credit card autofill. On Windows (WebView2), setting it to true disables the general autofill "Suggestions" UI, which may appear even whenautocomplete="off"is specified on input elements. On Linux, macOS, iOS, and Android, this option is currently unsupported and performs no operation.b27be063f(#14925) Addeval_with_callbackto the Tauri webview APIs and runtime dispatch layers.d83d2d92b(#14905) Enable track_caller attribute for async_runtime to provide better location information in logs and panics.cc5c97602(#14486) Implement file association for Android and iOS.cc5c97602(#14486) TriggerRunEvent::Openedon Android.eb0312ea9(#15199) Propagates theEvent::SuspendedandEvent::Resumedevents fromtaowhen they are emitted on mobile targets.093e2b47c(#14484) Support creating multiple windows on Android (activity embedding) and iOS (scenes).093e2b47c(#14484) Addeddbusfeature flag (enabled by default) which is required for theme detection on Linux.1063c48c5(#14523) Add handler for web content process termination on macOS and iOS.
Enhancements
d730770bb(#15117) Simplify async-sync code boundaries, no externally visible changesc69d5ca4b(#15262) Remove a clone, no user-facing changes.4017a7ed7(#14908) Implement retrieving inner PathBuf from SafePathBuf to ease using APIs that require an owned PathBuf
Bug Fixes
110336c88(#15250) Fix initial window position when positioning it to another monitor.9808236eb(#14655) Fix monitor work area Y position on macOS.
What's Changed
d34497ef1(#14862) The new window handler passed toon_new_windowno longer requiresSync, and runs on main thread on Windows, aligning with other platforms
Dependencies
- Upgraded to
tauri-macros@2.6.0 - Upgraded to
tauri-build@2.6.0 - Upgraded to
tauri-runtime@2.11.0 - Upgraded to
tauri-runtime-wry@2.11.0 - Upgraded to
tauri-utils@2.9.0 373b7e677(#15177) Update Specta in lockfile and upgrade dependencies using the removeddoc_auto_cfgattribute to fix errors building documentationa219ede00(#15203) Updatedtray-iconto v0.22
@tauri-apps/api 2.11.0
New Features
074299c08(#14307) Add Bring All to Front predefined menu item typea12142a48(#14357) Add macos support for setting the icon and icon template state in the same step of the main thread, to prevent flickering.001c8fe3d(#14722) Add a WebView option to control browser-level general autofill behavior. This option does not disable password or credit card autofill. On Windows (WebView2), setting it to true disables the general autofill "Suggestions" UI, which may appear even whenautocomplete="off"is specified on input elements. On Linux, macOS, iOS, and Android, this option is currently unsupported and performs no operation.eb0312ea9(#15199) Propagates theEvent::SuspendedandEvent::Resumedevents fromtaowhen they are emitted on mobile targets.
cli 2.11.0
New Features
-
926a57bb0(#15201) Added uninstaller icon and uninstaller header image support for NSIS installer.Notes:
- For
tauri-bundlerlib users, theNsisSettingsnow has 2 new fieldsuninstaller_iconanduninstaller_header_imagewhich can be a breaking change - When bundling with NSIS, users can add
uninstallerIconanduninstallerHeaderImageunderbundle > windows > nsisto configure them.
- For
-
cc5c97602(#14486) Implement file association for Android and iOS. -
4ef5797f0(#15061) Add--no-signand--archive-onlyflags totauri ios build. -
764b9139a(#14313) Prompt to restart the Android emulator if it is not connected to adb. -
5dc2cee60(#14793) Added support forminimumWebview2Versionoption support for the MSI (Wix) installer, the oldbundle > windows > nsis > minimumWebview2Versionis now deprecated in favor ofbundle > windows > minimumWebview2VersionNotes:
- For anyone relying on the
WVRTINSTALLEDPropertytag inmain.wxs, it is now renamed toINSTALLED_WEBVIEW2_VERSION - For
tauri-bundlerlib users, theWindowsSettingsnow has a new fieldminimum_webview2_versionwhich can be a breaking change
- For anyone relying on the
Enhancements
be0e4bd2d(#15218) Added Vietnamese translations for the NSIS installer8718d0816(#15033) Show the context before prompting for updater signing key password
Bug Fixes
fcb702ec4(#14954) Fixbuild --bundlesto allownsisarg in linux+macOS80c1425af(#14921) Fix iOS build failure whenMetal Toolchainis installed by using explicit$(DEVELOPER_DIR)/Toolchains/XcodeDefault.xctoolchainpath instead of$(TOOLCHAIN_DIR)for Swift library search paths.
What's Changed
Dependencies
- Upgraded to
tauri-macos-sign@2.3.4 - Upgraded to
tauri-bundler@2.9.0 - Upgraded to
tauri-utils@2.9.0
2.10.x
2.10.3
tauri 2.10.3
Dependencies
- Upgraded to
tauri-utils@2.8.3 - Upgraded to
tauri-runtime@2.10.1 - Upgraded to
tauri-runtime-wry@2.10.1 - Upgraded to
tauri-macros@2.5.5 - Upgraded to
tauri-build@2.5.6
2.10.2
tauri 2.10.2
Dependencies
- Upgraded to
tauri-macros@2.5.4 - Upgraded to
tauri-build@2.5.5
2.10.1
@tauri-apps/api 2.10.1
Bug Fixes
- Re-release of
2.10.0with working assets.
cli 2.10.1
Bug Fixes
35c35f27a(#14931 by @lucasfernog) Support comma-separated list of Cargo features on all commands.0d1cb83ba(#14932 by @lucasfernog) Fix missing Cargo args when running mobile dev and build commands.33754ae5e(#15022 by @Legend-Master) Fix updater signing private keys generated usingtauri signer generatewith empty password can't be used (The keys generated during tauri were broken between v2.9.3 and v2.10.0, you'll need to regenerate them)
What's Changed
7be58a1c6(#14894 by @Legend-Master) Log patching bundle type information again
Dependencies
- Upgraded to
tauri-utils@2.8.3 - Upgraded to
tauri-bundler@2.8.1
2.10.0
tauri 2.10.0
New Features
-
e919a760e(#14619 by @NaamuKim) Addset_simple_fullscreenmethod toWebviewWindow.This method was already available on the
Windowtype and is now also available onWebviewWindowfor consistency. On macOS, it toggles fullscreen mode without creating a new macOS Space. On other platforms, it falls back to regular fullscreen.
Bug Fixes
853ed4642(#14442 by @ish1416) Fixed 500 error when accessing local video files in Android external storage directory viaconvertFileSrc. Added better error handling and logging for Android external storage access to help diagnose permission and accessibility issues.4d5d78daf(#14812 by @oscartbeaumont) fix(specta): don't use#[specta(rename = ...)]withtauri::ipc::Channelff5d76ca2(#14653 by @Legend-Master)WindowConfig::focusis set tofalseinWindowConfig::default()
What's Changed
0575dd287(#14521 by @kandrelczyk) Change the way bundle type information is added to binary files. Instead of looking up the value of a variable we simply look for the default value.
Dependencies
- Upgraded to
tauri-utils@2.8.2 - Upgraded to
tauri-build@2.5.4 - Upgraded to
tauri-runtime-wry@2.10.0 - Upgraded to
tauri-runtime@2.10.0 - Upgraded to
tauri-macros@2.5.3 75057c7c0(#14778 by @FabianLars) Breaking Change forwith_webviewusers: Updated webkit2gtk-rs crates tov2.0.2.75057c7c0(#14778 by @FabianLars) Update wry tov0.54.
cli 2.10.0
Enhancements
-
f82594410(#13253 by @Armaldio) Allow electron to run the CLI directly -
2d28e3143(#14632 by @sftse) Small code refactors for improved code readability. No user facing changes. -
a2abe2e6b(#14607 by @sftse) Simplified internal representation offeatures: Option<Vec<String>>withVec<String>, no user facing changes -
84b04c4a8(#14759 by @amrbashir) Added new environment variables fortauri signer signcommand, to align with existing environment variables used intauri build,tauri bundleandtauri signer generateTAURI_SIGNING_PRIVATE_KEYTAURI_SIGNING_PRIVATE_KEY_PATHTAURI_SIGNING_PRIVATE_KEY_PASSWORD
The old environment variables are deprecated and will be removed in a future release.
TAURI_PRIVATE_KEYTAURI_PRIVATE_KEY_PATHTAURI_PRIVATE_KEY_PASSWORD
Bug Fixes
-
62aa13a12(#14629 by @lucasfernog) Fixandroid build's--aaband--apkflags requiring a value to be provided. -
eccff9758(#14779 by @lucasfernog) Fix empty associated-domains entitlements when domains are not configured for deep links. -
ea31b07f1(#14789 by @Legend-Master) Fixed the command description fortauri inspect -
7fca58230(#14830 by @Legend-Master) Updatednsis_tauri_utilsto 0.5.3:- Use an alternative method
CreateProcessWithTokenWto run programs as user, this fixed a problem that the program launched with the previous method can't query its own handle
- Use an alternative method
-
53611c4d7(#14747 by @Legend-Master) Only watch dependent workspace members when runningtauri devinstead of watching on all members -
1b0e335d3(#14713 by @wasuaje)tauri signer signdoesn't work for files without an extension
What's Changed
e3fdcb500(#14836 by @sftse) Continued refactors of tauri-cli, fix too weak atomics.0575dd287(#14521 by @kandrelczyk) Change the way bundle type information is added to binary files. Instead of looking up the value of a variable we simply look for the default value.7f7d9aac2(#14668 by @sftse) Refactored internal use of static on config and directory resolvings, no user facing changes, please report any regressions if you encounter any
Dependencies
- Upgraded to
tauri-utils@2.8.2 - Upgraded to
tauri-macos-sign@2.3.3 - Upgraded to
tauri-bundler@2.8.0
2.9.x
2.9.6
cli 2.9.6
What's Changed
7b1b3514d(#14621 by @Legend-Master) Errors likeError Failed to parse version 2 for for NPM package tauriwhen there was nopackage-lock.jsonfile present yet or when using ones likelink:./tauriare now only logged in--verbosemode.
Dependencies
- Upgraded to
tauri-macos-sign@2.3.2 - Upgraded to
tauri-bundler@2.7.5
2.9.5
tauri 2.9.5
Bug Fixes
251203b89(#14637 by @Legend-Master) FixMonitor::work_areareturns logical position and size inside thePhysicalRecton Linux
Dependencies
- Upgraded to
tauri-runtime-wry@2.9.3
cli 2.9.5
Bug Fixes
f022b2d1a(#14582 by @hrzlgnm) Fixed an issue that caused the cli to error out with missing private key, in case the option--no-signwas requested and thetauri.confighas signing key set and the plugintauri-plugin-updateris used.f855caf8a(#14481 by @Legend-Master) Fixed the mismatched tauri package versions check didn't work for pnpm79a7d9ec0(#14468 by @FabianLars) Fixed an issue that caused the cli to print errors likeError Failed to parse version 2 for crate tauriwhen there was noCargo.lockfile present yet. This will still be logged in--verbosemode.
Performance Improvements
ce98d87ce(#14474 by @Tunglies) refactor: remove needless collect. No user facing changes.ee3cc4a91(#14475 by @Tunglies) perf: remove needless clones in various files for improved performance. No user facing changes.
Dependencies
- Upgraded to
tauri-bundler@2.7.4 - Upgraded to
tauri-macos-sign@2.3.1 - Upgraded to
tauri-utils@2.8.1
2.9.4
tauri 2.9.4
Performance Improvements
ce98d87ce(#14474 by @Tunglies) refactor: remove needless collect. No user facing changes.ee3cc4a91(#14475 by @Tunglies) perf: remove needless clones in various files for improved performance. No user facing changes.
Dependencies
- Upgraded to
tauri-utils@2.8.1 - Upgraded to
tauri-runtime@2.9.2 - Upgraded to
tauri-runtime-wry@2.9.2 - Upgraded to
tauri-macros@2.5.2 - Upgraded to
tauri-build@2.5.3
cli 2.9.4
Bug Fixes
b586ecf1f(#14416 by @Legend-Master) Premultiply Alpha before Resizing which gets rid of the gray fringe around the icons for svg images.
2.9.3
tauri 2.9.3
Bug Fixes
4b00130b8(#14385 by @lucasfernog) Fix iOS deadlock when running on the simulator from Xcode by properly piping stdout/stderr messages through the Xcode console and OSLog.
Dependencies
- Upgraded to
tauri-macros@2.5.1 - Upgraded to
tauri-build@2.5.2
cli 2.9.3
Enhancements
22edc65aa(#14408 by @FabianLars) Set user-agent in bundler and cli http requests when fetching build tools.779612ac8(#14379 by @moubctez) Properly read therequired-featuresfield of binaries in Cargo.toml to prevent bundling issues when the features weren't enabled.
Bug Fixes
fd8c30b4f(#14353 by @ChaseKnowlden) Premultiply Alpha before Resizing which gets rid of the gray fringe around the icons.
Dependencies
- Upgraded to
tauri-bundler@2.7.3
2.9.2
tauri 2.9.2
Bug Fixes
28b9e7c7b(#14377 by @Legend-Master) Fixundefined is not an object (evaluating '[callbackId, data]')error on custom protocol IPC fails
cli 2.9.2
Dependencies
- Upgraded to
tauri-bundler@2.7.2
2.9.1
tauri 2.9.1
Bug Fixes
4b6b8690a(#14347 by @FabianLars) Fixed an issue that caused docs.rs builds to fail. No user facing changes.
Dependencies
- Upgraded to
tauri-build@2.5.1 - Upgraded to
tauri-runtime@2.9.1 - Upgraded to
tauri-runtime-wry@2.9.1
@tauri-apps/api 2.9.1
Bug Fixes
ad1dec2e2(#14464 by @funnydino) FixaddPluginListenerfallback added in https://github.com/tauri-apps/tauri/pull/14132 didn't work properly
cli 2.9.1
Dependencies
- Upgraded to
tauri-macos-sign@2.3.0 - Upgraded to
tauri-bundler@2.7.1
2.9.0
tauri 2.9.0
New Features
f5851ee00(#14089) Adds thescroll_bar_styleoption to the Webview and WebviewWindow builders. The possible values for this option are gated behind conditional compilation flags, and will need to be applied using conditional compilation if customised.3397fd9bf(#14133) Added mobile app plugin to support exit and back button press event.68cb31897(#14328) AddedonStop,onDestroy,onRestart,onConfigurationChangedAndroid plugin hooks.2e089f6ac(#14148) Support async Swift plugin methods (completionHandler:) in PluginManager
Bug Fixes
006d59283(#14260) Properly deserialize Android plugin args with key starting withis(previously treated as a getter instead of a field name).69476d8e2(#14170) Fix the stack overflow when having too many commands in a single invoke handler in release build
Dependencies
- Upgraded to
tauri-utils@2.8.0 - Upgraded to
tauri-runtime-wry@2.9.0 - Upgraded to
tauri-runtime@2.9.0 - Upgraded to
tauri-build@2.5.0 - Upgraded to
tauri-macros@2.5.0
@tauri-apps/api 2.9.0
New Features
f5851ee00(#14089) Adds thescrollBarStyleoption to the Webview and WebviewBuilder constructors.3397fd9bf(#14133) Addedapp > onBackButtonPressfor Android back button handling.
Enhancements
59089723f(#14091) Added a config to set a data_directory relative to the app-specific data dir in JavaScript andtauri.conf.json.
Bug Fixes
cli 2.9.0
New Features
f5851ee00(#14089) Adds thescrollBarStyleoption to the window configuration.2a06d1006(#14052) Add a--no-signflag to thetauri buildandtauri bundlecommands to skip the code signing step, improving the developer experience for local testing and development without requiring code signing keys.3b4fac201(#14194) Addtauri.conf.json > bundle > android > autoIncrementVersionCodeconfig option to automatically increment the Android version code.673867aa0(#14094) Try to detect ANDROID_HOME and NDK_HOME environment variables from default system locations and install them if needed using the Android Studio command line tools.3d6868d09(#14128) Added support to defining the content type of the declared file association on macOS (maps to LSItemContentTypes property).3d6868d09(#14128) Added support to defining the metadata for custom types declared intauri.conf.json > bundle > fileAssociations > exportedTypevia theUTExportedTypeDeclarationsInfo.plist property.ed7c9a410(#14108) Addedbundle > macOS > infoPlistandbundle > iOS > infoPlistconfigurations to allow defining custom Info.plist extensions.75082cc5b(#14120) Addedios runandandroid runcommands to run the app in production mode.cc8c0b531(#14031) Added support to universal app links on macOS with theplugins > deep-link > desktop > domainsconfiguration.
Enhancements
94cbd40fc(#14223) Add support for Android's adaptive and themed icons.b5aa01870(#14268) Update cargo-mobile2 to 0.21, enhancing error messages and opening Xcode when multiple apps are installed.55453e845(#14262) Check mismatched versions intauri info1a6627ee7(#14122) Set a default log level filter when runningtauri add log.b06b3bd09(#14126) Improve error messages with more context.f6622a3e3(#14129) Prompt to install the iOS platform if it isn't installed yet.6bbb530fd(#14105) Warn if productName is empty when initializing mobile project.
Bug Fixes
19fb6f7cb(#14146) Strip Windows-only extensions from the binary path so an Android project initialized on Windows can be used on UNIX systems.19fb6f7cb(#14146) Enhance Android build script usage on Windows by attempting to run cmd, bat and exe formats.28a2f9bc5(#14101) Fix iOS CLI usage after modifying the package name.d2938486e(#14261) Replaced the non-standard nerd font character withⱼₛintarui info25e920e16(#14298) Wait for dev server to exit before exiting the CLI when the app is closed ontauri dev --no-watch.b0012424c(#14115) Resolve local IP address whentauri.conf.json > build > devUrlhost is0.0.0.0.abf7e8850(#14118) Fixes mobile project initialization when usingpnpxorpnpm dlx.
Dependencies
- Upgraded to
tauri-utils@2.8.0 - Upgraded to
tauri-bundler@2.7.0
2.8.x
2.8.5
tauri 2.8.5
Enhancements
07e134f70(#14107 by @lucasfernog) Improve error message for request errors on iOS when local network permission has been denied and the app tries to reach the development server.
Dependencies
- Upgraded to
tauri-build@2.4.1
2.8.4
tauri 2.8.4
Bug Fixes
03e7c1193(#14080 by @lucasfernog) Ignore initial navigation toabout:blanksoon_new_windowdoes not give a warning on first navigation on macOS.
Dependencies
- Upgraded to
tauri-runtime-wry@2.8.1
cli 2.8.4
Enhancements
f70b28529(#14093 by @lucasfernog) Ensure Rust targets for mobile are installed when running the dev and build commands (previously only checked on init).a9b342125(#14114 by @lucasfernog) Fix iOS dev and build targeting the simulator on Intel machines.61b9b681e(#14111 by @lucasfernog) RetainRUST_*environment variables when running the mobile commands.c23bec62d(#14083 by @FabianLars) Tauri now ignoresmacOS.minimumSystemVersionintauri devto prevent forced rebuilds of macOS specific dependencies when using something likerust-analyzerat the same time astauri dev.
Bug Fixes
c37a29833(#14112 by @lucasfernog) Fix usage with Deno failing withReferenceError: require is not defined.bcf000c0a(#14110 by @lucasfernog) Fixes runningioscommands withdenocrashing due to incorrect current working directory resolution.7db7142f9(#14119 by @lucasfernog) Fixes empty device name when using an Android emulator causing the emulator to never be detected as running.956b4fd6f(#14106 by @lucasfernog) Use the correct export method on Xcode < 15.4.
2.8.3
tauri 2.8.3
Bug Fixes
534998406(#14054 by @FabianLars) Fixed an issue that caused the runtime WebView2 detection to fail for FixedRuntime installations.
cli 2.8.3
Bug Fixes
0ac89d3b6(#14078 by @FabianLars) Updatedcargo-mobile2to allow running on iOS simulators that have a higher version than the XCode SDK. This fixes compatiblity issues with Apple's recent "iOS 18.5 + iOS 18.6 Simulator" platform support component.
2.8.2
tauri 2.8.2
Bug Fixes
5075b67d3(#14039 by @lucasfernog) Fix compilation when thewryCargo feature is disabled.
@tauri-apps/cli 2.8.2
Dependencies
- Upgraded to
tauri-cli@2.8.1
2.8.1
tauri 2.8.1
Bug Fixes
902727MoveWebviewWindowBuilder::with_related_viewbehind thewryfeature flag.
cli 2.8.1
Dependencies
- Upgraded to
tauri-bundler@2.6.1
Bug Fixes
f0172a454(#14038 by @KushalMeghani1644) FixesremoveDataStorereturn type.
2.8.0
tauri 2.8.0
New Features
68874c68c(#13564 by @robertrpf) Add window focusable attribute and set_focusable API.22d6bcacb(#14008 by @WSH032) ImplementApp::set_device_event_filterforAppHandlealso.d6d5f3707(#13358 by @lucasfernog) Load root certificate from CLI-set environment variable and use it on the mobile dev server proxy.33d0b3f0c(#13876 by @thlstsul) AddedWebviewBuilder::on_document_title_changedandWebviewWindowBuilder::on_document_title_changed.33d0b3f0c(#13876 by @thlstsul) AddedWebviewBuilder::on_new_windowandWebviewWindowBuilder::on_new_window.7c2eb31c8(#13895 by @ahqsoftwares) IntroducesPluginHandle::run_mobile_plugin_asyncas an async alternative torun_mobile_plugindfadcb764(#13661 by @WSH032) AddedWebview::set_cookie(),Webview::delete_cookie(),WebviewWindow::set_cookie()andWebviewWindow::delete_cookie().5110a762e(#13830 by @Sky-walkerX) AddedWindow::set_simple_fullscreen.
Enhancements
-
7261a1436(#14012 by @WSH032) ImplementedWebview::on_webview_eventforWebviewWindowas well -
0e6b5cbe5(#14009 by @WSH032) re-exportPixelUnit,PhysicalUnit,LogicalUnit -
a3dc42477(#14013 by @WSH032) exportTitleBarStylefor all platforms. -
f1232671a(#13959 by @petersamokhin) Introducewith_inner_tray_iconfor TauriTrayIconto access the inner platform-specific tray icon.Note that
tray-iconcrate may be updated in minor releases of Tauri. Therefore, it's recommended to pin Tauri to at least a minor version when you're usingwith_inner_tray_icon. -
72b4226ee(#13809 by @Beanow) ReducedDebugformat size for binary buffers. -
21ebc6e82(#14007 by @WSH032) Changed the parameter type ofAppHandle::remove_pluginfrom&'static strto&str. -
5ba1c3faa(#13722 by @s00d) Added icon (icon and nativeIcon) support for Submenu:- In the Rust API (
tauri), you can now set an icon for submenus via the builder and dedicated methods. - In the JS/TS API (
@tauri-apps/api),SubmenuOptionsnow has aniconfield, and theSubmenuclass providessetIconandsetNativeIconmethods. - Usage examples are added to the documentation and demo app.
This is a backwards-compatible feature. Submenus can now display icons just like regular menu items.
- In the Rust API (
Dependencies
- Upgraded to
tauri-utils@2.7.0 - Upgraded to
tauri-runtime-wry@2.8.0 - Upgraded to
tauri-runtime@2.8.0 - Upgraded to
tauri-macros@2.3.3 - Upgraded to
tauri-build@2.3.2
@tauri-apps/api 2.8.0
New Features
68874c68c(#13564 by @robertrpf) Add window focusable attribute and set_focusable API.5110a762e(#13830 by @Sky-walkerX) AddedWindow::setSimpleFullscreen.
Enhancements
-
5ba1c3faa(#13722 by @s00d) Added icon (icon and nativeIcon) support for Submenu:- In the Rust API (
tauri), you can now set an icon for submenus via the builder and dedicated methods. - In the JS/TS API (
@tauri-apps/api),SubmenuOptionsnow has aniconfield, and theSubmenuclass providessetIconandsetNativeIconmethods. - Usage examples are added to the documentation and demo app.
This is a backwards-compatible feature. Submenus can now display icons just like regular menu items.
- In the Rust API (
cli 2.8.0
New Features
91508c0b8(#13881 by @pepperoni505) Introduces a new configuration option that allows you to specify custom folders to watch for changes when runningtauri dev.bc4afe7dd(#13993 by @lucasfernog) Check installed plugin NPM/crate versions for incompatible releases.a9ec12843(#13521 by @FabianLars) Added a--skip-staplingoption to maketauri build|bundlenot wait for notarization to finish on macOS.0c402bfb6(#13997 by @lucasfernog) Increase default iOS deployment target iOS to 14.0.d6d5f3707(#13358 by @lucasfernog) Added--root-certificate-pathoption toandroid devandios devto be able to connect to HTTPS dev servers.
Enhancements
8b465a12b(#13913 by @FabianLars) The bundler now pulls the latest AppImage linuxdeploy plugin instead of using the built-in one. This should remove the libfuse requirement.390cb9c36(#13953 by @FabianLars) Reduced the log level of the binary patcher crategoblinto only show its debug logs in-vvand above.4475e93e1(#13824 by @FabianLars) The bundler and cli will now read TLS Certificates installed on the system when downloading tools and checking versions.
Bug Fixes
f0dcf9637(#13980 by @Legend-Master) Fix the generated plugin init code oftauri addfortauri-plugin-autostartandtauri-plugin-single-instance4d270a96a(#13943 by @acx0) Fix codesigning verification failures caused by binary-patching during bundlingb21d86a8a(#13981 by @Legend-Master) Fixtauri permission addcould add duplicated permissions to the capability files9c938be45(#13912 by @takecchi) Properly migrate svelte to v5 in the plugin example template
Dependencies
- Upgraded to
tauri-utils@2.7.0 - Upgraded to
tauri-bundler@2.6.0 - Upgraded to
tauri-macos-sign@2.2.0
2.7.x
2.7.1
cli 2.7.1
Dependencies
- Upgraded to
tauri-bundler@2.5.2
2.7.0
tauri 2.7.0
New Features
7bc77a038(#13609 by @Legend-Master) Addedtauri::plugin::Builder::js_init_script_on_all_framesthat allows plugins to add initialization scripts that runs on all frames
Enhancements
7f3c98911(#13837 by @WSH032) AddAppHandle::plugin_boxedandBuilder::plugin_boxedmethods to allow adding plugins in the form of boxed trait objects.7bc77a038(#13609 by @Legend-Master)tauri::plugin::Builder::js_init_scriptnow takesimpl Into<String>instead ofString
Bug Fixes
6a4451bcd(#13849 by @Legend-Master) Fix isolation pattern creates iframes within iframes on Windows4ba871c5d(#13782 by @lucasfernog) Fixes loading external URLs in mobile development mode.1c5df96fe(#13773 by @tasgon) Forward request body on the mobile frontend proxy.
Dependencies
- Upgraded to
tauri-runtime-wry@2.7.2 - Upgraded to
tauri-utils@2.6.0 - Upgraded to
tauri-runtime@2.7.1 - Upgraded to
tauri-macros@2.3.2 - Upgraded to
tauri-build@2.3.1
@tauri-apps/api 2.7.0
New Features
232265c70(#13209 by @kandrelczyk) AddedgetBundleTypeto the app module.
Enhancements
96391467e(#13783 by @JosephBrooksbank) Allow events emitted withemitto be handled correctly bylistencallbacks when in a mocked environment
Bug Fixes
cli 2.7.0
New Features
33d079392(#13811 by @mhbagheri-99) Allow runner configuration to be an object with cmd, cwd, and args properties. The runner can now be configured as{ "cmd": "my_runner", "cwd": "/path", "args": ["--quiet"] }while maintaining backwards compatibility with the existing string format.
Enhancements
232265c70(#13209 by @kandrelczyk) Binaries are patched before bundling to add the type of a bundle they will placed in. This information will be used during update process to select the correct target.
Bug Fixes
916aeaa48(#13781 by @lucasfernog) Fixes Android dev and build commands readingtauri.ios.conf.jsoninstead oftauri.android.conf.jsonto merge platform-specific configuration.acd757428(#13743 by @owjs3901) Fix type of CFBundleVersion generated bytauri ios initwhenbundleVersionis a single number (for example1instead of1.0.0).0f248b111(#13799 by @lucasfernog) Install iOS dependencies when needed.7a6fd5b75(#13863 by @FabianLars) The AppImage bundler now pulls the AppRun binaries from our GitHub mirror, fixing 404 errors.bda830410(#13833 by @Legend-Master) Fail with an error when trying to migrate from v2 alphabda830410(#13833 by @Legend-Master) Use v2 stable instead of v2-rc when migrating from v2-beta
What's Changed
cfc5bb819(#13780 by @Legend-Master) Enable edge to edge intauri android inittemplate12e359061(#13759 by @owjs3901) Update compileSdk, targetSdk in android template to 36
Dependencies
- Upgraded to
tauri-bundler@2.5.1 - Upgraded to
tauri-utils@2.6.0
2.6.x
2.6.2
tauri 2.6.2
Dependencies
- Upgraded to
tauri-runtime-wry@2.7.1
cli 2.6.2
Bug Fixes
cbd962972(#13730 by @lucasfernog) Load--configarguments when running the Xcode and Android Studio build scripts.
2.6.1
tauri 2.6.1
Bug Fixes
5bbcaaec8(#13707 by @Legend-Master) Fix a regression that the JavaScript API can no longer set menus and icons for tray icons
Dependencies
- Upgraded to
tauri-macros@2.3.1
cli 2.6.1
Bug Fixes
4b7370e9e(#13710 by @FabianLars) Fixed an issue in the plugin template (tauri plugin init) that prevented the js build command to fail.
2.6.0
tauri 2.6.0
New Features
50ebddaa2(#13319 by @kingsword09) Expose thesetAutoResizeAPI for webviews in@tauri-apps/api.267368fd4(#13276 by @amrbashir) AddMonitor::work_areagetter267368fd4(#13276 by @amrbashir) Addedtauri::PhysicalRectandtauri::LogicalRecttypes.09c19932d(#13304 by @39zde) Adds the option to configure the HTTPService-Worker-Allowedresponse header inapp > security > headers9c16eefa3(#13629 by @sftse) Addedx11Cargo feature (enabled by default). Disabling it is useful for apps that only support Wayland, reducing its size. NOTE: When manually disabling tauri default features, you must enable thex11feature to support it.
Enhancements
96ecfca42(#13406 by @amrbashir) Check if the webview runtime is accessible when creating a webview, returning an error if it doesn't.
Bug Fixes
94b77b36e(#13288 by @oscartbeaumont) Prevent the JavaScript runtime crashing when channel events fire in a webview that no longer has callbacks for the channel.bc2f0e48a(#13401 by @oscartbeaumont) fix(macOS): caculation for work areadfacb656d(#13360 by @velocitysystems) Fixes multiple event listeners registration for iOS plugins.23b9da75b(#13324 by @kingsword09) Fixed path joining behavior wherepath.join('', 'a')incorrectly returns "/a" instead of "a".638804e9c(#13423 by @kingsword09) Fixed set_window_effects not runs on main thread in WindowBuilder.039f44b7b(#13307 by @lucasfernog) FixTrayIcon.getByIdreturning a new resource ID instead of reusing a previously created id fromTrayIcon.new.76cbeef20(#13278 by @situ2001) Fix JavaScript APIWebview.proxyUrlhad no effect when used in theWebviewconstructorb985eaf0a(#13306 by @lucasfernog) Immediately unregister event listener when the unlisten function is called.
Performance Improvements
6a39f4999(#13464 by @Legend-Master) Use dynamic dispatch for async commands in dev, this should speed up the compilation time by quite a bit, and significantly reduces the incremental compilation time
What's Changed
168629646(#13418 by @Legend-Master) Put dynamic ACL into a featuredynamic-acl, this is currently enabled by default to align with the previous behaviors, you can disable it throughdefault-features = falseto reduce the final binary size by not including the ACL referencesb5c549d18(#13325 by @Legend-Master)transformCallbacknow registers the callbacks insidewindow.__TAURI_INTERNALS__.callbacksinstead of directly onwindow['_{id}']
Dependencies
- Upgraded to
tauri-utils@2.5.0 - Upgraded to
tauri-runtime-wry@2.7.0 - Upgraded to
tauri-macros@2.3.0 - Upgraded to
tauri-build@2.3.0 - Upgraded to
tauri-runtime@2.7.0 9c16eefa3(#13629 by @sftse) Updated tao to 0.34, wry to 0.52 and webview2-com to 0.38.
Breaking Changes
b7cdb3b39(#13410 by @Legend-Master) Feature gated the HTML manipulation code intauri-utilsbehined a flag to reduce compile time
@tauri-apps/api 2.6.0
New Features
50ebddaa2(#13319 by @kingsword09) Expose thesetAutoResizeAPI for webviews in@tauri-apps/api.267368fd4(#13276 by @amrbashir) AddMonitor.workAreafield.
Bug Fixes
23b9da75b(#13324 by @kingsword09) Fixed path joining behavior wherepath.join('', 'a')incorrectly returns "/a" instead of "a".b985eaf0a(#13306 by @lucasfernog) Immediately unregister event listener when the unlisten function is called.
What's Changed
b5c549d18(#13325 by @Legend-Master)transformCallbacknow registers the callbacks insidewindow.__TAURI_INTERNALS__.callbacksinstead of directly onwindow['_{id}']
cli 2.6.0
New Features
414619c36(#13536 by @Tunglies) Added support for thebundleNameproperty in the macOS bundler configuration. This allows specifying theCFBundleNamevalue for generated macOS bundles.3242e1c94(#13659 by @lucasfernog) Allow passing Cargo arguments to mobile dev and build commands.d1ce9af62(#13660 by @lucasfernog) Allow passing--configarguments to theios initandandroid initcommands to tweak the configuration used to initialize the mobile projects.7322f0579(#13502 by @amrbashir) Allow usingCheckIfAppIsRunningmacro inside NSIS hooks, for example!insertmacro CheckIfAppIsRunning "another-executable.exe" "Another Executable".4a880ca69(#13658 by @lucasfernog) Synchronize Tauri config productName changes with the iOS Xcode project.8ee14a864(#13618 by @Sky-walkerX) Warn the user that the app id shouldn't end in.appbecause it conflicts with the application bundle extension on macOS
Bug Fixes
574a4d4d3(#13426 by @Legend-Master) Fixdev,buildandbundlecommands always take 2 seconds to start35aa7e121(#13294 by @kingsword09) fix: allow the target directory to be inside frontendDir as long as it is not the Rust target directory inside frontendDir.ec6065fa4(#13625 by @lucasfernog) Fixes Android and iOS dev/build commands not working when the app identifier is being modified by the--configoption.5a5291d66(#13483 by @lucasfernog) Fix simulator build detection on Xcode.
Dependencies
2.5.x
2.5.1
tauri 2.5.1
Enhancements
31becbd1d(#13269 by @amrbashir) Respectdata-tauri-drag-region="false", it will no longer start dragging. This is useful when binding the attribute to a state using React, or another framework.
Bug Fixes
da2a6ae5e(#13268 by @Legend-Master) Fix a regression that made the raw type messages received fromChannel.onmessagebecamenumber[]instead ofArrayBufferwhen that message is small85b191252(#13241 by @Legend-Master) Maketauri-runtime-wryoptional even with features likemacos-private-api
2.5.0
tauri 2.5.0
New Features
-
dd4f13ce4(#13185) MacOS: Addset_dock_visibilitymethod to support setting the visibility of the application in the dock. -
8cf662e34(#13076) - add API to run initialization scripts on all frames -WebviewBuilder::initialization_script_on_all_frames-WebviewWindowBuilder::initialization_script_on_all_frames-WebviewAttributes::initialization_script_on_all_frames -
ea36294cb(#13208) AddedWebviewWindowBuilder::with_input_accessory_view_builderandWebviewBuilder::with_input_accessory_view_builderon iOS. -
c1cd0a2dd(#13090) macOS/iOS: add option to disable or enable link previews when building a webview (the webkit api has it enabled by default)WebViewBuilder.allow_link_preview(allow_link_preview: bool)WebviewWindowBuilder.allow_link_preview(allow_link_preview: bool)
-
b072e2b29(#9687) AddpreventOverflowconfig option to prevent the window from overflowing the monitor size on creation -
b072e2b29(#9687) AddWindowBuilder::prevent_overflow,WebviewWindowBuilder::prevent_overflow,WindowBuilder::prevent_overflow_with_marginandWebviewWindowBuilder::prevent_overflow_with_marginAPIs to prevent the window from overflowing the monitor size on creation.
Enhancements
9356fa15d(#13239) Enhance panic message when fetching unmanaged state.ebd3dcb92(#13135)Webview::evalandWebviewWindow::evalnow takesimpl Into<String>instead of&strto allow passing the scripts more flexible and efficientlyfbd57a1af(#13175)Builder::invoke_systemtakesAsRef<str>now
Bug Fixes
66e6325f4(#13136) FixChannel's callback attached towindownever cleaned up0d39ff6b0(#13150) Fix missingcore:in referenced commands in ACL error message690146e31(#13217) Fix large number of commands with large structs as parameters causing stack overflow on debug build on Windowsf888502fd(#13227)invokewill now properly throw whenoptions.headerscontains non-ascii characters instead of silently replacing themf888502fd(#13227) Fixinvokeignores the headers option if it's anHeadersb8c0d7e40(#13040) Fixrun_returnnot responding torestartandrequest_restart
Performance Improvements
66e6325f4(#13136) ImproveChannel's performance when sending small amount of data (e.g. sending a number)
Dependencies
- Upgraded to
tauri-utils@2.4.0 - Upgraded to
tauri-runtime@2.6.0 - Upgraded to
tauri-runtime-wry@2.6.0 - Upgraded to
tauri-macros@2.2.0 - Upgraded to
tauri-build@2.2.0 bb5faa21f(#13163) Update webview2-com to 0.37.bb5faa21f(#13163) Update windows to 0.61.
Breaking Changes
@tauri-apps/api 2.5.0
New Features
-
66e6325f4(#13136) Allow passing the callback as the parameter of constructor ofChannelso you can use it like thisnew Channel((message) => console.log(message)) -
ea36294cb(#13208) AddeddisableInputAccessoryView: boolconfig for iOS. -
c1cd0a2dd(#13090) macOS/iOS: add option to disable or enable link previews when building a webview (the webkit api has it enabled by default)WindowOptions::allowLinkPreviewWebviewOptions::allowLinkPreview
-
b072e2b29(#9687) AddpreventOverflowconfig option to prevent the window from overflowing the monitor size on creation
Enhancements
b8f86669a(#13145)core.isTaurinow leveragesglobalThisinstead ofwindowin order to be used in unit tests.
Bug Fixes
cli 2.5.0
New Features
0aa48fb9e(#13030) AddedbundleVersionto iOS and macOS configuration to support specifying aCFBundleVersion.
Enhancements
ad3fd3890(#13152) Detect package manager from environment variablenpm_config_user_agentfirst82406c61e(#13231) Improve iOS simulator usage, checking if Xcode iOS SDK is installed and allowing usage of Simulator for older iOS releases (previously only supported when running on Xcode viaios dev --open).
Bug Fixes
2dccfab53(#13236) FixfileAssociationsmissingLSHandlerRankon macOS.080252903(#13210) Fixes iOS dev not working on Xcode 16.3 simulators. To apply the fix, either regenerate the Xcode project withrm -r src-tauri/gen/apple && tauri ios initor remove thearm64-simarchitecture from the Xcode project.
Dependencies
- Upgraded to
tauri-utils@2.4.0 - Upgraded to
tauri-bundler@2.4.0
2.4.x
2.4.1
tauri 2.4.1
Enhancements
a851b6597(#13057 by @Legend-Master) Enhanced the description of generated docs and schema for permission sets to include list of permissions within.
Dependencies
- Upgraded to
tauri-utils@2.3.1 - Upgraded to
tauri-runtime@2.5.1 - Upgraded to
tauri-runtime-wry@2.5.1 - Upgraded to
tauri-macros@2.1.1 - Upgraded to
tauri-build@2.1.1
@tauri-apps/api 2.4.1
cli 2.4.1
Enhancements
f805061d1(#13079 by @Pietagorh) Add support for passing TOML and JSON5 config files to--configarg
Bug Fixes
30beb6fee(#13096 by @Legend-Master) Fixtauri infocan't find the latest version for rust crates30beb6fee(#13096 by @Legend-Master) Fixtauri infologging network operations ininfolevel instead ofdebug794af778e(#13117 by @Legend-Master) Fix setting merge config value to null with--configarg no longer works
Dependencies
- Upgraded to
tauri-bundler@2.3.1 - Upgraded to
tauri-utils@2.3.1
2.4.0
tauri 2.4.0
New Features
-
be2e6b85f(#12944 by @Simon-Laux) addWindow.is_always_on_top()andWebviewWindow.is_always_on_top() -
c10802425(#12710 by @WSH032) deriveClonefortauri::ExitRequestApi. -
cedb24d49(#12665 by @charrondev) AddedWebview::cookies(),Webview::cookies_for_url(),WebviewWindow::cookies()andWebview::cookies_for_url(). -
20c190691(#12821 by @Simon-Laux) AddWebviewBuilder.disable_javascriptandWebviewWindowBuilder.disable_javascriptapi to disable JavaScript. -
060de5bbd(#12837 by @niladrix719) AddedgetIdentifier()function to get the application identifier configured in tauri.conf.json -
658e5f5d1(#12668 by @thomaseizinger) AddApp::run_returnfunction. Contrary toApp::run, this will not exit the process but instead return the requested exit-code. This allows the host app to perform further cleanup after Tauri has exited.App::run_returnis not available on iOS and fallbacks to the regularApp::runfunctionality.The
App::run_iterationfunction is deprecated as part of this because calling it in a loop - as suggested by the name - will cause a busy-loop. -
5591a4f0b(#12912 by @Daedaluz) Change webview zoom on mousewheel when thezoom_hotkeys_enabledconfiguration is set totrue. -
bcdd51025(#13012 by @lucasfernog) Thepathbasename and extname APIs now accept Android content URIs, such as the paths returned by the dialog plugin. -
bcdd51025(#13012 by @lucasfernog) AddedPathResolver::file_nameto resolve file names from content URIs on Android (leveratingstd::path::Path::file_nameon other platforms). -
c698a6d6f(#12818 by @Simon-Laux) feat: addWebview.reloadandWebviewWindow.reload -
013f8f652(#12890 by @Legend-Master) Addedbuild > removeUnusedCommandsto trigger the build scripts and macros to remove unused commands based on the capabilities you defined. Note this won't be accounting for dynamically added ACLs so make sure to check it when using this. -
35018eed0(#12996 by @Legend-Master) IntroduceAppHandle::request_restart()as an alternative toAppHandle::restart()to trigger exit event reliably -
30f5a1553(#12366 by @FabianLars) AddedWebviewWindowBuilder::traffic_light_positionto set the traffic light buttons position on macOS. -
30f5a1553(#12366 by @FabianLars) AddedtrafficLightPositionwindow configuration to set the traffic light buttons position on macOS.
Enhancements
55ffa23c9(#12855 by @lucasfernog) Fix docs.rs build for mobile targets.f2c94aaca(#12682 by @lucasfernog) AddPlugin#startIntentSenderForResultAndroid API for mobile plugins.
Bug Fixes
755533c51(#12876 by @amrbashir) RemovedTSend: Clonerequirement forChannel<TSend>by implementingClonemanually instead of driving it.f98598817(#12870 by @lucasfernog) Update path plugin to use older dataDir API on SDK < 24.f67a4a6bf(#12971 by @WofWca) Fixtauri::AssetResolver::getandtauri::AssetResolver::get_for_schemeskipping the first character of thepatheven if it's not a slash (/).dc90cd391(#12911 by @Daedaluz) Listen forCtrl +orCmd +to support zoom functionality in swedish keyboard layouts.b05f82d35(#12313 by @anatawa12)AppHandle::restart()now waits forRunEvent::Exitto be delivered before restarting the application.
Performance Improvements
1cd8f55ee(#13033 by @Legend-Master) Don't ship globalbundle.global.jsifapp > withGlobalTauriis set to false
Dependencies
- Upgraded to
tauri-runtime@2.5.0 - Upgraded to
tauri-runtime-wry@2.5.0 - Upgraded to
tauri-utils@2.3.0 - Upgraded to
tauri-build@2.1.0 - Upgraded to
tauri-macros@2.1.0
@tauri-apps/api 2.4.0
New Features
d8059bad3(#12900 by @Simon-Laux) addAppHandle.fetch_data_store_identifiersandAppHandle.remove_data_store(macOS and iOS only)20c190691(#12821 by @Simon-Laux) AddedWindowOptions::javascriptDisabledandWebviewOptions::javascriptDisabled.060de5bbd(#12837 by @niladrix719) AddedgetIdentifier()function to get the application identifier configured in tauri.conf.jsonbe2e6b85f(#12944 by @Simon-Laux) AddedWindow#isAlwaysOnTopandWebviewWindow#isAlwaysOnTopmethods.bcdd51025(#13012 by @lucasfernog) Thepathbasename and extname APIs now accept Android content URIs, such as the paths returned by the dialog plugin.
Bug Fixes
cli 2.4.0
New Features
d91bfa5cb(#12970 by @lucasfernog) Allow merging multiple configuration values ontauri dev,tauri build,tauri bundle,tauri android dev,tauri android build,tauri ios devandtauri ios build.013f8f652(#12890 by @Legend-Master) Readsbuild > removeUnusedCommandsfrom the config file and pass in the environment variables on the build command to trigger the build scripts and macros to remove unused commands based on the capabilities you defined. For this to work on inlined plugins you must add a#![plugin(<insert_plugin_name>)]inside thetauri::generate_handler![]usage and the app manifest must be set.30f5a1553(#12366 by @FabianLars) AddedtrafficLightPositionwindow configuration to set the traffic light buttons position on macOS.
Enhancements
Bug Fixes
0c4700e99(#12985 by @FabianLars) The cli will now accept--bundles updateragain. It's still no-op as it has been for all v2 versions. If you want to build updater artifacts, enablecreateUpdaterArtifactsintauri.conf.json.eec08a18b(#12998 by @jason89521) For bun's lockfile, check bothbun.lockandbun.lockb.b83921226(#12977 by @lucasfernog) Fixtauri ioscommands using the wrong working directory withbun@>1.2.f268b3dbd(#12871 by @lucasfernog) Ignore parent .gitignore files on the Tauri project path detection.
Dependencies
- Upgraded to
tauri-utils@2.3.0 - Upgraded to
tauri-bundler@2.3.0
2.3.x
2.3.1
tauri 2.3.1
Bug Fixes
4f26dcf30(#12833 by @Legend-Master) Fix OS webviews (webview2andwebkit2gtk) are always compiled with tauri even withoutwryfeaturee103e87f1(#12848 by @amrbashir) Fix crash on Windows because of missing functions on older Windows systems, regression in 2.3.0
Dependencies
- Upgraded to
tauri-runtime-wry@2.4.1
2.3.0
tauri 2.3.0
New Features
abdd55807(#12460 by @WSH032) Addemit_str*methods toEmittertrait to allow emitting JSON serialized data directly.7d8252679(#12701 by @WSH032) Exportstruct tauri::ExitRequestApi.
Enhancements
a2d36b8c3(#12181 by @bastiankistner) Add an option to change the default background throttling policy (currently for WebKit only).e9c9c4d6f(#12529 by @amrbashir) DeriveCloneforPathResolverstruct.385a41dea(#12817 by @amrbashir) On Windows, undecorated window with shadows, now have native resize handles outside of the window client area.d6520a21c(#12541 by @FabianLars) Updatedwryto 0.50,windowsto 0.60,webview2-comto 0.36, andobjc2to 0.6. This can be a breaking change if you use thewith_webviewAPI!
Bug Fixes
d7b998fe7(#12723 by @WSH032) DeprecateManager::unmanageto fixuse-after-freeunsoundness, see tauri-apps/tauri#12721 for details.3dbcbe768(#12461 by @WSH032)Webview::navigateandWebviewWindow::navigateborrows&selfinstead of unnecessarily borrowing&mut self.
Dependencies
- Upgraded to
tauri-runtime@2.4.0 - Upgraded to
tauri-runtime-wry@2.4.0 - Upgraded to
tauri-utils@2.2.0 - Upgraded to
tauri-macros@2.0.5 - Upgraded to
tauri-build@2.0.6
@tauri-apps/api 2.3.0
Enhancements
a2d36b8c3(#12181 by @bastiankistner) Add an option to change the default background throttling policy (currently for WebKit only).
cli 2.3.0
Enhancements
a2d36b8c3(#12181 by @bastiankistner) Add an option to change the default background throttling policy (currently for WebKit only).6e417c943(#12786 by @kandrelczyk) Added RPM to the list of package types for which signature file will be generated.
Dependencies
- Upgraded to
tauri-utils@2.2.0 - Upgraded to
tauri-bundler@2.2.4 - Upgraded to
tauri-macos-sign@2.1.0
2.2.x
2.2.7
cli 2.2.7
Bug Fixes
8e9134c4a(#12511 by @FabianLars) Fixed an issue that causedtauri devto fail because of an incorrect--binsflag.
2.2.6
cli 2.2.6
Enhancements
1a86974aa(#12406 by @bradleat)ios build --openwill now let xcode start the rust build process.9a30bed98(#12423 by @tr3ysmith) Added conditional logic to MacOS codesigning where only executables get the entitlements file when being signed. This solves an issue where the app may not launch when using 3rd party frameworks if certain entitlements are added. Ex: multicast support (must be applied for through apple developer, and the framework would not have that capability).0b79af711(#12438 by @3lpsy) Log the command used to start the rust app in development.
Bug Fixes
bc43c738b(#12442 by @FabianLars) Fixed an issue that preventedtauri addto work for theclipboard-managerplugin.27096cdc0(#12445 by @FabianLars) Fixed an issue that caused Tauri's CLI to enable tauri'snative-tlsfeature even though it wasn't needed. Movedreqwestto a mobile-only dependency intauriand enabled itsrustls-tlsfeature flag.
Dependencies
- Upgraded to
tauri-bundler@2.2.3
2.2.5
tauri 2.2.5
Bug Fixes
477e9c049(#12514 by @FabianLars) Fixed an issue that caused iOS apps to panic when using an async function fortauri::mobile_entry_point.
cli 2.2.5
Dependencies
- Upgraded to
tauri-bundler@2.2.2
2.2.4
tauri 2.2.4
Bug Fixes
27096cdc0(#12445 by @FabianLars) Fixed an issue that caused Tauri's CLI to enable tauri'snative-tlsfeature even though it wasn't needed. Movedreqwestto a mobile-only dependency intauriand enabled itsrustls-tlsfeature flag.
cli 2.2.4
Bug Fixes
cad550445(#12354 by @FabianLars) Fixed and issue that causedtauri addto try to install incorrect npm packages.
2.2.3
tauri 2.2.3
cli 2.2.3
Enhancements
a0f2c84d5(#12204 by @pjf-dev) Enhancetauri iconcommand by including 64x64 png size in default icon sizes.
Bug Fixes
98f62e65a(#12246 by @marcomq) Properly add NPM packages for community plugins when using thetauri addcommand.b9a99a5c6(#12297 by @FabianLars) Fixed an issue that caused the built-in dev server to constantly refresh on Linux. This only affected users who do not havedevUrlpoint to a URL.ef21ed9ac(#12290 by @lucasfernog) Fix iOS build failing when the development team contains spaces.
Dependencies
- Upgraded to
tauri-bundler@2.2.1
2.2.2
tauri 2.2.2
Bug Fixes
61e69db9e(#12376 by @FabianLars) Widenspectaversion range to^2.0.0-rc.16again.
cli 2.2.2
Bug Fixes
26fc9558f(#12178 by @FabianLars) Fixed an issue that caused thetauri devfile watcher to exit after detecting file changes.
2.2.1
tauri 2.2.1
Bug Fixes
cd1d026f9(#11961 by @Legend-Master) Fix tauri fails to build if the project path contains glob characters
Dependencies
- Upgraded to
tauri-build@2.0.5
cli 2.2.1
Bug Fixes
881729448(#12164 by @FabianLars) Fixed an issue that causedtauri devto crash before showing the app on Linux.
2.2.0
tauri 2.2.0
New Features
-
f884bae75(#11742 by @amrbashir) Addtauri::Builder::on_tray_icon_eventhandler. -
5188c0fae(#11767 by @FabianLars) AddedScope::is_forbiddento check if a path was explicitly forbidden. -
18bd639f6(#11798 by @lars-berger) AddWebviewWindowBuilder/WebviewBuilder::data_store_identifieron macOS. -
dc4d79477(#11628 by @SpikeHD) AddWebviewWindowBuilder/WebviewBuilder::extensions_pathon Linux and Windows. -
020ea0556(#11661 by @ahqsoftwares) Add badging APIs:Window/WebviewWindow::set_badge_countfor Linux, macOS and IOS.Window/WebviewWindow::set_overlay_iconfor Windows Only.Window/WebviewWindow::set_badge_labelfor macOS Only.
-
fc30b20be(#11726 by @amrbashir) AddTrayIconBuilder::show_menu_on_left_clickmethod and deprecateTrayIconBuilder::menu_on_left_clickfor consistent naming and clarity.
Enhancements
d86aaccb0(#11729 by @sandercox) Add support forTrayIconBuilder::menu_on_left_clickandTrayIcon::set_show_menu_on_left_clickon Windows.b0ddee899(#12101 by @renovate) Breaking change: Updatedwebview2-comto0.34. This may be a breaking change if you use thewith_webviewmethod.
Bug Fixes
b50a1ac0e(#11850 by @FabianLars) Add webview and window color setters to autogenerated permissions.ba6f37014(#11785 by @lars-berger) Fix panic when a plugin command is run with a capability added at runtime (viaManager::add_capability).e349dfe57(#12000 by @stringhandler) Fixed a panic caused by an assert when the resource random id has been used already.46935212b(#11658 by @Legend-Master) Fix.json5capability files not recognized even withconfig-json5feature enabledb37741da6(#11871 by @johncarmack1984) Fixspecta-utildependency not found error when usingspectafeatureca7f025fd(#11958 by @amrbashir) Fix panic when invoking a command with an unmanaged state, an error will be returned instead.
Dependencies
- Upgraded to
tauri-runtime@2.3.0 - Upgraded to
tauri-runtime-wry@2.3.0 - Upgraded to
tauri-utils@2.1.1 - Upgraded to
tauri-macros@2.0.4 - Upgraded to
tauri-build@2.0.4
@tauri-apps/api 2.2.0
New Features
-
020ea0556(#11661 by @ahqsoftwares) Add badging APIs:Window/WebviewWindow::set_badge_countfor Linux, macOS and IOS.Window/WebviewWindow::set_overlay_iconfor Windows Only.Window/WebviewWindow::set_badge_labelfor macOS Only.
-
fc30b20be(#11726 by @amrbashir) AddTrayIcon.setShowMenuOnLeftClickmethod and deprecateTrayIcon.setMenuOnLeftClickto match the Rust API. -
fc30b20be(#11726 by @amrbashir) AddTrayIconOptions.showMenuOnLeftClickfield and deprecateTrayIconOptions.menuOnLeftClickto match the Rust API.
Enhancements
fc30b20be(#11726 by @amrbashir) Add support forTrayIconOptions.menuOnLeftClickoption andTrayIcon.setMenuOnLeftClickon Windows.
Bug Fixes
a16796a55(#12069 by @Legend-Master) FixChannelnever callsonmessagein some cases12a48d1e2(#11741 by @amrbashir) Fix error when callingPredefinedMenuItem.newto create anAboutmenu item that uses anImageinstance for the about icon.12a48d1e2(#11741 by @amrbashir) Fix error when callingIconMenuItem.newusing anImageinstance for the icon.b63262cd4(#11724 by @FabianLars) Removed the generic in the type of the callback function argument inmockIPCwhich prevented its proper use in tests using TypeScript.a6e84f7d2(#11835 by @ilittlebig) Fix error where usingisAbsolutewould returnCommand not found.
cli 2.2.0
New Features
cccb308c7(#11562 by @jLynx) Generate signature for.debpackages whencreateUpdaterArtifactsoption is enabled.74212d40d(#11653 by @amrbashir) Include Linux destkop environment and session type intauri infocommand.
Enhancements
Bug Fixes
c8700656b(#11985 by @ShaunSHamilton) Fixtauri removefrom removing object type ({}) permissions.0ae06c5ca(#11914 by @wtto00) Fix the exclude path in fileCargo.tomlof plugin template generated by cli. Path changed in #9346
Dependencies
- Upgraded to
tauri-bundler@2.2.0 - Upgraded to
tauri-utils@2.1.1
2.1.x
2.1.1
tauri 2.1.1
@tauri-apps/api 2.1.1
2.1.0
tauri 2.1.0
New Features
-
fabc2f283(#11485 by @39zde) Adds a new configuration optionapp > security > headersto define headers that will be added to every http response from tauri to the web view. This doesn't include IPC messages and error responses. -
8036c78e0(#11455 by @amrbashir) AddPathResolver::home_dir()method on Android. -
5c4b83084(#11191 by @amrbashir) Improved support fordpimodule types to allow these types to be used without manual conversions withinvoke:- Added
SERIALIZE_TO_IPC_FNconst incoremodule which can be used to implement custom IPC serialization for types passed toinvoke. - Added
SizeandPositionclasses indpimodule. - Implementd
SERIALIZE_TO_IPC_FNmethod onPhysicalSize,PhysicalPosition,LogicalSizeandLogicalPositionto convert it into a valid IPC-compatible value that can be deserialized correctly on the Rust side into its equivalent struct.
- Added
-
4d545ab3c(#11486 by @amrbashir) AddedWindow::set_background_colorandWindowBuilder::background_color. -
cbc095ec5(#11451 by @amrbashir) Addapp > windows > devtoolsconfig option and when creating the webview from JS, to enable or disable devtools for a specific webview. -
f0da0bde8(#11439 by @lucasfernog) AddedWebviewWindow::resolve_command_scopeto check a command scope at runtime. -
`` Detect if
SERIALIZE_TO_IPC_FN, const from the JScoremodule, is implemented on objects when serializing over IPC and use it. -
f37e97d41(#11477 by @amrbashir) Addapp > windows > useHttpsSchemeconfig option to choose whether the custom protocols should usehttps://<scheme>.localhostinstead of the defaulthttp://<scheme>.localhoston Windows and Android -
f37e97d41(#11477 by @amrbashir) AddWebviewWindowBuilder/WebviewBuilder::use_https_schemeto choose whether the custom protocols should usehttps://<scheme>.localhostinstead of the defaulthttp://<scheme>.localhoston Windows and Android -
cbc095ec5(#11451 by @amrbashir) AddWebviewWindowBuilder::devtoolsandWebviewBuilder::devtoolsto enable or disable devtools for a specific webview. -
129414faa(#11569 by @amrbashir) AddWebviewBuilder::focusedmethod to choose whether to focus webview or not on creation. -
2a75c64b5(#11469 by @amrbashir) Addedapp > windows > windowClassnameconfig option to specify the name of the window class on Windows. -
2a75c64b5(#11469 by @amrbashir) AddedWindowBuilder/WebviewWindowBuilder::window_classnamemethod to specify the name of the window class on Windows.
Enhancements
17c6952ae(#11522 by @amrbashir) Enhance the error message when usingasynccommands with a reference.c33bbf457(#11575 by @kornelski) Include the path in ACL I/O errors.
Bug Fixes
229d7f8e2(#11616 by @amrbashir) Fix regression in creating child webviews on macOS and Windows, covering the whole window.8c6d1e8e6(#11401 by @amrbashir) FixApp/AppHandle/Window/Webview/WebviewWindow::cursor_positiongetter method failing on Linux withGDK may only be used from the main thread.f8994b214(#11581 by @Mikkel-T) Fix listeners created withEventTarget::AnyLabelnever receiving events.4191a7a53(#11583 by @amrbashir) Fix tray events not fired for tray icons created inside an async command.129414faa(#11569 by @amrbashir) Fix webview not focused by default.
Dependencies
- Upgraded to
tauri-utils@2.1.0 - Upgraded to
tauri-runtime@2.2.0 - Upgraded to
tauri-runtime-wry@2.2.0 - Upgraded to
tauri-macros@2.0.3 - Upgraded to
tauri-build@2.0.3
@tauri-apps/api 2.1.0
New Features
-
5c4b83084(#11191 by @amrbashir) Improved support fordpimodule types to allow these types to be used without manual conversions withinvoke:- Added
SERIALIZE_TO_IPC_FNconst incoremodule which can be used to implement custom IPC serialization for types passed toinvoke. - Added
SizeandPositionclasses indpimodule. - Implementd
SERIALIZE_TO_IPC_FNmethod onPhysicalSize,PhysicalPosition,LogicalSizeandLogicalPositionto convert it into a valid IPC-compatible value that can be deserialized correctly on the Rust side into its equivalent struct.
- Added
-
4d545ab3c(#11486 by @amrbashir) AddedWebview::setBackgroundColor,WebviewWindow::setBackgroundColorAPIs to set the window background color dynamically and abackgroundColorwindow option to set the background color on window creation. -
cbc095ec5(#11451 by @amrbashir) Addapp > windows > devtoolsconfig option and when creating the webview from JS, to enable or disable devtools for a specific webview. -
2a75c64b5(#11469 by @amrbashir) AddedwindowClassnameoption, when constructing aWebvieworWebviewWindow, to specify the name of the window class on Windows.
Bug Fixes
54cbf59b5(#11441 by @amrbashir) Fix submenu created as a menu item instead of a submenu when created by using an object in theitemsfield in the options object passed toMenu.neworSubmenu.new.
cli 2.1.0
New Features
1b6b2cfaa(#11521 by @amrbashir) Processbundle > windows > wix > fragmentPathswith Handlebars to interpolate expressions within it.6bf917941(#11322 by @ShaunSHamilton) Addtauri removeto remove plugins from projects.058c0db72(#11584 by @amrbashir) Addbundle > linux > rpm > compressionconfig option to control RPM bundle compression type and level.
Enhancements
1f311832a(#11405 by @amrbashir) Add more context for errors when decoding secret and public keys for signing updater artifacts.e0d1307d3(#11414 by @Czxck001) Migrate the$schemaTauri configuration to the v2 format.c43d5df15(#11512 by @lucasfernog) Associate a newly created capability file with themainwindow on thetauri addandtauri permission addcommands.
Bug Fixes
7af01ff2c(#11523 by @amrbashir) Fixtauri migratefailing to install NPM depenencies when running from Deno.100a4455a(#11529 by @amrbashir) Fix detecting yarn berry (v2 and higher) in various tauri cli commands.60e86d5f6(#11624 by @lucasfernog) Use the public network IP address onandroid devby default on Windows.
Dependencies
- Upgraded to
tauri-utils@2.1.0 - Upgraded to
tauri-bundler@2.1.0
2.0.x
2.0.6
tauri 2.0.6
Dependencies
- Upgraded to
tauri-utils@2.0.2
2.0.5
tauri 2.0.5
New Features
6cd917c22(#11390 by @amrbashir) Add new methods ontauri::menu::MenuBuilderandtauri::menu::SubmenuBuilderto create predefined menu item with specific text.
Enhancements
eb61d44f9(#11398 by @lucasfernog) Fallback to the Window and AppHandle resource table when closing a resource by ID.
Bug Fixes
What's Changed
2e88633ba(#11369 by @lucasfernog) Remove references to no longer used__TAURI_INTERNALS__.metadata.windowsand__TAURI_INTERNALS__.metadata.webviews.
2.0.4
tauri 2.0.4
New Features
bcf279278(#11354) On Windows, AddContextMenu::hpopupmenumethod to get theHMENUused for popups and tray icon menu.
Enhancements
e3b09be7f(#11362) AddedBuilder::channel_interceptorto intercept messages to be sent to the frontend, complemeting theBuilder::invoke_systeminterface.3cb73d08c(#11355) Mark the event commands as async so they do not block the main thread.
Bug Fixes
f3f521f03(#11348) FixTAURI_ANDROID_PACKAGE_UNESCAPED not setpanic during compilation for Android when using an older tauri cli.
Dependencies
- Upgraded to
tauri-runtime-wry@2.1.1
cli 2.0.4
Enhancements
e4c9268b1(#11258 by @regexident) Support custom project directory structure where the Tauri app folder is not a subfolder of the frontend project. The frontend and Tauri app project paths can be set with theTAURI_FRONTEND_PATHand theTAURI_APP_PATHenvironment variables respectively.
Dependencies
- Upgraded to
tauri-bundler@2.0.4
2.0.3
tauri 2.0.3
New Features
1d3f51e10(#11228 by @amrbashir) Addtauri::Builder::on_menu_event.
Bug Fixes
d609bef9f(#11314 by @amrbashir) Fix android invalid proguard file when using anidentifierthat contains a component that is a reserved kotlin keyword, likein,class, etc04fd3a7db(#11264 by @chrox) Respond with empty body forHEADrequests toassetprotocol4731f0cf3(#11290 by @lucasfernog) Export theipc::Invokestruct.2d087ee4b(#11268 by @amrbashir) On Linux, fix commands, that useWebvieworWebviewWindowas an argument, receiving an incorrect webview when using multi webviews.2d087ee4b(#11268 by @amrbashir) On Linux, fix events only emitted to first webview only when using multi webviews.2d087ee4b(#11268 by @amrbashir) On Linux, fix custom protocols receiving an incorrect webview label when using multi webviews
Dependencies
- Upgraded to
tauri-runtime@2.1.0 - Upgraded to
tauri-runtime-wry@2.1.0
@tauri-apps/api 2.0.3
Bug Fixes
fbb45c674(#11423 by @lucasfernog) FixesaddPluginListenernot working.
What's Changed
2e88633ba(#11369 by @lucasfernog) Remove references to no longer used__TAURI_INTERNALS__.metadata.windowsand__TAURI_INTERNALS__.metadata.webviews.
cli 2.0.3
New Features
eda5713ea(#11242 by @alex-sandri) AddItalianto supported NSIS installer languagesb3563e3d6(#11304 by @amrbashir) Add Deno support in tauri-cli operations.
Bug Fixes
d609bef9f(#11314 by @amrbashir) Fix android invalid proguard file when using anidentifierthat contains a component that is a reserved kotlin keyword, likein,class, etc069c05e44(#11315 by @amrbashir) Fix CLI crashing and failing to find a.icofile whenbundle > iconoption is using globs and doesn't have a string that ends with.ico.
Dependencies
- Upgraded to
tauri-bundler@2.0.3
2.0.2
tauri 2.0.2
Enhancements
03e759042(#11235 by @lucasfernog) AddedApp::invoke_keyandAppHandle::invoke_keyfor custom invoke systems that rely on manualWebview::on_messagecalls.
@tauri-apps/api 2.0.2
What's Changed
e968b3d25(#11219 by @lucasfernog) Actually publish package with the latest tag.
cli 2.0.2
What's Changed
4475fbb50(#11208 by @lucasfernog) Update cargo-mobile2 to 0.17.3, fixing lib name validation.a49a19ffa(#11218) Fix bundlingappimage,debandrpmbundles failing to open when usingmainBinaryNamewith spaces.
Dependencies
- Upgraded to
tauri-bundler@2.0.2
2.0.1
tauri 2.0.1
What's Changed
0ab2b3306(#11205 by @lucasfernog) Downgrade MSRV to 1.77.2 to support Windows 7.
Dependencies
- Upgraded to
tauri-utils@2.0.1 - Upgraded to
tauri-runtime@2.0.1 - Upgraded to
tauri-runtime-wry@2.0.1 - Upgraded to
tauri-macros@2.0.1 - Upgraded to
tauri-build@2.0.1
@tauri-apps/api 2.0.1
What's Changed
be683e2ac(#11199 by @lucasfernog) Publish package with the latest NPM tag.
cli 2.0.1
What's Changed
0ab2b3306(#11205 by @lucasfernog) Downgrade MSRV to 1.77.2 to support Windows 7.
Dependencies
- Upgraded to
tauri-utils@2.0.1 - Upgraded to
tauri-macos-sign@2.0.1 - Upgraded to
tauri-bundler@2.0.1
2.0.0
tauri 2.0.0
@tauri-apps/api 2.0.0
What's Changed
637285790Promote to v2 stable!
© 2026 Tauri Contributors. CC-BY / MIT